第七章-可编程计数器定时器8253-8254及其应用..ppt_第1页
第七章-可编程计数器定时器8253-8254及其应用..ppt_第2页
第七章-可编程计数器定时器8253-8254及其应用..ppt_第3页
第七章-可编程计数器定时器8253-8254及其应用..ppt_第4页
第七章-可编程计数器定时器8253-8254及其应用..ppt_第5页
免费预览已结束,剩余55页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章可编程定时器/计数器8253/8254及其应用,1定时与计数在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。定时或计数的工作实质均体现为对脉冲信号的个数的测量。定时:如果计数的对象是标准的时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时。计数:如果计数的对象是与外部输入的脉冲信号(周期可以不相等),则此时即为计数。,2定时的实现方法(1)软件法利用一段延时子程序来实现定时操作。特点:无需硬件支持,控制比较方便,但在定时期间,CPU不能从事其它工作,降低了机器的利用率。(2)硬件法专门设计一套电路(比如555定时器)用以实现定时与计数,特点是需要花费一定硬设备,而且当电路制成之后,定时值及计数范围不能改变。,(3)软、硬件结合法即设计一种专门的具有可编程特性的芯片,来控制定时和计数的操作,定时或计数的过程不需要CPU的参与,而这些芯片具有中断控制能力,定时、计数结束时能产生中断请求信号,因而定时期间不影响CPU的正常工作。,7.18253的工作原理7.1.1Intel8253的内部结构及引脚Intel8253是8086/8088微机系统常用的可编程定时器/计数器芯片,其增强型芯片为Intel8254等。Intel8253的一般性能概述:1每个8253芯片有3个独立的16位计数器通道。2每个计数器通道都可以按照二进制或十进制计数。3每个计数器的最大的输入频率为可以高达2MHz。4每个通道有6种工作方式,工作方式由程序设定。,Intel8253的外部引脚(24DIP),1D7D0:8位,双向,三态数据线,用来与系统数据总线相连。2CS、WR、RD、A1、A0(内部4个端口),A1A0=00,选中通道0;A1A0=01,选中通道1;A1A0=10,选中通道2;A1A0=11,选中控制寄存器端口。3CLKi:i=0,1,2,第i个通道的计数脉冲输入引脚,每输入一个时钟脉冲,计数器数值减1。4GATEi:i=0,1,2,第i个通道的门控信号输入引脚,用于控制启/停计数器计数。5OUTi:i=0,1,2,第i个通道的定时/计数信号输出引脚,输出信号的波形由通道的工作方式确定,此输出信号可用于触发其它电路工作,或作为向CPU发出的中断请求信号。6VCC、GND。,8253主要包括以下几个主要部分:1数据总线缓冲器实现8253与CPU数据总线连接的8位双向三态缓冲器,用以传送CPU向8253的控制信息、数据信息以及CPU从8253读取的状态信息。2读/写控制逻辑控制8253的片选及对内部相关寄存器的读/写操作,它接收CPU发来的地址信号以实现片选、内部通道选择以及对读/写操作进行控制。CS、A1、A0与CPU的连接决定8253芯片的端口地址。,3计数通道0#、1#、2#:这是三个独立的,结构相同的计数器/定时器通道,每一个通道包含:一个8位控制字寄存器;一个16位的计数初值寄存器,存放计数初始值;一个16位的减法计数器(计数器执行部件,减法计数器);一个16位的锁存器,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到CPU发来的读计数值命令时,用以锁存当前计数值,供CPU读取。这些16位的计数器、锁存器均可被分为高8位、低8位两个部分,因此也可作为8位寄存器使用。,每个计数通道的结构如下:,4控制字寄存器在8253的初始化编程时,由CPU写入控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。8253的三个计数通道各有一个命令字寄存器,都使用同一个地址(A1A011),因此,使用命令字的最高两位SC1、SC0来确定到底是对哪个计数通道的设定。,8253的控制字,计数方式选择位BCD:为1:BCD码计数,进行十进制减法计数。写入初值也用BCD码表示,其中0000H表示十进制数最大值10000。例如,进行BCD码计数时,写入初值1200H,相当于计数值为十进制的1200。为0:二进制计数。写入初值为二进制数,进行二进制减法计数。0000H表示最大值10000H,相当于十进制的65536。例如,进行二进制计数时,写入初值1200H,相当于计数值为十进制的4608。,8.1.28253的初始化编程和门控信号的功能1.8253的初始化编程要使用8253,必须首先进行初始化编程,初始化编程包括设置通道控制字和送通道计数初值两个步骤,控制字写入8253的控制字寄存器(A1A0=11),而初始值则写入相应通道的计数初值寄存器中(A1A0=00/01/10)。初始化编程包括如下步骤:(1)写入通道控制字,规定某个通道的工作方式。(2)给这个通道写入计数值,若规定只写低8位,则高8位自动置0,若规定只写高8位,则低8位自动置0。若为16位计数值则分两次写入,先写低8位,后写高8位。定时时间=计数初值*脉冲周期,例1设8253的端口地址为:40H43H,要使计数器T1工作在方式0,计数初值为80H,二进制计数,进行初始化编程。控制字为:01010000B=50H初始化程序:MOVAL,50HOUT43H,AL;向控制端口送命令字MOVAL,80HOUT41H,AL;向T1端口送计数初值,例2设8253的端口地址为:40H43H,若用通道T0工作在方式1,按十进制计数,计数值为5080H,进行初始化编程。控制字为:00110011B=33H初始化程序:MOVAL,33HOUT43H,AL;向控制端口送命令字MOVAL,80HOUT40H,AL;向T0端口送计数初值低8位MOVAL,50HOUT40H,AL;向T0端口送计数初值高8位,例3利用8253产生定时。设8253的端口地址为:40H43H,若用通道2工作在方式3,按二进制计数,定时时间为20ms,设8253的CLK频率为2MHz,写出初始化程序。初值得计算:计数初值=定时时间/CLK周期=20ms(1/2MHz)=40000=9C2CH初始化程序:MOVAL,0B6HOUT43H,ALMOVAL,2CHOUT42H,AL;计数初值低字节2CHMOVAL,9CHOUT42H,AL;计数初值高字节9CH,7.1.38253的工作方式8253共有6种工作方式,各方式下的工作状态是不同的,输出的波形也不同。下面我们逐个介绍:,几条基本原则:(1)控制字写入计数器时,相应通道的所有控制逻辑电路立即复位,输出端OUT进入初始状态。初始状态对不同的模式来说不一定相同。(2)计数初始值写入之后,要经过一个时钟周期上升沿和一个下降沿,计数执行部件才可以开始进行计数操作,因为第一个下降沿将计数寄存器的内容送减1计数器。(3)在每个时钟脉冲CLK的上升沿,采样门控信号GATE。不同的工作方式下,门控信号的触发方式是有具体规定的(电平触发,或者是边沿触发)。(4)在时钟脉冲的下降沿,计数器作减1计数。0是计数器所能容纳的最大初始值。二进制时相当于216,用BCD码计数时,相当于104。,学习8253的6种工作方式应注意以下几点:(1)写入控制字后,OUT的电平。(2)写入初值后,开始计数时OUT的初始电平(高或低),计数结束时,OUT的电平。(3)门控GATE的触发方式(电平触发或边沿触发)。(4)在计数期间,GATE无效时,计数停止;GATE再次有效时,计数器从何处开始继续计数。(5)在计数期间若重新写入初值(在GATE有效情况下)时,计数器从何处开始计数。(6)8253一次定时结束,能否自动重新装入初值。,1方式0计数结束中断方式(1)写入控制字后,OUT的电平变低。(2)写入初值后,计数过程中OUT的初始电平为低电平;计数结束时,OUT的电平变为高电平,并维持到装入新的初值或重设工作方式。(3)门控GATE的触发方式为高电平触发。(4)GATE=1,计数器工作。在计数期间,GATE无效(GATE=0)时,计数停止,OUT仍为低电平;若GATE再次有效(变为高电平)时,计数器从中止处开始继续计数。(5)在计数期间若重新写入初值(在GATE=1情况下)时,计数器按新初值开始计数。计数器只计一遍,初值不能自动重装。(6)OUT的可作为中断请求信号。,方式0的波形图,方式0正常计数的波形图,写入控制字后,OUT的电平变低。写入初值后,OUT的初始电平为低电平,计数结束时,OUT的电平变为高电平。GATE的触发方式为高电平触发。,方式0时GATE信号的作用的波形图,GATE=1,计数器工作。在计数期间,GATE无效(=0)时,计数停止;若GATE再次有效(变为高电平)时,计数器从中止处开始继续计数。,方式0的波形图,方式0时计数过程中改变计数值的波形图,在计数期间若重新写入初值(在GATE=1有效情况下)时,计数器按新初值开始计数。,方式0的波形图,2、方式1可编程单稳态输出方式(1)写入控制字后,OUT的电平变高。(2)写入初值后,在GATE有效时,OUT电平变为低电平,将计数值装入执行部件,开始计数,计数结束时,OUT的电平变为高电平。(3)GATE为边沿触发。(4)触发可重复进行。即,写入初值,在GATE有效时开始计数,计数结束时,OUT变高;在下一个GATE有效时重复上述过程而不必重新使用指令写入计数初值。(5)在计数期间若重新出现GATE有效时,计数器从计数初值重新开始计数。(6)在计数期间若重新写入初值,不影响输出,直至出现下一个GATE有效时,计数器才按新初值开始计数。,方式1的波形图,方式1正常计数的波形图,写入控制字后,OUT的电平变高。写入初值后,开始计数时OUT的初始电平为低电平,计数结束时,OUT的电平变为高电平。GATE的触发方式为边沿触发。,方式1时GATE信号的作用的波形图,在计数期间若重新出现GATE有效(上升沿)时,计数器从计数初值重新开始计数。,方式1的波形图,方式1时计数过程中改变计数值的波形图,在计数期间若重新写入初值,不影响输出,直至出现下一个GATE有效(上升沿)时,计数器才按新初值开始计数。,方式1的波形图,3.方式2自动重装初值的N分频器,比率发生器(1)写入控制字后,OUT变高。(2)写入初值后,在GATE=1时,OUT为高电平,开始计数,在计数值减为1时OUT变为低电平,减为0时OUT又变为高电平。在GATE=1有效时,可自动重装初值,OUT变为高电平,继续计数。(3)GATE为高电平触发。(4)GATE=1,计数器工作。在计数期间,GATE=0无效时,计数停止工作;若GATE再次有效(变为高电平)时,计数器重装初值开始继续计数。(5)在计数期间若重新写入初值(在GATE=1有效情况下)时,不影响本次计数,当本次计数完成,OUT出现一个CLK周期的低电平后,计数器按新初值开始计数。,方式2的波形图,方式2正常计数的波形图,写入控制字后,OUT的电平变高。写入初值后,OUT的初始电平为高电平,计数结束时,在计数值为1时OUT出现一个CLK周期的低电平。在GATE=1有效时,可自动重装初值,OUT变为高电平,继续计数。GATE电平触发。,方式2时GATE信号的作用的波形图,GATE=1,计数器工作。在计数期间,GATE=0无效时,计数停止工作;若GATE再次有效(变为高电平)时,计数器按原装初值开始继续计数。,方式2的波形图,方式2时计数过程中改变计数值的波形图,在计数期间若重新写入初值(在GATE=1有效情况下)时,不影响本次计数,当本次计数完成,OUT出现一个周期的低电平后,计数器按新初值开始计数。,方式2的波形图,4.方式3方波发生器方式3与方式2基本相同,只是输出波形的占空比不一样。(1)计数过程:写入控制字OUT变高写入初值计数开始减二计数OUT变低重装继续减二OUT变高自动重装初值,继续。(2)初值为奇偶数的区别:N为偶数:N/2N/2N/2N/2N为奇数:(N+1)/2(N-1)/2(N+1)/2(N-1)/2(3)相同点:GATE为电平触发,自动重装初值。(4)方式3与方式2是8253常用的工作方式。,方式3的波形图,方式3计数值为偶数时的波形图,写入控制字后,OUT的电平变高。写入初值后,OUT的初始电平为高电平,计数期间OUT的输出波形为方波(或近似方波)。在GATE=1有效时,可自动重装初值,OUT变为高电平,继续计数。GATE电平触发。,方式3计数值为奇数时的波形图,计数初值为奇数时,OUT的输出波形为近似方波,高电平的时间比低电平的时间多时钟一个周期。可自动重装初值。,方式3的波形图,方式3GATE信号作用的波形图,计数过程中,GATE变为低电平时,禁止计数,OUT变为高电平;当GATE变为高电平后,重新开始计数。,方式3的波形图,方式3计数过程中改变计数值的波形图,在计数期间若重新写入初值(在GATE=1有效情况下)时,不影响本次计数,当本次计数完成后,计数器按新初值开始计数。,方式3的波形图,5.方式4软件触发选通(1)写入控制字后,OUT变高。(2)写入初值后,在GATE=1时,OUT为高电平,开始计数;计数结束时,在计数值为0时OUT出现一个周期低电平,然后,OUT变为高电平。(3)GATE为电平触发。(4)GATE=1,计数器工作。在计数期间,GATE=0无效时,计数停止工作;若GATE再次有效(变为高电平)时,计数器按原装初值重新开始计数。(5)在计数期间若重新写入初值(在GATE=1有效情况下)时,在下一个CLK开始以新初值开始计数。(6)输出的单次负脉冲常作为选通信号。,方式4的波形图,方式4正常计数的波形图,写入控制字后,OUT的电平变高。写入初值后,OUT的初始电平为高电平,计数结束时,在计数值为0时OUT出现一个周期低电平,然后,OUT变为高电平。GATE为电平触发。,方式4GATE信号作用的波形图,GATE=1,计数器工作。在计数期间,GATE=0无效时,计数停止工作;若GATE再次有效(=1)时,计数器按原装初值重新开始计数。,方式4的波形图,方式4计数过程中改变计数值的波形图,在计数期间若重新写入初值(在GATE=1有效情况下)时,在下一个CLK开始以新初值开始计数。,方式4的波形图,6.方式5硬件触发选通(1)写入控制字后,OUT的电平变高。(2)写入初值后,OUT的初始电平为高电平,在GATE有效时,开始计数,计数结束时,OUT输出一个周期的低电平。(3)GATE为边沿触发。(4)在计数期间若重新出现GATE有效时,计数器按原计数初值重新开始计数。(5)在计数期间若重新写入初值,不影响本次计数,OUT正常输出,本次计数结束后,再出现下一个GATE有效时,计数器才按新初值开始计数。(6)触发可重复进行。写入初值GATE开始计数,计数结束OUT为低一个周期下一个GATE重复上述过程。,方式5的波形图,方式5正常计数的波形图,写入控制字后,OUT的电平变高。写入初值后,OUT的初始电平为高电平,计数结束时,在计数值为0时OUT出现一个周期低电平,然后,OUT变为高电平。GATE为边沿触发。触发可重复进行。,方式5时GATE信号作用的波形图,在计数期间若重新出现GATE有效(上升沿)时,计数器按原计数初值重新开始计数。,方式5的波形图,方式5时计数过程中改变计数值的波形图,在计数期间若重新写入初值,不影响本次计数,OUT正常输出,本次计数结束后,再出现下一个GATE上升沿(有效)时,计数器才按新初值开始计数。,方式5的波形图,7.28253应用举例8253可以用在微型机系统中,构成各种计数器、定时器电路或脉冲发生器等。设计过程如下:(1)根据实际需要设计硬件电路。(2)向有关通道写入相应的控制字和计数初值,对8253进行初始化编程。,1、利用8253产生各种定时波形在某个以8086为CPU的系统中使用了一块8253芯片,所用的时钟脉冲频率为1MHz,要求3个计数通道分别完成以下功能:(1)通道0输出频率为2kHz的方波;(2)通道1产生宽度为480s的单脉冲;(3)通道2用硬件方式触发,输出单脉冲,时间常数为26。解:其硬件电路如下页图所示。,由图可见,8253芯片的片选信号由74LS138构成的地址译码电路产生,只有当执行IO操作(即M/为低)时以及A9A8A7A6=1100且A0=0时,译码器才能工作。当A5A4A3=010时,=0,使8253的片选信号有效。,CPU的A2A1分别与8253的A1A0相连,用于8253芯片的内部寻址,8253的4个端口地址分别为:310H、312H、314H、316H。(1)通道0输出频率为2kHz的方波,应工作在方式3。时间常数N0=1MHz/2kHz=500。(2)通道1产生宽度为480s的单脉冲,应工作在方式1,时间常数N1=480s/(1/1MHz)=480。(3)通道2用硬件方式触发,输出单脉冲,应工作在方式5,时间常数N2=26。8253的初始化程序如下:,;通道0初始化程序MOVDX,316H;控制口地址MOVAL,00110111B;通道0控制字,先读写低宇节,后高字节,方;式3,BCD码计数OUTDX,AL;写人方式字MOVDX,310H;通道0口地址MOVAL,00H;低字节OUTDX,AL;先写人低字节MOVAL,05H;高字节OUTDX,AL;后写人高字节,通道0输出频率为2kHz的方波,应工作在方式3。时间常数N0=1MHz/2kHz=500。口地址为310H316H。,;通道1初始化程序MOVDX,316HMOVAL,01110011B;通道1方式字,先读写低字节,后高字节,;方式1,BCD码计数OUTDX,ALMOVDX,312H;通道1口地址MOVAL,80H;低字节OUTDX,ALMOVAL,04H;高字节OUTDX,AL,通道1产生宽度为480s的单脉冲,应工作在方式1,时间常数N1=480s/(1/1MHz)=480。口地址为310H316H。,;通道2初始化程序MOVDX,316HMOVAL,10011011B;通道2控制字,只读写低字节,方式5,;BCD码计数OUTDX,ALMOVDX,314H;通道2口地址MOVAL,26HOUTDX,AL;只写人低字节,通道2用硬件方式触发,输出单脉冲,应工作在方式5,时间常数N2=26。口地址为310H316H。,2、控制LED的点亮或熄灭8253的计数和定时功能,可以应用到自动控制、智能仪器仪表、科学实验、交通管理等场合。例用8253控制一个LED发光二极管间隔10s闪烁一次。时钟信号频率为2MHz。分析:8253的一个通道的最大计数范围为65536,本例中要求10s闪烁一次,即要求LED发光二极管的控制信号10s无效电平,然后10s的有效电平。因此8253要输出20s定时信号,则计数初值N=20/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论