单片机课后习题答案解析 下载本文

内容发布更新时间 : 2024/6/3 7:30:43星期一 下面是文章的全部内容请认真阅读。

完美WORD格式.整理

JC NEG ;X为负,转至NEG RRC A RRC A

JNC EVEN1 ; X为偶数,转至EVEN1 MOV A, X

ADD A, Y ; X为正奇数,Z =X+Y SJMP RETULT EVEN1: MOV A, X

ORL A, Y ; X为正偶数,Z =X∨Y SJMP RETULT NEG: RRC A, RRC A

JNC EVEN2 MOV A, X

ANL A, Y ; X为负奇数,Z =X∧Y SJMP RETULT EVEN2: MOV A, X

XRL A, Y ; X为负偶数,Z =X⊕Y RETULT: MOV Z, A END

4. 把一个8位二进制数的各位用ASCII码表示之(例如,为0的位用30H表示,为1的位用31H表示等)。该数存放在内部RAM的byte单元中。变换后得到的8个ASCII码存放在外部RAM以buf开始的存储单元中,试编程实现。 ORG 0030H

14

MOV DPTR, #buf MOV R0, # byte MOV R7, #08H MOV A, @ R0 CLR C

LOOP1 : RRC A MOV R6, A JC ONE

MOV A, #30H SJMP LOOP2

ONE: MOV A, #31H

LOOP2 : MOVX @DPTR, A INC DPTR MOV A, R6

DJNZ R7, LOOP1

5. 编程实现运算式2 2 c a b 。假定a、b、c 3 个数分别存放于内部RAM 的 DA、DB、DC 单元中,另有平方运算子程序SQR 供调用。 ORG 0030H MOV A, DA

. 专业资料分享 .

完美WORD格式.整理

PUSH ACC ACALL SQR POP ACC MOV DC, A MOV A, DB PUSH ACC ACALL SQR POP ACC ADD A, DC MOV DC, A

15

SQR: POP ACC MOV B, A MUL AB PUSH ACC RET END

6. 试编程实现两个ASCII码字符串是否相等。字符串的长度在内部RAM 41H单元中,第1个字符串的首地址为42H,第2个字符串的首地址为52H。如果两个字符串相等,则置内部RAM 40H单元为00H;否则置40H单元为FFH。 ORG 0030H MOV R0, #42H MOV R1, #52H MOV R7, 41H

LOOP: MOV A, @R0 MOV 30H, @R1 CJNE A, 30H, LK INC R0 INC R1

DJNZ R7, LOOP MOV 40H, #00H SJMP DD

LK: MOV 40H, #0FFH DD: SJMP DD

7. 在外部RAM首地址为table的数据表中,有10字节数据。试编程实现将每个字节的最高位无条件置1。 ORG 0030H

MOV DPTR, #table MOV R6, #10

LOOP: MOVX A, @DPTR

16

SETB ACC.7 MOVX @DPTR, A INC DPTR

. 专业资料分享 .

完美WORD格式.整理

DJNZ R6, LOOP

第6 章 80C51 单片机的中断与定时

(一)填空题

1. 中断技术是解决资源竞争的有效方法,因此,可以说中断技术实质上是一种 资源(共享)技术。

2. 上电复位后,各中断优先级从高到低的次序为(外部中断0)、(定时器/计数

器0 中断)、(外部中断1)、(定时器/计数器1 中断)和(串行中断)。 3. 响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把(PC) 的内容压入堆栈,以进行断点保护,然后把长调用指令的16 位地址送(PC), 使程序执行转向(ROM)中的中断地址区。

4. 当计数器产生计数溢出时,把定时器控制寄存器的TF0(TF1)位置1。对计 数溢出的处理,在中断方式时,该位作为(中断请求标志位)使用;在查询 方式时,该位作(查询状态位)使用。

5. 定时器1 工作于方式3 做波特率发生器使用时,若系统晶振频率为12 MHz, 可产生的最低波特率为(15.26 b/s),最高波特率为(1000000 b/s)。 对于12MHz 的晶振,一个机器周期为1s,定时器1 做波特率发生器使用时, 若工作于方式1,计数初值为0,则波特率最低,为

6

1 65536 1.0 10

15.26bs

若计数初值为65535,则波特率最高,为1/(1*1.0*10e-6)=1000000b/s

