微机原理 习题解答 戴梅萼 清华大学出版(5)

2020-04-17 19:04

但抗干扰较双积分式差。

8.12 设计一个电路并画出软件流程以实现A/D转换,软件流程中要体现逐次逼近法思想。 答:1.电路见书344页图8.15所示。

2.软件流程图见上页右图所示:

8.13 什么叫采样保持电路的采样状态和保持状态?用示意图说明 。

答:① 采样状态:输出随输入而变化,增益为1。书351页图8.20的状态控制开关闭合。

② 保持状态:输出保持为某个值。图8.20的状态控制开关断开,电容保持充电时的最终电压值,使A2输出不变。

8.14 在实时控制和实时数据处理系统中,当需要同时测量和控制多路信息时,常用什么方法解决? 答:① 首先使用公共的A/D、D/A转换器;

② 然后用独立的的多路转换模拟开关来轮流切换各回路和A/D、D/A之间的通路。 ③ 或者选择内部本身带有多路转换模拟开关的A/D、D/A转换器。

第 9 章 键盘和LED显示器

9.1

利用行扫描法来识别闭合键的工作原理是什么?为什么在识别一个键前,先快速检查键盘中是否有键按下?快速识别有无闭合键的方法是什么?

答:1.从第0行开始扫描,看是否是该行的键闭合,直至最后一行扫描结束。(每扫一行输入列值,检查此行是否有键闭合,若有

键闭合则转去识别该键;若无键闭合,则扫描下一行??) 2.为了提高程序运行的速度,在无键按下时无需进行行扫描。

3.先使所有各行同时为低电位,再检查是否有列线也处于低电位。若有某列线处于低电位,则说明必有键按下,否则无键按下。

9.2 设计一个用行扫描法识别闭合键的扫描程序,设键盘上有4×5个键,并行口A接四根行线,并行口B接五根列线,两个端口的地址分别为PORTA、PORTB。 答:START: MOV

AL,00H

;判断是否有键按下的程序

MOV OUT

45

DX,PORTA DX,AL

;往4根行线输出低电平

MOV IN

DX,PORTB AL,DX

;读取列值

AND AL,1FH CMP JZ

;列值只有低5位有效

;是否有列线处于0电位

;无闭合键,循环等待 ;有闭合键,则延时20ms消抖

AL,1FH START DELAY

CALL

SCAN: MOV

BL,0 ;键号初值为0 SCAN1:

SCAN2:

46

MOV CL,0FEH ;送扫描初值 MOV

BH,4

;计数值为行数(4行)

MOV AL,CL MOV DX,PORTA OUT DX,AL ;扫描一行 RCL AL,1

;修改扫描值

MOV CL,AL MOV DX,PORTB IN

AL,DX

;读取列值

AND AL,1FH ;列值只有低5位有效

CMP AL,1FH ;是否有列线处于0电位 JNZ SCAN2

;有列线接地,则转SCAN2

MOV

AL,BL

;如无列线接地,则键号=键号+列数/每行

ADD AL,5 MOV BL,AL DEC BH ;扫描下一行

JNZ SCAN1 ;未扫描完,继续扫描

JMP

DONE ;已扫完,无键按下,则转DONE RCR AL,1

;如此列接地则转NEXT

JNC NEXT INC BL JMP

SCAN2

;如未找到接地的列线,则转SCAN2继续寻找

NEXT: ┆ DONE: ┆

;键命令处理程序 ;后续处理程序

设A端口工作在输出方式 9.3 叙述行反转法的基本工作原理,画出行反转法的程序流程。 答:1.行反转法的基本工作原理:将行线接一个并行口,

往行线输出全0 读 取 列 值 使其工作于输出方式;将列线接一个并行口,使其工作于输入方式;程序使CPU通过输出口往各行线上全送低电平,然后读入列线的值。若此时有某个键被按下,则必定会使某列线值为0。然后程序将两个并行端口的输入/输出方式调换,并将刚才读得的列线值从列线所接的并行口输出,再读取行线的输入值,在闭合键所在的行线上的值必定为0。这样当一个键被按下时,必定可以读得唯一的行值和列值。 2.程序流程如右:

与表中的码符合9.4

连锁法和巡回发识别重建的基本思想是什么?

N 答:① 连锁法识别重建的基本思想是:在所有键释放后,

