资源描述:
《单片机原理与应用设计(张毅刚 彭喜元 著)课后 基础实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验2单片机数据区传送程序设计一、实验目的1.进一步掌握汇编语言程序设计和调试方法。2.了解单片机RAM中的数据操作。二、实验设备1.Dais-80958B单片机实验开发系统一套2.WD990微机专用电源一台3.PC机一套三、实验线路同实验1。四、实验内容1.要求:编写程序把R2、R3源RAM区首地址内的R6、R7字节数据传送到R4、R5目的地址的RAM区。2.框图如下,文件名为:XXXXS2班级学号源地址内容送A(A)送目的的地址源地址加1目的地址加1字节数到吗?N结束开始y五、实验步骤1.打开电源,PC机开机正常工作后,进MCS-51仿真开发
2、系统调试平台,编译源文件S2成功。(详细过程同实验1的步骤1~3)2.在R2、R3中输入源地址(例如:0000H),R4、R5中输入目的地址(例如2000H),R6、R7中输入字节数(例如:1FFFH)。1.查看RAM区0000~1FFFH和2000~3FFFH内容,也可自己重新赋值。2.运行程序XXXXS2,首先单步,然后用自动单步,最后用连续运行方式。3.记录下运行结果,检查0000~1FFFH中内容是否和2000~3FFFH内容完全一致。六、要求1.写出自己编写的程序,并写出原理性注释。2.将检查程序运行的结果,分析一下是否正确。七、思考题
3、如果使0000~1000H中内容与2000~3000H内容完全一致,如何来改写程序?八、参考程序ORG0100H8B82SE22:MOVDPL,R38A83MOVDPH,R2;建立源程序首址E0MOVXA,@DPTR;取数8D82MOVDPL,R58C83MOVDPH,R4;目的地首址F0MOVX@DPTR.A;传送BBFF01CJNER3,#0FFH,LO420AINCR20BLO42:INCR3;源地址加1BDFF01CJNER5,#0FFH,LO43OCINCR4ODLO43:INCR5;目的地址加1BF0006CJNER7,#00H,LO
4、44BE0006CJNER6,#00H,LO45;字节数减180FESJMP$00NOP1FLO44:DECR780E0SJMPSE221FLO45:DECR71EDECR680DCSJMPSE22;未完继续END实验3数据排序实验一、实验目的熟悉MCS-51指令系统,掌握数据排序程序的设计方法。二、实验设备1.Dais-80958B微机实验开发系统一套2.WD990微机专用电源一台3.PC机一套三、实验线路同实验1。四、实验内容1.编写并调试一个排序程序,其功能为用冒泡法(参见单片机教材84页)将RAM中几个单字节无符号的正整数,按从小到大的次
5、序重新排列。程序框图如下:NY清标志位根据(R0)取数A(R0)+1送R0(A)<((R0))?置标志位,交换内容长度减1=0?标志位=0?NYNN开始结束五、实验步骤1.编写程序XXXXS3,满足程序要求,在CPU内部的RAM50H~5AH中放入不等的数据。2.运行该程序后检查50H~5AH内容是否按从小到大排列,结果记录下表中:RAM状态505152535455565758595A运行前内容运行后内容六、思考题修改程序S3,将50H~5AH中内容按从大到小排列,并且记录下程序运行前后的结果,分析是否正确。七、参考程序ORG0300H7B50Q
6、UE:MOVR3,#50HEBQUE1:MOVA,R3;指针送R0F8MOVR0,A7F0AMOVR7,#0AH;长度送R7C200CLR00H;标志位为0E6MOVA,@R008QL2:INCR0FAMOVR2,AC3CLRC8622MOV22H,@R0;取后数B52201CJNEA,22H,QL3;相等吗?D3SETBCEAQL3:MOVA,R24006JCQL1;大于则交换位置D200SETB00HC6XCHA,@R018DECR0C6XCHA,@R008INCR0;大于则交换位置E6QL1:MOVA,@R0DFEBDJNZR7,QL220
7、00E1JB00H,QUE1;一次循环中有交换继续80FESJMP$;无交换退出END实验4查找相同数个数一、实验目的熟悉汇编语言编程二、实验内容在2000~200FH中查出有几个字节是零,把零的个数放在2100H中。三、程序框图开始DPTR+1字节数送R0,查找字节送R1相同否?字节数到吗?(R1)送2100H结束R1+1YN四、实验步骤在2000~200FH的几个单元中填入零,运行本程序后检查2100H单元中的数是否与2000~200FH中零的个数相同。五、思考在1000~100FH的几个单元中填入8H,检查8H的个数,并填入1100H单元中
8、,如何来修改程序?六、参考程序ORG0AA0H0AA07810L5800:MOVR0,#10H;查找16个字节0AA27900MOVR1