微机原理与接口技术周何琴课后习题答案 - 图文 下载本文

=4000

(3)通道2输出单脉冲,宽度为400μs,应工作在方式0 , 通道2的定时初值=400μs/(1/ 2MHz)-1=799。 硬件连结图如下图所示。

8253的初始化程序: ;通道0初始化程序

MOV DX,306H

MOV AL,00110111B ;通道0控制字,读写两字节,方式3,BCD码计数 OUT DX, AL MOV DX,300H

MOV AL, 00H

OUT DX, AL ;写人低字节 MOV AL, 20H

OUT DX, AL ;写人高字节 ;通道1初始化程序

MOV DX,306H

MOV AL,01110101B ;通道1控制字,读写两字节,方式2,BCD码计数 OUT DX, AL ;写人方式字 MOV DX,302H

MOV AL, 00H ;低字节

OUT DX,AL ;写人低字节 MOV AL, 40H

OUT DX, AL ;写人高字节 ;通道2初始化程序

MOV DX,306H

MOV AL, 10110001B ;通道2方式字,读写两字节,方式0,BCD码计数 OUT DX,AL MOV DX,304H

MOV AL,99H ;计数初值字节 OUTDX,AL ;写人低字节

MOV AL, 07H

OUT DX, AL ;写人高字节 HLT

5. 设8254的端口地址为40----43H,时钟频率f=5MHz,通道2接1个LED指示灯。要求LED指示灯点亮4秒钟后,再熄灭4秒钟后。并不断重复该过程。试编写8254初始化程序。 解:

LED指示灯点亮4秒钟后,再熄灭4秒钟后。并不断重复该过程。利用通道2输出接LED指示灯,需要产生周期为8秒的方波。

将5MHz时钟加到CLK2端,OUT2输出的方波脉冲周期最大为0.2μs×65536=13107.2μs=13.1072ms,

达不到8秒。此时可以使用2个8254通道级连方式来实现。若级连1、2通道,设其初值分别为N1和N2,8s/(1/5MHz) =40000000,则级连后作为一个整体的计数值为N=20000000=N1×N2=5000×8000。

通道1,可选方式2或3,

通道2,选方式3,连续波形,实现不断重复。 N1=5000 N2=8000 ;通道1初始化程序

MOV AL, 01110101B ;通道1方式字,读写两字节,方式2,BCD码计数 OUT 43H,AL

MOV AX, 5000H

OUT41H,AL ;写人低字节

MOV AL, AH

OUT 41H, AL ;写人高字节

HLT

;通道2初始化程序

MOV AL,10110111B ;通道2控制字,读写两字节,方式3,BCD码计数 OUT 43H, AL

MOV AX, 8000H OUT 42H, AL ;写人低字节 MOV AL, AH

OUT 42H, AL ;写人高字节

14. 设8253的通道0----2和控制口的地址分别为300H、302H、304H、306H,定义通道0工作在方式3,CLK0=2MHz,使编写初始化程序,并画出硬件连接图。要求通道0输出1.5KHz的方波,通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲。通道2每秒钟向CPU发50次中断请求。 解:

8253的口的地址分别为300H、302H、304H、306H,连续的偶地址,说明CPU为8086.

(1)通道0输出1.5KHz的方波,应工作在方式3,2MHz/1.5K Hz=1334,则可得通道0的定时初值为1334=536H。

(2)通道1用通道0的输出作计数脉冲,输出频率为300Hz的序列负脉冲,应工作在方式2, 1.5K Hz /300Hz =5。通道1的定时初值为5。

(3)通道2每秒钟向CPU发50次中断请求,可工作在方式2(或方式3),以2MHz信号作计数脉冲,2MHz /50Hz=40000=9C40H。通道2的定时初值9C40H(也可用通道1的输出作计数脉冲) 硬件连结图如下图所示。

8253的初始化程序: ;通道0初始化程序

MOV DX,306H

MOV AL,00110110B ;通道0控制字,读写两字节,方式3,二进制计数 OUT DX, AL MOV DX,300H

MOV AX, 536H

OUT DX, AL ;写人低字节 MOV AL, AH

OUT DX, AL ;写人高字节 ;通道1初始化程序

MOV DX,306H

MOV AL,01010100B ;通道1控制字,只读写低宇节,方式2,二进制计数 OUT DX, AL ;写人方式字 MOV DX,302H

MOV AL,05H ;低字节

OUT DX,AL ;写人低字节 ;通道2初始化程序

MOV DX,306H

MOV AL, 10110100B ;通道2方式字,读写两字节,方式2,二进制码计数 OUT DX,AL MOV DX,304H

MOV AX,9C40H ;计数初值字节 OUTDX,AL ;写人低字节

MOV AL, AH

OUT DX, AL ;写人高字节 HLT

15. 某微机系统中,8253的端口地址为40----43H,时钟频率为5MHz,要求通道0输出方波,使计算机每秒钟产生18.2次中断;通道1每隔15μs向8237提出一次DMA1请求;通道2输出频率为2000Hz的方波。试编写8253的初始化程序,并画出有关的硬件连线图。 解:

8253的口地址为40H、41H、42H、43H。

(1)通道0输出方波,应工作在方式3,5MHz/18.2Hz=274725.3>16位定时器的最大定时初值65536。因

此,需要两个计数器的级连。若以通道2的输出作为通道0的时钟输入,则可得通道0的定时初值=2000Hz/18.2Hz-1=110=6EH

(2)通道1每隔15μs向8237提出一次DMA1请求,可工作在方式2(或方式3),通道1的定时初值=15μs /(1/5MHz)=75=4BH。

(3)通道2输出频率为2000Hz的方波,应工作在方式3,通道2的定时初值=5MHz /2000Hz-1=2500-1=9C4H 硬件连结图如下图所示。

8253的初始化程序: ;通道2初始化程序

MOV AL,10110110B ;通道2控制字,读写两字节,方式3,二进制计数 OUT 43H, AL

MOV AX, 9C4H OUT 42H, AL ;写人低字节 MOV AL, AH

OUT 42H, AL ;写人高字节 ;通道0初始化程序

MOV AL,00010110B ;通道0控制字,只读写低宇节,方式3,二进制计数 OUT43H,AL ;写人方式字 MOV AL, 6EH ;低字节

OUT 40H,AL ;写人低字节

;通道1初始化程序

MOV AL, 01010100B ;通道1方式字,只读写低字节,方式2,二进制码计数 OUT 43H,AL

MOV AL, 4BH ;低字节 OUT41H,AL ;写人低字节 HLT

第9章 作业

P231

9. 8255A的方式选择字和置位复位字都写入什么端口?用什么方式区分它们? 答:

8255A的方式选择字和C口置位复位字都写入控制端口(写入控制字寄存器中)。用特征位D7区分, D7=1,为方式选择控制字, D7=0,为C口的按位置位/复位

12. 8255A的端口地址同第11题(80H, 82H, 84H, 86H),要求PC4输出高电平,PC5输出低电平,PC6输出一个正脉冲,试写出完成这些功能的指令序列。 解:

MOV AL,10000010B