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

③ 有可靠的逻辑处理方法,如n键按下,即只处理一个键,其间任何按下又松开的键不产生影响,不管一次按键持续有多长时间,仅执行一次按键功能程序。

④ 输出确定的键号以满足散转指令的要求。

4.何谓键抖动?键抖动对单片机系统有何影响?如何消除键抖动?

目前,无论是按键还是键盘,大部分利用的都是机械触点的合、断作用。机械触点在闭合及断开瞬间由于弹性作用的影响均有抖动过程,从而使电压信号也出现抖动,如图9-20所示。抖动时间长短与开关的机械特性有关,一般为5~10ms。

按键的稳定闭合时间,由操作人员的按键动作确定,一般为十分之几秒至几秒。为了保证CPU对键的一次闭合仅做一次键输入处理,必须去抖动影响。

通常,去抖动影响的方法有硬、软两种。在硬件上是采取在键输出端加R?S触发器或单稳态电路构成去抖动电路。在软件上采取的措施是,在检测到有键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态,从而去除了抖动影响。

5.何谓静态显示?何谓动态显示?两种显示方式有何优缺点?

所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。

LED动态显示是将所有位的段选线并接在一个I/O接口上,称为段口,共阴极端或共阳极端分别由相应的I/O接口线控制,称为位口。

静态显示显示稳定,但软件简单;动态显示硬件简单,但软件需要不断地刷新。

6.如果一个8位D/A转换器的满量程(对应于数字量255)为10V,试分别确定模拟量为2.0V和8.0V所对应的数字量。

51 204

7.某12位D/A转换器,输出电压为0~2.5V,当输入的数字量为400H时,对应的输出电压是多少?

[2.5/212]*400H=0.625V

8.使用DAC0832与MCS?51单片机连接时有哪些控制信号?双缓冲方式如何工作?在何种情况下要使用双缓冲工作方式?

ILE:输入锁存使能信号输入端,高电平有效。 CS:片选信号端。

WR1、WR2:两个写信号端,均为低电平有效。

XFER:传输控制信号输入端,低电平有效。

DAC0832可工作于双缓冲器方式,输入寄存器的锁存信号和DAC寄存器的锁存信号分开控制,这种方式适用于几个模拟量需同时输出的系统,每一模拟量输出需一个DAC0832,构成多个DAC0832同时输出的系统。

9.试设计一个12位A/D转换器与8031的接口电路,编写连续转换10次并将转换结果存入片

第 21 页 共 29 页 m

内50H开始的单元中的程序。

接口电路参看图6-48。 LL: AD574A: LOOP:

MOV MOV LCALL MOV INC MOV DJNZ SJMP MOV MOVX SETB JB INC MOVX MOV INC

R1,#50H R7,#10 AD574A @R1,31H R1

@R1,30H R7,LL $

R0,#7CH ;AD574A端口地址

@R0,A ;启动AD574A进行12位转换 P1.0 ;置P1.0为输入方式 P1.0,LOOP ;检测STS的状态

R0 ;使R/C为1,按双字节读取转换结果 A,@R0 ;读取高8位转换结果 31H,A ;存高8位结果 R0

INC R0 ;使R/C、A0均为1 MOVX A,@R0 ;读取低4位结果 ANL A,#0FH ;屏蔽高4位 MOV 30H,A ;存低4位结果 RET

10.设MCS?51单片机系统扩展一个8255,其口地址分别为7CFFH~7FFFH,其中PC扩展一个4×2

的矩阵键盘,PC0~PC3为行,PC6~PC7为列,试画出8255与单片机及键盘的连接简图,并编写键盘管理程序。

连接简图参看图6-35的键盘部分,将8*2的矩阵键盘改为4*4的矩阵键盘,片8288A的片选改为接MCS-51单片机的P2.7。

键盘管理程序: KEY: KEY1: KEY4:

MOV MOV MOVX MOV MOVX ANL CJNE SJMP MOV MOV MOV MOVX MOV MOVX ANL CJNE MOV RL JNB MOV

A,#00H DPTR,#7EFFH @DPTR,A DPTR,#7EFFH A,@DPTR A,#0FH

A,#0FH,KEY1 KEYEND B,#11111110B A,B

DPTR,#PORT1 @DPTR,A DPTR,#PORT2 A,@DPTR A,#0FH

A,#0FH,KEY2 A,B A

ACC.4,KEYEND B,A

;所有行输出0

;读列值

;不全1,说明有键按下 ;全1,说明无键按下 ;有键,逐行输出0

第 22 页 共 29 页 m

SJMP KEY4

KEY2: ANL B,#0FH ;计算键值 MOV R7,A MOV A,B SWAP A ORL A,R7

MOV B,A ;键值在B中 MOV R7,#00H MOV R6,#10H

KEY6: MOV DPTR,#KEYTAB MOV A,R7

MOVC A,@A+DPTR CJNE A,B,KEY5 MOV A,R7 RL A ADD A,R7

MOV DPTR,#KEYTAB1

JMP @A+DPTR ;转相应的键处理 KEYTAB1: LJMP K0 LJMP K1 LJMP K2 ···

LJMP K15 KEY5: INC R7

DJNZ R6,KEY6 KEYEND: RET

KEYTAB: DB 0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H DB 0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H

11.ADC0809与MCS?51单片机接口时有哪些控制信号?作用分别是什么?使用ADC0809时,转换的主要步骤有哪些?

START:启动A/D转换。当START为高电平时,A/D开始转换。 EOC:转换结束信号。当A/D转换结束时,由低电平转为高电平。 OE:输出允许信号。

CLK:工作时钟,最高允许值为1.2MHz。当CLK为640kHz时,转换时间为100μs。 ALE:通道地址锁存允许。 A、B、C:通道地址输入。

地址锁存信号ALE在上升沿将三位通道地址锁存,相应通道的模拟量经多路模拟开关送到A/D转换器。启动信号START上升沿复位内部电路,START信号的下降沿启动A/D转换。此时转换结束信号EOC呈低电平状态,由于逐次逼近需要一定的过程,所以在此期间模拟信号应维持不变,比较器一次次地进行比较,直到转换结束。此时转换结束信号EOC变为高电平,若CPU发出输出允许信号OE,则可读出数据,一次A/D转换的过程就结束了。

12.在一个由MCS?51单片机与一片ADC0809组成的数据采集系统中,ADC0809的地址为7FF8H~7FFFH。试画出有关的逻辑框图,并编写出每隔一分钟轮流采集一次8个通道数据的程序。共采样100次,其采样值存入片外RAM 3000H开始的存储单元中。

原理框图参看图6-45。

第 23 页 共 29 页 m

第 24 页 共 29 页m