《单片机原理及应用》习题参考答案
主 编:编 写 组:单 位:日 期:
田亚娟
单片机原理及应用精品课程组 松山职业技术学院电气工程系 2008年12月
第1章 绪 论
1-1.(1)9AH,154;6.375,6.6H
(2)1100.011B,0C.6H;0111111.111B,7F.EH (3)10110111B,183;1111101111.1000B;1007.5
1-2.(1)[+1101110]原=[+1101110]反=[+1101110]补=01101110
(2)[-1111111]原=11111111 [-1111111]反=10000000 [-1111111]补=10000001
(3)[+1010111]原=[+1010111]反=[+1010111]补=01010111
(4)[-1000000]原=11000000 [-1000000]反=10111111 [-1000000]补=11000000 1-3.(1)(0100 0111)BCD (2)(0110 1000)BCD
(3)(0001 1001 1000 0110. 0111)BCD (4)(0001 1001 0110 1001)BCD 1-4~1-7略。
第2章 MCS-51单片机的结构和原理
2-1~2-2、2-4~2-5、2-7、2-9~2-13、略。
2-3. 答:程序状态标志寄存器PSW是一个8位可编程并可按位寻址的专用寄存器,用来存放当前指令执行结果的有关状态信息,位于特殊功能寄存器区,地址是0D0H。其各位定义如下:
D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV — P
CY(PSW.7):进位标志。累加器A的最高位有进位或借位时,硬件自动使该位置位(即CY=1),否则该位清零。
AC(PSW.6):辅助进位标志。当进行加法或减法操作时,若累加器的D3位向D4位有进位或借位时,则硬件自动将其置位,否则该位清零。
F0(PSW.5):用户通用状态标志。用户可对该位置位或清零,也可用软件测试该位的状态以控制程序的流向。
RS1(PSW.4)和RS0(PSW.3):工作寄存器组选择控制位,用户通过指令对RS1和RS0的状态设置,可以选择相应的工作寄存器组。
OV(PSW.2):溢出标志。当有符号数加法或减法运算结果超出(-128~+127)围时,说明计算结果已经溢出,此时该位将由硬件自动置位(即OV=1),否则清零。
PSW.1:保留位。也可作为用户自行定义的状态标志位,其用法与PSW.5相同。 P(PSW.0):奇偶标志位。每个指令周期由硬件按累加器A中值为“1”的个数的奇偶性自动置位或清零。若A中有奇数个“1”,则P置位,否则清零。
2-6. 答:不能。因为在这种情况下,系统要进行扩展ROM。P0口和P2口作为专用端口使用。P0口分时作为低8位地址的输出口和数据输入输出口。P2口作为高8位地址输出口。
2-8. 答:00H~7FH为8051的片RAM的空间。①00H~1FH是通用寄存器区,共32个单元分成0,1,2,3四个区,每个区的8个单元都用R0~R7来表示。②20H ~2FH共16个单元是位寻址区,每个单元的每一位都有它自己的位地址。③30H~7FH是堆栈和数据缓冲区。可用来对运算结果等中间数据暂时保存和有关的数据堆栈。 我们把部RAM中字节地址00H~7FH与位地址00~7F完全重合的现象,称为地址重叠现象,MCS-51指令系统提供了不同的访问指令和寻址方式来解决这种地址重叠现象。CPU在对位寻址单元进行位操作时,设置有专用的位操作指令。
第3章 MCS-51单片机的指令系统
3-1~3-5略
3-6. E5 30 MOV A,30H (A)←(30H)
74 42 MOV A,#42H (A)←
85 38 74 MOV 74H,38H (74H)←(38H) 78 50 MOV R0,#50H (R0)←50H
26 ADD A,R0 (A)←(A)+((R0)) D2 12 SETB 12H (12H)←01H
3-7. MOV A,30H ;直接寻址方式,将部RAM的30H单元的容传送
;给累加器A
MOV A,#30H ;立即寻址方式,将立即数30H传送给累加器A
MOV 31H,R0 ;寄存器寻址方式,将寄存器R0的容传送到31H单元 MOV 31H,R0 ;寄存器间接寻址,将寄存器R0所指的地址单元的容
;传送到31H
3-8.(1)R0的容送R1。
MOV A, R0 MOV R1,A
(2)外部RAM 40H单元的容送部RAM 40H单元。
MOV R0,#40H MOVX A,R0 MOV 40H,A
(3)外部RAM 7E00H单元容送部RAM R0。
MOV DPTR,#7E00H MOV A,DPTR MOV R0,A
(4)外部ROM 7E00H单元容送部RAM 20H单元。
MOV DPTR,#7E00H MOV A,#00H MOVC A,A+DPTR MOV 20H,A
(5)外部ROM 7E00H单元容送外部RAM 20H单元。
MOV DPTR,#7E00H MOV A,#00H MOVC A,A+DPTR MOV R0,#20H MOVX R0,A
(6)外部RAM 2000H单元容送外部RAM 1000H单元。
MOV DPTR,#2000H MOVX A,DPTR MOV DPTR,#1000H MOVX DPTR,A
3-9. (R0)=42H,(42H)=08H,(A)=80H,(50H)=80H 3-10. MOV A,#192
ADD A,#88H MOV 30H,A MOV A,#00H ADDC A,#00H MOV 31H,A
3-11. A=57H Cy=1;A=3BH Cy=0
3-12. (20H)=00H (A)=00H Cy=1; 取消DA后:(20H)=9AH (A)=9AH Cy=0 3-13. rel=0F75H-0F46H=2FH 3-14. 与操作结果为:00H 或操作结果为:FFH 异或操作结果:FFH
3-15. C=1 P1=BBH P3=3CH
第4章 MCS-51单片机的程序设计
4-1. ORG 0000H CLR C
MOV A,50H MOV B,#10
MUL AB
MOV 53H,B ADD A,51H MOV 52H,A MOV A,53H ADDC A,#0 MOV 53H,A END
4-2. ORG 0000H
MOV R7,#30 MOV R6,#0 MOV R5,#0 MOV R4,#51H MOV R3,#71H MOV R0,#20H MAIN:MOV A,R0
JB ACC.7,MAIN1 INC R6 MOV R1,R4 MOV R1,A AJMP LOOP MAIN1:INC R5
MOV R1,R3 MOV R1,A LOOP:DJNZ R7,MAIN
MOV 50H,R6 MOV 70H,R5 END
4-3. ORG 0000H
CLR C
MOV R7,#4 MOV R6,#3
MOV R0,#DATA+4 MOV R1,#DATA MOV A,R0
JNB ACC.7,END0 LP: MOV A,R1
CPL A