微机原理与接口技术(楼顺天第二版)第九章习题解答精品名师资料 下载本文

内容发布更新时间 : 2024/7/1 4:44:51星期一 下面是文章的全部内容请认真阅读。

微机原理与接口技术(楼顺天第二版)习题解答

第9章 定时/计数器8253应用设计

9.1答:假定已经约定采用A2,A1作为8253的内部地址线,而且计数器0的地址为00,所以在题中所给的地址中只有51H,59H的A2和A1同时为0,即:A2A1=00。 9.2 答:

9.3 答:MOV DX,COUNTD ;写入计数器0的方式控制字

MOV AL,00111000B OUT DX,AL

MOV DX,COUNTA ;设置计数器0的常数 MOV AX,10000 OUT DX,AL XCHG AL,AH OUT DX,AL

L1: MOV DX,COUNTD ;向计数器0发锁存命令 MOV AL,0H OUT DX,AL

MOV DX,COUNTA ;读入CE IN AL,DX MOV AH,AL IN AL,DX XCHG AL,AH

CMP AX,1000 ;判别CE当前大小 JA L1

9.4 答:本题使用计数器0和计数器1级联,并且计数器0的输出OUT0作为计数器1的时钟输入CLK1。

程序如下:

MOV DX,COUNTD ;写计数器0方式控制字 MOV AL,00110110B OUT DX,AL MOV DX,COUNTA MOV AX,10000 ;写计数器0时常数,分频得到100Hz时钟频率 OUT DX,AL XCHG AL,AH OUT DX,AL MOV DX,COUNTD ;写计数器1方式控制字 MOV AL,01110000B

OUT DX,AL MOV DX,COUNTB MOV AX,999 ;分频得到0.1Hz时钟频率。(在方式0下,时常数为N时, ;OUT输出的低电平宽度为N+1). OUT DX,AL XCHG AL,AH OUT DX,AL L1: ;延时

MOV DX,COUNTD ; 当前CE的内容锁存到OL MOV AL,01000000B OUT DX,AL MOV DX,COUNTB IN AL,DX MOV AH,AL IN AL,DX XCHG AL,AH CMP AX,999 JNA L1 ;延时结束,则继续执行,否则,跳到L1,继续延时 ….

9.5 答:8253的方式2与方式3均为一次计数完成后自动装入计数初值再计数的计数方式。差别是方式2设定计数N时N-1时钟周期为高电平,1时钟周期为低电平;方式3设定计数N时,若N为偶数,则N/2周期为高电平,N/2周期为低电平,若N为奇数,则(N+1)/2周期为高电平,(N-1)/2周期为低电平。

9.6 答:CLK为计数时钟,每个时钟周期计数一次,GATE为门控信号,在方式0、方式2、方式3、方式4中,GATE信号为高电平时正常计数,GATE信号为地点平时暂停计数;在方式1和方式5中由GATE信号触发计数。 9.7 答:方式0与方式4

方式0, OUT端计数过程中为低,计数值减为0时,输出变高

方式4, OUT端计数过程中为高,计数值减为0时输出宽度为1个CLK的负脉冲 方式1,与方式5

方式1, OUT端输出宽度为n个CLK的低电平,计数值减为0时,输出为高 方式5, OUT端计数过程中为高,计数值减为0时输出宽度为1个CLK的负脉冲 9.8 答:OUT0输出为20微妙方波,可用方式三直接产生;OUT1输出周期为200微秒,其中每周期为负的时间是180微秒的信号,可用OUT0输出的20微秒方波作为CLK1计数时钟,使计数器1工作在方式2,计数初值为200微妙/20微妙=10。硬件上要在OUT1输出端接一反相器就可实现题目要求产生的在OUT1输出周期为200微秒,其中每周期为负的时间是180微秒的信号。

8253的初始化程序如下:

MOV DX,287H ;写计数器0控制方式字

MOV AL,00010110B OUT DX,AL

MOV DX,284H ;写计数器0时常数 MOV AL,20 OUT DX,AL

MOV DX,287H ;写计数器1控制方式字 MOV AL,01010100B OUT DX,AL

MOV DX,285H ;写计数器2时常数 MOV AL,10 OUT DX,AL

9.9 答:3

9.10 答:3, 5000 9.11 答:0, 10000。 9.12 答:D 9.13 答:B 9.14 答:B 9.15 答:B 9.16 答:B,F 9.17 答:D

9.18 答:根据程序,使用计数器0,工作在方式2,计数初值为0FFFFH,所以中断请求周期为65535/2000000s=32.7675ms。

9.19 答:(1)选用D0D0H~D0DFH中的偶地址DODO,DOD2,DOD4,DOD6为基本地址作为8254的端口地址,设8086工作在最小方式下。8254端口地址译码电路如下图:

① 计数器0输入端加2MHz的时钟信号,GATE0加+5V电压,输出OUT0信号为周期为10μs的对称方波。

初始化代码:

MOV DX,0D0D6H ;写计数器0工作方式

MOV AL,00010110B OUT DX,AL

MOV DX,0D0D0H ;写计数器0时常数 MOV AL,20 OUT DX,AL

②CLK0加2MHz的始终信号,GATE0,GATE1加+5V电压,OUT0输出加到CLK1作时钟信号,OUT1输出为每1s产生一个负脉冲。