MOV A,@R0
解答:R0=31H, A=0BH, (30H)=0CH、 (31H)=0BH、 (32H)=0AH 4、请用数据传送指令来实现下列要求的数据传送。 (1)R0的内容输出到R1
(2)内部RAM20H单元的内容传送到A中。 (3)外部RAM30H单元的内容送到R0。
(4)外部RAM30H单元的内容送内部RAM20H单元。 (5)外部RAM1000H单元的内容送内部RAM20H单元。 (6)程序存储器ROM2000H单元的内容送R1。
(7)ROM2000H单元的内容送到内部RAM20H单元。 解答:
(1)MOV A,R0 MOV R1,A (2)MOV A,20H (3)MOV R0,#30H (4)MOV R1,#30H MOVX A,@R1 MOV 20H,A
(5)MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A
(6)MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV R1,A
(7)MOV DPTR,#2000H CLR A
MOVC A,@A+DPTR MOV 20H,A
5、设A=5AH,R1=30H,(30H)=E0H,Cy=1。分析下列各指令执行后A的内容以及对标志位的影响(每条指令都以题中规定的原始数据参加操作)。 解答:
(1)XCH A, R1 ; A=30H (2)XCH A, 30H ; A=E0H (3)XCH A, @R1 ; A=E0H (4)XCHD A, @R1 ; A=50H (5)SWAP A ; A=A5H (6)ADD A, R1 ; A=8AH (7)ADD A, 30H ; A=30H (8)ADD A, #30H ; A=8AH (9)ADDC A, 30H ; A=31H (10)INC A ; A=5BH
(11)SUBB A, 30H ; A=79H (12)SUBB A, #30H ; A=29H
36
(13)DEC A ; A=59H (14)RL A ; A=B2H (15)RLC A ; A=B5H (16)CPL A ; A=A5H (17)CLR A ; A=00H
(18)ANL A, 30H ; A=40H (19)ORL A, @R1 ; A=FAH (20)CRL A, #30H ; A=BAH
6、在MCS-51单片机中有几种寻址方式?写出每一种寻址方式。
解答:有 7 种寻址方式,分别是立即寻址方式、直接寻址方式、寄存器寻址方式、寄存器间接寻址方式、 变址寻址方式、相对寻址方式和位寻址方式。 7、什么是堆栈?
解答:堆栈是一个特殊的存储空间,有一端是固定的,称为栈底,另一端是活动的,称为栈项,数据的存取是在栈顶进行的。数据的存取遵循先进后出,后进先出的原则。 8、在MCS-51单片机的指令系统中,有关堆栈操作的指令有哪些? 解答:PUSH 和 POP 指令
9、已知CJNE指令的一般格式为:CJNE 操作数l,操作数2.Rel,简述怎样使用CJNE指令判断两个操作数的大小。
解答:若操作数1≥操作数2,则进位标志C=0,否则C=1。 10、写出AJMP和LJMP指令的共同点和区别。
解答:共同点是都是无条件转移,转到指定的标号执行程序。 区别:
(1)转移范围不同,LJMP 指令的转移范围为 64KB,AJMP 指令的转移范围为 2KB。 (2)指令字节数不同,LJMP 指令是 3 字节指令,AJMP 指令是 2 字节指令。 (3)AJMP 指令的机器码特殊。
11、写出ACALL和LCALL指令的共同点和区别。
解答:共同点是都是调用子程序指令,转到指定的标号执行子程序。 区别:
(1)转移范围不同,LCALL 指令的调用范围为 64KB,ACALL 指令的调用范围为 2KB。 (2)指令字节数不同,LCALL 指令是 3 字节指令,ACALL 指令是 2 字节指令。 (3)ACALL 指令的机器码特殊。
12、RET和RETI指令主要有哪些区别? 解答:区别:
(1)使用场合不同,RET指令在子程序中使用, RETI指令在中断服务程序中使用。 (2)从功能上看,RET指令从堆栈中自动取出断点地址给 PC,使之返回到调用指令的下一个指令,继续执行主程序。而RETI指令除了具有RET指令的功能之外,还有清除中断响应时被设置的优先级状态、开放低级中断以及恢复中断逻辑等功能。 13、NOP指令的用途是什么?
解答:常常用于程序的等待或时间的延迟。
14、设计一段程序实现功能:把片外RAM2000H单元开始的40个单元的数据传送到片外RAM0000H开始的40个单元中。 解答:
ORG 0000H
MOV DPTR, #2000H
37
MOV R2, #40H MOV R1, #30H LOOP1: MOVX A, @DPTR MOV @R1, A INC R1 INC DPTR
DJNZ R2 LOOP1 MOV DPTR, #0000H MOV R2, #40H MOV R1, #30H LOOP2: MOV A, @R1 MOVX @DPTR, A INC R1 INC DPTR
DJNZ R2 LOOP2 SJMP $ END
15、设计一段程序实现功能:把片内RAM30H~3FH单元中的16个数的存放顺序颠倒过来。 解答:
ORG 0000H
MOV SP, 30H MOV R0, #3OH MOV R1, #10H LOOP1: MOV A, @R0 PUSH ACC INC R0
DJNZ R1, LOOP1 MOV R0, #30H MOV R1, #10H LOOP2: POP ACC
MOV @R0, A INC R0
DJNZ R1, LOOP2 AJMP $ END
16、设计一段程序实现功能:找出从片内RAM30H开始的16个单元中最小值所在的单元,并将该带你元的内容改成0FFH。 解答:
ORG 000H LJMP MAIN ORG 100H MAIN:
;;给片内RAM30H单元开始的16个单元赋值。 MOV R0,#30H
38
MOV R1,#(table1-table) MOV DPTR,#TABLE LOP: CLR A
MOVC A,@A+DPTR MOV @R0,A INC R0 INC DPTR DJNZ R1,LOP
;;查找片内RAM30H单元开始的16个单元的最小值,并存 于B寄存器。 MOV R0,#30H
MOV R1,#(table1-table) MOV B,#0FFH LOP0:
MOV A,@R0 CJNE A,B,$+3 JNC LOP1 MOV B,@R0 LOP1: INC R0
DJNZ R1,LOP0
;;读出片内RAM30H单元开始的16个单元的内容,并和最小值 比较,相等则把该单元的值替换成0ffh. MOV R0,#30H
MOV R1,#(table1-table) LOP2:
MOV A,@R0 CJNE A,B,LOP3 MOV @R0,#0FFH LOP3: INC R0
DJNZ R1,LOP2 SJMP $ TABLE:
DB 10H,25H,2H,00H,12H,33H,45H,00H,78H DB 80H,0AAH,0BBH,12H,23H,34H,00H TABLE1: END
39
第十五章
1、51单片机存储器为什么分为程序存储器空间和数据存储器空间?I/O接口扩展属于哪个空间? 解答:
单片机由于地址线的引脚数目少,分配的地址空间有限,故ROM和 RAM的地址是分开编址的。为两个不同的逻辑空间,如一个程序存储器空间 地址为0000H~FFFFH. 一个片外数据存储器空间 地址为0000H~FFFFH.访问时为了加以区分,采用不同的执行访问不同的存储器。
2、在单片机扩展系统中,程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会发生冲突? 解答:
程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于数据存储器的读写信号由 RD(P3.7)和 WR(P3.6)信号控制,而程序存储器由读选通信号PSEN控制,因此虽然共处同一地址空间,但控制信号不同,所以不会发生总线冲突。
3、在简单并行I/O口的扩展中,用74LS273锁存器扩展输出口接8个LED发光二极管,用74LS244三态锁存器扩展输入口,接8个开关,P2.7与WR一起作为输出锁存器的选通控制信号,用P2.6与RD一起作为输入缓冲器的选通控制信号。请确定该扩展系统输入口、输出口的端口地址,并编写程序实现一个开关控制一个LED发光二极管的控制功能。
4、某单片机系统扩展8255A作I/O接口,硬件连接采用单片机的A0、A1分别接8255A的A0、A1,单片机的P2.6接8255A的CS,试画出单片机系统的硬件电路图,并确定8255A四个端口的地址。
5、用8255A扩展单片机的I/O口,要求8255A的PA口为输入口,PA口的每一位接一个开关,PB口为输出口,输出的每一位接一个发光二极管。当某个开关接“1”时,相应位上的发光二极管点亮(输出“0”亮),试编写相应的程序。设8255A的PA口地址为7FFCH,PB口地址为7FFDH,PC口地址为7FFEH,控制口地址为7FFFH。 解答:
DATA SEGMENT
PORTA EQU 7FFCH PORTB EQU 7FFDH CONTR EQU 7FFFH DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX
MOV AL, 90H ;初始化8255,PA为输入,PB为输出 MOV DX, CONTR OUT DX, AL
L0: MOV DX, PORTA ;读PA口 IN AL, DX
40
NOT AL ;按下开关灯亮 MOV DX, PORTB
OUT DX, AL ;送PB口显示 MOV CX, 1000 ;延时 L1: DEC CX JNZ L1 JMP L0 CODE ENDS
END START
41
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《微机原理与接口技术》课后习题答案(8)在线全文阅读。
相关推荐: