第8章8253ppt课件.ppt

上传人:sccc 文档编号:5116402 上传时间:2023-06-05 格式:PPT 页数:40 大小:724.53KB
返回 下载 相关 举报
第8章8253ppt课件.ppt_第1页
第1页 / 共40页
第8章8253ppt课件.ppt_第2页
第2页 / 共40页
第8章8253ppt课件.ppt_第3页
第3页 / 共40页
第8章8253ppt课件.ppt_第4页
第4页 / 共40页
第8章8253ppt课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《第8章8253ppt课件.ppt》由会员分享,可在线阅读,更多相关《第8章8253ppt课件.ppt(40页珍藏版)》请在三一办公上搜索。

1、第八章 可编程定时/计数器8253及其应用,计算机系统中,实现定时或延时有三种方法:软件定时、不可编程的硬件定时、可编程的硬件定时器。也可进行计数。8253为可编程的硬件定时/计数器。,8.1 Intel8253-PIT的工作原理,一.8253的功能,8253为可编程的硬件定时/计数器。,主要功能*具有3个独立的16位计数器通道;*每个计数器均可按二进制或二十进制计数;*每个计数器的计数速率高达2MHz;*每个通道有6种工作方式,可由程序设置和改变;*所有的输入输出都与TTL兼容。,二.8253的内部结构,*三个计数器(减法器)3个独立的16位减法器,可作定时/计数器使用;计数器按二/BCD方

2、式减法计数,从预常减到零时,OUT端输出一信号。,*数据总线缓冲器(传送信息)写控制字,写时间常数(计数初值),读计数值,*读写逻辑,*控制字寄存器(存放控制字),三.8253 的引线,*数据线(D7D0)*地址线:选择内部寄 存器;片内寻址 A1 A0=00、01、10、11 对应:通道0、1、2和控制口地址*控制线:完成片选和 读写操作。,*三个计数通道,可单独使用CLK:输入时钟脉冲线;GATE:门控信号输入线;分电平控制或上升沿控制两种OUT:输出引脚;当计数到“0”时,OUT 端输出一信号。具体波形由工作出方式决定。,计数初值寄存器,减一计数器,输出锁存器,CLKGATE,OUT,8

3、253计数通道结构,8253 编程结构(每一个通道的结构),8253使用:外部事件计数时:CLK上的计数脉冲有外部事件产生,间隔可以不等。定时时:CLK上输入精确的时钟脉冲。定时时间=预置的计数初值nCLK周期Tc 或=预置的计数初值n/时钟频率fc,8253输入信号组合的功能表,8253/8254的功能较差,没有复位信号,上电后,其工作方式是不确定的,输出信号OUT的电平不能确定(这在某些应用中是不允许的),CPU必须对其进行初始化,才能正常工作。8253/8254在单次、可重复触发的单稳和波特率发生器等方面功能较强。但没有输入捕获和输出比较功能,在精密时间测量和直流马达控制中很不方便。,四

4、.8253-PIT的控制字,0=二进制1=BCD,在8253的初始化编程中,由CPU向8253的控制字寄存器写入一个控制字来规定8253的工作方式。,五.8253-PIT的编程,8253-PIT初始化编程的步骤:,1.先写入通道控制字,规定通道的工作方式;(A1A0=11)2.再写入计数初值(由控制字的D7D6确定通道号)。若规定只写入低8位,则写入的为计数值的低8位,高8位自动置0;若规定只写入高8位,则写入的为计数值的高8位,低8位自动置0;若是16位计数值,则分两次写入,先写入低8位,再写入高8位。(同一计数器地址,写两次)BCD:0000H9999H(10000,19999)二进制:0

5、000HFFFFH(65536,165535)3.三个通道分别初始化,顺序任意。,初值写入后,要经过一个时钟脉冲的上升和下降沿,才将计数初值写入实际的计数器,然后在门控信号控制下,开始对CLK上的脉冲进行递减计数。,六.8253-PIT的工作方式,*CW写入,OUT=0;*写入计数初值,通道开始计数;*计数到零,OUT=1;*OUT是N+1个CLK后变高;*计数器只计数一遍(单次);*8253无中断控制,可用OUT信号作为中断请求。,*计数过程中,GATE变低,使计数暂停,变高后,继续计数。*计数过程中若改变计数初值,则按新的计数值开始新的计数。,1.方式0-计数结束中断方式,4,方式1(可编

6、程单稳),写入控制字,OUT=1,写入时常不计数;由GATE启动计数,下一个CLK的下降沿 OUT=0;计数到0,OUT=1。,单稳负脉冲宽度为N*TC由GATE重新启动;计数中,若GATE再次触发,则重新装入初值,重新计数。使输出负脉冲加宽;计数中,可改变计数初值,到再次触发后有效。,由硬件启动计数,可当限时器来用,方式2(波特率发生器),写入控制字OUT=1;写入时常后启动对CLK的计数;计数到1,OUT=0;一个CLK周期后,OUT=1,且自动重新计数。通道连续工作,不需重置时常;,计数过程中,GATE=0,OUT=1,计数暂停,GATE变高后重新计数;计数中,改变计数初值,到计数值为0

