




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术第8章
可编程定时/计数器8253本章内容8.1概述
8.1.1定时/计数的基本概念
8.1.2实现定时和计数的方法8.2可编程计数器/定时器82538.2.18253的主要功能
8.2.28253的引脚结构及功能说明
8.2.38253的工作方式
8.2.48253的方式控制字和初始化编程
8.2.58253的应用设计举例本章要点了解实现定时/计数的基本概念和实现方法了解可编程定时/计数器8253的主要功能了解可编程定时/计数器8253的引脚及功能说明掌握可编程定时/计数器8253的工作方式掌握可编程定时/计数器8253的控制字和初始化编程掌握可编程定时/计数器8253的应用设计编程8.1概述8.1.1定时/计数的基本概念所谓定时/计数就是通过硬件或软件的方法产生一个时间基准,以此来实现对系统的定时或延时控制。8.1.2实现定时和计数的方法(1)软件定时:即让计算机执行一个专门的指令序列(也称延时程序),由执行指令序列中各条指令所花费的时间来构成一个固定的时间间隔,从而达到定时或延时的目的。通过恰当地选择指令并安排循环次数则可很容易地实现软件定时。优点:不需增加硬件设备,只需编制有关延时程序即可。缺点:执行延时程序要占用CPU的时间开销,延时时间越长,这种时间开销越大,浪费了CPU资源。8.1.2实现定时和计数的方法(2)不可编程的硬件定时:即采用电子器件构成定时电路,通过调整和改变电路中的定时元件(如电阻和电容)的数值大小,实现调整和改变定时的数值与范围。优点:不占用CPU时间,电路也不复杂。缺点:缺少灵活性,电路连接好以后,定时值和定时范围不能改变。(3)可编程定时/计数器:可以通过软件的方法很容易地加以确定和改变定时值及其调整范围,定时精确,使用灵活方便,在三种定时方法中使用最为广泛。8.2可编程定时/计数器82538.2.18253的主要功能:(1)具有三个独立的16位计数通道;(2)每个计数器通道都可按照二进制或BCD计数;(3)每个计数器通道的计数速率最高可达2MHz;(4)每个计数器通道有6种工作方式,均可由程序设置和改变;(5)所有输入输出都与TTL电平兼容。8253的读写操作对系统时钟没有特殊要求,因此它几乎可以应用于任何一种微机系统中,可作为可编程的事件计数器、分频器、方波发生器、实时时钟及单脉冲发生器等。8.2.28253的内部结构与外部引脚
如图8.1所示。8253的内部由数据总线缓冲器、读/写控制逻辑、控制寄存器和3个独立的计数器通道所组成。1.8253的内部结构框图10计数器结构示意图预置寄存器GATECLKOUT减1计数器输出锁存器8.2.28253的内部结构与外部引脚2.8253的引脚结构及功能说明:D0~D7:数据线,与系统数据总线相连。A0、A1:地址线,用于选择计数通
道。其功能如表8.1所示。
表8.1A0、A1功能说明A0A1功能说明00可选择计数器001可选择计数器110可选择计数器211可选择控制寄存器8.2.28253的内部结构与外部引脚/:读/写控制信号,低电平有效。:片选信号,低电平有效。A0、A1、、、各信号配合实现8253的读/写操作,如表8.2所示。表8.2各信号配合实现8253的读/写操作2.8253的引脚结构及功能说明:8.2.28253的内部结构与外部引脚CLK0~2:计数器0~2的时钟输入端。GATE0~2:计数器0~2的门控信号输入端,用于控制计数器工作或者复位。OUT0~2:计数器0~2的输出端,由它连接外部设备以控制其启停。2.8253的引脚结构及功能说明:8.2.38253的工作方式(1)工作过程:工作波形如图。
控制字CW写入控制寄存器后,在写信号的上升沿,输出信号OUT变为低电平且在计数过程中一直维持低电平。8253的每个通道均可以通过编程选择6种工作方式如图,满足以上两个条件后(计数初值N=4),在每个CLK时钟下降沿,计数器进行减1计数,直到计数值减到0时,输出OUT变为高电平,并且一直保持到该通道重新装入计数初值或重新设置工作方式为止。1.方式0:计数结束产生中断开始计数要有两个条件:一是门控信号GATE必须为高电平,二是写入计数器初值。8.2.38253的工作方式①方式0是一种单次计数工作方式,即:写入一次初值,触发一次计数,不会自动恢复计数初值重新开始计数。②若计数初值为N,则输出OUT是在N+1个CLK脉冲之后才变为高电平。③在计数过程中,可由门控信号GATE暂停计数。当GATE为低电平,则计数暂停;当GATE为高电平,则接着计数。其工作波形如图所示。④在计数过程中也可改变计数值。在写入新的计数值后,计数器将立即按新的计数值重新开始计数。1.方式0:计数结束产生中断(2)方式0的主要特点:162.方式1(可编程单稳脉冲)①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK
031244方式1WR8.2.38253的工作方式(1)工作过程:工作波形如图。
2.方式1:可重复触发的单稳态触发器写入控制字后,输出信号OUT为高电平,写入计数初值后,计数器并不马上开始计数,而由门控信号GATE上升沿触发启动计数,此时OUT输出低电平,并在CLK脉冲下降沿进行减1计数,直到计数值减到0时,输出OUT变为高电平。这样,输出端就产生一个宽度为N个时钟周期的负脉冲。8.2.38253的工作方式(2)方式1的主要特点:
2.方式1:可重复触发的单稳态触发器①可重复触发的单次脉冲,即:当计数到零后,不用再次送计数初值,只要再次由GATE触发,8253可以再输出一个同样宽度的单稳脉冲,如图8.6所示。②若设置的计数初值为N,则输出的单稳脉冲的脉宽为N个CLK时钟周期间隔。③如果在计数器未减到零时,GATE又一次触发,则计数器将从初值开始重新计数,从而使输出负脉冲加宽。④在计数过程中,改变计数初值,计数过程不受影响。只有再次出发启动后,计数器才开始按新计数值输出单稳脉冲。8.2.38253的工作方式(1)工作过程:工作波形如图。
3.方式2:分频器写入控制字后,输出端OUT变成高电平。写入计数初值后,如果GATE为高电平,计数器开始减1计数。减到1时(不是0),输出端OUT变为低电平,维持一个CLK周期,然后输出OUT又变成高电平,同时从初值开始新的计数过程。8.2.38253的工作方式(2)方式2的主要特点:
3.方式2:分频器①方式2是一种连续计数的工作方式。不用重新设置计数值,通道能连续工作,输出固定频率的脉冲。如果计数初值为N,则每输入N个CLK脉冲,输出一个负脉冲,即输出CLK脉冲的N分频信号,故方式2称为分频器。②计数过程可由GATE信号控制。当GATE信号为低电平时,立即暂停现行计数;当GATE信号为高电平,从计数初值开始重新计数。③如果在计数过程中,重新写入计数值,则对于正在进行的计数无影响,而是直到计数器减到1之后,才装入新的计数初值进行计数。8.2.38253的工作方式(1)工作过程:工作波形如图。
4.方式3:方波发生器写入控制字后,输出为低电平,计数器装入初值后,输出立即跳变为高电平,若此时GATE信号为高电平,则开始计数。若计数初值N为偶数,则在前N/2计数过程中,输出为高电平;在后N/2计数过程中,输出为低电平。若N为奇数,则在前(N+1)/2计数过程中,输出为高电平;在后(N-1)/2计数过程中,输出为低电平。当计数器减到0时,重新装入当前计数值,开始新的计数。工作波形如图8.8所示。(a)计数初值为偶数波形图(b)计数初值为奇数波形图224.方式3(方波频率发生器)03124GATEOUTCLK
4方式3031240312403124WR8.2.38253的工作方式(2)方式3的主要特点:
4.方式3:方波发生器①方式3和方式2的工作情况类似,是一种连续计数的工作方式,只是其输出为方波(计数初值为偶数时为对称方波,计数初值为奇数时为基本对称方波),故称方式3为方波发生器。②如果在计数过程中,GATE信号变为低电平,则暂停现行计数过程,直到GATE再次有效,将从计数初值开始重新计数。③如果要求改变输出方波的频率,可在任何时候重新写入新的计数初值,并从下一个计数操作周期开始改变输出方波的频率。8.2.38253的工作方式(1)工作过程:工作波形如图。
5.方式4:软件触发选通写入方式控制字后,输出立即变为高电平,一旦写入初值,经过一个CLK脉冲开始减1计数,计到0时,输出变为低电平,持续一个CLK脉冲周期后再恢复到高电平。这种工作方式不能自动重装初值。要启动下一次计数,必须重新写入计数初值。8.2.38253的工作方式(2)方式4的主要特点:
5.方式4:软件触发选通①方式4是一种单次计数工作方式,若要再次启动计数过程,则必须重新写入计数初值。②若设置计数初值为N,则在写入计数初值后的N+1个CLK脉冲,才输出一个负脉冲。负脉冲的宽度为1个CLK周期。③GATE为高电平时,允许计数;GATE为低电平时,禁止计数。所以,要实现软件启动,GATE应为高电平。④如果在计数过程中修改计数值,则计数器从下一CLK脉冲开始以新的计数值计数。即:计数过程中,修改计数初值会影响正在进行的计数,故称之为软件触发选通。8.2.38253的工作方式(1)工作过程:工作波形如图。
6.方式5:硬件触发选通写入方式控制字后,输出高电平。写入计数初值后,计数器并不立即开始计数,在GATE端输入上升沿触发信号后,计数开始。计数器减到0时,输出一个持续时间为一个时钟周期的负脉冲,然后输出恢复为高电平,并自动装入初值,等待下一个GATE触发信号。8.2.38253的工作方式(2)方式5的主要特点:
5.方式5:硬件触发选通①方式5也是一种单次计数工作方式。一次计数完成后,计数器自动重新装入计数初值,但停止计数,直到GATE上升沿才开始计数。②若设置计数初值为N,则在GATE上升沿触发后,经过N+1个CLK脉冲,才输出一个负脉冲。③在计数过程中,若GATE发生正跳变,则不管计数是否结束,都将开始新的计数。可以通过硬件电路产生得到门控信号GATE,所以叫硬件触发选通。④若在计数过程中改变计数值,不会影响正在进行的计数。只有当又出现GATE上升沿后,计数器才以新的计数值进行计数。8253工作方式小结8253各种工作方式功能及输出波形(计数初值为N)方式功能输出波形0单次计数,计数结束中断写入初值后在N+1个CLK脉冲之后输出变为高电平1可重复触发的单次脉冲输出宽度为N个CLK周期的负脉冲2分频器每隔N-1个CLK周期,输出1个CLK周期的负脉冲3方波发生器输出占空比为1/2或(N+1)/(2N)的连续方波4单次计数,软件触发选通写入初值后经N个CLK周期,输出1个CLK周期的负脉冲5单次计数,硬件触发选通GATE触发后经N个CLK周期,输出1个CLK周期的负脉冲8253工作方式小结
门控信号GATE在8253各种工作方式中的作用方式GATE低电平或变到低电平GATE上升沿GATE高电平0禁止计数不影响允许计数1不影响启动计数不影响2禁止计数并置输出为高电平初始化计数允许计数3禁止计数并置输出为高电平初始化计数允许计数4禁止计数不影响允许计数5不影响启动计数不影响8253工作方式小结改变计数初值对8253各种工作方式计数的影响方式改变计数初值的影响0立即有效1外部触发后有效2计数到0后有效3计数到0后有效4立即有效5外部触发后有效8.2.48253的方式控制字和初始化编程
方式控制字用于设置所选计数器的工作方式、计数形式等,格式如图8.11所示。1.8523的方式控制字8.2.48253的方式控制字和初始化编程8253是可编程接口芯片,使用前必须先对它进行初始化编程。
2.8253的读/写操作及初始化编程8253有3个计数通道,需逐个对各计数器分别进行初始化。如果采用二进制计数写入的计数初值,初值可在0000H~FFFFH之间选择;如果采用BCD格式,初值可在0000~9999之间选择。8253的初始化编程有以下两个步骤:向8253写入控制字:确定所选通道的工作方式和计数格式,
同时起到复位作用。向8253的通道写入计数初值:每个通道在写入控制字和计数初值之后开始工作。例8.1某微型计算机系统中8253的端口地址为40H~43H,要求计数器0工作在方式0,计数初值为0DEH,按照二进制计数;计数器1工作在方式2,计数初值为1000D,按BCD码计数。写出初始化程序。分析:根据题目要求,计数器0的方式控制字如下:例8.1某微型计算机系统中8253的端口地址为40H~43H,要求计数器0工作在方式0,计数初值为0DEH,按照二进制计数;计数器1工作在方式2,计数初值为1000D,按BCD码计数。写出初始化程序。分析:根据题目要求,计数器1的方式控制字如下:例8.1某微型计算机系统中8253的端口地址为40H~43H,要求计数器0工作在方式0,计数初值为0DEH,按照二进制计数;计数器1工作在方式2,计数初值为1000D,按BCD码计数。写出初始化程序。初始化程序如下:MOVAL,10H;写通道0控制字OUT43H,ALMOVAL,0DEH;写通道0计数初值OUT40H,ALMOVAL,65H;写通道1控制字OUT43H,ALMOVAL,10H;写通道1计数初值(BCD码的高8位)OUT41H,AL例8.2利用8253的计数器通道2产生频率f=100Hz的方波。设计数时钟脉冲的频率fCLK=1000kHz。写出初始化程序。分析:根据题目要求,产生方波信号,因此选择方式3。
方波信号频率为100Hz,时钟脉冲频率为1000kHz计数初值:N=fCLK/f=106/102=104=2710H。例8.2利用8253的计数器通道2产生频率f=100Hz的方波。设计数时钟脉冲的频率fCLK=1000kHz。写出初始化程序。初始化程序如下:MOVAL,101101110B;写通道2控制字OUTCOTR,ALMOVAX,2710H;写通道2计数初值(先写低8位,后写高8位)OUTCTN2,ALMOVAL,AHOUTCTN2,AL8.2.48253的方式控制字和初始化编程2.8253的读/写操作及初始化编程CPU可对8253的计数器进行读操作,以读出计数器的当前值。
■
方法一:利用门控信号GATE为低电平或关闭CLK脉冲,使计数操作暂停来读取当前的计数值。此时,应向8253控制寄存器中送入一个方式控制字,选择要读取的计数器并设定读写方式。当D5D4=01或10时,用一条IN指令即可读出当前计数值;当D5D4=11时,需要使用两条IN指令读取计数值,通常是先读低字节,再读高字节。■方法二:在计数过程中读出计数值,不影响计数器的工作。此时,应向8253的控制寄存器写入一个特定的方式控制字(D7D600××××),即锁存读指令,将所选中的计数器当前计数值锁存,随后用两条IN指令将计数值读出。在此过程中计数器的减1操作仍继续进行,这种读取计数值的方法称为锁存读,又叫做“飞读”。8.2.48253的方式控制字和初始化编程例:采用锁存读的方法,读取通道1的16位计数值2.8253的读/写操作及初始化编程写入特定方式控制字为:程序如下:MOVAL,40H;写入特定方式控制字OUTCOTR,ALINAL,CNT1;第一次读低8位MOVCL,ALINAL,CNT1;第一次读高8位MOVCH,AL40例:利用8253定时器1输出端OUT1输出信号控制LED灯循环点亮10秒钟后再让它熄灭10秒钟(周期为20秒),已知8253的各端口地址为81H,83H,85H和87H,提供的时钟信号频率为2MHz。要求设计接口电路并编程实现。分析:对8253定时器1编程,使其输出周期为20秒的方波信号,就能使LED交替亮灭。时间常数计算:已知输出周期为20秒,则输出频率为:(1/20)Hz。已知时钟频率为2MHz,则时间常数为:2*106/(1/20)=4*107。很显然,8253为16为定时/计数器,按照二进制计数最大时间常数初值为65536(初值为0),不能满足要求。必须采取2只定时器级联方式才能满足要求。41级联设计:就是让一只定时/计数器输出分频信号,作为另一只定时/计数器的时钟输入信号。本例中,我们让计数器0和计数器1都工作在方式3,让计数器0的OUT输出脉冲信号作为计数器1的时钟输入信号,即计数器0的OUT端输出接计数器1的CLK输入端。428253GATE0GATE1
CLK0OUT0CLK1OUT15V2MHZ方波I/O译码电路A7~A0M/IOCSA2A1A1A0D15~D8
RD
WRD7~D0
RDWR级联后时间常数计算:n0*n1=
2*106/(1/20)=4*107,n0与n1分别取5000与8000.8.2.58253的应用设计举例在IBM-PC/XT中,8253主要提供系统时钟中断、动态存储器刷新定时及扬声器发声控制等功能。8253的初始化是在计算机启动时由BIOS完成的。1.在IBM-PC/XT上的应用(1)硬件结构:8253在IBM-PC/XT系统板上的连接图如图8.12所示。8.2.58253的应用设计举例1.在IBM-PC/XT上的应用(2)三个计数通道的功能:①计数器0的作用:用于向系统日历时钟提供定时中断。BIOS初始化计数器0为工作方式3,初值预置为0,最大计数值为216,门控信号恒接+5V电源,因此OUT0输出信号的频率为:它直接连接到系统中断控制器8259A的中断请求线IRQ0上(即:计数器0每秒钟向中断控制器8259输出18.2次中断请求信号IRQ0,因此,每55ms发一次中断请求)。(1.19×106)/65536=18.2Hz其BIOS初始化程序如下:8.2.58253的应用设计举例1.在IBM-PC/XT上的应用(2)三个计数通道的功能:①计数器0的作用:用于向系统日历时钟提供定时中断。其BIOS初始化程序如下:MOVAL,36H;写方式控制字:通道0,先写低位,方式3,二进制计数OUT43H,ALMOVAL,0;写计数初值:预置为0,先写低位,后写高位OUT40H,ALOUT40H,AL另外,BIOS服务程序还利用中断计数产生硬盘驱动器在寻道操作中所需要的电路延迟。8.2.58253的应用设计举例1.在IBM-PC/XT上的应用(2)三个计数通道的功能:②计数器1的作用:向DMA控制器定时发动态存储器刷新请求。BIOS初始化计数器1为工作方式2,初值预置为18,门控信号恒接+5V电源,因此OUT1输出信号的频率为:(1.19×106)/18=66.1kHz相当于周期为15.1μs,即:每隔15.1μs产生一个动态RAM刷新的请求信号DRQ0。BIOS对8253计数器1的初始化程序如下:MOVAL,54H;写方式控制字:通道1,只写低8位,方式2,二进制计数OUT43H,ALMOVAL,12H;写计数初值:预置为18OUT41H,AL8.2.58253的应用设计举例1.在IBM-PC/XT上的应用(2)三个计数通道的功能:③计数器2的作用:用于控制扬声器发声。BIOS初始化计数器2为工作方式3,初值预置为533H,门控信号接并行输入输出接口8255A的PB0端,因而可用软件将其置1或置0,从而控制通道2的输出OUT2。而OUT2与8255A的PB1端相与后,通过驱动器芯片75477接至扬声器控制其发声。下面为BIOS的扬声器发声程序:BEEPPROCNEARMOVAL,54H;写方式控制字:通道2,低/高字节,方式3,二进制计数
OUT43H,ALMOVAX,0533H;写计数初值:预置为533H,先写低位,后写高位
OUT42H,ALMOVAL,AHOUT42H,ALINAL,61H;读8255的B口当前值
MOVAH,AL;暂存
ORAL,03H;使PB0=1,PB1=1,扬声器启动
OUT61H,ALSUBCX,CX;设置计数器等待500msG7:LOOPG7;延迟,控制发声时间
DECBLJNGG7MOVAL,AH;恢复端口BOUT61H,ALRETBEEPENDP8.2.58253的应用设计举例8.2.58253的应用设计举例2.其它应用举例8253具有定时、计数的功能,可以灵活设置输出各种波形,广泛应用于工业生成的各种控制电路中。例8.3为8253用于PWM(脉冲宽度调节)控制中。8.2.58253的应用设计举例2.其它应用举例例8.3在工业生产和仪器、仪表中,经常需要对交、直流电机进行转速的调节。有多种可以使用的调速方法,PWM(脉冲宽度调节)实现容易,调速准确,因此得到广泛的使用。用一个开关电源对电机供电,控制电源开、关的时间比例,就可以控制输出的有效电压,从而控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拓宽视野的健康管理师考试分享与试题及答案
- 2025年妇幼保健员考试综合素质培养试题及答案
- 茶艺师考试创意表达技巧试题及答案
- 妇幼保健员健康教育素材的选择与应用试题及答案
- 妇女健康干预措施的成效评测试题及答案
- 初级计算机及软件考试查缺补漏试题及答案
- 儿童疫苗接种知识与要求试题及答案
- 二零二五年度物流车辆租赁与供应链管理服务合同
- 二零二五年度中式快餐连锁店租赁与经营合作协议
- 二零二五年度婚姻财产管理及家庭事务处理合同范本
- 5.1 实数指数幂-中职数学教学设计(高教版2021基础模块 下册)
- 大学生心理安全教育(大学生安全教育课件)
- 艺考培训合作合同协议书2024年
- 人教版英语中考一轮教材梳理复习教案(七-九年)(共1份打包)
- 岩土工程领域的前沿技术与未来发展
- 国家开放大学电大《现代汉语》形考任务参考答案
- 2024年天津市北辰城市资源开发利用有限公司招聘笔试冲刺题(带答案解析)
- 幼儿园 中班数学公开课《分类》
- 人教版中考英语复习第一章近5年省卷高频词汇课件
- 专题10 平行四边形的存在性问题(原卷版)
- 专题06-投稿-高考英语应用文写作万能模板
评论
0/150
提交评论