《单片机原理及应用》课后习题 答案

发布时间 : 星期四 文章《单片机原理及应用》课后习题 答案更新完毕开始阅读

亮暗相间,显示“88888888”。

9-4 若8255芯片的片选端与8051的P2.7相连,A1A0端与地址总线A1A0相连,现要求8255工作在方式0,A口作为输入,B口作为输出,且将C口的第6位PC5置1,请编写初始化工作程序。 答:

9-5 已知系统的连接如图9-12所示,试编写程序实现下列功能:(1)编写上电显示程序,显示“123456”。(2)编写主程序,功能为:当有键按下(0~7号)时,都显示键号; 无键按下,保持原有显示状态。 答:主程序流程图: 开始

初始化8155

初始化显示缓存区 调用显示子程序

调用键盘子程序

N

有健按下

Y

计算键值送显示缓存

主程序图(与教材略有不同,

P2.6 ALE RD WR P2.7 8051 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 8155 +5V AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 10K×3 请自行分析)

CS gg ALE RD WR IO/M PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 7407×3 +5V 10K×4 +5V 10K×4 a b c d e f g dp

LED + RESET 1K PC3 PC2 PC1 PC0 PA0 PA1 PA2 PA3 硬件电路图(与教材略有不同,请自行分析) 18 19 1A 1B 1C 1D 1E 1F 10 11 12 13 14 15 16 17 8 9 A B C D E F 0 1 2 3 4 5 6 7 29 流程图: 键盘扫描

开始

粗扫

N 有键按下 Y

R5 FFH

R3 4行,R4 8列,R5 FFH,R6 FEH 返回 R6 PA

读PC A Y

N A低4位全为1 R5=R5+1 R6左移一位 R6

A左移 C R5+1=R5

Y CY=0 N

R4-1=0 N 返回 Y

R5+8=R5 R5=FFH

N R3-1=0 返回 Y

R5=FFH

返回

键盘子程序图(与教材略有不同,请自行分析) 另外,显示子程序略

30

方案二:(注意键值的不同) P2.6 CS PB0 ALE PB1 ALE RD PB2 RD PB3 WR WR PB4 P2.7 PB5 IO/M PB6 7407×3 PB7 +5V +5V 1 8051 0K×4 10K×4 P0.0 P0.1 AD0 AD1 P0.2 P0.3 AD2 P0.4 AD3 P0.5 AD4 AD5 p d g f e d c b a

P0.6 P0.7 AD6 AD7 LED

8155 10K×3

+5V + RESET 3 7 B F 13 17 1B 1K PC3 1F 2 6 A E 12 16 1A 1E PC2

1 5 9 D 11 15 19 1D PC1 PC0 0 4 8 C 10 14 18 1C PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7

硬件电路图(与教材略有不同,请自行分析)

开始 粗扫 N 有健按下 Y R5=FF R3=4行,R4=8列,R5=FFH,R6=FEH 返回 PA=R6 读PC赋给A Y N A低四位全为1 R5=R5+1 R5+R3=R5 A左移一位 C R6左移一位 N N CY=0 R4-1=0 Y Y R5=FFH 31

键盘子程序图(与教材略有不同,请自行分析) 另外,显示子程序流程图略

9-6 如何消除键的抖动?对于一般的小键盘来说,为什么不能双键或多键同时按下?

答:方法一:软件延时

方法二:硬件防抖动电路(R-S触发器)

因为单键按下,一个键只代表一个功能,当双键或多建同时按下时,程序视为非法按键。

(除按键不够用,扩展双键或多键同时按下的功能)

9-7什么是LED数码显示器?它有几种接法?如何得到显示段码? 答:①施加电压有电流流过使之发光的二极管。

(一个发光二极管发光时电流约为10~20mA,管压降2.0V左右) 8个LED发光二极管封装在一起,组成一个8段码 ②8段码有两种接法按结构:共阳极,共阴极 按显示:动态显示,静态显示

③以共阴极为例,公共端接地,某段上加上高电平,则亮,否则灭,从而得到相应符号的段码

9-8 什么是D/A 转换器?

答:将数字信号变成模拟信号的器件。 9-9 DAC0832主要特性参数有哪些? 答:课本P162

9-10 DAC0832与8051单片机连接时有哪些控制信号?其作用是什么? 答;控制信号WR1 WR2 IlE CS 作用教材P163

9-13 A/D 转换器DAC0809的编程要点是什么?

答:根据硬件连接电路和ADC0809的时序图,确定每个通道的地址,启动某路得ADC开始转换,利用软件延时,查询或中断的方式,读取转换结果值。 9-16 具有8 位分辨率的A/D转换器,当输入0~5V电压时,其最大量化误差是多少?

答:5/256=0.02V=20mV

32

联系客服:779662525#qq.com(#替换为@)