7、时,按新初值计数。,产生连续的负脉冲序列 FOUT=FCLK/N,方式3(方波速率发生器),*与方式2的区别在于:输出为周期是N个CLK脉冲的方波。*若计数值为偶数,每个CLK使计数值减2,计到0,OUT改变状态,重装计数值开始新的计数。,*若计数初值为奇数,第一个脉冲先减1,以后,每个CLK使计数值减2,计到0 时,OUT改变状态,重装计数值后,第一个脉冲减3,以后,每个CLK使计数值减2,计到0时,OUT改变状态。,*GATE信号控制计数过程同方式2;*计数过程中写入新的计数值,将在半周期结束时装入计数器。,FOUT=FCLK/N,例:要求计数器0工作于方式3,输出方波的频率为2KHz,计

8、数脉冲的频率为2.5MHz,采用BCD计数,试写出初始化程序段。,2.计数初值:N=2.5MHz/2KHz=1250,MOV AL,37HOUT 83H,ALMOV AL,50HOUT 80H,ALMOV AL,12HOUT 80H,AL,1.8253的端口地址为:80H,81H,82H,83H。,4.初始化程序段:,方式4(软件触发选通),*写入控制字OUT=1;*写入时常后启动CLK计数*计数到0,OUT=0;*一个CLK周期后,OUT=1,计数器停止计数。*计数器只计数一遍(单次)*OUT是N+1个CLK后变低;,*计数过程中,GATE=0,计数暂停,为高后重新计数;*若在计数过程中,改

9、变计数值,则按新的计数值重新开始计数。,方式5(硬件触发选通),*写入控制字OUT=1;*写入常数后,由GATE的上升沿启动计数;*计数到0,OUT=0;*一个CLK周期后,OUT=1,计数器停止计数。,*计数器只计数一次;*OUT是N+1个CLK后变低;*在计数过程中出现的GATE脉冲,将使计数器重新开始计数,对输出状态没有影响;*若在计数过程中改变计数值,只要没有GATE信号触发,不影响计数过程。有新的GATE信号触发则按新的计数值开始计数。,七.8253-PIT工作方式小结,1.输出端OUT的初始状态 只有方式0是在写入控制字后输出为低,其它均为高;,2.计数初值的设置 任一种方式,只有

10、在写入计数值后才能开始计数。方式0、2、3、4在写入计数值后,计数自动开始方式1、5需外部触发,才开始计数。,计数初值N与输出波形的关系,各种工作方式的输出波形,方式 0,方式 1,方式 2,方式 3,方式 4,方式 5,0,N,0,N,0,N,0/N,1,1,0,N,N/2,N/2,0/N,0,N,0 1,N,0 1,N,0 1,3.门控信号的作用-GATE输入总是在CLK输入时钟的上升沿被采样。在方式0,2,3,4中,GATE输入是电平起作用。在方式1,2,3,5中 GATE输入是上升沿起作用的。,4.在计数过程中改变计数值立即有效是写入计数值后的下一个CLK脉冲后,新的计数值开始起作用。

11、,5.计数到0后计数器的状态计数器减到0后并不停止,在方式0,1,4,5,计数器减到0后从FFFF/9999继续计数。方式2,3是连续计数,计数器自动装入计数值后,继续计数。,例1:某8253端口地址为F8HFBH,欲用通道0以方式1,按BCD计数,计数值为5080。,1.确定通道控制字;2.计数值的低8位为80;3.计数值的高8位为50。,初始化程序为:MOV AL,33HOUT 0FBH,ALMOV AL,80HOUT 0F8H,ALMOV AL,50HOUT 0F8H,AL,在计数过程中,8253读计数器现行值的方法:(将计数值存入内部锁存器),MOV AL,03H;计数器0的锁存命令O

12、UT 0FBH,AL;写入控制寄存器IN AL,0F8H;读低8位MOV CL,AL;存入CL中IN AL,0F8H;读高8位MOV CH,AL;存入CH中,8.2 Intel8253-PIT的应用举例,例2:用8253产生各种定时波形。要求:,(1)通道0输出频率为2KHz的方波;(2)通道1产生宽度为1ms的负脉冲;(3)通道2以硬件方式触发,输出单脉冲时常为26。,已知:8253基地址为310H,3通道所用时钟脉冲频率为1MHz。,通道0工作于方式3,控制端GATE0接+5V,时间常数 N0=1MHz/2KHz=500;通道1工作于方式1,由控制端GATE1的正跳变触发,OUT1的宽度为

