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

2019-08-20 19:57

的周期。S(t)是待测信号,S’(t)为给定的周期大于10s的高电平信号。

8259D0~D7RDWRA1A0CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2S(t)S’(t)IR01MHzIntel8253 端口声明:COUNTA为计数器0的地址,COUNTB为计数器2的地址,COUNTD为控制器地址,COUNT为373地址

程序如下:

MOV DX,COUNTD ;计数器1初始化 MOV AL,01110000B OUT DX,AL MOV DX,COUNTB OUT DX,AL MOV DX,COUNTB MOV AL,O OUT DX,AL

MOV DX,COUNTD ;计数器0初始化 MOV AL,00010000B OUT DX,AL MOV DX,COUNTA MOV AL,0 OUT DX,AL OUT DX,AL STI

读两计数器的计数,并进行计算的中断服务子程序:

PUSH AX PUSH BX PUSH CX PUSH DX

MOV DX,COUNTD MOV AL,00000000B OUT DX,AL MOV DX,COUNTA IN AL,DX XCHG AL,AH IN AL,DX XCHG AL,AH NEG AX INC AX MOV BX,AX MOV DX,COUNTD MOV AL,00010000B

OUT DX,AL MOV DX,COUNTB IN AL,DX XCHG AL,AH IN AL,DX XCHG AL,AH NEG AX INC AX MOV CX,T0 MUL CX DIV BX MOV SFR,AX POP DX POP CX POP BX POP AX IRET

SFR中保存结果即为待测信号的周期。

对于(1)题,10*10不小于100,10*1000不大于65535,可以用计数法。 同理(3)也可用此方法。

对于(2)题,可用周期法。逻辑电路图如下:

D0~D7RDWRA1A0CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT21MHzS(t)Intel82538259IR0 程序如下:

MOV DX,COUNTD MOV AL,0011 0100B OUT DX,AL MOV DX,COUNTA MOV AL,0 OUT DX,AL OUT DX,AL STI

PUSH AX PUSH BX PUSH DX

MOV DX,COUNTD MOV AL,0000 0000B OUT DX,AL MOV DX,COUNTA IN AL,DX

XCHG AL,AH IN AL,DX XCHG AL,AH NEG AX INC AX MOV BX,AX MOV DX,000FH MOV AX,4240H DIV BX MOV SFR,AX POP DX POP BX POP AX IRET

(4) 如图设计接口,计数器1用来记录在50个脉冲所用时间,50个信号脉冲最多用1/0.8*50(约为63us)由于计数器1用1MHz CLK,故其计数个数N即为N us,所以当N>63时,则有低电平间隔计入,须重新计数。当N>63时,则计算得待测频率。

8259D0~D7RDWRA1A0CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2S(t)IR01MHzD0D7G74LS373D0D7OEIntel8253译码

程序如下:

MOV DX,COUNTD MOV AL,00H OUT DX,AL MOV DX,COUNTD MOV AL,0001 0000B OUT DX,AL MOV DX,COUNTA MOV AL,50 OUT DX,AL MOV DX,COUNTD MOV AL,0111 0000B OUT DX,AL MOV COUNTB MOV AL,0 OUT DX,AL OUT DX,AL

L2: MOV DX,COUNT ;给GATE0和GATE1高电平,开始计数 MOV AL,81H OUT DX,AL

L1: NOP MOV DX,COUNTD MOV AL,00000000B OUT DX,AL MOV DX,COUNTA IN AL,DX

MOV DX,COUNTA IN AL,DX

AND AL,AL ;判断是否计完50个脉冲,若未计完继续等待 JNZ L1

MOV DX,COUNT

MOV AL,00H ;若计完则暂停计数 OUT DX,AL

MOV DX,COUNTD ;读计数器1结果 MOV AL,01000000B OUT DX,AL MOV DX,COUNTB IN AL,DX XCHG AL,AH IN AL,DX XCHG AL,AH NEG AX INC AX

CMP AX,70H ;当AL大于70,则有间歇计入,重新测试 JA L2 MOV BL,AL

MOV AL,50 ;计算频率 DIV BL

MOV FREC,AL

9.23 答:程序如下:

;计数器0,方式0,当计数满后为高电平,引发中断 MOV DX,33H

MOV AL,00110000B ;计数器0,方式0 OUT DX,AL MOV DX,30H MOV AX,23000

OUT DX,AL ;写低位计数值 XCHG AH,AL

OUT DX,AL ;写高位计数值

;计数器1,计数值为10000/20=500,方式3 MOV DX,33H

