ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:513.28KB ,
资源ID:11447017      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11447017.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机第三章答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机第三章答案.docx

1、单片机第三章答案思考题:【3-1】汇编语言与C语言哪种语言得可读性与可移植性强?在对速度与时序敏感得场合应该使用什么语言?对于复杂得单片机系统一般采用C与汇编混合编程得形式这句话对吗? 【3-2】二进制机器语言与C与汇编语言两者之间就是什么关系?用C或汇编编制得程序在ROM中就是以编译后得二进制代码得形式存放这句话对吗?【3-3】80C51系列单片机指令得格式包含哪几个部分?各部分之间得间隔符就是什么?四个部分中哪个部分就是必须存在得,哪几个部分就是可有可无得?标号得格式与代表得意义就是?【3-4】80C51系列单片机有哪几种寻址方式?【3-5】80C51单片机中立即数就是存放在ROM中还就是

2、RAM中?【3-6】判断下列说法就是否正确。 (1)立即数寻址方式就是被操作得数据本身就在指令中,而不就是它得地址在指令中。( ) (2)指令周期就是执行一条指令得时间。( ) (3)指令中直接给出得操作数称为直接寻址。( ) (4)内部寄存器Rn(n=07)可作为间接寻址寄存器。( )【3-7】80C51单片机可以进行直接寻址得区域就是?【3-8】80C51单片机可以进行寄存器寻址得范围就是?【3-9】80C51单片机可以进行寄存器间接寻址得寄存器就是?寻址得范围就是?【3-10】在寄存器间接寻址方式中,其“间接”体现在指令中寄存器得内容不就是操作数,而就是操作数得( )。【3-11】80C

3、51单片机变址寻址方式中可以作基址得寄存器就是?可以作变址得寄存器就是?A+PC,A+DPTR所找到得操作数就是在ROM中对吗?【3-12】80C51单片机相对寻址改变得就是PC得当前值,即改变得CPU执行指令得顺序这句话对否?【3-13】若访问特殊功能寄存器,只可以采用那种寻址方式?【3-14】若访问外部RAM单元,只可以使用哪种寻址方式?【3-15】若访问内部RAM单元,可使用哪些寻址方式?【3-16】若访问内外程序存储器,可使用哪些寻址方式?【3-17】80C51单片机可以进行位寻址得字节单元范围除11个可位寻址得特殊功能寄存器外还包括哪个区域?分别找出位地址就是00H、08H、22H、

4、7FH、D0H、E0H对应得字节地址?【3-18】已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)=0EFH,试写出执行以下程序段后有关单元得内容。 MOV R0,#30H MOV A,R0 MOV R1,A MOV B,Ri MOV R1,P1 MOV P2,P1 MOV 10H,#20H MOV 30H,10H 【3-19】为什么对基本型得51子系列单片机(片内RAM为128B),其寄存器间接寻址方式(例如MOV A,R0)中,规定R0或R1得内容不能超过7FH?【3-20】外部RAM数据传送指令有几条?试比较下面每一组中两条指令得区别? (1)MOVX A,R1

5、MOVX A,DPTR (2)MOVX A,DPTR MOVX DPTR,A (3)MOV R0,A MOVX R0,A (4)MOVC A,A+DPTR MOVX A,DPTR【3-21】假定累加器A中得内容为30H,执行指令 1000H:MOVC A,A+PC 后,把程序存储器( )单元得内容送入累加器A中。【3-22】在AT89S51中,PC与DPTR都用于提供地址,但PC就是为访问( )提供地址,而DPTR就是为访问( )与( )提供地址。【3-23】试写出完成以下数据传送得指令序列。 (1)R1得内容传送R0; (2)片外RAM 60H单元得内容送入R0; (3)片外RAM 60H单

