




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第九章 可编程计数器/定时器8253及应用9-1 8253工作原理 一、8253的内部结构与引脚信号 二、8253的初始化编程 三、8253的工作方式 四、8253与系统的连接 9-2 8253的应用举例 一、8253定时功能举例 二、8253计数功能举例9-1 8253工作原理 u计算机中,经常用到定时功能,如:动态RAM刷新、系统时间、日历、定时检测参数等都需要定时信号。 u实现定时功能主要有三种方法: 1、软件定时 2、不可编程的硬件定时 3、可编程的硬件定时 u软件定时(也称软件延时) 定时时间由软件编程(循环执行某段程序)来控制。方法简单、费用低;但CPU的利用率低。 u不可编程的
2、硬件定时 定时时间由不可编程器件和外围电路控制,通过改变电路参数,可在一定的范围内改变定时时间,定时精度不高。如:555芯片。 u可编程的硬件定时 定时时间和范围是通过软件对可编程器件进行编程控制,由CPU的时钟信号提供时间基准,定时精确。与CPU并行工作,应用比较广泛,如8253,8254。三种定时方法uIntel 8253是一种可编程的计数器/定时器芯片。 u8253内部具有3个独立的16位计数器通道,通过对它进行编程,每个计数器通道均有6种工作方式,并且都可以按2进制或10进制2种格式进行计数,最高计数频率能达到2MHz。 8253还可用作可编程方波频率产生器、分频器、程控单脉冲发生器等
3、。8253综述 一、8253的内部结构与引脚信号1、数据总线缓冲器 u一个8位双向的三态缓冲器,作为8253和系统数据总线之间的接口; u实现CPU与8253之间数据的传送; u传送信息包括: u进行初始化编程时的控制字 C向某一计数器通道写入的计数初值 C从某一计数器通道读出的当前计数值 各部分功能简介2、读/写控制逻辑 u接收系统送来的地址和读写信号,组合后形成控制信号对各部分操作进行控制。 各部分功能简介3、计数器02 u8253内部包含3个完全相同且独立的计数器通道 u每个通道的内部构成: u一个8位的控制字寄存器 C一个16位的计数初值寄存器(CR) C一个16位计数器执行部件(CE
4、) C16位的输出锁存器(OL) u每个通道的外部引脚:CLK、GATE、OUT u工作原理:设置工作方式、预置初值、减1计数 u两种功能:计数、定时各部分功能简介CS计数器0# VCC 控制寄存器 GND CRH CRL 计数器寄存器(CR) GATE0 CLK0 CEH CEL 计数单元(CE) OUT0 OLH OL 输出锁存器(OL) GATE 1 计数器 1# CLK1 OUT1 GATE2 计数器 2# CLK2 OUT2D0D7地址 译码地址线A1 A0RDWR4、控制字寄存器 uCPU用输出指令向它写入控制字,设置8253工作环境 u控制字格式:各部分功能简介0 0 0 方式0
5、 0 0 1 方式1 X 1 0 方式2 X 1 1 方式3 1 0 0 方式4 1 0 1 方式5选择计数器 00 选择计数器0的控制寄存器 01 选择计数器1的控制寄存器 10 选择计数器2的控制寄存器 11 非法值SC1SC0RL1RL0M2M1M0BCD00 将计数器中CE的数据锁存到输出锁存器OL中 01 选计数器的低8位字节读/写 10 选计数器的高8位字节读/写 11 计数器两次操作(先低位,后高位)读出,写入计数器0:二进制计数 1:十进制计数u8253的初始化编程按顺序分两步完成: 写入控制字;写入计数初值 1、写入控制字 u由OUT指令向控制字寄存器写入,用来选定计数器通道
6、、规定该计数器的工作方式和计数方式。 u写入控制字还起到复位作用,使输出端OUT变为规定的初始状态,并使计数器清0。 二、8253的初始化编程2、写入计数初值 u由OUT指令向某计数器送一个计数初值,可以是8/16位数据。 u若是8位数,一条OUT指令即可完成初值的设置;若是16位数,必须用两条OUT指令来完成,且先送低8位数据,后送高8位数据。 【注意】 u若计数初值为0时,要分成两次写入。0在二进制计数方式时,表示65536,BCD计数方式时,表示10000。 u三个计数器初始化没有先后顺序。 【例】 某微机系统中,8253的3个计数器端口地址分别为3F0H、3F2H和3F4H,控制端口地
7、址为3F6H,若要求8253的通道0工作于方式3,计数初值N0=1234,BCD方式计数,编写初始化程序。初始化编程举例初始化程序段如下: MOV AL,00110111B MOV DX,3F6H OUT DX,AL MOV AL,34H MOV DX,3F0H OUT DX,AL MOV AL,12H OUT DX,AL1、方式0计数结束中断方式 u时序图三、8253的工作方式 8253方式0CW=10HCLKGATEOUTWRLSB=66543210CRCE CR=6u工作过程 u写入控制字,OUT立即变为低; u写初值到计数寄存器(CR),若GATE为高电平,下一个时钟脉冲的下降沿将初值
8、装入计数执行部件(CE),才开始减1计数; u计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高,并一直保持到重新装入初值或设置新的工作方式。 u用途:方式0常用来对外部事件计数,利用OUT由低到高的变化中断请求信号。 8253方式0u两种特殊情况: 8253方式01CW=10HCLKGATEOUT 1 0WRLSB=44322210CRCE CR=40101GATE门控信号的改变u两种特殊情况: 8253方式0CR=3CW=10HCLKGATEOUTWRLSB=33213210CRCE CR=3LSB=3CRCE中途改变计数初值2、方式1可编程单稳态输出方式 u时序图8253方
9、式1CRCE 12CW=12HCLKGATEOUTWRLSB=330CRCE CR=3u工作过程 u写入控制字,OUT立即变为高,并保持不变。 u写计数初值N,只有当GATE形成一个上升沿时,才在下一个时钟脉冲的下降沿,将n装入实际计数器,同时OUT由高变为低,开始减1计数(再来一个脉冲)。 u计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高。 u用途:输出稳态负脉冲 OUT端输出负脉冲的宽度=时钟脉冲宽度计数值N。8253方式1u注意: 在计数过程中,GATE为高、低和下降沿,均不影响计数;但若又来一上升沿,则将计数初值重新装入实际计数器,重新开始计数,使OUT端的负脉冲变长
10、;8253方式13、方式2比率发生器 u时序图8253方式2CRCECRCECW=14HCLKGATEOUTWRLSB=33210 3210 3CRCE CR=321u工作过程 u写控制字,OUT为高。 u写计数初值,若GATE为高电平,则在下一个时钟脉冲下降沿,将计数初值装入CE,开始减1计数。 u当计数值减为1时,OUT由高变低,减为0时,OUT又变为高,即OUT输出一个时钟周期的负脉冲;同时,自动将计数初值装入计数执行部件,开始新一轮的计数过程。 u用途:分频器 若计数器的初值为n,则OUT引脚产生的波形频率为时钟脉冲频率的n分之一。8253方式2u注意: (1)任何时候重新写入新的计数
11、初值,当原计数值减为0时,才按新写入的计数值进行计数;(2)计数过程中,当GATE再产生上升沿时,在下一个时钟脉冲下降沿,重新将计数初值装入实际计数器,开始减1计数。8253方式24、方式3方波发生器 u时序图8253方式3CRCECW=16HCLKGATEOUTWRLSB=44242424CRCE CR=424计数初值为偶数时的波形CRCECRCECRCE8253方式32CRCE CW=16HCLKGATEOUTWRLSB=5542554CR=525计数初值为奇数时的波形CRCECRCECRCE5、方式4软件触发选通 u时序图8253方式4CR=2CRCECW=18HCLKGATEOUTWR
12、LSB=22102100CRCE CR=2LSB=26、方式5硬件触发选通 u时序图8253方式5CRCE CRCE 12CW=1AHCLKGATEOUTWRLSB=330 3332CRCE CR=37、各种工作方式特点小结 u方式0:写入控制字后,OUT即变低,计数结束后,OUT由低变高;方式1 5:写入控制字后,OUT均变高。 方式0、1和4:计数初值装进计数器后,仅计数一次;方式2、3和5:计数值为0后,自动将计数初值装进实际计数器。 启动方式:方式0、4为软件启动;方式1、5为硬件启动;方式2、3为软件、硬件均可启动门控信号GATE的控制功能四、8253与系统的连接应用步骤: u与系统
13、连接 u设置工作方式 u置计数初值 两种功能: u定时功能应用 u计数功能应用8-2 8253的应用举例 软件程序设计硬件电路设计【例1】用8253产生各种定时波形。 在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能: (1)通道0工作于方式3,输出频率为2kHz的方波; (2)通道1产生宽度为480us的单脉冲; (3)通道2用硬件方式触发,输出单脉冲,时间常数为26。一、8253定时功能举例分析: u8253端口地址 因8253基地址为310H,所以通道03、控制端口地址分别为310H,312H,
14、314,316H。 u硬件电路设计C B AG2BG2AG11MHz方波方波74LS1388086 D7D0 A9 A8M/IO RD WR A7 A6A5A4 A3 A0A2 A1Y4 CS CLK08253 D7D0 RD WR A1 A0CLK1CLK2GATE0OUT0GATE1OUT1GATE2OUT22kHz方波方波+5V负脉冲负脉冲480us宽单脉冲宽单脉冲u工作方式选择及初值计算 通道0工作于方式3,计数初值为N0=1MHz/2kHz=500。 通道1工作在方式1,计数初值为N1=480s/1s=480。 通道2工作在方式5,计数初值为N2=26。1)通道0初始化程序 MOV
15、DX,316H ;控制口地址 MOV AL,00110111B ;通道0控制字 OUT DX,AL MOV DX,310H ;通道0地址 MOV AL,00H ;先写低字节 OUT DX,AL MOV AL,05H ;后写高字节 OUT DX,ALu初始化程序2)通道1初始化程序 MOV DX,316H ;控制口地址 MOV AL,01110011B ;通道1控制字 OUT DX,AL MOV DX,312H ;通道1口地址 MOV AL,80H ;先写低字节 OUT DX,AL MOV AL,04H ;后写高字节 OUT DX,ALu初始化程序3)通道2初始化程序 MOV DX,316H M
16、OV AL,10011011B ;通道2控制字 OUT DX,AL MOV DX,314H ;通道2地址 MOV AL,26H ;只写入低字节 OUT DX,AL u初始化程序【例2】利用8253控制LED的点亮或熄灭。 要求:循环点亮10秒钟后再让它熄灭10秒钟(周期为20秒),设计接口电路并编程实现。这里8253的各端口地址为81H,83H,85H和87H,时钟信号频率为2MHz。 分析: u总体思路 对8253编程,输出周期为20秒的方波信号,就能使LED交替亮灭。 u时间常数计算 输出频率:(1/20)Hz 时间常数:2M/(1/20)=40M 一个通道的计数初值最多为65536,所以
17、采用多通道级联的方法实现。让通道0和通道1都工作在方式3,通道1的CLK端接通道0的OUT。只要满足两个计数初值的乘积为N0*N1=40M即可,所以通道0的计数初值若为:5000;则通道1的则为:8000。 u硬件电路设计 这种设计加上适当的驱动电路后,便可以用在交通红绿灯控制和灯塔等场合 。u8253的初始化程序 MOV AL,00110111B ;通道0 方式3 BCD计数 OUT 87H,AL MOV AL,00H OUT 81H,AL MOV AL,50H OUT 81H,AL MOV AL,01110111B ;通道1 方式3 BCD计数 OUT 87H,AL MOV AL,00H
18、OUT 83H,AL MOV AL,80H OUT 83H,AL【例3】利用8253设计接口电路,对某工程生产线上的产品的数量进行统计。 u硬件电路设计二、8253计数功能举例A9A0 M/IO A2 A1RD WR I/O 译码译码LED +5V62 工件工件+5VRD WR CS A1 A0CLK1GATE1OUT1D7D0 去去8259的的IR074LS14D7D0光电晶体管u工作原理 u无工件通过时,光电晶体管导通,集电极为低电平,经74LS14整形后送到CLK1端; C有工件通过时,光电晶体管截止,集电极为高,整形后送到CLK1端,工件通过后又变为低。 C每通过一个工件CLK1端得到一个正脉冲信号,利用8253对脉冲进行计数,即可得到工件的个数。 C这种计数方案也可以用于其他场合,如:统计在高速公路上行驶的车辆数,进入工厂的人数。u编程思路 选择计数器1工作在方式0,二进制计数。若选取计数初值n499,则经过500个脉冲OUT1端输出一个正跳变。向CPU发出一次中断请求(或作为CPU查询的状态信号),表示计满500个,在程序中使工件总数加上500。同时由程序将计数初值499再装入计数器1,继续进行计数。u8253的初始化程序 设825
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度矿山事故水池建设与安全生产保障合同
- 二零二五年度城市别墅购房定金合同
- 2025年度景观施工项目安全监理合同
- 2025年度电视剧剧本编排与制作合同
- 二零二五年度广告传媒劳务派遣员工服务合同
- 酒店住宿意外事故责任免除与2025年度安全保障协议
- 二零二五年度老年赡养赡养金及医疗救助合同
- 办公区域搬迁安排及流程梳理通知
- 关于销售团队建设与管理的年度工作总结报告
- 美发店劳动合同协议书
- 2024解析:第十二章机械效率-基础练(解析版)
- 建筑工程项目合作备忘录
- 灵活用工管理
- 全媒体运营师试题库(含答案)
- 2024至2030年中国矿用隔爆型监控摄像仪行业投资前景及策略咨询研究报告
- 大学生职业素养训练(第六版)课件 第二单元学习职业礼仪
- 北京市燕山区中考一模英语试题及答案
- 脑卒中-脑卒中的康复治疗
- 2024至2030年中国超声波加工机床行业深度调研及发展预测报告
- 十七个岗位安全操作规程手册
- 疫情统计学智慧树知到答案2024年浙江大学
评论
0/150
提交评论