单片机课后习题答案

19.在什么情况下要使用D/A转换器的双缓冲方式?试以DAC0832为例画出双缓冲方式的接口电路。 解:

(1)应设置D/A转换器的双缓冲方式的情况

有些D/A转换器(如DAC0832)的内部具有两极缓冲结构,即芯片内有一个8位输入寄存器和一个8位DAC寄存器。

这样的双缓冲结构,可以使DAC转换输出前一个数据的同时,将下一个数据传送到8位输入寄存器,以提高D/A转换的速度。更重要的是,能够使多个D/A转换器在分时输入数据后,同时输出模拟电压。

(2)D/A转换器DAC0832的双缓冲方式的接口电路如图5.19所示。

图5.19 DAC0832双缓冲连接电路图

20.用单片机控制外部系统时,为什么要进行A/D和D/A转换? 解:

单片机只能处理数字形式的信息,但是在实际工程中大量遇到的是连续变化的物理量,如温度、压力、流量、光通量、位移量以及连续变化的电压、电流等。对于非电信号的物理量,必须先由传感器进行检测,并且转换为电信号,然后经过放大器放大为OV~5V电平的模拟量。所以必须加接模拟通道接口,以实现模拟量和数字量之间的转换。A/D(模/数)转换就是把输入的模拟量变为数字量,供单片机处理;而D/A(数/模)转换就是将单片机处理后的数字量转换为模拟量输出。

21.A/D转换芯片采样保持电路的作用是什么?省略采样保持电路的前提条件是什么? 解:

A/D转换芯片中采样保持电路的作用是把一个时间连续的信号变换为时间离散的信号,并将采样信号保持一段时间。当外接模拟信号的变化速度相对于A/D转换速度来说足够慢,在转换期间内可视为直流信号的情况下,可以省略采样保持电路。

22.具有8位分辨率的A/D转换器,当输入0~5V电压时,其最大量化误差是多少? 解:

对于8位A/D转换器,实际满量程电压为5V,则其量化单位1LSB=5V/256=0.0196V,考虑到A/D转换时会进行四舍五入处理,所以最大量化误差为(1/2)LSB,即0.0098V。 23.在一个80C51单片机与一片DAC0832组成的应用系统中,DAC0832的地址为7FFFH,输出电压为0~5V。试画出有关逻辑电路图,并编写产生矩形波,其波形占空比为1:4,高电平为2.5V,低电平为1.25V的转换程序。 解:

硬件电路连接图如图5.23所示。

37

图5.23 5.23题逻辑电路图

当VO=2.5V时,D=80H;VO=1.25V时,D=40H。 程序如下:

ORG 0000H

LJMP MAIN ORG 0100H MAIN: MOV DPTR,#7FFFH NEXT: MOV A,#80H MOVX @DPTR,A ACALL DELAY MOV R4,#03H MOV A,#40H MOVX @DPTR,A LOOP: ACALL DELAY DJNZ R4,LOOP AJMP NEXT DELAY: …… RET

END

24.在一个80C51与一片ADC0809组成的数据采集系统中,ADC0809的地址为7FF8H~7FFFH。试画出逻辑电路图,并编写程序,每隔1分钟轮流采集一次8个通道数据,8个通道总共采集100次,其采样值存入以片外RAM 3000H开始的存储单元中。 解:硬件电路连接图如图5.24所示。

图5.24 5.24题逻辑电路图

设80C51的时钟频率为12MHz,程序如下:

ORG 0000H LJMP MAIN ORG 001BH LJMP T1_1 ORG 0100H MAIN: MOV SP,#60H ;设堆栈指针

38

LOOP:

T1_1:

LOOP1:

RETI_0:

MOV R7,#100 MOV R1,#30H MOV R0,#00H MOV R2,#20 MOV R3,#60

MOV TOMD,#10H MOV TH1,#3CH MOV TL1,#0B0H SETB EA SETB ET1 SETB TR1 SJMP LOOP

DJNZ R7,LOOP SJMP $

ORG 0200H

MOV TH1,#3CH MOV TL1,#0B0H DJNZ R2,RETI_0 MOV R2,#20 DJNZ R3,RETI_0 MOV R3,#60 MOV R6,#8