只承认此后闭合的第一个键,对此键闭合时按下的其他键均不作识别,直到所有键释放以后,才读入下一个键。

② 巡回法识别重建的基本思想是:等前面所识别的键被释放以后,就可以对其他闭合键作识别。

N 转键命令处理 Y 有闭合键吗? N 保 留 列 值 延 迟 20ms 设A端口工作在输入方式 Y 输出刚才读得的列值 读 取 行 值 设 置 键 码 值 修改表地址,修改计数值 表查完了吗? Y 9.5 用连锁法识别重键时,对《微型计算机技术及应用》一书的图9.8中的三种重键情况分别如何处理?看懂图8.9的流程,并说明按标准的连锁法,此流程应如何修改?

答:1.图9.8(a),只读入A键;图9.8(b),标准连锁法也只读入A键;图9.8(c)则无效,两键都不读入。

2.标准连锁法的流程可按书362页图9.9来修改,即将等待释放的一部分改为等待所有键释放即可。方法是:在读进列值前加一个“使所有行为低电平”既可以了。

9.6 巡回法是如何识别三种重键情况的?分析图9.10的流程图,并编写一个8行×8列的巡回法识别重键程序,端口地址用标号表示。 答:1.图9.8(a),只识别A键;图9.8(b),A、B键同行则识别A键而舍弃B键,不同行则两键均识别;图9.8(c)若B键处于较小

行号上则只读入B键,若B键处于较大行号上则两键均读入。 2.START:

MOV

AL,00H

DX,RPORT

;取行端口号

MOV

47

OUT MOV IN

DX,AL DX,LPORT AL,DX AL,0FFH QUIT DELAY

;使所有各行为低电平 ;取列端口号 ;读入列值 ;判断是否有键闭合 ;无键闭合,则退出 ;有键闭合,则延时消抖 ;使第0行为低电平

CMP JZ

CALL MOV MOV

KEY:

MOV OUT PUSH MOV IN

AL,0FEH CX,08H DX,RPORT DX,AL AX

;总行数送CX

;使所选的一行为低电平 ;保存行值

DX,LPORT AL,DX AL,0FFH YE AX AL,1 KEY QUIT

;扫描结束则退出 ;键译码程序 ;AX中为键值 ;读入列值

;读入列值

;所选行上有闭合键吗? ;有键闭合,则转译码程序 ;无键闭合,恢复行值 ;选择扫描下一行

CMP JNZ POP SHL LOOP JMP

YE:

┆ PUSH

KEY1:

MOV IN

AX

DX,LPORT AL,DX AL,0FFH KEY1 DELAY AX

CMP JNZ CALL POP ┆

QUIT:

RET

;测试键是否已释放 ;如未释放则等待 ;已释放则再去抖动 ;AX中为键值 ;键命令处理 ;返回

9.7 48

在LED显示系统中,采用硬件方法译码和采用软件方法译码各有什么优缺点?

答:使用方便,不占用CPU过多的时间是硬件译码方法的优点,其缺点是使用局限性大(如有的硬件只能对BCD码进行译码等),

成型电路改造麻烦。软件译码正好相反。

9.8 画一个实现4位显示的扫描和驱动电路,LED为共阴极器件。然后画出LED显示程序流程图。 答:1.实现4位显示的扫描和驱动电路见下图。

2.LED显示程序流程图也见下页图。

9.9 设计计时器软件时,可以采用哪几种方案?哪一种方案最好?为什么在中断处理程序中包含的模块越少越容易调试? 答:1.① 显示程序和初始化程序等放在主程序中,键盘处理程序和计时程序放在中断处理程序中。

② 显示程序、键盘处理程序和初始化程序等都放在主程序中,计时程序放在中断处理程序中。 ③ 键盘处理程序等作为主程序,显示和计时程序作为中断处理程序 2.第③种方案最好。因其软件设计较为简单,显示实现较方便。 3.模块越少,程序越简单,调试自然越容易。 +5V 指向缓冲区首址

取显示位指针

关 显 示

取要显示的数

段驱修改缓冲区指将数变为段码 段码送到段控制通道 位码送到位控制通道

?? 延迟一定时间 49

N 是否是最右边Dpgfedcba ??


微机原理 习题解答 戴梅萼 清华大学出版(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六年级上册数学教案-4.1百分数的认识 北师大版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: