微机原理习题答案9章

上传人:平*** 文档编号:9260716 上传时间:2017-10-02 格式:DOC 页数:16 大小:638.46KB
返回 下载 相关 举报
微机原理习题答案9章_第1页
第1页 / 共16页
微机原理习题答案9章_第2页
第2页 / 共16页
微机原理习题答案9章_第3页
第3页 / 共16页
微机原理习题答案9章_第4页
第4页 / 共16页
微机原理习题答案9章_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《微机原理习题答案9章》由会员分享,可在线阅读,更多相关《微机原理习题答案9章(16页珍藏版)》请在金锄头文库上搜索。

1、 73 第 9 章 定时/计数器 8253 应用设计1. 下列地址哪些能够分配给 8253/8254 的计数器 0?为什么?(23H、54H、97H、51H、FCH、59H)解:因为已经约定采用 A2,A1 作为 8253 的内部地址线,而且计数器 0 的地址为 00,所以在题中所给的地址中只有 51H,59H 的 A2 和 A1 同时为 0,即:A2A1=00.2. 如果计数器 0 设定为方式 0,GATE01,CLK01MHz,时常数为 N1000,请画出OUT0 的波形。如果计数器 1 设定为方式 1,其它参数与计数器 0 相同,画出 OUT1的波形。3. 编程实现:将 8253 计数器

2、 0 设置成方式 4,并置时常数 10000,然后处于等待状态,直到 CE 的内容1000 后再向下执行。解:MOV DX,COUNTD ;写入计数器 0 的方式控制字MOV AL,00111000BOUT DX,ALMOV DX,COUNTA ;设置计数器 0 的常数MOV AX,10000OUT DX,ALXCHG AL,AHOUT DX,ALL1: MOV DX,COUNTD ;写入计数器 0 的方式控制字 74 MOV AL,0H OUT DX,ALMOV DX,COUNTA ;读入 CEIN AL,DXMOV AH,ALIN AL,DXXCHG AL,AHCMP AX,1000 ;判

3、别 CE 当前大小JA L1 4. 利用 8253 可以实现确定时间的延迟,编程实现延时 10 秒的程序段(设可以使用的基准时钟为 1MHz) 。解:本题使用计数器 0 和计数器 1,并且计数器 0 的输出 OUT0 作为计数器 1 的时钟输入 CLK1.程序如下:MOV DX,COUNTD ;写计数器 0 方式控制字MOV AL,00110100BOUT DX,ALMOV DX,COUNTAMOV AX,10000 ;写计数器 0 时常数,分频得到 100Hz 时钟频率OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,COUNTD ;写计数器 1 方式控制字MOV AL,

4、01110000BOUT DX,ALMOV DX,COUNTBMOV AX,999 ;分频得到 0.1Hz 时钟频率。 (在方式 0 下,时常数为 N 时,;OUT 输出的低电平宽度为 N+1).OUT DX,AL 75 XCHG AL,AHOUT DX,ALL1: ;延时MOV DX,COUNTD ; 当前 CE 的内容锁存到 OLMOV AL,01000000BOUT DX,ALMOV DX,COUNTBIN AL,DXMOV AH,ALIN AL,DXXCHG AL,AHCMP AX,999JNA L1 ;延时结束,则继续执行,否则,跳到 L1,继续延时.5. 比较 8254 方式 0

5、与方式 4、方式 1 与方式 5 的区别?方式 0 与方式 4方式 0 OUT 端计数过程中为低,计数值减为 0 时,输出变高方式 4 OUT 端计数过程中为高,计数值减为 0 时输出宽度为 1 个 CLK 的负脉冲方式 1 与方式 5方式 1 OUT 端输出宽度为 n 个 CLK 的低电平,计数值减为 0 时,输出为高方式 5 OUT 端计数过程中为高,计数值减为 0 时输出宽度为 1 个 CLK 的负脉冲6. 在 8088 最小系统中,8253 的端口地址为 284H287H。系统提供的时钟为 1MHz,要求在 OUT0 输出周期为 20 微秒的方波,在 OUT1 输出周期为 200 微秒

