课件 CH8 可编程计数器定时器8253及应用_第1页
课件 CH8 可编程计数器定时器8253及应用_第2页
课件 CH8 可编程计数器定时器8253及应用_第3页
课件 CH8 可编程计数器定时器8253及应用_第4页
课件 CH8 可编程计数器定时器8253及应用_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

第8章可编程计数器/定时器8253及应用8.18253工作原理

一、8253的内部结构与引脚信号二、8253的初始化编程三、8253的工作方式

四、8253与系统的连接8.28253的应用举例

一、8253定时功能举例二、8253计数功能举例教材第8章内容8.18253工作原理计算机中,经常用到定时功能,如:系统时间、日历、动态RAM刷新、定时检测参数等都需要定时信号。实现定时功能主要有三种方法:

1、软件定时2、不可编程的硬件定时3、可编程的硬件定时软件定时(也称软件延时)定时时间由软件编程(循环执行某段程序)来控制。方法简单、费用低;但CPU的利用率低。不可编程的硬件定时定时时间由不可编程器件和外围电路控制,通过改变电路参数,可在一定的范围内改变定时时间,定时精度不高。如:555芯片。可编程的硬件定时定时时间和范围是通过软件对可编程器件进行编程控制,晶振产生的时钟信号作为时间基准,定时精确。与CPU并行工作,应用比较广泛,如8253、8254。三种定时方法Intel8253是一种可编程的计数器/定时器芯片。8253内部具有3个独立的16位计数器通道,通过对它进行编程,每个计数器通道均有6种工作方式,并且都可以按2进制或10进制两种格式进行计数,最高计数频率达到2MHz。8253还可用作可编程方波频率发生器、分频器、程控单脉冲发生器等。8253综述一、8253的内部结构与引脚信号(P233)1、数据总线缓冲器一个8位双向的三态缓冲器,作为8253和系统数据总线之间的接口。实现CPU与8253之间信息的传送。传送信息包括:进行初始化编程时的控制字向某一计数器通道写入的计数初值从某一计数器通道读出的当前计数值各部分功能简介2、读/写控制逻辑接收系统送来的地址和读写信号,组合后形成控制信号,对各部分操作进行控制。各部分功能简介3、计数器0~28253内部包含3个完全相同且独立的计数器通道每个通道的内部构成:一个8位的控制字寄存器一个16位的计数初值寄存器(CR)一个16位计数器执行部件(CE)16位的输出锁存器(OL)每个通道的外部引脚:CLK、GATE、OUT工作原理:设置工作方式、预置初值、减1计数两种功能:计数、定时各部分功能简介CS计数器0#

VCC控制寄存器GNDCRHCRL计数初值寄存器(CR)GATE0CLK0CEHCEL计数执行单元(CE)OUT0OLHOLL输出锁存器(OL)

GATE1计数器1#CLK1

OUT1

GATE2计数器2#CLK2OUT2D0~D7地址译码地址线A1A0RDWR计数器工作原理写控制字到控制寄存器(CW)设置工作方式写计数初值到计数寄存器(CR)将CR中的值送入计数执行单元CECE开始减1计数直到计数值为0GATE为有效信号,来个脉冲则开始减1计数4、控制字寄存器(P308)CPU用输出指令向它写入控制字,设置8253工作方式控制字格式:各部分功能简介000方式0001方式1X

10

方式2X

11

方式3100方式4101方式5选择计数器00选择计数器0的控制寄存器01选择计数器1的控制寄存器10

选择计数器2的控制寄存器11

非法值SC1SC0RL1RL0M2M1M0BCD00将计数执行器CE中的数据锁存到输出锁存器OL中01只读/写计数器的低8位10只读/写计数器的高8位11进行两次读/写操作(先低8位,后高8位)读写格式0:二进制计数1:十进制计数8253的初始化编程按顺序分两步完成:先写入控制字;再写计数初值1、写入控制字由OUT指令向控制字寄存器写入,用来选定计数器通道、规定该计数器的工作方式和计数方式。“写入控制字”具有复位作用,使输出端OUT变为指定的初始状态,并使计数器清0。二、8253的初始化编程2、写入计数初值由OUT指令向某计数器送一个计数初值,可以是8/16位数据。若是8位数,一条OUT指令即可完成初值的设置;若是16位数,必须用两条OUT指令来完成,且先送低8位数据,后送高8位数据。【注意】若计数初值为0时,要分成两次写入:

在二进制计数方式时,0表示65536;BCD计数方式时,0表示10000。②