6、元得内容送入片内RAM 40H单元;(4)片外RAM 1000H单元得内容送入片外RAM 40H单元。 【3-24】试编程,将外部RAM 1000H单元中得数据与内部RAM 60H单元中得数据相互交换。 【3-25】对程序存储器得读操作。只能使用( )。 A)MOV指令 B)PUSH指令 C)MOVX指令 D)MOVC指令【3-26】(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后,(DPH)=( ),(DPL)=( ),(SP)=( )。 POP DPH POP DPL POP SP【3-27】假定,(SP)=60H,(

7、A)=30H,(B)=70H,执行下列指令后,SP得内容为( ),61H单元得内容为( ),62H单元得内容为( )。 PUSH Acc PUSH B【3-28】已知程序执行前有(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH。下述程序执行后,(A)=( ),(SP)=( ),(51H)=( ),(52H)=( ),(PC)=( )。 POP DPH POP DPL MOV DPTR,#4000H RL A MOV B,A MOVC A,A+DPTR PUSH Acc MOV A,B INC A MOVC A,A+DPTR PUSH Acc RET ORG 4000H

8、DB 10H,80H,30H,50H,30H,50H【3-29】已知(A)=5BH,(R1)=40H,(40H)=C3H,(PSW)=81H,试写出各条指令得执行结果,并说明程序状态字得状态。 (1)XCH A,R1 (2)XCH A,40H (3)XCH A,R1 (4)XCHD A,Rl (5)SWAP A (6)ADD A,R1 (7)ADD A,40H (8)ADD A,#40H (9)ADDC A,40H (10)SUBB A,40H (11)SUBB A,#40H 【3-30】试分析下面两组指令得执行结果有何不同? (1)MOV A,#0FFH (2)MOV A,#0FFH INC

9、 A ADD A,#O1H【3-31】DA A指令有什么作用?怎样使用?【3-32】已知(A)=87H,(R0)=42H,(42H)=24H,请写出执行下列程序段后A得内容。 ANL A,#23HORL 42H,A XRL A,R0 CPL A 【3-33】写出完成如下要求得指令.但就是不能改变未涉及位得内容。 (1)把Acc、3,Acc、4,Acc、5与Acc、6清0 。 (2)把累加器A得中间4位清0。 (3)把Acc、2与Acc、3置1。【3-34】假定(A)=83H,(R0)=17H,(17H)=34H,执行以下指令后,(A)=( )。 ANL A,#17H ORL 17H,A XRL

10、 A,R0 CPL A【3-35】假设(A)=55H,(R3)=0AAH,在执行指令“ANL A,R3”后,(A)=( ),(R3)=( )。【3-36】已知组合逻辑关系式为F=AB+C,请编写模拟其功能得程序。设A、B、C、F均代表位地址。【3-37】编程完成下述操作。 (1)将外部RAM 1000H单元得所有位取反; (2)将外部RAM 60H单元得高2位清零,低两位变反,其余位保持不变。 【3-38】试用位操作指令实现逻辑操作: P1、0=(10HP1、0),PSW、1=(18HCY)。【3-39】仔细辨析下列指令得意义,找出错误得指令,并简要说明原因。 (1)CLR A (2)CLR

11、EOH (3)CLR ACC (4)CLR ACC.0(5)CPL A (6)CPL EOH(7)CPL ACC (8)CPL ACC.0【3-40】指令LJMP addrl6与AJMP addrl1得区别就是什么? 【3-41】试分析以下两段程序中各条指令得作用,程序执行完将转向何处?(1)MOV p1,#0CAH MOV A,#56H JB P1、22,L1 JNB ACC.3,L2 L1: : L2: : (2)MOV A,#43H JB ACC.2,L1 JBC ACC.6,L2 L1: : L2: :【3-42】判断以下指令得正误。(1)MOV 28H,R2;(2)DEC DPTR;

12、(3)INC DPTR;(4)CLR R0;(5)CPL R5(6)MOV R0,R1;(7)PUSH DPTR;(8)MOV F0,C;(9)MOV F0,Acc、3;(10)MOVX A,R1;(11)MOV C,30H;(12)RLC R0【3-43】借助指令表(附录B),对如下指令代码(十六进制)进行手工反汇编。 FF C0 E0 E5 F0 【3-44】以下指令中,属于单纯读引脚得指令就是( )。 A)MOV P1,A B)ORL P1,#0FH C)MOV C,Pl、5 D)ANL P1,#0FH【3-45】用AT89S51单片机得P1口做输出,经驱动电路接8个发光二极管,见图3-

