微型计算机技术及应用习题解答++戴梅萼(7)

2019-05-17 12:05

7864629.docxx - 29 - 作者:喻其山

② 程序如下:

MOV MOV

ROTATE: DEC

OUT CALL JMP

DELAY: MOV DELAY1: LOOP

RET

8.7

DX,PORTDA AL,0 AL DX,AL DELAY ROTATE

CX,DATA DELAY1

;PORTDA为D/A转换器的端口号 ;初值

;呈负向增长

;往D/A转换器输出数据 ;延迟

;往CX中送延迟常数,修改DATA即可改变周期

什么叫模/数转换精度?什么叫转换速率?什么叫分辨率?

答:1.反映A/D转换器的实际输出接近理想输出的精确程度叫模/数转换精度。

2.完成一次A/D转换所需要的时间的倒数叫转换速率。 3.A/D转换器能够分辨最小的量化信号的能力叫分辨率。

参考《微型计算机技术及应用》一书中图8.12说明计数式A/D转换的工作原理。

答:首先启动信号S由高电平变为低电平,使计数器清0,当启动信号恢复高电平时,计数器准备

计数。开始,D/A转换器的输出电压VO为0,此时,运算放大器在同相端的输入电压作用下,输出高电平,从而使计数信号C为1。于是,计数器开始计数,D/A转换器输入端获得的数字量不断增加,使输出电压VO不断上升。在VO小于Vi时,运算放大器的输出总是保持高电平。当VO上升到某个值时,会出现VO大于Vi的情况,这时,运算放大器的输出变为低电平,即C为0。于是,计数器停止计数。这时候的数字输出量D7~D0就是与模拟输入电压对应的数字量。计数信号C的负向跳变也是A/D转换的结束信号。它用来通知其他电路,当前已经完成一次A/D转换。 双积分式A/D转换的原理是什么? 答:一开始,电路对输入的未知模拟量进行固定时间的积分,然后转换为对标准电压进行反向积分。

反向积分到一定时候,便返回起始值。因此对标准电压的反向积分时间T正比于输入模拟电压Vi,Vi越大,T越长。只要用标准的高频时钟频率测定反向积分花费的时间,就可得到输入模拟电压所对应的数字量,即实现了A/D转换。

START 8.8

8.9

8.10 参考《微型计算机技术及应用》一书中图8.14说明逐次逼近

式A/D转换的工作原理。 初始化,试探位BL从最高位开始答:当启动信号由高电平变为低电平时,逐次逼近寄存器清(BL)←80H,试探次数(CX)←08H 0,这时,D/A转换器输出电压VO也为0,当启动信号变为高电平时,转换开始,同时,逐次逼近寄存器进行

计算试探值并送BH保护 计数。逐次逼近寄存器工作时与普通计数器不同,它不是从低位往高位逐一进行计数和进位,而是从最高位开

试探值→D/A转换,接着始,通过设置试探值来进行计数。具体讲,在第一个时

读取比较器的比较结果 钟脉冲时,控制电路把最高位送到逐次逼近寄存器,使

它的输出为10000000B,这个输出数字一出现,D/A转换器的输出电压VO就成为满量程的128/255。这时,如Y 试探值小了吗? 果VO大于Vi,那么,作为比较器的运算放大器的输出就成为低电平,控制电路据此清除逐次逼近寄存器的最N 高位;如果VO小于或等于Vi,则比较器输出高电平,试探值的该试探位清0→BH保护 控制电路使最高位的1保留下来。如果最高位被保留下来,那么,逐次逼近寄存器的内容为10000000B,下一

试探位右移一位,取试探值→AL 个时钟脉冲使次高位D6为1。于是,逐次逼近寄存器的

值为11000000B,D/A转换器的输出电压VO到达满量程的192/255。此后,如果VO大于Vi,则比较器输出

试探结束了吗? 为低电平,从而使次高位D6复位;如果VO小于或等

Y 于Vi,则比较器输出高电平,从而保留次高位D6为1。

再下一个时钟脉冲对D5位置1,然后据此对VO和Vi

输出转换结果 7864629.docxx - 30 - 作者:喻其山

的比较,决定保留还是清除D5位上的1??重复上述过程,直到D0=1,再与输入电压比较。经过N次比较后,逐次逼近寄存器中得到的值就是转换后的数据。转换结束以后,控制电路送出一个低电平作为结束信号,这个信号的下降沿将逐次逼近寄存器中的数字量送入缓冲寄存器,从而得到数字量输出。

8.11 比较计数式、双积分式和逐次逼近式A/D转换的优缺点。

答:计数式的优点是电路比较简单,但速度较慢。双积分式的优点是精度高、干扰小,但速度慢。

逐次逼近式的优点是速度快,但抗干扰较双积分式差。 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 章 键盘和

9.1

LED显示器

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

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

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

3.先使所有各行同时为低电位,再检查是否有列线也处于低电位。若有某列线处于低电位,则说明必有键按下,否则无键按下。 设计一个用行扫描法识别闭合键的扫描程序,设键盘上有4×5个键,并行口A接四根行线,并行口B接五根列线,两个端口的地址分别为PORTA、PORTB。 答:START: MOV AL,00H ;判断是否有键按下的程序

