《《微机接口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《微机接口》PPT课件.ppt(25页珍藏版)》请在三一办公上搜索。
1、,微型计算机原理与接口技术第5版第7章可编程计数器/定时器8253/8254及其应用,本章主要内容:7.1 8253的工作原理 7.2 8253/8254的应用举例,可编程计数器/定时器利用硬件电路和中断来控制定时,定时时间由软件确定,精确、灵活;还能对外部事件计数。8253是一种典型的可编程计数器/定时器,也称可编程间隔定时器(Programmable Interval Timer)内部具有3个相互独立的16位计数器通道;通过编程,每个通道可按6种不同的方式工作;可按二进制或BCD码计数,最高计数频率2MHz;采用倒计数方式,预先置入初值再进行减1计数。还可用于可编程方波频率产生器、分频器、
2、程控单脉冲发生器等多种场合。,7.1 8253的工作原理,7.1.1 8253的内部结构和引脚信号7.1.2 初始化编程和门控信号功能7.1.3 8253的工作方式,7.1.1 8253的内部结构和引脚信号,与CPU的接口8 位数据线:D0 D7寻址控制线:A0、A1、读写控制线:、各通道与外设的接口时钟输入:CLK门控输入:GATE波形输出:OUT,8253引脚信号,8253内部结构,内部结构包含以下几部分:数据总线缓冲器读/写控制逻辑计数器或计数通道03控制字寄存器从图中也可看到各部件相应的引脚信号。,1.数据总线缓冲器,是8253与数据总线连接时的接口电路,由8位双向三态缓冲器构成。CP
3、U用IN、OUT指令对8253进行读写的信息,都经D7D0传送,包括:对8253初始化编程时,CPU向它写入的控制字;CPU向某一计数器写入的计数初值;CPU从计数器读出的计数值。,2.读/写控制逻辑,接收控制总线的输入信号,组合后形成各种控制信号。可接收的信号有:1)片选信号,由I/O 端口译码电路产生2)读信号,CPU读取选定计数器中的内容3)写信号,CPU写入计数初值,或控制字4)A1A0,端口选择信号,即 A1A0=00,通道0;A1A0=01,通道1;A1A0=10,通道2;A1A0=11,控制字寄存器,输入信号组合形成的控制功能,=0时,才能工作=0时,可向3个计数器和控制口写入数
4、据=0时,可从3个计数器读出数据,但不能读控制口。和 都为0时为非法操作。,3.计数器02,8253有3个相同而独立的计数器/定时器通道,每通道都含1个8位控制字寄存器、1个16位计数初值寄存器、1个16位计数执行部件、1个16位输出锁存器。执行部件是1个16位减法计数器,从寄存器初值开始减1计数。输出锁存器随时记录计数器的值,必要时可从中读出瞬时值。初值寄存器、执行部件、输出锁存器都是16位,也可分成高8位和低8位,作8位寄存器用。,写入计数初值后,在门控信号控制下,对CLK脚上的脉冲进行减1计数。计数结束时,从OUT引脚输出脉冲信号。定时时间=时钟脉冲周期tc预置的计数初值n例如:设计数脉
5、冲频率为0.5MHz,即脉冲周期tc=2s,若计数初值n=500,则计数器进行减1计数,减到0时,定时时间为:T=2s500=1ms。,4.控制字寄存器,控制字写入控制字寄存器。用来选定计数通道,各通道工作方式、读写格式和计数数制。,7.1.1 8253的内部结构和引脚信号7.1.2 初始化编程和门控信号功能7.1.3 8253的工作方式,7.1.2 初始化编程和门控信号功能,1.8253的初始化编程步骤1)先写入控制字 控制字用来选定计数通道,规定工作方式和计数格式。2)后写入计数初值n 写入8/16位计数初值。16位要执行2条OUT指令,先送低8位,后送高8位。二进制计数时,n=0000-
6、FFFFH,0表示65536,BCD计数时,n=0000-9999H,0表示10000。,例7.1,设8253的3个计数器口地址为3F0H、3F2H和3F4H,控制字寄存器地址为3F6H,要求通道0工作于方式3,采用BCD计数,计数初值n=1234H,试编写初始化程序。MOV AL,00110111B;控制字:选择通道0,先读/写;低字节,方式3,BCD计数 MOV DX,3F6H;指向控制口 OUT DX,AL;写入控制字 MOV AL,34H;计数值低字节 MOV DX,3F0H;指向计数器0端口 OUT DX,AL;先写入低字节 MOV AL,12H;计数值高字节 OUT DX,AL;后
7、写入高字节,2.门控信号控制功能,写入计数初值后,方式0,2,3,4,在GATE为高电平时允许计数。方式1,5,由GATE的上升沿触发计数。,7.1.1 8253的内部结构和引脚信号7.1.2 初始化编程和门控信号功能7.1.3 8253的工作方式,7.1.3 8253的工作方式,方式0:计数结束中断,输出一个正跳变方式1:可编程单稳输出,输出一个宽度可调的负脉冲方式2:比率发生器,输出序列负脉冲方式3:方波发生器,方式2,3均可n分频方式4:软件触发选通,写入n开始计数方式5:硬件(GATE上升沿)触发选通,各工作方式的共同点,写入控制字后,进入选中的工作方式,输出端OUT进入初始态:方式0
8、输出低电平,其余均输出高电平。写入计数初值后在GATE控制下计数。如允许计数,要经过1个时钟脉冲的上升沿,到下降沿时计数器执行部件才开始减1计数。下面讨论中,黄色部分为要求掌握的基本工作原理。计数过程中,有的允许改变计数初值,有的允许GATE多次触发计数,有的重新装入初值从头开始计数,各不相同。这些内容用绿色表示,大致了解即可。,方式0计数结束中断,向计数通道写入计数初值n,OUT置为0。只有GATE=1才能进行计数。n写入1个CLK后才开始减1计数,在(n1)个CLK后计数值减为0,从OUT输出1个正跳变可作中断请求信号。计数过程中可重写或改变计数值。,计数初值m=5,方式1可编程单稳输出,
9、写入控制字置为方式1,OUT变低。装入计数初值,GATE产生时,才启动计数。计数器减为0时,OUT由低变高,产生1个负脉冲。允许当前计数未完时,由GATE多次触发计数,OUT输出会保持N个CLK脉宽的低电平。下个GATE到来时将初值n重装入,从n开始计数。,方式2比率发生器,GATE=1,写入计数初值n后减1计数,减到1时OUT输出1个与CLK脉冲等宽的负脉冲,然后自动装入n,重新开始计数。这样,每隔n个时钟脉冲就会输出1个负脉冲,对时钟脉冲进行n分频。计数过程中装入新初值n后,下次计数时按n计数。GATE变低停止计数,由低变高后重装入初值计数。,方式3方波发生器,类似于方式2,对时钟脉冲进行
10、n分频,但输出方波。若初值为偶数,每次减2,减到0时OUT=0;又从初值起减2,减到0时OUT=1,不断循环进行,输出一系列对称方波。若初值为奇数,先减1,后每次减2,减到0时OUT=0;又从初值起先减3,后每次减2,减到0时OUT=1,循环进行,输出不完全对称方波。计数过程中GATE变低,停止计数。变高后,重新从n开始计数。,方式4软件触发选通,GATE=1,写入计数初值n后,触发减1计数,减到0时输出1个脉宽的单个负脉冲,n一次有效。如要继续计数,必须重新装入n。计数过程中GATE变低,停止计数,由低变高后,重新装入初值开始计数,减到0后输出一个负脉冲。,方式5硬件触发选通,写入计数初值后,等GATE产生正跳变,由硬件触发计数。计数值减到0,输出1个脉宽的负脉冲,并自动装入计数初值,但不计数,仍要等硬件触发计数。计数过程中,允许当前计数未完时的多次重触发,从计数初值开始计数。也允许写入新计数值,硬件触发按新初值计数。,