13、11所示。当输出位为“0”时,发光二极管点亮;输出为“1”时,发光二极管为暗。试编制程序将8个发光二极管全部点亮;将8个发光二极管全部熄灭;将8个发光二极管隔一个点亮一个;每次亮一个,循环左移,一个一个地亮,循环不止。图3-11 单片机P1口驱动发光二极管【3-46】如图3-12所示,这就是由AT89C51构建得最小系统,外部连接了4个按键S1S4及4个发光二极管LEDl-LED4,P1口得高4位用于接收按键得输入状态,而低4位用于驱动发光二极管。请结合图示,编写程序,完成以下要求。 (1)若Sl闭合,则发光二极管LEDl点亮;若S2闭合,则发光二极管.LED2点亮。以此类推,即发光二极管实时

14、反映按键状态。(2)用4个发光二极管实现对按键键值得BCD编码显示。即若Sl闭合,键值为1,编码为0001,LEDl点亮;若S2闭合,键值为2,编码为0010,LED2点亮;若S3闭合,键值为3,编码为0011,LEDI、LED2同时点亮;若S4闭合,键值为4,编码为0100,LED3点亮。图3-12 第三章思考题答案:【3-1】解答:(1)C语言那种语言得可读性与可移植性强,例如对于用C语言编制得51单片机程序,只需要稍作修改就可以移植到PIC类型得单片机上。(2)汇编语言适用于对速度与时序敏感得场合。(3)正确。【3-2】解答:(1)C语言与汇编语言经过编译后将就是二进制得机器语言。(2)

15、正确。【3-3】解答:(1)一条完整得汇编语言指令包括标号、操作码、操作数与注释四部分。(2)其中标号与操作码用冒号分隔,操作码与操作数之间用空格,多个操作数之间用逗号分隔,注释用冒号开头。(3)四个部分中操作码就是必须存在得,其她三部分在有得指令中可以不出现。(4)标号就是一种符号地址。标号以字母开头,由1-8个字母或数字组成。【3-4】解答:80C51系列单片机提供了七种寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址(基址寄存器+变址寄存器间接寻址)、相对寻址、位寻址。【3-5】解答:立即寻址寻址方式中得立即数就是存放在ROM中。【3-6】解答:(1)正确 (2)正确

16、(3)错误 (4)错误【3-7】解答:直接寻址方式可访问以下存储空间:内部RAM低128个字节单元,指令中直接地址以单元地址得形式给出。特殊功能寄存器。【3-8】解答:寄存器寻址中规定得寄存器有:工作寄存器R0R7。累加器A。双字节AB。数据指针DPTR。【3-9】解答:(1)能用于间接寻址得寄存器有R0,R1,DPTR,SP。其中R0、R1必须就是工作寄存器组中得寄存器。(2)采用R0、R1作为间址寄存器,可寻址内部RAM得低128个单元与外部RAM低256个单元单元;采用16位得DPTR作为间址寄存器,可寻址外部RAM得整个64KB地址空间。【3-10】解答:地址。【3-11】解答:(1)

17、80C51单片机变址寻址方式中就是以DPTR或PC作基址寄存器,以累加器A作变址寄存器。(2)就是得。A+PC,A+DPTR寻址所找到得操作数就是在ROM中。【3-12】解答:正确。80C51单片机凡就是指令中带有rel相对偏移量得指令,其PC得改变都就是相对得。【3-13】解答:若访问特殊功能寄存器,只可以采用直接寻址。【3-14】解答:若访问外部RAM单元,只可以使用寄存器间接寻址方式。【3-15】解答:若访问内部RAM单元,可使用直接寻址、寄存器寻址、寄存器间接寻址与位寻址。【3-16】解答:若访问内外程序存储器,可使用变址寻址方式。【3-17】解答:(1)还包含内部RAM得20H-2F

