单片机课后重要习题答案

单片机课后重要习题答案

ID:15551266

大小:354.50 KB

页数:10页

时间:2018-08-04

单片机课后重要习题答案_第1页
单片机课后重要习题答案_第2页
单片机课后重要习题答案_第3页
单片机课后重要习题答案_第4页
单片机课后重要习题答案_第5页
资源描述:

《单片机课后重要习题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、3.168051芯片需要外扩4KB程序存储器,要求地址范围为1000~1FFFH,以便和内部程序存储器地址相衔接。所用芯片除了地址线和数据线外,只有一个片选控制端/CS,画出扩展系统的连接图。解:3.17在图3.13中,若因某种原因,P2.2、P2.1、P2.0误接为P2.5、P2.4、P2.3,这时所接的EPROM寻址区是如何分布的?解:误接后,A10,A9,A8则分别与P2.5,P2.4,P2.3相接,P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7~P0.0**000**

2、*00000000—11111111**001***00000000—11111111**010***00000000—11111111**011***00000000—11111111**100***00000000—11111111**101***00000000—11111111**110***00000000—11111111**111***00000000—11111111所以地址分布为:0000H~00FFH,0800H~08FFH,1000H~10FFH,1800H~18FFH,2000

3、H~20FFH,2800H~28FFH,3000H~30FFH,3800H~38FFH4.8编写程序,进行两个16位数的减法:6F5DH~13B4H,结果存至内部RAM的30H和31H单元。30H单元存差的低8位。解:MOVA,#5DHCLRCSUBBA,#0B4HMOV30H,AMOVA,#6FHSUBBA,#13HMOV31H,ASJMP$4.9编写程序,若累加器内容分别满足一下条件,则程序转至LABEL存储单元。(1)A≥10(2)A>10(3)A≤10(4)A<10解:(1)CLRCCJNEA

4、,#10,LOOPSJMPLABELLOOP:JNCLABELSJMP$(2)CJNEA,#10,LOOPSJMP$LOOP:JNCLABELSJMP$(3)CJNEA,#10,LOOPSJMPLABELLOOP:JCLABELSJMP$(4)CJNEA,#10,LOOPSJMP$LOOP:JCLABELSJMP$4.10已知SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H)=56H,问在这种条件下执行RET指令以后,SP,PC分别是多少?解:在执行RET指令后说明是一

5、个子函数执行结束,则进行POP操作,于是SP在执行RET指令后变为23H,因为(25H)=34H,(24H)=12H,所以PC=3412H,因为在进入堆栈的时候是先压入低8位,然后进入堆栈的是高8位,出堆栈的时候正好相反。所以最后结果是:SP=23H,PC=3412H4.11若SP=25H,PC=2345H,标号LABEL所在的地址为3456H,问执行长调用指令LCALLLABEL之后,堆栈指针和堆栈内容发生什么变化?PC是多少?解:在进行长调用指令LCALLLABEL,则要进行堆栈保护,而LCALL

6、指令是三字节的指令,所以PC在进入堆栈之前变为2348H,在执行完长指令LCALL之后,PC进入子函数程序,则进入之前的地址要首先保护起来,所以SP=27H,堆栈的内容(26H)=48H,(27H)=23H,此时PC将要指向子函数LABEL的入口地址,即PC=3456H。4.12在4.11中的LCALL指令能否直接换成“ACALLLABEL”指令?为什么?解:不能,因为ACALL是短调用指令,子程序调用的范围为围绕调用指令的2KB内,即它们的地址高5位应该是相同的。或者说,在执行ACALL指令时,子程

7、序入口地址的高5位是不能任意定的,只能由ACALL指令所在的位置来确定,例如4.11在调用子函数之前的地址为2345H,即高5位是00100,所以ACALL调用的地址范围为:2000H——27FFH,而LABEL所在的地址为3456H已经超出调用范围,所以不能替换。4.13试编写程序,查找在内部RAM的20H~50H单元中是否有0AAH这一数据,若有这一数据,则将51H单元置为01H,若未找到,则使51H单元置0。解:参考程序如下:M0VR0,#31HM0VR1,#20HLOOP:MOVA,@R1CL

8、RCCJNEA,#0AAH,LOOP1SJMPL00P2LOOP1:INCR1DJNZR0,LOOPM0VA,#00HSJMPLOOP3LOOP2:MOVA,#01HLOOP3:MOV51H,ASJMP$4.14试编写程序,查找在内部RAM的20H~50H单元内部出现00H的次数,并将查找的结果存入51H单元。解:参考程序如下:MOVR0,#31HMOVR1,#20HMOVR2,#00HLOOP:MOVA,@R1CJNEA,#00H,LOOP1INCR2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。