三个计数器初始化没有先后顺序。【例】

某微机系统中,8253的3个计数器端口地址分别为3F0H、3F2H和3F4H,控制端口地址为3F6H,若要求8253的通道0工作于方式3,计数初值N=1234,BCD方式计数,编写初始化程序。初始化编程举例初始化程序段如下:

MOVAL,00110111B MOVDX,3F6HOUTDX,ALMOVAL,34H;低8位MOVDX,3F0HOUTDX,ALMOVAL,12H;高8位OUTDX,AL门控信号GATE的控制功能(P310)1、方式0——计数结束中断方式时序图三、8253的工作方式8253方式0CW=10HCLKGATEOUTWRCR=66543210CRCE工作过程:写入控制字,OUT立即变为低;写初值到计数寄存器(CR),若GATE为高电平,下一个时钟脉冲的下降沿将初值装入计数执行部件(CE),才开始减1计数;计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高,并一直保持到重新装入初值或设置新的工作方式。用途:方式0常用来实现定时和对外部事件计数,利用OUT由低到高的变化发出中断请求信号。8253方式0两种特殊情况:8253方式01CW=10HCLKGATEOUT1

0WRCR=44322210CRCE0101(1)GATE门控信号的改变两种特殊情况:8253方式0CW=10HCLKGATEOUTWRCR=33213210CRCECR=3CRCE(2)中途改变计数初值2、方式1——可编程单稳态输出方式时序图8253方式1CRCE12CW=12HCLKGATEOUTWRCR=330CRCE工作过程写入控制字,OUT立即变为高,并保持不变。写计数初值N,只有当GATE形成一个上升沿时,才在下一个时钟脉冲的下降沿,将n装入实际计数器,同时OUT由高变为低,开始减1计数(再来一个脉冲)。计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高。用途:输出负脉冲OUT端输出负脉冲的宽度=时钟脉冲宽度×计数值N。8253方式1注意:在计数过程中,GATE为高、低和下降沿,均不影响计数;但若又来一上升沿,则将计数初值重新装入实际计数器,重新开始计数,使OUT端的负脉冲变长;8253方式13、方式2——比率发生器时序图8253方式2CR

CECR

CECW=14HCLKGATEOUTWRCR=3321032103CRCE21工作过程写控制字,OUT为高。写计数初值,若GATE为高电平,则在下一个时钟脉冲下降沿,将计数初值装入CE,开始减1计数。当计数值减为1时,OUT由高变低,减为0时,OUT又变为高,即OUT输出一个时钟周期的负脉冲;同时,自动将计数初值装入计数执行部件,开始新一轮的计数过程。用途:分频器若计数器的初值为n,则OUT引脚产生的波形频率为时钟脉冲频率的n分之一。8253方式2注意:(1)任何时候都可重新写入新的计数初值,但只有当原计数值减为0时,才按新写入的计数值进行计数;(2)计数过程中,GATE变低时,禁止计数,且OUT变为高;当GATE再产生上升沿时,在下一个时钟脉冲下降沿,重新将计数初值装入实际计数器,开始减1计数。8253方式24、方式3——方波发生器时序图8253方式3CR

CECW=16HCLKGATEOUTWRCR=44242424CRCE24计数初值为偶数时的波形CR

CECR

CECR

CE8253方式32CRCECW=16HCLKGATEOUTWRCR=554255425计数初值为奇数时的波形CR

CECR

CECR

CE5、方式4——软件触发选通时序图8253方式4CR

CECW=18HCLKGATEOUTWRCR=22102100CRCECR=26、方式5——硬件触发选通时序图8253方式5CRCECRCE12CW=1AHCLKGATEOUTWRCR=3303332CRCE7、各种工作方式特点小结(P314)方式0:写入控制字后,OUT即变低,计数结束后,OUT由低变高;方式1~5:写入控制字后,OUT均变高。方式0、1和4:计数初值装进计数器后,仅计数一次;方式2、3和5:计数值为0后,自动将计数初值装进实际计数器。启动方式:方式0、4为软件启动;方式1、5为硬件启动;方式2、3为软件、硬件均可启动。门控信号GATE的控制功能(P310)四、8253与系统的连接应用步骤:与系统连接设置工作方式置计数初值两种功能:定时功能应用计数功能应用8.28253的应用举例软件程序设计硬件电路设计【例1】用8253产生各种定时波形。(P315)在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能:(1)通道0工作于方式3,输出频率为2kHz的方波;(2)通道1产生宽度为480us的单脉冲;(3)通道2用硬件方式触发,输出单脉冲,时间常数(计数初值)为26。一、8253定时功能举例分析:8253端口地址因8253基地址为310H,所以通道0~3、控制端口地址分别为310H,312H,314,316H。各地址线电平要求如下:控制3160110100011231400101000111312010010001103100000100011A0A1A2A3A4A5A6A7A8A9通道地址AA0A1BCG2BG2AG1硬件电路设计CBAG2BG2AG11MHz方波74LS1388086D7~D0

