电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

单片机原理-李全利第二版课后题答案VIP专享VIP免费

单片机原理-李全利第二版课后题答案_第1页
单片机原理-李全利第二版课后题答案_第2页
单片机原理-李全利第二版课后题答案_第3页
第二章2.80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?答:采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。第三章7.为什么说布尔处理功能是80C51单片机的重要特点?答:单片机指令系统中的布尔指令集、存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统,它可对位(bit)变量进行布尔处理,如置位、清零、求补、测试转移及逻辑“与”、“或”等操作。在实现位操作时,借用了程序状态标志器(PSW)中的进位标志Cy作为位操作的“累加器”。8.对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问?答:寄存器间接寻址方式。15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。答:MOV2FH,20HMOV2EH,21HMOV2DH,22H16.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位。答:CLRCYMOV30H,#7FHMOV31H,#4DHMOVR0,#31HMOVA,@R0SUBBA,#4EMOV@R0,A;保存低字节相减结果DECR0MOVA,@R0SUBBA,#2BHMOV@R0,A;保存高字节相减结果17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。答:MOVA,R2ANLA,#0F0HORLR1,A18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位。答:MOVA,20HMOVB,21HMULABMOVR3,AMOVR2,B19.若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口内容的变化情况。MOVP1.3,CMOVP1.4,CMOVC,P1.6MOVP3.6,CMOVC,P1.0MOVP3.4,C答:(CY)=1,(P1)=10111011B,(P3)=00111100B第四章3.常用的程序结构有哪几种?特点如何?答:顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;分支程序:可以改变程序的执行顺序;循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。4.子程序调用时,参数的传递方法有哪几种?答:利用累加器或寄存器;利用存储器;利用堆栈。6.设被加数存放在内部RAM的20H、21H单元,加数存放在22H、23H单元,若要求和存放在24H、25H中,试编写出16位无符号数相加的程序(采用大端模式存储)。答:程序如下:ORG0000HMOVR0,#21HMOVR1,#23HMOVA,@R0ADDA,@R1MOV25H,ADECR0DECR1MOVA,@R0ADDCA,@R1MOV24H,ASJMP$END7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中。答:ORG0000HMOVDPTR,#1000HMOVR0,#30HMOVR7,#32LOOP:MOVXA,@DPTRMOV@R0,AINCR0INCDPTRDJNZR7,LOOPRET8.编写程序,实现双字节无符号数加法运算,要求(R0R1)+(R6R7)→(60H61H)。答:ORG0000HMOVA,R1ADDA,R7MOV61H,AMOVA,R0ADDCA,R6MOV60H,ASJMP$END9.若80C51的晶振频率为6MHz,试计算延时子程序的延时时间。DELAY:MOVR7,#0F6HLP:MOVR6,#0FAHDJNZR6,$DJNZR7,LPRET答:延时时间:2µs*{[1+((1+2*250+2)*246)+2]+2}=0.247486秒(含调用指令2个机器周期)10.在内部RAM的30H~37H单元存有一组单字节无符号数。要求找出最大数存入BIG单元。试编写程序实现。答:ORG0000HBIGDATA2FHONEDATA2AHTWODATA2BHSTART:MOVR7,#7;比较次数MOVR0,#30HLOOP:MOVA,@R0MOVONE,AINCR0MOVTWO,@R0CLRCSUBBA,@R0JCNEXT;ONE小,TWO大继续比下一对数MOV@R0,ONE;ONE大放后面(交换)DECR0MOV@R0,TWO;TWO小放前面INCR0;NEXT:DJNZR7,LOOPMOVBIG,37HSJMP$END11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。org0MOV52H,#0MOV51H,#0MOV50...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部