MOV DPTR,#7FF8H MOVX @DPTR,A JB P1.0,$ MOVX A,@DPTR PUSH DPH PUSH DPL

MOV DPH,R1 MOV DPL,R0 MOVX @DPTR,A INC DPTR MOV R1,DPH MOV R0,DPL POP DPL POP DPH

INC DPTR DJNZ R6,LOOP1 RETI END

;置采集次数

;片外RAM地址高位 ;片外RAM地址低位 ;置入初值20(计1 s) ;置入初值60(计1 min) ;定时器T1工作于模式1 ;计数器初值

;开中断

;定时器T1允许中断 ;启动定时器T1 ;等待中断

;是否到100次?

;中断服务程序,重新赋计数器初值

;1 s未到,返回

;重新置“100 s”计数器初值 ;1 min未到,返回

;8个通道计数器初值 ;IN0地址

;启动A/D转换 ;判转换是否结束 ;读取转换结果

;将通道地址压入堆栈

;将片外RAM地址送DPTR

;将转换结果存入片外RAM ;片外RAM地址增1 ;保存片外RAM地址

;恢复通道地址 ;8个通道是否采集结束 ;中断返回

习题6

1. LED数码显示有( 静态 )和( 动态 )两种显示形式。

2. 消除键盘抖动既可以采用( 硬件 )方法,也可采用( 软件 )方法。 3. 矩阵式键盘常用的扫描方法为( 行反转法 )法和( 动态扫描法 )法。 4、LED数码管显示若用动态显示,须( B )。

A:将各位数码管的位选线并联 B:将各位数码管的段选线并联 C:将位选线用一个8位输出口控制 D:输出口加驱动电路

5.显示器和键盘在单片机应用系统中的作用是什么?

39

解:

具有人机对话功能。实现人对应用系统的状态干预和数据输入以及应用系统向人报告运行和运行结果。

6.在单片机系统中,常用的显示器有哪几种? 解:

发光二极管显示器,简称LED(Light Emitting Diode); 液晶显示器,简称LCD(Liquid Crystal Display); 荧光管显示器,简称CRT。

7.LED显示器的显示字符条件是什么? 解:

要使LED显示器显示出字符,必须提供段码和位选码。

段码(即字码):可以用硬件译码的方法获得,也可以用软件的方法获得。 位选码:静态显示和动态显示。

8.LED动态显示子程序设计要点是什么? 解:

(1)建立显示数据缓冲区:存放待显示数字、字符在字型编码表中的序号; (2)软件译码:利用查表方法获得字型编码(段码); (3)位扫描输出:采用移位方法逐位点亮LED显示器; (4)延时子程序:控制点亮时间和时间间隔。

9.LED静态显示方式与动态显示方式有何区别?各有什么优缺点? 解:

(1)静态显示方式:静态显示方式是指当显示器显示某一字符时,发光二极管的位选始终被选中。在这种显示方式下,每一个LED数码管显示器都需要一个8位的输出口进行控制。由于单片机本身提供的I/O口有限,实际使用中,通常通过扩展I/O口的形式解决输出口数量不足的问题。

静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。其不足之处是占用硬件资源较多,每个LED数码管需要独占8条输出线。随着显示器位数的增加,需要的I/O口线也将增加。

(2)动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以既保证亮度,又保证显示。若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出)。 10.为什么要消除按键的机械抖动?消除按键抖动的方法有几种?

解:

通常的按键所用开关为机械弹性开关。由于机械触电的弹性作用,按键在闭合及断开的瞬间均伴随有一连串的抖动。键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅作一次处理,必须去除抖动。 消除抖动的方法有硬件和软件两种方法。硬件方法常用RS触发器电路。软件方法是当检测出键闭合后执行一个10ms~20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。

11.简述液晶显示器LCD的特点,画出80C51与液晶显示模块LCM的基本接口电路,并编写初始化程序。 解:

液晶显示器简称LCD(Liquid Crystal Diodes),是一种被动式的显示器,即液晶本身并不发光,利用液晶经过处理后能够改变光线传输方向的特性,达到显示字符或者图形的目的。

LCD显示器有笔段式和点阵式两种,点阵式又可分为字符型和图像型。笔段式LCD显示器类似于LED数码管显示器。每个显示器的段电极包括七个笔划(段)和一个背电极BP

40

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