6、,其中每周期为负的时间是 180 微秒的信号。请编写 8253 的初始化程序。解:OUT0 输出为 20 微妙方波,可用方式三直接产生, OUT1 输出波形与书中例 9.2 类似,可用其中思想产生此信号。如果允许增加外部器件,也可在例 9.1 的基础上,将 OUT端信号通过与非门取反,这样即可产生题目要求信号。本例利用例 9.1 思想解答 76 MOV DX,287H ;写计数器 0 控制方式字MOV AL,00010110BOUT DX,ALMOV DX,284H ;写计数器 0 时常数MOV AL,20OUR DX,ALMOV DX,287 ;写计数器 2 控制方式字MOV AL,1001

7、0110BOUT DX,ALMOV DX,286H ;写计数器 2 时常数MOV AL,200OUT DX,ALMOV DX,287HMOV AL,01010010B ;写计数器 1 控制方式字OUT DX,ALMOV DX,285HMOV AL,9 ;写计数器 1 时常数OUT DX,AL7. 通过 8253 计数器 0 的方式 0 产生中断请求信号,现需要延迟产生中断的时刻,可采用:A) 在 OUT0 变高之前重置初值; 77 B) 在 OUT0 变高之前在 GATE0 端加一负脉冲信号;C) 降低加在 CLK0 端的信号频率;D) 以上全是。解:DA:方式 0 下,在 OUT0 变高之前

8、重置初值,将在下一个 CLK 的下降沿使时常数从 CR 读入 CE 并重新计数。B:在 OUT0 变高之前在 GATE0 端加一负脉冲信号可以延时一个时钟周期,达到延时的目的。C:降低加在 CLK0 端的信号频率,可以增大时钟周期,达到延长 OUT0 端低电平的时间。(注:A 中,如果重置的初值为 1,则不会达到延时的效果)8. 已知 8254 计数器 0 的端口地址为 40H,控制字寄存器的端口地址为 43H,计数时钟频率为 2MHz,利用这一通道设计当计数到 0 时发出中断请求信号,其程序段如下,则中断请求信号的周期是 32.7675 ms。MOV AL,00110010BOUT 43H,

9、 ALMOV AL, 0FFHOUT 40H, ALOUT 40H, AL9. 若 8254 芯片可使用的 8086 端口地址为 D0D0HD0DFH,试画出系统设计连接图。设加到 8254 上的时钟信号为 2MHz,(1)利用计数器 02 分别产生下列三种信号: 周期为 10us 的对称方波 每 1s 产生一个负脉冲 10s 后产生一个负脉冲每种情况下,说明 8254 如何连接并编写包括初始化在内的程序段。(2) 希望利用 8086 通过一专用接口控制 8253 的 GATE 端,当 CPU 使 GATE 有效开始,20us 后在计数器 0 的 OUT 端产生一个正脉冲,试设计完成此要求的硬

10、件和软件。解: 78 (1)选用 D0D0HD0DFH 中的偶地址 DODO,DOD2,DOD4,DOD6 为基本地址作为 8254 的端口地址,设 8086 工作在最小方式下。8254 端口地址译码电路如下图: 计数器 0 输入端加 2MHz 的时钟信号,GATE0 加+5V 电压,输出 OUT0 信号为周期为 10s 的对称方波。初始化代码:MOV DX,0D0D6H ;写计数器 0 工作方式MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;写计数器 0 时常数MOV AL,20OUT DX,ALCLK0 加 2MHz 的始终信号, GATE0,GATE1 加