18、H,共16个字节,16*8=128个位,每一位都有一个位地址,对应位地址00H-7FH。(2)位地址就是00H、08H、22H、7FH、D0H、E0H对应得字节地址分别就是20H、21H、24H、2FH、D0H、E0H。【3-18】解答:R030H,(R0)=30HA(R0),(A)=40HR1(A),(R1)=40HB(R1),(B)=10H(R1)(P1),(R1)=(40H)=EFHP2(P1),(P2)=EFH10H20H,(10H)=20H30H(10H),(30H)=20H结果:(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH

19、,(10H)=20H,(30H)=20H 【3-19】解答:因为寄存器间接寻址方式中R0或R1得内容就是操作数得RAM地址,内部RAM得寻址范围就是00H7FH。【3-20】解答:外部数据传送指令有4条:MOVX A,DPTR;MOVX DPTR,A;MOVX A,Ri;MOVX R,A。(1)都就是访问片外RAM,但二者寻址范围不同。前1条指令就是对片外RAM低256个单元得“读”操作;后1条指令就是对片外RAM 64KB空间得“读”操作。(2)访问空间相同,但数据传送方向不同。前1条指令就是对片外RAM64KB空间得“读”操作;后1条指令就是对片外RAM64KB空间得“写”操作。(3)访问

20、空间不同。前1条指令就是对片内RAM低128个单元得“写”操作; 后1条指令就是对片外RAM低256个单元得“写”操作。(4)二者访问得空间不同,寻址方式不同。前1条指令就是变址寻址方式,对ROM操作;后1条指令就是寄存器间接寻址方式,对片外RAM操作。【3-21】解答:1031H。【3-22】解答:ROM;ROM与外部RAM。【3-23】解答:(1)由于在工作寄存器与工作寄存器之间不能直接传送数据,所以需要借助累加器A。 MOV A,R1 MOV R0,A(2)片外RAM向片内RAM传送数据,不能直接进行,需要借助累加器A。由于片外RAM就是60H单元,地址小于FFH,所以间址寄存器使用Ri

21、即可。 MOV R1,#60H MOVX A,R1 MOV R0,A(3) MOV R1,#60H MOVX A,R1 MOV 40H,A(4)片外数据不能直接送入片外单元,需要先将片外数据读入累加器,然后再送到片外。 MOV DPTR,#1000H MOVX A,DPTR MOV R1,#40H MOVX R1,A【3-24】解答:片外RAM与片内RAM之间得数据传送不能直接进行,需要借助累加器A。数据交换需要使用数据交换指令XCH。 MOV DPTR,#1000H MOVX A,DPTR XCH A,60H MOVX DPTR,A【3-25】解答:D。【3-26】解答:3CH;5FH;50

22、H。【3-27】解答:30H;70H。【3-28】解答:50H;52H;30H;50H;5030H。【3-29】解答:(1)结果:(A)(R1),(A)=40H,(R1)=5BH,(PSW)=81H(2)结果:(A)(40H),(A)=C3H,(40H)=5BH,(PSW)=80H(3)结果:(A)(R1),(A)=C3H,(R1)=(40H)=5BH,(PSW)=80H(4)结果:(A)03(R1)03,(A)=53H,(R1)=(40H)=CBH,(PSW)=80H(5)结果:(A)03(A)47,(A)=B5H,(PSW)=81H(6)结果:A(A)+(R1),(A)=9BH,(PSW)

23、=05H(7)结果:A(A)+(40H),(A)=1EH,(PSW)=80H(8)结果:A(A)+40H,(A)=9BH,(PSW)=05H(9)结果:A(A)+(40H)+CY,(A)=1FH,(PSW)=81H(10)结果:A(A)-(40H)-CY,(A)=97H,(PSW)=85H(11)结果:A(A)- 40H - CY,(A)=1AH,(PSW)=01H【3-30】解答:(1)该组指令执行后(A)=00H,不影响CY位。(2)该组指令执行后(A)=00H,影响CY位。说明:单独执行INC指令,只影响奇偶标志位P,不影响半进位标志位AC与进位位CY位。执行ADD指令后,将影响CY、A

24、C与P位。【3-31】解答:DA A指令得作用就是对A中刚进行得两个BCD码得加法结果进行修正,即继续使BCD码加法运算得结果保持为BCD码。使用时,DA A指令只能使用在加法指令后,即ADD指令与ADDC指令。【3-32】解答:A(A)23H,(A)=03H42H(42H)(A),(42H)=37HA(A)(R0),(A)=34HA(),(A)=CBH结果:(A)=CBH【3-33】解答:(1)ANL A,#87H(2)ANL A,#0C3H(3)ORL A,#0CH【3-34】解答:0CBH。【3-35】解答:00H;0AAH。【3-36】解答:ANL A,BORL A,CMOV F,C【

25、3-37】解答:(1)MOV DPTR,#1000H MOVX A,DPTR CPL A MOVX DPTR,A(2)MOV R0,#60H MOVX A,R0 ANL A,#3FH XRL A,#03H MOVX R0,A【3-38】解答: (1)MOV C,10H ANL C,P1、0 (2)ORL C,18H MOV PSW、1,C【3-39】解答:(1)正确。(2)错误。原因:清零指令只能用于累加器ACC与位操作,而本题中E0H只能就是字节地址(位地址得范围就是00H7FH),所以该条指令错误。(3)错误。原因:ACC就是直接字节地址,不能用于清零指令。(4)正确。ACC、0就是一个位

26、,可以应用到清零指令中。(5)正确。(6)错误。原因:取反指令只能用于累加器ACC与位操作,而本题中E0H只能就是字节地址(位地址得范围就是00H7FH),所以该条指令错误。(7)错误。原因:ACC就是直接字节地址,不能用于取反指令。(8)正确。ACC、0就是一个位,可以应用到取反指令中。【3-40】解答:指令LJMP addr16就是长转移指令,指令中提供了16位目得地址,寻址范围就是64KB。指令AJMP addr11就是绝对转移指令,指令中11位目得地址,其中a7a0在第二字节,a10a8则占据第一字节得高3位,寻址范围就是与PC当前值(本指令所在地址+本条指令所占用得字节数2)在同一个

27、2K得区域内。【3-41】解答:(1) MOV P1,#0CAH ;P1CAH,P1=CAH=11001010B MOV A,#56H ;A56H,A=56H=01010110B JB P1、2,L1 ;若P1、2=1,则转移至L1 JNB ACC、3,L2 ;若ACC、3=0,则转移至L2 L1:L2:执行完本段程序后将转移至L2,因为P1、2=0,ACC、3=0,所以转至L2。(2) MOV A,#43H ;A43H,A=43H=01000011B JB ACC、2,L1 ;若ACC、2=1,则转移至L1 JBC ACC、6,L2 ;若ACC、6=1,则转移至L2,同时将ACC、6清零 L

28、1: L2: 执行完本段程序后将转移至L2,因为ACC、2=0,ACC、6=1,所以转至L2,并且将ACC、6清零。【3-42】解答:(1)错误。可以做间接寄存器得只有R0与R1,不包括R2。(2)错误。(3)错误。(4)错误。CLR得操作数只能就是C或bit。(5)错误。CPL得操作数只能就是C或bit。(6)错误。两个寄存器间不能直接进行数据传送。(7)错误。PUSH指令时字节操作指令。(8)正确。(9)错误。位传送指令只进行C与位地址间得数据互送。(10)正确。(11)正确。位操作指令。(12)错误。RLC指令得操作数只能就是A。【3-43】解答:(1)FF:MOV R7,A (2)C0

29、:PUSH direct (3)E0:MOVX A,DPTR(4)E5:MOV A,direct (5)F0:MOVX DPTR,A【3-44】解答:C。【3-45】解答:(1)MOV A,#00HMOV P1,A(2)MOV A,#0FFHMOV P1,A(3)MOV A,#AAH(或就是55H)MOV P1,A(4) MOV A,#0FEHLOOP: MOV P1,A RL A LCALL DELAY SJMP LOOPDELAY: MOV R7,#01HDELAY1: MOV R6,#01H DJNZ R6,$ DJNZ R7,DELAY1 RET【3-46】解答:(1) MOV A,P1 CPL A ANL A,#0F0H SWAP A MOV P1,A(2)LOOP: JNB P1、4,L1 JNB P1、5,L2 JNB P1、6,L3 JNB P1、7,L4 LJMP LOOP L1: MOV P1,#01H LJMP LOOP L2: MOV P1,#02H LJMP LOOP L3: MOV P1,#03H LJMP LOOP L4: MOV P1,#04H LJMP LOOP

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1