可编程接口芯片8254及其应用.ppt
文本预览下载声明
第7章 可编程定时器/计数器芯片8254;7.1 定时器和计数器概述;定时举例:
①一天24小时的计时,称为日时钟。
②在监测系统中,对被测点的定时取样。
③在读键盘时,为去抖,一般延迟一段时间,再读。
④在微机控制系统中,控制某工序定时启动。;[计数电路]如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器。
计数举例:
①对零件和产品的计数;
②对大桥和高速公路上车流量的统计。;定时功能的实现方法;7.2 8253/8254定时计数器; 8253/8254的内部结构和引脚;计数器结构示意图;1 计数器的3个引脚;2 与处理器接口;由控制字格式中SC1,SC0位决定属于哪个计数器;8254的工作方式;每种工作方式的过程类似:
⑴ 设定工作方式
⑵ 设定计数初值
〔 ⑶ 硬件启动 〕
⑷ 计数初值进入减1计数器
⑸ 每输入一个时钟计数器减1的计数过程
⑹ 计数过程结束;方式0 计数结束中断(一次有效);①;方式0;8254的方式0时序波形;方式1 可编程单稳脉冲;①;方式1;8254的1方式时序波形;方式2 频率发生器(分频器);WR;方式3 方波发生器;;方式3;方式4 软件触发选通信号;GATE;方式4和方式2的区别:
(1)方式2的负脉冲是在计数到1时产生一个T的负脉冲,而方式4是在计数到0时产生一个T的负脉冲。
(2)在计数过程中,写入新的初值时,方式2是从下一次开始从新的初值计数,而方式4是从下一个脉冲就开始以新的值计数,因为方式4不能重复计数。;方式5 硬件触发选通信号;GATE;计数开始的时刻;7.3 8254的编程;1 方式控制字(A1A0=11);8254的控制字编程;2 写入计数值;8254的计数初值编程;3 读取计数值;;某个8254的计数器0、1、2端口和控制端口地址依次是40H~43H,要读取通道1的计数值。
;则先对通道1发出锁存命令,然后读取数据。
MOV AL,40H
;方式控制字:30H=01 00 000 0B
OUT 43H,AL
;写入控制端口:43H
IN AL,41H
;7.4 8254在PC机上的应用;定时中断和定时刷新;8254初始化(定时中断);计数器0:定时中断;计数器1:定时刷新;8254初始化(定时刷新);扬声器控制;扬声器控制(频率设置);扬声器控制(扬声器开);扬声器控制(扬声器关);扬声器控制(主程序);在一个实际的数据采集系统中,要求5s采一个数,现场的主时钟的振荡频率为2.5MHz。
分析:选择工作方式3(方波发生器),连续工作对2.5M的脉冲分频。
时钟周期Tck=l/2.5×106
计数初值n=T/Tck=5÷(l/2.5×106 )=1.25×107
一个计数器最多的分频次数是65536,是不够用的。;采用两级计数器,用计数器0的输出OUT0作为计数器1的输入CLK1。
计数器0的计数值为50000 (C350H );计数器1的250 (FAH) 。则有:
总的计数值=50000×250=1.25 ×107
计数器0:方式3(方波发生器)控制宇36H( 0011 0110B )
计数器1:方式2(分频器)控制字54H)( 0101 0100B )
设:控制口地址:CRPT;0号计数器:PRT0;1号计数器:PRT1;实现上述过程的程序如下:
MOV AL,36H
MOV DX,CRPT
OUT DX,AL ;0号计数器方式3
MOV AL,50H
MOV DX,PRT0
OUT DX,AL ;计数值低8位
MOV AL,C3H
OUT DX,AL ;计数值高8位
MOV AL,54H
MOV DX,CRPT
OUT DX,AL ; 1号计数器方式2
MOV AL,FAH
MOV DX,PRT1
OUT DX,AL ;计数值低8位;例:某火灾报警系统的部分接口电路如图所示。该系统 具有温度和烟雾浓度超限报警和自动灭火功能。当温度或烟雾浓度超限时,进行光报警;两者同时超限时,进行光、声报警,并开启电磁阀,进行喷淋灭火。按键A为手动报警按钮,按键B为解除报警按钮。半导体温度传感器的温度测量范围为0℃~127℃,对应输出电压为0V~5V。ADC0809输入电压范围为0V~5V。开关式集成烟雾传感器报警时输出高电平,正常工作时输出低电平。8253的通道0、通道1、通道2均工作于方式3(方波发生器),按BCD码计数。扬声器的报警声音频率为2kHz。8253、8255的方式控制字及8255的置位/复位控制字格式
显示全部