第八章定时器PPT讲稿.ppt
第八章定时器1第1页,共47页,编辑于2022年,星期三8.1 8.1 计算机中的定时和计数计算机中的定时和计数q 定时定时/延时控制的基本方法:延时控制的基本方法:v 软件定时软件定时v 不可编程硬件定时不可编程硬件定时v 可编程硬件定时可编程硬件定时q 定时电路是任何计算机系统中必不可少的定时电路是任何计算机系统中必不可少的 基本电路基本电路第2页,共47页,编辑于2022年,星期三8.1 8.1 计算机中的定时和计数计算机中的定时和计数数据读写复位准备就绪片选端口地址控制字寄存器计数初值寄存器计数器(计数工作单元)输出锁存器状态锁存器状态寄存器CLKGATEOUT控控 制制 逻逻 辑辑q 可编程定时器可编程定时器/计数器典型结构:计数器典型结构:第3页,共47页,编辑于2022年,星期三q 可编程定时器可编程定时器/计数器的主要用途:计数器的主要用途:以以均均匀匀分分布布的的时时间间间间隔隔中中断断分分时时操操作作系系统统,以以便便切切换换程程序;序;向向I/OI/O设备输出周期可控的定时信号;设备输出周期可控的定时信号;用作可编程波特率发生器;用作可编程波特率发生器;检测外部事件发生的频率或周期;检测外部事件发生的频率或周期;统计外部某过程中某一事件发生的次数;统计外部某过程中某一事件发生的次数;作为向作为向CPUCPU的定时或定次数中断源;的定时或定次数中断源;8.1 8.1 计算机中的定时和计数计算机中的定时和计数第4页,共47页,编辑于2022年,星期三8.2 8.2 可编程定时器可编程定时器/计数器芯片计数器芯片8254/82538254/82538.2.8.2.2 82542 8254内部结构与引脚信号内部结构与引脚信号8.2.4 82548.2.4 8254的工作方式的工作方式8.2.5 8.2.5 应用编程应用编程8.2.38.2.3 内部端口寻址内部端口寻址8.2.18.2.1 基本功能基本功能第5页,共47页,编辑于2022年,星期三8.2 可编程定时器/计数器芯片8254/8253 8.2.1 8.2.1 基本功能基本功能 82548254具有以下基本功能:具有以下基本功能:(1)(1)有有3 3个独立的个独立的1616位计数器通道。位计数器通道。(2)(2)每个计数器可按每个计数器可按二进制二进制或或十进制十进制(BCD)BCD)计数。计数。(3)(3)每个计数器可工作于每个计数器可工作于6 6种不同工作方式种不同工作方式。(3)(3)每个计数器允许的最高计数频率为每个计数器允许的最高计数频率为1010MHzMHz (8253 (8253为为2 2MHz)MHz)。(5)(5)有读回命令有读回命令(8253(8253没有没有),可以读出当前计数,可以读出当前计数 单元的内容和状态寄存器内容。单元的内容和状态寄存器内容。第6页,共47页,编辑于2022年,星期三8.2.8.2.2 82542 8254内部结构与引脚信号内部结构与引脚信号GATE0GATE0GATE2GATE2D7D7D0D0RDRDWRWRA1A1A0A0CSCS数据总数据总线缓冲线缓冲器器读写读写控制控制逻辑逻辑控制字控制字寄存器寄存器CLK0CLK0OUT0OUT0CLK1CLK1GATE1GATE1OUT1OUT1CLK2CLK2OUT2OUT2内部结构内部结构图图内内部部总总线线计数计数器通器通道道0 0计数计数器通器通道道1 1计数计数器通器通道道0 0 与微机与微机相连的引相连的引脚。脚。接口特接口特性与性与82598259和各类存和各类存储器芯片储器芯片类似。类似。与外部相连的引与外部相连的引脚,取决于工作脚,取决于工作方式方式8.2 可编程定时器/计数器芯片8254/8253第7页,共47页,编辑于2022年,星期三8.2.8.2.2 82542 8254内部结构与引脚信号内部结构与引脚信号定时系数定时系数=要求定时的时间要求定时的时间时钟脉冲周期时钟脉冲周期 3 3个功能独立的计数器通道既可用作计数器,又个功能独立的计数器通道既可用作计数器,又可用作定时器,差别在于:可用作定时器,差别在于:作计数器用时,作计数器用时,对对CLKiCLKi端输入的计数脉冲(间隔不端输入的计数脉冲(间隔不 一定相同)作减一定相同)作减1 1计数。计数。作定时器用时,作定时器用时,对周期一定的时钟脉冲作减对周期一定的时钟脉冲作减1 1计数。计数。第8页,共47页,编辑于2022年,星期三 8.2.38.2.3 内部端口寻址内部端口寻址CSCSRDRDWRWRA1A1A0A0读读/写操作说明写操作说明0 00 00 00 00 00 00 00 00 01 11 11 11 10 00 00 00 00 01 11 11 10 00 01 11 10 00 01 10 01 10 01 10 01 10 00 01 10 00 01 11 11 11 11 1写计数通道写计数通道0 0的的CRCR写计数通道写计数通道1 1的的CRCR写计数通道写计数通道2 2的的CRCR写控制寄存器写控制寄存器读通道读通道0 0的的OLOL或状态锁存器或状态锁存器读通道读通道1 1的的OLOL或状态锁存器或状态锁存器读通道读通道2 2的的OLOL或状态锁存器或状态锁存器无操作无操作禁止使用禁止使用无操作无操作8.2 可编程定时器/计数器芯片8254/8253第9页,共47页,编辑于2022年,星期三8.2.4 82548.2.4 8254的工作方式的工作方式82548254中各计数器通道均有中各计数器通道均有6 6种工作方式可供选择种工作方式可供选择:方式方式0 0 计数结束中断方式计数结束中断方式方式方式1 1 硬件可重触发单稳方式硬件可重触发单稳方式方式方式2 2 速率波发生器方式速率波发生器方式方式方式3 3 方波方式方波方式方式方式4 4 软件触发选通方式软件触发选通方式方式方式5 5 硬件触发选通方式硬件触发选通方式理解理解6 6种工作方式的要点种工作方式的要点:门控信号门控信号GATEGATE的功能的功能输出信号输出信号OUTOUT的波形的波形计数初值的设置及启动计数的条件计数初值的设置及启动计数的条件8.2 可编程定时器/计数器芯片8254/8253第10页,共47页,编辑于2022年,星期三8.2.4 82548.2.4 8254的工作方式的工作方式计数结束中断方式,计数结束中断方式,OUTOUT输出波形如下:输出波形如下:q 基本功能基本功能GATE=1GATE=1OUTOUT写入计数值写入计数值计数开始计数开始计数结束计数结束q 工作特点工作特点v计数由软件启动,每次写入计数初值,只启动一次计数。计数由软件启动,每次写入计数初值,只启动一次计数。vCPUCPU写计数初值到写计数初值到CRCR后,后,CRCR内容并不立即装入内容并不立即装入CECE,而是在其后而是在其后的下一个的下一个CLKCLK脉冲下降沿才将脉冲下降沿才将CRCR内容装入内容装入CECE,对该对该CLKCLK脉冲不计数。脉冲不计数。(方式方式1 15 5相同相同)v 计数过程中,如果计数过程中,如果GATE=0GATE=0则暂停计数,直到则暂停计数,直到GATE=1GATE=1后再接着计数。后再接着计数。v 计数过程中写入新的计数初值,从写入后下一个时钟脉计数过程中写入新的计数初值,从写入后下一个时钟脉冲开始,以新的初值计数。冲开始,以新的初值计数。1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5第11页,共47页,编辑于2022年,星期三OUTWRGATECLKINTR4123303212450n=5n=4n=3INTR8.2.4 82548.2.4 8254的工作方式的工作方式q 定时波形定时波形正常正常计数过程计数过程门控信号的作用门控信号的作用改变计数初值改变计数初值停止计数接着计数值下一脉冲影响计数1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5第12页,共47页,编辑于2022年,星期三8.2.4 8254的工作方式q 方式方式0 0的应用的应用外部事件外部事件计数计数测脉冲宽度测脉冲宽度1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5频率计频率计第13页,共47页,编辑于2022年,星期三 方式方式1 1是硬件可重触发单稳方式。计数器相当是硬件可重触发单稳方式。计数器相当于一个可编程的单稳态触发电路。于一个可编程的单稳态触发电路。q 基本功能基本功能OUT写入计数值计数开始计数结束GATEq 工作特点工作特点v GATE GATE上升沿启动计数上升沿启动计数v 可重触发可重触发8.2.4 82548.2.4 8254的工作方式的工作方式1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5第14页,共47页,编辑于2022年,星期三CLK12333432200n=3n=3n=3n=41单脉冲单脉冲宽度宽度单脉冲宽度单脉冲宽度单脉冲单脉冲OUTGATEWRq 方式方式1 1定时波形定时波形q 方式方式1 1应用应用:实时监控器实时监控器(看门狗电路看门狗电路)正常正常计数过程计数过程计数过程可重触发计数过程可重触发改变计数初值改变计数初值的影响的影响8.2.4 82548.2.4 8254的工作方式的工作方式1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5启动计数重装计数值影响计数第15页,共47页,编辑于2022年,星期三q 基本功能:基本功能:q 工作特点:工作特点:v 自动重复计数。自动重复计数。v 可可由由软软件件通通过过写写计计数数初初值值启启动动,也也可可由由GATEGATE上上升升沿沿启启动。动。v GATEGATE变变低低电电平平时时停停止止计计数数;而而当当GATEGATE由由低低重重新新变变高高时时,重新由初值开始计数。重新由初值开始计数。8.2.4 82548.2.4 8254的工作方式的工作方式1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5 方式方式2 2是速率波发生器方式。是速率波发生器方式。OUTOUT端输出一周期性负端输出一周期性负脉冲序列:脉冲序列:OUTGATE=1写入计数值NT第16页,共47页,编辑于2022年,星期三CLK1230n=4n=5WR443410454321043210GATE重复周期重复周期OUTq 方式方式2 2定时波形:定时波形:q 方式方式2 2应用应用正常正常计数过程计数过程门控信号的作门控信号的作用用改变计数初值改变计数初值的影响的影响8.2.4 82548.2.4 8254的工作方式的工作方式重装计数值下一周期影响计数1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5停止计数第17页,共47页,编辑于2022年,星期三 方式是方波方式。方式是方波方式。OUTOUT输出的是方波或近似方波信输出的是方波或近似方波信号:号:q 基本功能:基本功能:q 工作特点:工作特点:v 若若计计数数初初值值n n为为偶偶数数,OUTOUT输输出出周周期期为为n n个个CLKCLK周周期期的标准方波。的标准方波。8.2.4 82548.2.4 8254的工作方式的工作方式1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5OUTGATE=1写入计数值NTv 若若n n为奇数,为奇数,OUTOUT端得到的是近似方波;端得到的是近似方波;v GATEGATE变变低低电电平平时时停停止止计计数数;而而当当GATEGATE由由低低重重新新变变高高时时,重新由初值开始计数。重新由初值开始计数。第18页,共47页,编辑于2022年,星期三CLKWR0 02 22 20 0n=4n=4n=54 44 2400424 42 042224 2 0OUTGATE1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5q 方式方式3 3定时波形定时波形q 方式方式3 3应用应用波特率发生器波特率发生器初值为偶数的计数初值为偶数的计数8.2.4 8254的工作方式初值为奇数的计数初值为奇数的计数GATEGATE的影响的影响标准方波近似方波重装计数值停止计数第19页,共47页,编辑于2022年,星期三方式方式4 4是软件触发选通方式。是软件触发选通方式。q 基本功能:基本功能:q 工作特点:工作特点:v 计计数数过过程程中中若若GATEGATE变变低低,则则停停止止计计数数,直直到到GATEGATE恢恢复复到高时,重新从初值开始减到高时,重新从初值开始减1 1计数。计数。v 计计数数过过程程中中若若改改变变(重重写写)计计数数初初值值,将将从从改改变变之之后后的的下个下个CLKCLK脉冲起,按新初值重新开始计数。脉冲起,按新初值重新开始计数。v 软件装入的计数初值只一次有效。软件装入的计数初值只一次有效。8.2.4 82548.2.4 8254的工作方式的工作方式1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5 方式方式4 4 与方式与方式0 0的功能很相似,主要差别是计数结束时,的功能很相似,主要差别是计数结束时,在在OUTOUT端产生的是一个宽度为端产生的是一个宽度为1 1个个CLKCLK周期的负选通脉冲。周期的负选通脉冲。第20页,共47页,编辑于2022年,星期三CLK1233323200n=4n=4n=31GATEWR4441软件启动(第一次)软件启动(第一次)软件启动(第二次)软件启动(第二次)改变初值改变初值OUTq 方式方式4 4定时波形定时波形8.2.4 82548.2.4 8254的工作方式的工作方式1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5正常计数正常计数GATEGATE的影响的影响改变初值的影响改变初值的影响计数结束,输出负脉冲停止计数下一时钟影响计数重新计数第21页,共47页,编辑于2022年,星期三方式方式5 5是硬件触发选通方式。是硬件触发选通方式。q 基本功能:基本功能:q 工作特点:工作特点:v 硬件触发启动计数;硬件触发启动计数;v 当当计计数数值值计计到到0 0后后,自自动动重重新新装装入入初初值值n n,但但并并不不开开始始计计数数,而而是是待待GATEGATE端端出出现现新新的的上上升升沿沿后后才才重重新新作作减减1 1计数。计数。8.2.4 82548.2.4 8254的工作方式的工作方式1.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5 方式方式5 5与方式与方式1 1很类似,也是由硬件触发启动计数,差别很类似,也是由硬件触发启动计数,差别在于在于OUTOUT端产生的是一个宽度为端产生的是一个宽度为1 1个个CLKCLK周期的负选通脉周期的负选通脉冲。冲。第22页,共47页,编辑于2022年,星期三q 方式方式5 5定时波形定时波形8.2.4 82548.2.4 8254的工作方式的工作方式CLKGATEWROUT1253323200n=4n=51444101.1.方式方式0 0 2.2.方式方式1 13.3.方式方式2 24.4.方式方式3 35.5.方式方式4 46.6.方式方式5 5硬件触发启动计数计数过程改变初值不影响计数硬件触发,以新初值计数输出负脉冲第23页,共47页,编辑于2022年,星期三 与与其其他他可可编编程程芯芯片片一一样样,为为了了使使用用82548254,必必须须通过读通过读/写操作对它编程。包括:写操作对它编程。包括:8.2.5 8.2.5 应用编程应用编程(1)(1)工作之前写入控制字,以确定每个计工作之前写入控制字,以确定每个计(2)(2)数器通道的工作方式;数器通道的工作方式;(2)(2)工作之前写入每个计数器通道的计数工作之前写入每个计数器通道的计数 初值;初值;(3)(3)工作过程中改变某通道的计数初值;工作过程中改变某通道的计数初值;(4)(4)写入命令字,以读出某一时刻某一通写入命令字,以读出某一时刻某一通 道的道的CECE内容或状态寄存器内容。内容或状态寄存器内容。初始化初始化编编 程程工工 作作编编 程程第24页,共47页,编辑于2022年,星期三1.1.各种控制字、命令字和状态字格式各种控制字、命令字和状态字格式(1)(1)控制字控制字(2)(2)命令字命令字(3)(3)状态字状态字82548254控制字格式控制字格式:D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0SC1SC1SC0 SC0 RW1 RW1 RW0 RW0 M2 M2 M1 M1 M0 M0 BCD BCD 选计数通道0000010110101111选通道选通道0 0无意义无意义选通道选通道1 1选通道选通道2 20000010110101111选读/写格式锁存锁存CECE数据数据只读写低字节只读写低字节只读写高字节只读写高字节先读写低字节先读写低字节再读写高字节再读写高字节选计数码制0 01 1二进制数二进制数BCDBCD码数码数00000010100010011111100100101101方式方式0 0方式方式1 1方式方式2 2方式方式3 3方式方式4 4方式方式5 5 选选工工作作方方式式第25页,共47页,编辑于2022年,星期三v 锁存命令字锁存命令字(8253(8253和和82548254均有均有):用来将当前的用来将当前的CECE内容锁存到输出锁存器内容锁存到输出锁存器OLOL,以供以供CPUCPU读出。读出。命令字有命令字有锁存命令字锁存命令字和和读回命令字读回命令字D7D6D5D4D3D2D1D0SC1SC0 0 0(1)(1)控制字控制字(2)(2)命令字命令字(3)(3)状态字状态字1.1.各种控制字、命令字和状态字格式各种控制字、命令字和状态字格式选计数通道选计数通道0000010110101111选通道选通道0 0无意义无意义选通道选通道1 1选通道选通道2 2第26页,共47页,编辑于2022年,星期三v 读回命令字读回命令字(8254(8254特有特有)用于将计数器通道的用于将计数器通道的CECE当前内容锁存入当前内容锁存入OLOL或将或将状态寄存器内容锁存入状态锁存器。状态寄存器内容锁存入状态锁存器。D7D6D5D4D3D2D1D011COUNTCOUNT STATUS CNT2CNT1 CNT00 01:选中通道20:锁存状态寄存器内容1:选中通道01:1:选中通道选中通道1 1 0:锁存当前计数器内容(1)(1)控制字控制字(2)(2)命令字命令字(3)(3)状态字状态字1.1.各种控制字、命令字和状态字格式各种控制字、命令字和状态字格式第27页,共47页,编辑于2022年,星期三 8254 8254每个计数器通道对应有一个每个计数器通道对应有一个状态寄存器状态寄存器和和一个一个状态锁存器状态锁存器。OUT引脚现行状态D7D6D5D4D3D2D1D0OUT NULLNULLCOUNTCOUNTRW1 RW0M2 M1M0BCD1:1:无效计数无效计数0:0:可读计数可读计数读读/写格式写格式1:1:BCDBCD码计数码计数0:0:二进制计数二进制计数工作方式工作方式(1)(1)控制字控制字(2)(2)命令字命令字(3)(3)状态字状态字1.1.各种控制字、命令字和状态字格式各种控制字、命令字和状态字格式第28页,共47页,编辑于2022年,星期三v 读当前计数值读当前计数值/状态字的方法和原则:状态字的方法和原则:(1)(1)要读当前计数值或当前状态,必须先写读回命令,再读要读当前计数值或当前状态,必须先写读回命令,再读OLOL或或SLSL。(2)(2)对同一通道的计数器或状态寄存器发多次读回命令,对同一通道的计数器或状态寄存器发多次读回命令,但每次未立即读取但每次未立即读取CECE或或SRSR,则只有第一次读回命令引起则只有第一次读回命令引起的锁存操作是有效的,以后读出的值或状态仅是第一次读的锁存操作是有效的,以后读出的值或状态仅是第一次读回命令锁存的结果。回命令锁存的结果。(3)(3)若读回命令同时或先后锁存了同一通道的计数值和若读回命令同时或先后锁存了同一通道的计数值和状态,则对该通道第一次读出的结果一定是状态字(状态,则对该通道第一次读出的结果一定是状态字(8 8位)位),随后的一次或两次读出的才是计数值(一次还是两次,随后的一次或两次读出的才是计数值(一次还是两次,取决于初始化时控制字确定的计数值字节数)。取决于初始化时控制字确定的计数值字节数)。1.1.各种控制字、命令字和状态字格式各种控制字、命令字和状态字格式第29页,共47页,编辑于2022年,星期三v 读回命令举例读回命令举例命 令命令作用执行结果次序次序D7D6D5D4D3D2D1D01 12 23 34 45 56 61 1 0 0 0 0 1 01 1 1 0 0 1 0 01 1 1 0 1 1 0 01 1 0 1 1 0 0 01 1 0 0 0 1 0 01 1 1 0 0 0 1 0读回通道读回通道0 0的计数的计数值和状态值和状态读回通道读回通道1 1的状态的状态读回通道读回通道2 2、1 1的状的状态态读回通道读回通道2 2的计数值的计数值读回通道读回通道1 1的计数的计数值和状态值和状态读回通道读回通道0 0的状态的状态锁存通道锁存通道0 0的计数值的计数值和状态和状态锁存通道锁存通道1 1的状态的状态锁存通道锁存通道2 2的状态,但的状态,但对通道对通道1 1无效无效锁存通道锁存通道2 2的计数值的计数值锁存通道锁存通道1 1的计数值,的计数值,但对状态无效但对状态无效命令无效,通道命令无效,通道0 0的状的状态早已锁存态早已锁存8.2.5 8.2.5 应用编程应用编程第30页,共47页,编辑于2022年,星期三2.2.82548254的编程方法及举例的编程方法及举例q 初始化编程必须在初始化编程必须在8254/82538254/8253工作之前进行工作之前进行;q 对每个用到的通道都要初始化:先向控制寄存器(端口对每个用到的通道都要初始化:先向控制寄存器(端口3 3)写入方式控制字,再以通道地址(端口)写入方式控制字,再以通道地址(端口0 0,1 1或或2 2)向)向CRCR写入计数初值。写入计数初值。q 如在工作过程中需要读取某通道的当前状态或当前如在工作过程中需要读取某通道的当前状态或当前CECE值,值,应先向控制寄存器(端口应先向控制寄存器(端口3 3)写读回命令,再从该通道)写读回命令,再从该通道(端口(端口0 0,1 1或或2 2)读出相应锁存器内容。)读出相应锁存器内容。8.2.5 8.2.5 应用编程应用编程(1)(1)编程说明编程说明第31页,共47页,编辑于2022年,星期三(2 2)编程举例)编程举例 例例1.1.在在80868086系统中,用系统中,用82548254构成定时、计数与构成定时、计数与脉冲发生器脉冲发生器q 系统功能系统功能v 利用通道利用通道0 0完成对外部事件计数功完成对外部事件计数功 能能,计满计满100100次向次向CPUCPU发中断请求。发中断请求。v 利用通道利用通道1 1产生频率为产生频率为1 1kHZkHZ的方波。的方波。v 利用通道利用通道2 2作作1 1s s标准时钟。标准时钟。8.2.5 8.2.5 应用编程应用编程第32页,共47页,编辑于2022年,星期三q 系统的硬件连接:系统的硬件连接:CLK1 2.5MHzCLK1 2.5MHz8086cpuD7D7D0D0D7D7D0D0RDRDRDRDWRWRWRWRM/IOM/IOA15A15A3A3A0=0A0=0A2A2A1A1INTRINTRCSCS地址地址译码译码A1A1A0A082548254通通道道1 1通通道道2 2通通道道0 0GATE1GATE1OUT1OUT11 1kHZkHZCLK2CLK2GATE2GATE2OUT2OUT2CLK0CLK0GATE0GATE0OUT0OUT0示波器或其它示波器或其它波形接收器波形接收器外部事件外部事件产生源产生源IR0IR0IR1IR1IR2IR2IR7IR782598259A A+5V+5V+5V8.2.5 8.2.5 应用编程应用编程1s第33页,共47页,编辑于2022年,星期三q 初始化编程初始化编程STT:MOV DX,port3 ;定义通道定义通道0工作于方式工作于方式0,MOV AL,10H ;按二进制计数按二进制计数 OUT DX,AL MOV DX,port0 ;给通道给通道0送计数初值送计数初值100 MOV AL,64H OUT DX,AL v 8259A 8259A的初始化编程的初始化编程v 8254 8254的初始化编程的初始化编程8.2.5 8.2.5 应用编程应用编程第34页,共47页,编辑于2022年,星期三q初始化程序:初始化程序:(续)续)MOV DX,port3 ;定义通道定义通道1为方式为方式3MOV AL,76H ;按二进制计数按二进制计数OUT DX,ALMOV DX,port1 ;给通道给通道1送计数初值送计数初值2500MOV AX,09C4HOUT DX,AL ;先送低字节(先送低字节(C4H)MOV AL,AHOUT DX,AL ;再送高字节(再送高字节(09H)MOV DX,port3 ;定义通道定义通道2为方式为方式3MOV AL,0B7H ;按十进制计数按十进制计数OUT DX,ALMOV DX,port2 ;给通道给通道2送计数初值送计数初值1000MOV AX,1000HOUT DX,AL ;先送低字节(先送低字节(00H)MOV AL,AHOUT DX,AL ;再送高字节(再送高字节(10H)8.2.5 8.2.5 应用编程应用编程第35页,共47页,编辑于2022年,星期三MOV DX,8259A”0”口口 ;对;对8259A初始化初始化MOV AL,13H ;写写ICW1 OUT DX,AL MOV DX,8259A”1”口口 MOV AL,50H ;写写ICW2,定义定义8254通道通道0和和2的的OUT DX,AL ;中断类型码分别为中断类型码分别为50H和和52HMOV AL,03 ;写写ICW4,自动自动AEOIOUT DX,ALMOV AL,0FAH ;写写OCW1OUT DX,ALSTI :;(续)续)第36页,共47页,编辑于2022年,星期三例例2.2.用用82548254设计一个智能化频率计。设计一个智能化频率计。q 设计思想设计思想v 利用通道利用通道0 0产生定时(检测)信号产生定时(检测)信号v 利用通道利用通道1 1对外部脉冲计数对外部脉冲计数 设计数初值为设计数初值为0 0。当定时时间到时,读出通道。当定时时间到时,读出通道1 1计计数值数值N N,则脉冲频率为:,则脉冲频率为:v 测量原理测量原理脉冲频率脉冲频率 =定时时间定时时间 65536-N65536-N 8.2.5 应用编程第37页,共47页,编辑于2022年,星期三q 硬件电路硬件电路q 驱动程序驱动程序v中断采集程序中断采集程序:读读N,N,求频率。求频率。v82548254初始化程序初始化程序通道通道1 1方式方式0 0计数计数通道通道0 0方式方式2 2定时定时8.2.5 应用编程1MHz中断请求外部脉冲+5V+5VCLK0CLK0GATE0GATE0OUT0OUT0CLK1CLK1GATE1GATE18254D0-D7D0-D7D0-D7D0-D7IORIORIOWIOWRDRDWRWRCSCS80H80HA1A1A0A0A1A1A0A0MOV AL,MOV AL,34H34HOUT 83H,ALOUT 83H,ALMOV AX,MOV AX,10001000OUT 80H,ALOUT 80H,ALMOV AL,AHMOV AL,AHOUT 80H,ALOUT 80H,ALMOV AL,MOV AL,70H70HOUT 83H,ALOUT 83H,ALMOV AL,MOV AL,0 0OUT 81H,ALOUT 81H,ALOUT 81H,ALOUT 81H,AL第38页,共47页,编辑于2022年,星期三 例例3.3.在某啤酒包装流水线中,一个包装箱能装在某啤酒包装流水线中,一个包装箱能装入入2424罐,希望每通过罐,希望每通过2424罐,流水线要停罐,流水线要停2s2s,等待装箱完,等待装箱完毕,然后继续装箱。试利用一片毕,然后继续装箱。试利用一片82548254,完成包装流水线控,完成包装流水线控制中的定时和计数功能。制中的定时和计数功能。q 设计思想设计思想v用用1 1个通道作计数器,用作个通道作计数器,用作2424罐计数罐计数v用另用另1 1个通道作定时器,产生个通道作定时器,产生2S2S定时信号定时信号v定时控制原理定时控制原理用定时结束信号重新启动流水线用定时结束信号重新启动流水线用计数结束信号启动用计数结束信号启动2S2S定时定时,并使流水线暂停,并使流水线暂停 8.2.5 应用编程第39页,共47页,编辑于2022年,星期三q 硬件电路硬件电路q 驱动程序驱动程序(初始化)初始化)8.2.5 应用编程MOV ALMOV AL,14H 14H MOV DXMOV DX,663H663HOUT DXOUT DX,ALALMOV ALMOV AL,18H18HMOV DXMOV DX,660H660HOUT DXOUT DX,ALALMOV ALMOV AL,72H72HMOV DXMOV DX,663H663HOUT DXOUT DX,ALALMOV ALMOV AL,20002000MOV DXMOV DX,661H661HOUT DXOUT DX,ALALMOV ALMOV AL,AHAHOUT DXOUT DX,ALAL1kHz传感器产生的计数脉冲2S+5VCLK0GATE0OUT0GATE1CLK18254OUT1控制流水线启停CS660H方式2方式1第40页,共47页,编辑于2022年,星期三8.3 82548.3 8254在在PCPC系列机定时系统中的应用系列机定时系统中的应用q PC PC系列机定时系统包括两部分:系列机定时系统包括两部分:v CPU CPU内部控制时序产生电路:主要用于内部指内部控制时序产生电路:主要用于内部指令执行过程。令执行过程。v I/O I/O接口芯片的定时产生电路:由接口芯片的定时产生电路:由82548254负责。负责。以以PC/ATPC/AT机为例:机为例:日历时钟由通道日历时钟由通道0 0完成完成DRAMDRAM刷新由通道刷新由通道1 1完成完成音频信号产生(驱动扬声器音频信号产生(驱动扬声器)由通道由通道2 2完成完成第41页,共47页,编辑于2022年,星期三8.3 8254在PC系列机定时系统中的应用82548254各通道在各通道在ATAT定时系统中的作用及信号规定定时系统中的作用及信号规定计数器通道计数器通道0 0计数器通道计数器通道1 1计数器通道计数器通道2 2功能功能GATEGATECLKCLKOUTOUT时钟信号发生器时钟信号发生器 刷新请求发生器刷新请求发生器 音频信号发生器音频信号发生器+5V程控程控+5V1.1931816MHz1.1931816MHz1.1931816MHz8259A IRQ08237 DREQ0扬声器扬声器第42页,共47页,编辑于2022年,星期三q PC/AT PC/AT机定时系统结构框图机定时系统结构框图8.3 82548.3 8254在在PCPC系列机定时系统中的应用系列机定时系统中的应用DACK0(DACK0(来自来自82378237)PCLKPCLKD DQ QCLRCLRQ QRESETRESET+5+5V V来自来自82558255PB0(PB0(端口端口00610061H)H)IORIORIOWIOWT/CCST/CCSA1A1A0A0D7D7D0D0来自来自82558255PB1(PB1(端口端口00610061H)H)GATE0GATE0CLK0CLK0GATE1GATE1CLK1CLK1CLK2CLK2GATE2GATE2RDRDWRWRCSCSA1A1A0A0D7D7D0D0OUT0OUT0OUT1OUT1OUT2OUT282548254D DS SQ QCLRCLR+5+5V VIRQ0(IRQ0(到到82598259A A)DRAMDRAM刷新请刷新请求求&SPK(SPK(去扬声器去扬声器)功放功放与低与低通滤通滤波波第43页,共47页,编辑于2022年,星期三q 8254 8254三个通道在三个通道在PC/ATPC/AT机中的使用原理机中的使用原理v通道通道0 0:工作于方式:工作于方式3 3,计数初值为,计数初值为0 0(即(即6553665536)。用作实)。用作实时时钟信号发生器,每输出一个方波,产生一次时时钟信号发生器,每输出一个方波,产生一次0 0级中断,调级中断,调用用INT 8HINT 8H一次。一次。INT 8HINT 8H中断服务程序的功能:中断服务程序的功能:完成日历时钟计时;完成日历时钟计时;实现软驱马达开启时间管理实现软驱马达开启时间管理,使其开启一段时间完使其开启一段时间完成数据存取操作后,自动延时关停;成数据存取操作后,自动延时关停;进行进行INT 1CHINT 1CH软中断调用,为用户提供可用的软中断调用,为用户提供可用的定时操作服务程序入口。定时操作服务程序入口。8.3 8254在PC系列机定时系统中的应用第44页,共47页,编辑于2022年,星期三v 通通道道1 1:工工作作于于方方式式2 2,计计数数初初值值为为1818(即即00120012H H)。每每隔隔15.0815.08ss产生一负脉冲,用作产生一负脉冲,用作DRAMDRAM刷新时的定时控制。刷新时的定时控制。v 通道通道2 2:工作于方式:工作于方式3 3,计数初值为,计数初值为05330533H H输出频率约为输出频率约为900900HZHZ的方波,为扬声器发声提供音频信号。的方波,为扬声器发声提供音频信号。软件控制发声:软件控制发声:CPUCPU控制控制82558255A A的的PB1PB1(即端口即端口6161H H的的D1D1位)的电平变化使扬声器发声。这时需要将位)的电平变化使扬声器发声。这时需要将82548254的的OUT2OUT2置于高电平,以允许来自置于高电平,以允许来自PB1PB1的音频信号通过与门。的音频信号通过与门。硬件控制发声:硬件控制发声:利用利用82548254通道通道2 2工作于方式工作于方式3 3输出音频信输出音频信号来使扬声器发声。这是号来使扬声器发声。这是ATAT机定时系统提供的一项基本机定时系统提供的一项基本功能。改变其计数初值,可改变发音声调。功能。改变其计数初值,可改变发音声调。8.3 8254在PC系列机定时系统中的应用第45页,共47页,编辑于2022年,星期三实现硬件控制发声例程:实现硬件控制发声例程:8.3 825