- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 可编程计数器/定时器8253及应用;8.1 8253工作原理;软件定时(也称软件延时)
定时时间由软件编程(循环执行某段程序)来控制。方法简单、费用低;但CPU的利用率低。
不可编程的硬件定时
定时时间由不可编程器件和外围电路控制,通过改变电路参数,可在一定的范围内改变定时时间,定时精度不高。如:555芯片。
可编程的硬件定时
定时时间和范围是通过软件对可编程器件进行编程控制,晶振产生的时钟信号作为时间基准,定时精确。与CPU并行工作,应用比较广泛,如8253、8254。;Intel 8253是一种可编程的计数器/定时器芯片。
8253内部具有3个独立的16位计数器通道,通过对它进行编程,每个计数器通道均有6种工作方式,并且都可以按2进制或10进制两种格式进行计数,最高计数频率达到2MHz。
8253还可用作可编程方波频率发生器、分频器、程控单脉冲发生器等。;一、8253的内部结构???引脚信号(P233);1、数据总线缓冲器
一个8位双向的三态缓冲器,作为8253和系统数据总线之间的接口。
实现CPU与8253之间信息的传送。
传送信息包括:
进行初始化编程时的控制字
向某一计数器通道写入的计数初值
从某一计数器通道读出的当前计数值;2、读/写控制逻辑
接收系统送来的地址和读写信号,组合后形成控制信号,对各部分操作进行控制。;3、计数器0~2
8253内部包含3个完全相同且独立的计数器通道
每个通道的内部构成:
一个8位的控制字寄存器
一个16位的计数初值寄存器(CR)
一个16位计数器执行部件(CE)
16位的输出锁存器(OL)
每个通道的外部引脚:CLK、GATE、OUT
工作原理:设置工作方式、预置初值、减1计数
两种功能:计数、定时;CS;计数器工作原理;4、控制字寄存器(P308)
CPU用输出指令向它写入控制字,设置8253工作方式
控制字格式:;8253的初始化编程按顺序分两步完成:
先写入控制字;再写计数初值
1、写入控制字
由OUT指令向控制字寄存器写入,用来选定计数器通道、规定该计数器的工作方式和计数方式。
“写入控制字”具有复位作用,使输出端OUT变为指定的初始状态,并使计数器清0。;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方式计数,编写初始化程序。;门控信号GATE的控制功能(P310);1、方式0——计数结束中断方式
时序图;工作过程:
写入控制字,OUT立即变为低;
写初值到计数寄存器(CR),若GATE为高电平,下一个时钟脉冲的下降沿将初值装入计数执行部件(CE),才开始减1计数;
计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高,并一直保持到重新装入初值或设置新的工作方式。
用途:方式0常用来实现定时和对外部事件计数,利用OUT由低到高的变化发出中断请求信号。 ;两种特殊情况:;两种特殊情况:;2、方式1——可编程单稳态输出方式
时序图;工作过程
写入控制字,OUT立即变为高,并保持不变。
写计数初值N,只有当GATE形成一个上升沿时,才在下一个时钟脉冲的下降沿,将n装入实际计数器,同时OUT由高变为低,开始减1计数(再来一个脉冲)。
计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高。
用途:输出负脉冲
OUT端输出负脉冲的宽度=时钟脉冲宽度×计数值N。;注意:
在计数过程中,GATE为高、低和下降沿,均不影响计数;但若又来一上升沿,则将计数初值重新装入实际计数器,重新开始计数,使OUT端的负脉冲变长;;3、方式2——比率发生器
时序图;工作过程
写控制字,OUT为高。
写计数初值,若GATE为高电平,则在下一个时钟脉冲下降沿,将计数初值装入CE,开始减1计数。
当计数值减为1时,OUT由高变低,减为0时,OUT又变为高,即OUT输出一个时钟周期的负脉冲;同时,自动将计数初值装入计数执行部件,开始新一轮的计数过程。
用途:分频器
若计数器的初值为n,则OUT引脚产生的波形频率为时钟脉冲频率的n分之一。;注意:
(1)任何时候都可重新写入新的计数初值,但只有当原计数值减为0时,才按新写入的计数值进行计数;
您可能关注的文档
- 陆羽与《茶经》1材料.ppt
- 陆地和海洋材料.pptx
- 5、项目五气缸盖的拆装与维修材料.ppt
- 5.1发动机起动不良材料.ppt
- 1第一章原料(粘土)材料.ppt
- 1第一章综合布线系统材料.docx
- 1第一章组织成员关于组织形象的心理材料.ppt
- 鲁教版1.2人口迁移与人口流动材料.ppt
- 5.1内燃机缸内的气体流动侯献军发动机原理A,武汉理工大学,汽车工程学院动力系材料.pptx
- 5.2.3桩基础工程材料.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)