定时/计数控制器8253
定时/计数原理
定时与计数的实质:
对脉冲进行计数
定时器:
有计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔
计数器:
计数电路如果记录外设提供具有一定随机性的脉冲信号,它主要反应脉冲的个数
采用减一计数的倒计数原理,每过一个CLK周期计算机减一
软件延迟:
软件延时:
8253的内部结构和引脚
要求:
数据总线缓冲器
控制字寄存器
引脚
与处理器接口
CS、RD、WR、A1和A0组合起来所产生的选择与操作功能:
计数器内部结构
写入计数器的初始值保存在计数初值寄存器中
由CLK脉冲的一个上升沿和一个下降沿将其装入减1计数器
输出寄存器的值跟随减一计数器变化,仅当写入锁存控制字
在计数过程中,CPU随时可以用指令读取任一计数器的当前计数值,这一操作对计数器没有影响
计数器的输入CLK与输出OUT,记门控信号GATE之间的关系,取决于计数器的工作方式
8253的工作方式
有六种工作方式
工作方式:
工作方式0:计数结束中断方式
工作特点:
1、2、3
方式1:可编程单稳负脉冲
工作特点:
1、2、3
方式2:频率发生器(分频器)
工作特点:1、2、3
方式3:方波发生器
工作特点:
1、2
方式4:软件触发选通信号
工作特点:
1、2
方式5:硬件触发选通信号
工作方式特点
方式1-5的输出波形
8253的编程
方式控制字
D0-D7
7 6 5 4 3 2 0 1
选择计数器 数据读写 方式 二进制还是十进制
计数值(初值)N
有二进制和BCD(四位是一位十进制数)
频率 HZ KHZ MHZ
1S=1000MS=1000000US
练习
计数器0工作在方式1,按BCD吗计算初值3000
模板:
MOV AL,_ _11_ _ _ _B
MOV DX,_ _
OUT DX,AL ;方式字——>控制端口
MOV AX,——
MOV DX,——
OUT DX,AL
MOV AL,AH
OUT DX,AL
中断控制器8259A
8259A内部结构
28个引脚
中断级联
内部寄存器
中断请求寄存器IRR
中断服务寄存器ISR
中断屏蔽寄存器IMR
与处理器接口(偶地址,奇地址)
直连8086芯片:是非缓冲
响应时序
8259A的工作方式
普通全嵌套方式
特殊全嵌套方式
优先权自动循环方式
优先权特殊循环方式
结束中断处理方法
ISR=0