问题 问答题 简答题

编写8253初始化程序。如下图所示(注意端口地址),要求3个计数通道分别完成以下功能:

(1)通道0工作于方式3,输出频率为2KHZ的方波;

(2)通道1产生宽度为480us的单脉冲;

(3)通道2用硬件方式触发,输出负脉冲,时间常数为26。

(提示:8253的端口地址分别为:0310H、0312H、0314H、0316H)

答案

参考答案:

编写8253的初始化程序

1.确定端口地址:0310H、0312H、0314H、0316H

2.确定工作方式:通道0,方式3;通道1,方式1;通道2,方式5

3.确定计数值:通道0:N0=1MHz/2KHz=500;通道1:N1=480us/(1/1mhz)=480;通道2:N2=26

4.确定控制字:通道0:00110111B;通道1:01110011B;通道2:10011011B

对3个通道的初始化程序如下:

通道0初始化程序:

MOV DX,316H

MOV AL,00110111B

OUT DX,AL

MOV DX,310H

MOV AL,00H

OUT DX, AL

MOV AL,05H

OUT DX,AL

通道1的初始化程序:

MOV DX, 316H

MOV AL, 001110011B

OUT DX, AL

MOV DX, 312H

MOV AL, 80H

OUT DX, AL

MOV AL, 04H

OUT DX, AL

通道2初始化程序:

MOV DX, 316H

MOV AL, 10011011B

OUT DX, AL

MOV DX, 314H

MOV AL,26H

OUT DX,AL

填空题
单项选择题