8253的通道1 的CLK1信号接2M时钟信号,GATE1接高电平,0UT1产生1ms的方波,OUT1接通道2的LK2,GATE2接高电平,通道21.工作在方式2,时间常数为30。端口地址分别为280H一283H.D画出OUT2的输出的波形,标出波形中高电平、低电平的时间参数。 (4分)2编写初始化程序段(8分)
时间: 2023-12-26 10:06:22 浏览: 100
对于第一个问题,我的回答是:
根据题意,8253的通道1的CLK1信号接2M时钟信号,GATE1接高电平,OUT1产生1ms的方波,OUT1接通道2的LK2,GATE2接高电平,通道2工作在方式2,时间常数为30。我们可以按照以下步骤画出OUT2的输出波形:
1. 由于通道1的CLK1信号接2M时钟信号,所以OUT1的频率为2kHz,即周期为500us。
2. OUT1接通道2的LK2,所以通道2的计数器也按照500us的周期计数。
3. 通道2工作在方式2,时间常数为30,即30*500us=15ms。
4. GATE2接高电平,所以计数器在接收到GATE2的高电平后开始计数,直到计数器的值等于时间常数15ms.
5. 当计数器的值等于时间常数15ms时,计数器会重新从0开始计数,并且OUT2会输出一个高电平,持续时间为1ms。
6. 由于通道2的计数器也按照500us的周期计数,所以在OUT2输出高电平的1ms期间,通道2的计数器会计数2次,即周期为1ms。
7. 当计数器的值再次等于时间常数15ms时,计数器会重新从0开始计数,并且OUT2会输出一个低电平,持续时间为14ms。
重复上述步骤,就可以画出OUT2的输出波形。根据计算,高电平持续时间为1ms,低电平持续时间为14ms。
对于第二个问题,我提供以下初始化程序段:
```
MOV AL, 00110110B ;初始化控制字,选择通道2、工作在方式2、二进制计数器、GATE2接高电平
OUT 283H, AL ;将控制字写入控制寄存器
MOV AX, 30H ;初始化计数器初值为30
OUT 282H, AL ;将计数器初值低字节写入计数器2的低端口
OUT 282H, AH ;将计数器初值高字节写入计数器2的高端口
```
以上程序段的作用是初始化8253计数器,选择通道2、工作在方式2、GATE2接高电平,设置计数器的初值为30。你可以根据需要进行修改。
阅读全文