13、时常,单次触发,时间常数 N1=1ms/0.001ms=1000通道2工作于方式5,由控制端GATE2的正跳变触发,可连续触发,时间常数N2=26。,分析:,;通道0初始化程序MOV DX,316HMOV AL,00110111BOUT DX,ALMOV DX,310H MOV AL,00HOUT DX,ALMOV AL,05HOUT DX,AL,;通道1初始化程序MOV DX,316HMOV AL,01110011BOUT DX,ALMOV DX,312H MOV AL,00HOUT DX,ALMOV AL,10HOUT DX,AL,;通道2初始化程序MOV DX,316HMOV AL,10

14、011011BOUT DX,ALMOV DX,314H MOV AL,26HOUT DX,AL,例3:设定时器0、定时器1工作于方式2,外部提供一个时钟,频率f=2MHZ。要求定时器1每5ms产生一个脉冲,定时器0每5s产生一个脉冲。1).一个定时器的最大定时时间:65536/(2*106)=0.032768 s=32.768ms2).将定时器1的CLK1接2MHZ时钟,计数初值:3).将定时器1的OUT1端接到定时器0的CLK0端,定时器0的计数初值:,每5ms产生一个脉冲,例4:8253控制LED。要求:LED点亮10秒,熄灭10秒,分析:8253的地址线与CPU高8位数据线D8D15相连

15、,8253的各端口的地址为81H、83H、85H、87H。OUT1输出占空比为1:1的方波,8253端口1工作在方式3。,时钟频率为2MHz时,16位计数通道的最大定时时间为:0.5s65536=32.768ms,级连:通道0输出400Hz脉冲(时常5000),通道1输出0.05Hz方波(时常8000)。,;通道0初始化程序MOV AL,00110101BOUT 87,ALMOV AL,00HOUT 81,ALMOV AL,50HOUT 81,AL,;通道1初始化程序MOV AL,01110111BOUT 87,ALMOV AL,00HOUT 83,ALMOV AL,80HOUT 83,AL,

16、例5:用8253设计一个自动计数系统(计数500向CPU提出中断申请)。,8253端口地址:F0H,F2H,F4H,F6H,,8253工作方式:计数器1工作于方式0,按BCD计数,先读写低字节,后读写高字节。,;通道1初始化程序MOV AL,01110001BOUT 0F6H,ALMOV AL,99HOUT 0F2H,ALMOV AL,04HOUT 0F2H,AL,;读通道1计数值程序MOV AL,01000000BOUT 0F6H,ALIN AL,0F2HMOV AH,ALIN AL,0F2HXCHG AH,AL,当前计数值的读取(1)利用GATE控制信号,使计数器停止计数。故干扰了计数过程

17、,需要硬件电路配合。(2)利用计数器锁存命令锁存现行计数值,就可从相应的计数器通道中读取计数值。,第三节 Intel8253-PIT在PC/XT机中的应用,40H-43H,方式3,n=0,方式2,n=18,方式3,n=1331,本章要求掌握8253的功能掌握初始化编程的方法了解6中工作方式的特点会解决简单的问题,35,方式0 计数结束中断,GATE,OUT,CLK,0,3,1,2,4,写入4,写入方式0,WR,GATE:开关作用,设定工作方式设定计数初值计数值送入计 数器计数过程计数结束,36,方式1 可编程单稳脉冲,GATE,OUT,CLK,0,3,1,2,4,写入4,写入方式1,WR,GA

18、TE:触发作用,设定工作方式设定计数初值硬件启动计数值送入计 数器计数过程计数结束,37,方式2 频率发生器(分频器),0,3,1,2,4,GATE,OUT,CLK,写入4,写入方式2,0,3,1,2,4,0,3,1,2,4,0,3,1,2,4,WR,GATE:开关作用,38,方式3 方波发生器,0,3,1,2,4,GATE,OUT,CLK,写入4,写入方式3,0,3,1,2,4,0,3,1,2,4,0,3,1,2,4,WR,GATE:开关作用初值N为偶数:N/2脉冲数输出高,N/2脉冲数输出低初值N为奇数:(N+1)/2脉冲数输出高,(N-1)/2脉冲数输出低,39,方式4 软件触发选通信号,GATE,OUT,CLK,0,3,1,2,4,写入4,写入方式4,2,3,写入3,1,0,WR,GATE:开关作用,40,方式5 硬件触发选通信号,GATE,OUT,CLK,0,3,1,2,4,写入4,写入方式5,2,2,3,3,写入3,1,1,0,WR,GATE:触发作用,重触发:装计数值,触发,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号