预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共68页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第7章可编程定时器/计数器芯片82547.1定时器和计数器概述定时举例: ①一天24小时的计时,称为日时钟。 ②在监测系统中,对被测点的定时取样。 ③在读键盘时,为去抖,一般延迟一段时间,再读。 ④在微机控制系统中,控制某工序定时启动。[计数电路]如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器。 计数举例: ①对零件和产品的计数; ②对大桥和高速公路上车流量的统计。定时功能的实现方法7.28253/8254定时计数器8253/8254的内部结构和引脚计数器结构示意图1计数器的3个引脚2与处理器接口由控制字格式中SC1,SC0位决定属于哪个计数器8254的工作方式每种工作方式的过程类似: ⑴设定工作方式 ⑵设定计数初值 〔⑶硬件启动〕 ⑷计数初值进入减1计数器 ⑸每输入一个时钟计数器减1的计数过程 ⑹计数过程结束方式0计数结束中断(一次有效)①方式08254的方式0时序波形方式1可编程单稳脉冲①方式18254的1方式时序波形方式2频率发生器(分频器)WR方式3方波发生器方式3方式4软件触发选通信号GATE方式4和方式2的区别: (1)方式2的负脉冲是在计数到1时产生一个T的负脉冲,而方式4是在计数到0时产生一个T的负脉冲。 (2)在计数过程中,写入新的初值时,方式2是从下一次开始从新的初值计数,而方式4是从下一个脉冲就开始以新的值计数,因为方式4不能重复计数。方式5硬件触发选通信号GATE计数开始的时刻7.38254的编程1方式控制字(A1A0=11)8254的控制字编程2写入计数值8254的计数初值编程3读取计数值;某个8254的计数器0、1、2端口和控制端口地址依次是40H~43H,要读取通道1的计数值。 ;则先对通道1发出锁存命令,然后读取数据。 MOVAL,40H ;方式控制字:30H=01000000B OUT43H,AL ;写入控制端口:43H INAL,41H 7.48254在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(00110110B) 计数器1:方式2(分频器)控制字54H)(01010100B) 设:控制口地址:CRPT;0号计数器:PRT0;1号计数器:PRT1实现上述过程的程序如下: MOVAL,36H MOVDX,CRPT OUTDX,AL;0号计数器方式3 MOVAL,50H MOVDX,PRT0 OUTDX,AL;计数值低8位 MOVAL,C3H OUTDX,AL;计数值高8位 MOVAL,54H MOVDX,CRPT OUTDX,AL;1号计数器方式2 MOVAL,FAH MOVDX,PRT1 OUTDX,AL;计数值低8位例:某火灾报警系统的部分接口电路如图所示。该系统具有温度和烟雾浓度超限报警和自动灭火功能。当温度或烟雾浓度超限时,进行光报警;两者同时超限时,进行光、声报警,并开启电磁阀,进行喷淋灭火。按键A为手动报警按钮,按键B为解除报警按钮。半导体温度传感器的温度测量范围为0℃~127℃,对应输出电压为0V~5V。ADC0809输入电压范围为0V~5V。开关式集成烟雾传感器报警时输出高电平,正常工作时输出低电平。8253的通道0、通道1、通道2均工作于方式3(方波发生器),按BCD码计数。扬声器的报警声音频率为2kHz。8253、8255的方式控制字及8255的置位/复位控制字格式如图所示。GATE0 A0CLK0 A1OUT0 RDCLK1 WR8253 GATE1 CSGATE2 OUT1 D7~D0CLK2 OUT28255的方式控制字格式如下:8255端口C按位置0/置1控制字8253的方式控制字(A1A0=11)部分初始化、主程序及中断服务子程序如下: CODE SEGMENT ASSUMEDS:DATA,CS:CODE START: ┊ ;8259初始化 MOVAL,13H;初始化8