11、+5V 电压,OUT0 输出加到 CLK1 做时钟信号,OUT1 输出为每 1s 产生一个负脉冲。初始代码:MOV DX,0D0D6H ;写计数器 0 的工作方式MOV AL,00010110BOUT DX,ALMOV DX,0D0D0H ;写计数器 0 的时常数MOV AL,100OUT DX,ALMOV DX,0D0D6H ;写计数器 1 的工作方式 79 MOV AL,01110100B OUT DX,ALMOV DX,0D0D2H ;写计数器 1 的时常数MOV AX,20000OUT DX,ALXCHG AL,AHOUT DX,ALCLK0 加 2MHz 的始终信号, GATE0,G

12、ATE1 加+5V 电压,OUT0 输出加到 CLK2 做时钟信号,OUT2 输出为 10s 后产生一个负脉冲。初始代码:MOV DX,0D0D6H ;写计数器 0 的工作方式MOV AL,00110110BOUT DX,ALMOV DX,0D0D0H ;写计数器 0 的时常数MOV AX,1000OUT DX,ALXCHG AL,AHOUT DX,ALMOV DX,0D0D6H ;写计数器 2 的工作方式MOV AL,10111000BOUT DX,ALMOV DX,0D0D4H ;写计数器 2 的时常数MOV AX,20000OUT DX,ALXCHG AL,AHOUT DX,AL1) 选

13、用地址 D0D0,DOD2,DOD4,DOD6 为 8253 的端口地址,D0D8 为 GATE 端口地址,该端口采用 74LS373,8253 用方式 4,在 OUT 输出端加非门实现脉冲功能。接口电路如图: 80 初始代码为:MOV DX,0D0D8H ;GATE 初始化MOV AL,0OUT DX,ALMOV DX,0D0D6H ;写计数器 0 工作方式MOV AL,00011000BOUT DX,ALMOV DX,0D0D0H ;写计数器 0 时常数MOV AL,40OUT DX,ALMOV DX,0D0D8HMOV AL,1OUT DX,AL ;使 GATE 变高有效10. 若加到

14、8254 上的时钟频率为 0.5MHz,则一个计数器的最长定时时间是多少?若要求 10分钟产生一次定时中断, 试提出解决方案。解:一个计数器的最长定时时间应该是置入时常数 0 时,此时定时时间为:65536/0.5*106s=131ms采用方式 0 即:计数达到终值时中断来 10 分钟产生一次定时中断,此时时常数 81 CR 为:10*60*0.5*106=3*109.由于一个计数器最多分频 65536,所以至少得使用 2 个计数器。我们采用计数器0 和计数器 1.计数器 0 的时常数 CR0 为 60000,计数器 1 的时常数 CR1 为 50000.连接方式为:把 0.5MHz 的时钟频

15、率接到计数器 0 的 CLK0,然后把计数器 0 的OUT0 接到计数器 1 的 CLK1。这样计数器 1 的 OUT1 端输出的就是 10 分钟产生一次的定时中断。11. 织布机控制系统如图 9.26 所示,已知织布机每织 1 米发出一个正脉冲,每织 100 米要求接收到一脉冲,去触发剪裁设备把布剪开。 (1)设 8253 的端口地址为 80H83H ,编写对 8253 初始化程序。 (2)假定系统提供的信号频率为 1MHz,希望利用 8253 的其余通道产生 0.1 秒的周期信号,编写初始化程序。80CPU最 小方 式系 统总 线 译 码电 路D7D0A10WRDIO/MA9A2=1 Intel8253D7D0A01RDWRCSCLK0GATE0OUT0 织布机系统+5V图 9.26 织布机控制系统解:(1)MOV DX,83HMOV AL,00010100BOUT DX,ALMOV DX,80HMOV AL,100OUT DX,AL(2)将计数器 1 的输出 OUT1 信号作为计数器 2 的时钟输入 CLK2,计数器 1 的时钟 82 输入为系统提供 1MHZ 的信号MOV DX,83HMOV AL,01110100BOUT DX,ALMO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号