MOV DX,PORTA OUT DX,AL ;往4根行线输出低电平 MOV DX,PORTB IN AL,DX ;读取列值 AND AL,1FH ;列值只有低5位有效 CMP AL,1FH ;是否有列线处于0电位 JZ START ;无闭合键,循环等待 CALL DELAY ;有闭合键,则延时20ms消抖

SCAN: MOV BL,0 ;键号初值为0

MOV CL,0FEH ;送扫描初值 MOV BH,4 ;计数值为行数(4行)

SCAN1: MOV AL,CL

MOV DX,PORTA

9.2

7864629.docxx - 31 - 作者:喻其山

SCAN2:

NEXT: DONE:

9.3

OUT RCL MOV MOV IN AND CMP JNZ MOV ADD MOV DEC JNZ JMP RCR JNC INC JMP ┆ ┆ DX,AL ;扫描一行 AL,1 ;修改扫描值 CL,AL DX,PORTB AL,DX ;读取列值 AL,1FH ;列值只有低5位有效 AL,1FH ;是否有列线处于0电位 SCAN2 ;有列线接地,则转SCAN2 AL,BL ;如无列线接地,则键号=键号+列数/每行 AL,5 BL,AL BH ;扫描下一行 SCAN1 ;未扫描完,继续扫描 DONE ;已扫完,无键按下,则转DONE AL,1 ;如此列接地则转NEXT NEXT BL

SCAN2 ;如未找到接地的列线,则转SCAN2继续寻找 ;键命令处理程序 ;后续处理程序

设A端口工作在输出方式 B端口工作在输入方式 叙述行反转法的基本工作原理,画出行反转法的程序流程。

答:1.行反转法的基本工作原理:将行线接一个并

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

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

放后,只承认此后闭合的第一个键,对此键闭合时按下的其他键均不作识别,直到所有键释放以后,才读入下一个键。 ② 巡回法识别重建的基本思想是:等前面所识别的键被释放以后,就可以对其他闭合键作识别。

往行线输出全0 读 取 列 值 有闭合键吗? N 保 留 列 值 延 迟 20ms 设A端口工作在输入方式 B端口工作在输出方式 Y 9.4

输出刚才读得的列值 读 取 行 值 设 置 键 码 值 与表中的码符合吗? Y 9.5

N 转键命用连锁法识别重键时,对《微型计算机技术及应用》

令处理 一书的图9.8中的三种重键情况分别如何处理?看修改表地址,修改计数值 懂图8.9的流程,并说明按标准的连锁法,此流程

N 应如何修改? 表查完了吗? 答:1.图9.8(a),只读入A键;图9.8(b),标准连

Y 锁法也只读入A键;图9.8(c)则无效,两键都不读入。

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

7864629.docxx - 32 - 作者:喻其山

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

MOV DX,RPORT ;取行端口号 OUT DX,AL ;使所有各行为低电平 MOV DX,LPORT ;取列端口号 IN AL,DX ;读入列值 CMP AL,0FFH ;判断是否有键闭合 JZ QUIT ;无键闭合,则退出 CALL DELAY ;有键闭合,则延时消抖 MOV AL,0FEH ;使第0行为低电平 MOV CX,08H ;总行数送CX

KEY: MOV DX,RPORT

OUT DX,AL ;使所选的一行为低电平 PUSH AX ;保存行值 MOV DX,LPORT IN AL,DX ;读入列值 CMP AL,0FFH ;所选行上有闭合键吗? JNZ YE ;有键闭合,则转译码程序 POP AX ;无键闭合,恢复行值 SHL AL,1 ;选择扫描下一行 LOOP KEY JMP QUIT ;扫描结束则退出

YE: ┆ ;键译码程序

PUSH AX ;AX中为键值

KEY1: MOV DX,LPORT ;读入列值

IN AL,DX CMP AL,0FFH ;测试键是否已释放 JNZ KEY1 ;如未释放则等待 CALL DELAY ;已释放则再去抖动 POP AX ;AX中为键值 ┆ ;键命令处理

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

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

硬件只能对BCD码进行译码等),成型电路改造麻烦。软件译码正好相反。

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

2.LED显示程序流程图也见下页图。 设计计时器软件时,可以采用哪几种方案?哪一种方案最好?为什么在中断处理程序中包含的模块越少越容易调试?

答:1.① 显示程序和初始化程序等放在主程序中,键盘处理程序和计时程序放在中断处理程序中。

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

9.7

9.8

9.9

7864629.docxx - 33 - 作者:喻其山

指向缓冲区首址 +5V 取显示位指针 关 显 示 取要显示的数 段驱动 修改缓冲区指针和位码 将数变为段码 段码送到段控制通道 位码送到位控制通道 ?? 延迟一定时间 N 是否是最右边一位? Y 退 出 Dpgfedcba 阴极 ?? 位驱动 第 10 章 CRT技术

10.1 显示器控制系统中,字符发生器、显示存储器分别起什么作用?字符发生器是怎样选中某个单元

的? 答:1.字符发生器的作用是存放并提供每个ASCII码的显示字型码。显示存储器的作用是存放由CPU

送来的显示字符的ASCII码和属性码或图形点阵,并能由CRT控制器和CPU读取。 2.字符发生器的单元选址由该字符的ASCII码和字符行的扫描线序号来选中的。


微型计算机技术及应用习题解答++戴梅萼(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:创建模范教职工之家活动方案 - 1

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

马上注册会员

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