MOV AL,01110110B OUT DX,AL MOV DX,31H MOV AX,500 OUT DX,AL XCHG AH,AL OUT DX,AL

9.24 答:;若计数器0~2的端口地址为1AB0H,1AB2H, 1AB4H,控制字口为1AB6H

;计数器0,方式1,BCD计数,计数值4650 MOV DX,1AB6H

MOV AL,00110011B ;计数器0,方式1,十进制计数 OUT DX,AL MOV DX,1AB0H MOV AX,4650H

OUT DX,AL ;写低位计数值 XCHG AH,AL

OUT DX,AL ;写高位计数值

;计数器1,计数值3420,方式2,二进制计数 MOV DX,1AB6H MOV AL,01110100B OUT DX,AL MOV DX,1AB2H MOV AX,3420 OUT DX,AL XCHG AH,AL OUT DX,AL

;计数器2,方式4,二进制计数,计数初值120 MOV DX,1AB6H

MOV AL,10011000B ;由于计数初值为120,可以只写低位 OUT DX,AL MOV DX,1AB4H MOV AX,120 OUT DX,AL

9.25 答:;若计数器0~2的端口地址为0FA0H,0FA2H, 0FA4H,控制字口为0FA6H

;准备中断向量表 MOV AX,0 MOV DS,AX

MOV SI,42H ;中断类型号42H SHL SI,1

SHL SI,1 ;SI×4

MOV [SI],OFFSET INT_SERVICE ;中断服务程序的偏移地址存入向量表 MOV AX,CS ADD SI,2

MOV [SI],AX ;中断服务程序的段地址存入向量表 …… ;如果用8259,则对8259初始化 ;计数器2,二次读写计数值,方式0,二进制计数 MOV DX,0FA6H

MOV AL,10110000B ;计数器0,方式1,十进制计数 OUT DX,AL MOV DX,0FA4H MOV AX,1000 OUT DX,AL XCHG AH,AL OUT DX,AL

…… ;其他程序

;中断服务程序

INT_SERVICE:STI ;开中断 MOV DX,0FA6H

MOV AL,10110000B ;计数器2,二次读写计数值,方式0,二进制计数 OUT DX,AL MOV DX,0FA4H MOV AX,1000 OUT DX,AL XCHG AH,AL OUT DX,AL IRET

9.26 答:首先更正8259A的IR2的中断类型码为42H。

;根据题图的硬件电路,8253的四个端口地址应该连续,100H为计数器0 ;101H为计数器1,102H为计数器2,103H为控制字寄存器端口 ;准备中断向量表 MOV AX,0 MOV DS,AX

MOV SI,42H ;中断类型号42H SHL SI,1

SHL SI,1 ;SI×4

MOV [SI],WORD PTR INT_POINT ;中断服务程序的偏移地址存入向量表 ADD SI,2

MOV [SI],WORD PTR INT_POINT+2 ;中断服务程序的段地址存入向量表 ……

;由于题目要求两个计数器级联,实现最大中断周期的周期性定时中断信号 ;则让计数器0和1的计数初值均设为0,按方式3计数 MOV DX,0103H

MOV AL,00010110B ;计数器0,方式3,二进制计数 OUT DX,AL MOV DX,0100H MOV AX,0 OUT DX,AL ;计数器1

MOV DX,0103H

MOV AL,01010110B ;计数器0,方式3,二进制计数 OUT DX,AL MOV DX,0101H MOV AX,0 OUT DX,AL

9.27 答:根据题图,8253的四个端口地址为0F8H,0FAH,0FCH,0FEH。LED0亮10s后灭,可以通过方式0,计数10000次;LED1在 闭合后亮15s后灭,即计数器1为方式1,计数值为15000;LED2为亮2s,灭2s闪烁,即计数器2为方式3,计数值为4000。 程序为:

;计数器0

MOV DX,0FEH

MOV AL,00110000B ;计数器0,方式0,二进制计数 OUT DX,AL MOV DX,0F8H MOV AX,10000 OUT DX,AL XCHG AH,AL OUT DX,AL ;计数器1

MOV DX,0FEH

MOV AL,01110010B ;计数器1,方式1,二进制计数 OUT DX,AL MOV DX,0FAH MOV AX,15000 OUT DX,AL XCHG AH,AL OUT DX,AL ;计数器2

MOV DX,0FEH

MOV AL,10110110B ;计数器2,方式3,二进制计数 OUT DX,AL MOV DX,0FCH MOV AX,4000 OUT DX,AL XCHG AH,AL OUT DX,AL


微机原理与接口技术(楼顺天第二版)第九章习题解答(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:全员考核采煤专业考试题库

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

马上注册会员

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