欢迎来到天天文库
浏览记录
ID:61513151
大小:1.68 MB
页数:25页
时间:2021-02-09
《《微机应用系统设计》实验指导.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第三部分实验内容软件实验一仿真软件的使用及简单指令练习实验目的:了解Dais-52PH+实验箱的组成结构,学习仿真软件使用方法;通过编写清零程序、拆字和数据块传送等程序,掌握简单汇编语言设计和调试方法。实验内容:1.观察实验箱,了解Dais-52PH+实验箱的结构,区分实验箱8155、EPROM编程电路、38译码器电路、液晶显示等功能模块,找出单片机数据总线、地址总线接口及各类控制信号接口。2.熟悉dais-MCS51仿真开发系统,通过编写简单的汇编语言程序学习仿真软件的使用。观察编译工具、调试
2、工具、调试窗口、寄存器窗口、存储器窗口的内容及使用方法。实验框图:软件实验分为三个子程序,分别是清零程序、拆字程序和数据块传送程序。1.清零程序流程图:编写程序实现将数据存储单元2000H-20FFH单元内容清零。 思考:(1)如果将数据存储单元2000H-20FFH单元内容改写为FFH,该如何实现?(2)如果将数据存储单元3000H-30FFH单元内容改写为00H,该如何实现?(3)在数据传送过程中,地址总线和数据总线上的数据分别是什么?2.拆字程序流程图:编写程序将200
3、0H存储单元中内容拆分,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零。 思考:(?1)如果将2001H存储单元的低位和2002H单元的低位合并放在2003H单元,其中2001H存储单元的低位放在2003H单元低位,2002H单元的低位放在2003H单元高位,该如何编写程序?1.数据块传送子程序流程图:把1000H~10FFH区域内的数据逐个搬到从2000H单元开始的区域中。思考:(1)如何用断点方式调试上述程序?(2)如何察看某个数据单元内容?实验步骤:1.分别根据
4、上述3个实验要求和流程图编写汇编语言程序。2.编译、改错,直到编译通过。3.装载程序后,用单步或连续方式运行程序,并检查数据存储单元和存储器中相应数据在执行程序前后内容变化。1.根据思考题出的问题,改变程序后,再观察。2.撰写实验报告。实验要求:1.根据要求,写出实验程序。并对程序中关键语句写出注释。2.分析实验结果。并写出思考题答案。需要的仪器设备:1.PC机一台;2.单片机教学实验系统一套。包括Dais-52PH+实验箱一个和Dais—MCS51仿真软件一套。软件实验二二进制到BCD的转换实
5、验目的了解如何将二进制数转换成BCD码,掌握简单的数制转换算法。将二进制到BCD转换程序写成子程序,了解主程序调用子程序的过程。实验内容将累加器ACC内容拆为三个BCD码,存入内部数据缓冲区20H开始的三个存储单元中。实验框图开始给出要转换二进制数将数除以100,得百位数保存百位数将余数再除以10,得十位数保存十位数余数为个位数,保存个位数结束思考:(1)如何将二进制码转换成ASCII码?(2)程序调用过程中,如果需要保护某些寄存器的内容,应如何处理?具体怎么实现?(3)子程序中如果没有RET语
6、言,会出现什么问题?实验原理1.BCD码原理BCD码是用二进制数来表示十进制数的表示方法。BCD有两种形式,压缩的BCD码和非压缩的BCD码。常用压缩的BCD码,它是一种用四位二进制数表示十进制数。首先是用四位二制数表示个数,然后用四位二进制数表示十位,然后百位...。又称8421码。比如:251需要三个四位二进制数表示。1表示为0001;5表示为0101;2表示为0010.最后251的BCD数据表示为001001010001.2.二进制数转换BCD码二进制数转换BCD码非常简单,将要转换数先除
7、以100,得BCD码百位,再将余数除以10,得BCD码十位,余数为个位。实验步骤:1.根据实验要求和给定流程图编写程序;2.编译、改错,直到编译通过。3.装载程序后,用单步或连续方式运行程序,并检查ACC和存储单元20H~22H内容。4.改变累加器ACC数值,运行程序后再观察。5.撰写实验报告并分析实验结果。并对思考题做出解答。软件实验三、多分支及循环程序的设计实验目的了解简单分支和多分支及循环程序结构及实现方法。通过这个实验,学习汇编语言中分支程序及循环程序的设计方法。实验内容1.在内部数据存
8、储器32H单元的数据段中存有一无符号数数据块,长度在31H单元,求出数据块中最大值,并存入30H单元中。2.在20H中分次送入00,01,02,03,每次运行程序后,观察数码管上数字循环状态。实验框图开始取数据块长度→R1A内容清零数据块首地址→R0A与R0内容比较,将大值→AR1减1R1为0?R0加1YNA→(30H)结束循环程序流程图开始(20H)送AA+散转首址0字循环1字循环2字循环3字循环多分支程序流程思考:常用的多分支程序设计方法有哪些?你采取的是那种方法,有什么优点?还可以如何实现
此文档下载收益归作者所有