微机原理及其应用第6章.ppt_第1页
微机原理及其应用第6章.ppt_第2页
微机原理及其应用第6章.ppt_第3页
微机原理及其应用第6章.ppt_第4页
微机原理及其应用第6章.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第6章 计数/定时技术,定时与计数技术及应用,定时/计数器 8253,了解定时/计数技术的应用情况,掌握8253的连接与编程,熟习8253的工作方式,6.1 概 述,定时器和计数器都由数字电路中的计数电路构成。 前者记录高精度晶振脉冲信号,因此可以输出准确的时间间隔,称为定时器, 而当记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数,称为计数器。,1. 软件定时,CPU执行每条指令需要一定的时间,重复执行一些指令会占用一段固定的时间,适当地选取指令和循环次数便很容易实现定时功能 这种方法不需要增加硬件,可通过编程来控制和改变定时时间,灵活方便。 缺点是CPU重复执行的这段程序的目的仅为延时,从而降低了CPU利用率。,2.不可编程的硬件定时,3.可编程的定时,6.2 Intel 8253可编程定时器/计数器,6.2.1 8253的基本功能和内部结构,(1)3个独立的16位计数器,最大计数范围为165536; (2)每个计数器均可以按二进制或二十进制计数; (3)计数器速率可达2MHz; (4)可编程6种不同的工作方式; (5)所有输入和输出都与TTL兼容。 8253具有较好的通用性和使用灵活性,几乎适合于任何一种微处理器组成的系统。,1. 8253 PIT的基本功能,2. 8253的内部结构,图6.1 8253的内部结构示意图,(1)数据总线缓冲器,8位、双向、三态的缓冲器,可直接挂在数据总线上。CPU通过数据总线D0D7传送如下信息:,(2)读/写控制逻辑,决定三个计数器和控制字寄存器中哪一个能进行工作,并控制内部总线上数据传送的方向。,(3)控制寄存器,接收从CPU来的控制字, 并由控制字的D7、D6位的编码决定该控制字写入哪个计数器的控制寄存器, 控制寄存器只能写入,不能读出。,(4)计数器,8253所能实现的定时时间,取决于计数脉冲的频率和计数器的初值,即: 定时时间=时钟脉冲周期Tc预置的计数初值n。 外部输入到CLK引脚上的时钟脉冲频率不能大于2MHz,图6.2 计数器内部逻辑图,6.2.2 8253的引脚信号,8253是一片具有3个独立通道的16位计数器/定时器芯片,使用单一+5V电源,24引脚双列直插式封装,如图6.3所示,1. 与CPU的接口信号,表6.1 8253读/写操作逻辑表,2. 与外部设备的接口信号,(1)CLK0(CLK1,CLK2)时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号,加在CLK引脚的输入时钟周期不得小于380ns; (2)GATE0(GATE1,GATE2)门控输入端,用于外部控制计数器的启动或停止。当GATE为高电平时,允许计数器工作,当GATE为低电平时,禁止计数器工作; (3)OUT0(OUT1,OUT2)计数输出端。在不同工作方式中,当计数器计数到0时,OUT引脚输出相应的信号。,6.2.3 8253的控制字与初始化编程,1. 8253的控制字,8253的控制字有4个主要功能: * 选择计数器; * 确定计数器数据的读写格式; * 确定计数器的工作方式; * 确定计数器计数的数制。,控制字的格式如图6.4所示,图6.4 8253控制字格式,注:图中可以是0,也可以是1,一般取0,(1) 计数器选择(D7D6),控制字的最高两位决定这个控制字是哪一个计数器的控制字。 (2)读/写格式(D5D4) 00 计数器锁存命令,则把当前计数值锁存 10 只读/写高8位,低8位就自动为0 01 只读/写低8位,高8位自动置0; 11 先读/写低8位,后读/写高8位,(3)工作方式(D3D2 D1) 8253的每个计数器可以有6种不同的工作方式,由这3位决定选择其中的一种。 (4)数制选择(D0) 8253的每个通道都有两种计数制:二进制和二十进制(BCD码)计数,由D0位决定。 选择二进制时(D0=0) ,写入初值的范围为0000HFFFFH,其中0000H是最大值,代表65536 选择二十进制时,写入初值范围为00009999,其中0000代表最大值10000。,2. 8253的初始化编程,刚接通电源时,8253芯片通道都处于未定义状态,在使用之前,必须用程序把它们初始化为所需的特定模式,这个过程称为初始化编程。,(1) 写入控制字,用输出指令向控制字寄存器写入一个控制字,以选定计数器通道,规定该计数器的工作方式和计数格式。,(2) 写入计数初值,若是8位数,只要用一条输出指令就可完 成初值的设置。 如果是16位数,则必须用两条输出指令来 完成,而且规定先送低8位数据,后 送高8位数据。 计数初值为0时,也要分成两次写入。 采用二进制计数时0表示65536,采用BCD 计数时0表示10000。,8253工作过程中,CPU可读取任一通道的计数值。CPU读到的是执行输入指令瞬间计数器的当前值。但8253的计数器是16位,所以要分2次读至CPU。因为若不锁存的话,在前后两次执行输入指令的过程中,计数值可能已经变化了。锁存当前计数值有下面两种方法:,利用GATE信号使计数过程暂停。 向8253写入一个方式控制字,令8253通道的锁存器锁存。,在某微机系统中,8253的3个计数器的端口地址分别为3F0H、3F2H和3F4H,控制字寄存器的端口地址为3F6H,要求8253的通道0工作于方式3,BCD计数,并已知对它写入的计数初值n=1234(十进制数),则初始化程序为:,6.2.4 8253的工作方式,8253是一种面向微机系统的专用接口芯片,它的每一个计数器都可以按照控制字的规定有6种不同的工作方式, 每种工作方式中都提供了以下三种情况: * 正常计数的波形图; * 正在计数过程中改变门控信号GATE后对整个计 数工作的影响; * 正在计数的过程中改变计数值对整个计数工作的 影响。,方式0计数结束中断方式 (Interrupt on Terminal Count),图6.5(a) 方式0 正常计数,图6.5(b) 方式0时GATE 信号的作用,图6.5(c) 方式0时计数过程中改变计数值,2. 方式1 可编程的单稳态触发器 (Programmable One Short),图6.6(a) 方式1 正常计数,图6.6(b) 方式1时GATE 信号的作用,图6.6(c) 方式1时计数过程中改变计数值,3. 方式2 比率发生器、分频器 (Rate Generator),方式2用门控信号达到同步计数的目的,波形图如图6.7(a)、(b)、(c)、(d)所示。,图6.7(a) 方式2 正常计数,图6.7(b) 方式2时GATE信号的作用,图6.7(c) 方式2时计数过程中改变计数值,4. 方式3 方波发生器 (Square Wave Generator),方式3的工作过程同方式2,只是输出的脉宽不同,波形如图6.8(a)、(b)、(c)、(d)所示。,图6.8(a) 方式3 计数值为偶数时的波形,图6.8(b) 方式3 计数值为奇数时的波形,图6.8(c) 方式3 GATE信号的作用,图6.8(d) 方式3 计数过程中改变计数值,5. 方式4 软件触发选通方式 (Software Triggered Strobe),GATE门控信号只是用来允许或停止定时操作,定时的执行过程由装入的初值决定,波形图如图6.9(a)、(b)、(c)所示。,图6.9(a) 方式4 正常计数,图6.9(b) 方式4 GATE 信号的作用,图6.9(c) 方式4 计数过程中改变计数值,6. 方式5 硬件触发选通方式 (Hardware Triggered Strobe),方式5为硬件触发选通方式,完全由GATE端引入的触发信号控制定时和计数,波形图如图6.10(a)、(b)、(c)所示。,图6.10(a) 方式5 正常计数,图6.10(b) 方式5时GATE 信号的作用,图6.10(c) 方式5时计数过程中改变计数值,6.2.5 应用举例,1. 8253定时功能的应用,设某应用系统中,提供一个频率为10kHz的时钟信号,要求设计一个100ms定时器,每隔100ms向CPU发出一次中断请求信号。 分析:采用8253定时器的通道0可以实现这一要求。将8253芯片的CLK0接到系统的10kHz时钟上,OUT0输出接到CPU的中断请求线上,设8253的端口地址为10H13H,如图6.11所示。,图6.11 8253用于定时中断,(1) 选择工作方式,(2) 确定计数初值,已知 fCLK0=10kHz,则TCLK0=0.1ms,所以,计数初值: N=TOUT0/TCLK0=100ms/0.1ms=1000=03E8H,(3) 初始化编程,根据以上要求,可确定8253通道0的方式控制字为00110100B,即34H。,初始化程序段如下:,2. 8253计数功能的应用,在IBM PC机(8088CPU系统)中,利用8253的通道0记录外部事件的发生次数,每输入一个脉冲表示事件发生1次,当事件发生100次后就向CPU提出中断请求(边沿触发)。 假设8253片选信号的I/O地址范围为200H203H,8253的连接电路如图6.12所示。,图6.12 8253用于外部事件的计数,根据要求,可以选择方式0来实现,计数初值N=100。8253初始化程序段如下:,3. 8253计数通道的级联应用,已知某8253占用I/O空间地址为320H323H,如图6.13所示,输入其CKL1端的脉冲频率为1MHz,要求用8253连续产生10秒的定时信号。,分析:8253的一个通

温馨提示

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

评论

0/150

提交评论