A9A8M/IORDWRA7A6A5A4A3A0A2A1Y4CSCLK08253D7~D0

RDWRA1A0CLK1CLK2GATE0OUT0GATE1OUT1GATE2OUT22kHz方波+5V负脉冲480us宽单脉冲工作方式选择及初值计算

通道0工作于方式3,计数初值为N0=1MHz/2kHz=500。通道1工作在方式1,计数初值为N1=480μs/1μs=480。通道2工作在方式5,计数初值为N2=26。1)通道0初始化程序

MOVDX,316H

;控制口地址

MOVAL,00110111B

;通道0控制字

OUTDX,ALMOVDX,310H

;通道0地址

MOVAL,00H

;先写低字节

OUTDX,ALMOVAL,05H

;后写高字节

OUTDX,AL初始化程序2)通道1初始化程序

MOVDX,316H

;控制口地址

MOVAL,01110011B

;通道1控制字OUTDX,ALMOVDX,312H

;通道1口地址

MOVAL,80H

;先写低字节

OUTDX,ALMOVAL,04H

;后写高字节OUTDX,AL初始化程序3)通道2初始化程序MOVDX,316HMOVAL,10011011B;通道2控制字OUTDX,ALMOVDX,314H;通道2地址MOVAL,26H;只写入低字节OUTDX,AL初始化程序【例2】利用8253控制LED的点亮或熄灭。(P317)要求:循环点亮10秒钟后再让它熄灭10秒钟(周期为20秒),设计接口电路并编程实现。这里8253的各端口地址为81H,83H,85H和87H,时钟信号频率为2MHz。

分析:总体思路对8253编程,输出周期为20秒的方波信号,就能使LED交替亮灭。时间常数计算输出频率:(1/20)Hz时间常数:2M/(1/20)=40M一个通道的计数初值最多为65536,所以采用多通道级联的方法实现。让通道0和通道1都工作在方式3,通道1的CLK端接通道0的OUT。只要满足两个计数初值的乘积为N0*N1=40M即可,所以通道0的计数初值若为:5000;则通道1的则为:8000。硬件电路设计

这种设计加上适当的驱动电路后,便可以用在简单的交通灯控制和灯塔等场合。8253的初始化程序

MOVAL,00110111B

;通道0方式3

BCD计数

OUT87H,ALMOVAL,00HOUT81H,ALMOVAL,50HOUT81H,ALMOVAL,01110111B;通道1方式3

BCD计数OUT87H,ALMOVAL,00HOUT83H,ALMOVAL,80HOUT83H,AL【例3】利用8253设计接口电路,对某工程生产线上的产品的数量进行统计,每500个产品进行一次统计。(P318)硬件电路设计二、8253计数功能举例A9~A0

M/IOA2A1RDWRI/O译码LED+5V产品+5VRDWRCS8253A1A0CLK1GATE1OUT1D7~D0

去8259的IR074LS14D7~D0光电晶体管工作原理无产品通过时,光电晶体管导通,集电极为低电平,经74LS14整形后送到CLK1端;有产品通过时,光电晶体管截止,集电极为高,整形后送到CLK1端;产品通过之后又变为低。每通过一个产品CLK1端得到一个正脉冲信号,利用8253对脉冲进行计数,即可得到产品的个数。这种计数方案也可以用于其它场合,如:统计在高速公路上行驶的车辆数,进入工厂的人数等。编程思路选择计数器1工作在方式0,二进制计数。选取计数初值n=499,则经过500个脉冲OUT1端输出一个正跳变。向CPU发出一次中断请求(或作为CPU查询的状态信号),表示计满500个,在程序中使产品总数加上500。同时由程序将计数初值499再装入计数器1,继续进行计数。8253的初始化程序假设8253的4个端口地址:F0H,F2H,F4H和F6H,则初始化程序为(与P319对比):MOVAL,01110000BOUT0F6H

温馨提示

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

评论

0/150

提交评论