6. 定时器0 工作于方式2 的计数方式,预置的计数初值为156,若通过引脚T0 输入周期为1ms 的脉冲,则定时器0 的定时时间为(100ms)。

7. 用于定时测试压力和温度的单片机应用系统,以定时器0 实现定时。压力超 限和温度超限的报警信号分别由INT0 和INT1输入,中断优先顺序为:压力 超限→温度超限→定时检测。为此,中断允许控制寄存器IE 最低3 位的状 态应是(111),中断优先级控制寄存器IP 最低3 位的状态应是(101)。 8. 可利用定时器来扩展外部中断源。若以定时器1扩展外部中断源,则该扩展外中断的中断请求输入端应为(T1)引脚,定时器1应取工作方式(2),预置的计数初值应为(0FFH),扩展外中断的入口地址应为(001BH)。

(二)单项选择题 1. 下列有关80C51中断优先级控制的叙述中错误的是(D)

(A)低优先级不能中断高优先级,但高优先级能中断低优先级 (B)同级中断不能嵌套

(C)同级中断请求按时间的先后顺序响应

(D)同一时刻,同级的多中断请求,将形成阻塞,系统无法响应 2. 80C51有两个定时器,下列有关这两个定时器级联定时问题的叙述中,正确的是(C)

(A)可以实现软件级联定时,而不能实现硬件级联定时 (B)可以实现硬件级联定时,而不能实现软件级联定时 (C)软件级联定时和硬件级联定时都可以实现 (D)软件级联定时和硬件级联定时都不能实现

. 专业资料分享 .

完美WORD格式.整理

3. 在工作方式0下,计数器由TH的全部8位和TL的低5位组成,因此,其计数范围是(A)

(A)1 ~ 8192 (B)0 ~ 8191 (C)0 ~ 8192 (D)1 ~ 4096

4. 对于由80C51构成的单片机应用系统,中断响应并自动生成长调用指令LCALL后,应(B)

(A)转向外部程序存储器去执行中断服务程序 (B)转向内部程序存储器去执行中断服务程序 (C)转向外部数据存储器去执行中断服务程序 (D)转向内部数据存储器去执行中断服务程序 5. 中断查询确认后,在下列各种单片机运行情况中,能立即进行响应的是(D) (A)当前正在进行高优先级中断处理 (B)当前正在执行RETI指令

(C)当前指令是DIV指令,且正处于取指机器周期 (D)当前指令是“MOV A, Rn” 指令

6. 下列条件中,不是中断响应必要条件的是(C) (A)TCON 或SCON 寄存器中相关的中断标志位置1 (B)IE 寄存器中相关的中断允许位置1 (C)IP 寄存器中相关位置1

(D)中断请求发生在指令周期的最后一个机器周期

7. 在单片机的下列功能或操作中,不使用中断方法的是(D) (A)串行数据传送操作 (B)实时处理 (C)故障处理 (D)存储器读/写操作

第6 章 单片机并行存储器扩展

(一)填空题

1. 使用8KB×8 位的RAM 芯片,用译码法扩展64KB×8 位的外部数据存储器, 需要(8)片存储芯片,共需使用(16)条地址线,其中(13)条用于存储 单元选择,(3)条用于芯片选择。

2. 三态缓冲器的三态分别是(低电平)、(高电平)和(高阻抗)。

3. 80C51 单片机系统整个存储空间由4 部分组成,分别为(256)个地址单元 的内部(数据)存储器,(4KB)个地址单元的内部(程序)存储器,(64KB) 个地址单元的外部(数据)存储器,(60KB)个地址单元的外部(程序)存 储器。

4. 在80C51 单片机系统中,为外扩展存储器准备了(16)条地址线,其中低位 地址线由(P0 口)提供,高位地址线由(P2 口)提供。

5. 在80C51 单片机系统中,存储器并行外扩展涉及的控制信号有(ALE)、 (WR )、(RD )、( PSEN )和(CE),其中用于分离低8 位地址和数据的 控制信号是(ALE),它的频率是晶振频率的(6)分之一。

6. 起止地址为0000H ~ 3FFFH 的外扩展存储器芯片的容量是(16KB)。若外扩 展存储器芯片的容量为2KB,起始地址为3000H,则终止地址应为(37FFH)。 7. 与微型机相比,单片机必须具有足够容量的程序存储器是因为它没有(外

19

存)。

. 专业资料分享 .