;8253控制口地址 ;通道0工作在方式0 ;8253通道0地址 ;给通道0送计数值
;通道1工作在方式3 ;8253通道1地址
;给通道1送计数初值低8位 ;给通道1送计数值高位
;通道2工作在方式0
MOV MOV OUT MOV OUT MOV MOV OUT MOV MOV OUT MOV OUT MOV OUT STI FF:
发声子程序:
SSP PROC NEAR ;8253初始化: MOV AL,10110110B ;计数器2,模式3,初值16位,二进制 OUT 43H, AL MOV AX, 1983 ; 计数初值=1.19MHZ600HZ=1983 OUT 42H,AL ;送计数初值低位字节 MOV AL,AH OUT 42H,AL次 ;送计数初值高位字节
方式0——计数结束产生中断
图 8-22
方式0——计数结束产生中断
方式1——可编程的单脉冲(单稳)触发器
高
图 8-22
单脉冲触发器
方式2——分频器( 速率发生器)
图 8-23
分频器
方式3——方波发生器
图 8-23 方波发生器
方式4——软件触发的选通信号发生器
图 8-23 软件触发的选通信号发生器
计数初始值=时钟频率*T
8_2_1 8253芯片内部结构
1.数据总线缓冲器 往计数器设置计数初值; 从计数器读取计数值; 往控制寄存器设置控制字。 2.读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器
3.通道0、通道1、通道2
计数器0:CLK0——计数器0的时钟输入。 GATE0——计数器0的门脉冲控制输入。 OUT0——计数器0的输出。 计数器1 计数器2