单片机原理及应用(姜志海第3版)习题参考答案 下载本文

SWAP A MOV R1,A RET

5.试编程把以2000H为首地址的连续10个单元的内容按升序排列,存放到以3000H为首地址的存储区中。

MOV DPTR,#2000H ;读到片内30H开始的单元 MOV R0,#30H MOV R7,#10 L1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R7,L1

START: CLR 00H ;排序 CLR C

MOV R7,#9 MOV R0,#30H MOV A,@R0 L3: INC R0 MOV R2,A SUBB A,@R0 MOV A,R2 JC NEXT SETB 00H XCH A,@R0 DEC R0 MOV @R0,A INC R0 NEXT: MOV A,@R0 DJNZ R7,L3 JB 00H,START

MOV DPTR,#3000H ;送到片外3000H开始的单元 MOV R0,#20H MOV R7,#10 L2: MOV A,@R0 MOVX @DPTR,A INC DPTR INC R0 DJNZ R7,L2 RET

6.设片内30H单元开始,连续存放2个字节二进制数,试分别将其转换为BCD码,并以压缩BCD码格式连续存放在以60H为首地址的存储区中,低位字节存放在低地址单元中。

DBCD:

MOV MOV MOV MOV MOV MOV MOV INC CLR

R0,30H A,R0 R6,A R1,60H A,R1 R7,A R2,#2 R2 A

第 13 页 共 29 页 m

BB0: MOV @R1,A INC R1

DJNZ R2,BB0 MOV R3,#16 BB3: MOV A,R6 MOV R0,A MOV R2,#2 CLR C BB1: MOV A,@R0 RLC A MOV @R0,A INC R0 DJNZ R2,BB1 MOV R2,#2 INC R2

MOV A,R7 MOV R1,A BB2: MOV A,@R1

ADDC A,@R1 DA A MOV @R1,A INC R1

DJNZ R2,BB2 DJNZ R3,BB3 RET

7.设片内RAM中从20H开始的单元,连续存放10个非压缩BCD码,试将其转换为ASCII码,存放到片内50H开始的单元中。

MOV R0,#20H MOV R1,#50H MOV R7,#10 L1: MOV A,@R0 ADD A,#30H MOV @R1,A INC R0 INC R1 DJNZ R7,L1 RET

8.从20H单元开始有一无符号数据块,其长度在20H单元。求出数据块中的最小值,并存入21H单元。

参看第3题。

9.片外RAM从2000H单元开始存有10个单字节无符号数,找出最大值存入片外RAM 3000H单元,试编写程序。

参看第3题。

10.从片外RAM 2000H单元开始存有20个有符号数,要求把它们传送到片外RAM 3000H开始的单元,但负数不传送,试编写程序。

MOV MOV MOV

DPTR,#2000H R0,#20H R7,#20

第 14 页 共 29 页 m

L1: MOVX MOV INC INC DJNZ MOV MOV MOV L2: MOV JB MOVX L3: INC INC DJNZ RET

A,@DPTR @R0,A DPTR R0 R7,L1

DPTR,#3000H R0,#20H R7,#20 A,@R0 ACC.7,L3 @DPTR,A DPTR R0 R7,L2

第 15 页 共 29 页m

第5章 MCS?51系列单片机硬件资源的应用

1.MCS?51单片机的4个I/O接口的作用是什么?三总线是如何分配的?为什么说能作为I/O使用的一般只有P1口?

P0口形成数据总线;P2口形成地址的高8位,P0口经过锁存器形成地址的低8位;P3口形成控制总线。

在具有外部扩展的时间,需要用到数据总线、地址总线和控制总线,而三总线占用了P0、P2、P3口,可以单独使用的只有P1口。

2.举例说明MCS-51单片机P1口的输入操作与输出操作。 输入操作: MOV P1,#0FFH MOV A,P1 输出操作: MOV P1,A

3.简述MCS-51单片机的中断系统结构。

MCS-51单片机的有5个中断源,它们均有两级优先级,通过4个专用中断控制寄存器(IE、IP、TCON、SCON)进行中断管理,其结构原理如图所示。

4.MCS-51单片机有几个中断源?各中断标志是如何产生的?如何清除?

MCS?51单片机的5个中断源分为两种类型:一类是外部中断源,包括INT0和INT1;另一类是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的发送/接收中断。 (1)外部中断

MCS?51单片机提供了两个外部中断请求INT0和INT1,它们的中断请求信号有效方式分为电平触发和脉冲触发两种。电平方式是低电平有效,脉冲方式为负跳变触发有效。

CPU在每个机器周期的S5P2检测INT0和INT1上的信号。对于电平方式,只要检测到低电平信号即为有效申请;对于脉冲方式,则需要比较两次检测到的信号,才能确定中断请求信号是否有效。

第 16 页 共 29 页 m