微机原理第五章 定时计数器_第1页
微机原理第五章 定时计数器_第2页
微机原理第五章 定时计数器_第3页
微机原理第五章 定时计数器_第4页
微机原理第五章 定时计数器_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

微机原理第五章定时计数器第一页,共三十二页,2022年,8月28日2023/2/241授课教师:殷代红制作者:殷代红

第二页,共三十二页,2022年,8月28日2023/2/242第五章定时与计数器第三页,共三十二页,2022年,8月28日2023/2/2435.1概述5.1.1定时与计数问题的提出定时与计数是计算机经常面临的工作,它不仅应用在计算机内部,同时,也广泛应用在各种不同领域的实际系统中,如定时中断、定时检测、定时扫描等等,还有些场合要求能对外部事件计数。实现定时与计数的方法通常有两种:软件方法和硬件方法。软件方法:通过用户编制的程序来完成,如延时子程序,软件定时占用CPU,降低了CPU的利用率。硬件方法:通过完全的硬件连接或软/硬件的结合来完成,包含简单硬件定时和可编程硬件定时两种方式。简单硬件定时可以采用小规模集成电路器件(例如555),外接部分定时部件(电阻和电容)构成。这样的定时电路简单而且通过改变电阻和电容,可以使定时在一定的范围内改变,但不能由指令来控制和改变。可编程定时器电路的定时值及其范围,可以很容易地由软件来确定和改变,所以使用灵活,功能更强。第四页,共三十二页,2022年,8月28日2023/2/2445.1.2端口的概念接口电路:微机可以通过接口电路接收外部设备送来的信息或将信息发送给外部设备。分类:可以提供使微机正常工作所需要的辅助电路;输入/输出接口电路包括并行接口、串行接口、专用接口等,提供CPU与接口直接进行操作的“通道”每个部件或接口内部都包含有一组寄存器,这些寄存器通常称为端口,每个端口有一个端口地址。第五页,共三十二页,2022年,8月28日2023/2/245端口通常分为三类:用来传输数据的称为数据端口;用来存放设备或者部件状态的称为状态端口;用来存放CPU发出的命令的称为控制端口。CPU通过数据端口完成数据传输,因此,数据端口一般是可读可写的;CPU通过状态端口可以检测外设和接口部件当前的状态,因此,状态端口一般是只读的;CPU通过控制端口传输命令以便控制接口和设备的动作,因此,控制端口一般是只写的。第六页,共三十二页,2022年,8月28日2023/2/2465.2可编程定时器/计数器8253一、计数/定时的工作原理计数/定时的功能对外部事件发生次数进行计数计算机系统经常用到定时信号,如DRAM刷新定时计数和定时本质上是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。例如输入脉冲频率为2MHz,那么计数2106计时1秒使用同一个芯片,既能计数,又能定时——定时器/计数器第七页,共三十二页,2022年,8月28日2023/2/247一、计数/定时的工作原理控制寄存器初始值寄存器计数器计数输出寄存器状态寄存器CLKGATEOUT组成:控制寄存器——决定工作模式状态寄存器——反应工作状态初值寄存器——计数的初值计数输出寄存器——CPU从中读 当前计数值计数器——执行计数操作, CPU不能访问第八页,共三十二页,2022年,8月28日2023/2/248一、计数/定时的工作原理工作原理:对CLK信号进行减1计数首先,CPU把控制字写入控制寄存器,计数初始值写入初值寄存器计数从初值开始,每当CLK信号出现一次,计数值减1当计数值减到0,从OUT端输出规定的信号CLK信号出现时,计数器是否减1,由门控信号GATE控制第九页,共三十二页,2022年,8月28日2023/2/2495.2.18253的功能与结构

1.8253的主要功能

⑴有3个独立的16位计数器通道。

⑵每个计数器都可以按照二进制或二—十进制(BCD码)计数。

⑶每个计数器的计数速率可高达2MHz。

⑷每个通道有6种工作方式,可由程序设置和改变。

⑸所有的输入输出都与TTL兼容。第十页,共三十二页,2022年,8月28日2023/2/2410一、计数/定时的工作原理CLK是计数输入信号,计数器对CLK端出现的脉冲个数进行计数CLK端可以输入外部事件CLK端可以接入固定频率的时钟信号,从而实现计时OUT信号在计数结束时发生变化可将OUT作为外部设备的控制信号可将OUT作为向CPU申请中断的信号CPU可以从计数输出寄存器读出当前计数值。读前,应向控制寄存器发送锁存命令第十一页,共三十二页,2022年,8月28日2023/2/2411二、8253的内部结构1片8253内部有三个计数器,结构完全相同8253的内部结构8253的内部结构如图5-2所示,主要由以下部分组成:(1)数据总线缓冲器(2)读/写控制逻辑。(3)控制字寄存器。(4)计数器0,计数器1,计数器2。

第十二页,共三十二页,2022年,8月28日2023/2/2412数据总线缓冲器。是8253与CPU数据总线连接的8位、双向、三态缓冲器。CPU用输入输出指令对8253进行读写的所有信息都是通过该缓冲器传送的,内容包括:•CPU在初始化编程时写入8253的控制字。•CPU向8253的某一通道写入的计数值。•CPU从某一个通道读取的计数值。第十三页,共三十二页,2022年,8月28日2023/2/2413(2)读/写控制逻辑。8253内部操作的控制部分。它接收输入的信号.实现片选、内部通道选择(见表5-1)以及对相关端口的读/写操作。A1A0端口00通道001通道110通道211控制端口第十四页,共三十二页,2022年,8月28日2023/2/2414(3)控制字寄存器。在对8253进行初始化编程时,该寄存器存放由CPU写入的控制字,由此控制字来决定所选中通道的工作方式。此寄存器只能写入不能读出。(4)计数器0,计数器1,计数器2。是三个独立的计数器/定时器通道,各自可按不同的工作方式工作。第十五页,共三十二页,2022年,8月28日2023/2/24153.8253的引脚功能8253的引脚按功能可分为两组:一组面向三总线数据总线、控制总线和地址总线,另一组面向外部操作。CLK、GATE、OUT第十六页,共三十二页,2022年,8月28日2023/2/24165.2.28253的初始化编程对8253某一通道的初始化编程涉及两个内容:首先向控制端口写入通道控制字,由此控制字确定选中哪个通道、采用什么工作方式和计数方式、如何写入计数初值等内容,然后向选中的通道端口写入计数初值。第十七页,共三十二页,2022年,8月28日2023/2/24171.8253的控制字第十八页,共三十二页,2022年,8月28日2023/2/24188253的编程命令初始化1)写入控制字2)按控制字要求写入计数初值计数器初值计算:N=fCLK/fOUT例:设三个计数器的端口地址为70H、71H、72H,控制端口地址73H。计数器0,工作模式2,仅使用低8位,初值为100,计数值使用二进制。MOVAL,14HOUT73H,ALMOVAL,100OUT70H,AL第十九页,共三十二页,2022年,8月28日2023/2/24198253的编程命令例:设三个计数器的端口地址为70H、71H、72H,控制寄存器端口地址73H。计数器1,工作模式1,使用16位,初值为1234,计数值使用BCDMOVAL,73HOUT73H,ALMOVAX,1234HOUT71H,ALMOVAL,AHOUT71H,AL第二十页,共三十二页,2022年,8月28日2023/2/24203.读取通道当前的计数值8253任一通道的当前计数值,CPU都可用输入指令读取。8253的通道计数器是16位的,要分两次读至CPU,为避免在CPU的两次读出过程中出错,在进行读出操作前必须对相应通道进行锁存,锁存的办法有两种:①利用GATE信号使计数过程暂停。②向8253的控制口写入一个令通道锁存器锁存的控制字。

例:设三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。读出计数器0的当前计数值,放在BX中MOVAL,0HOUT73H,ALINAL,70HMOVBL,ALINAL,70HMOVBH,AL第二十一页,共三十二页,2022年,8月28日2023/2/24215.2.38253的工作方式工作方式决定以下内容:1)门控信号的影响高电平允许,当GATE=0,即使出现CLK,也不计数——方式0,2,3,4上升沿允许(上升沿触发)——方式1,52)OUT信号的状态写入控制字后,OUT的状态计数过程中,OUT的状态计数终了,OUT的状态3)计数操作可否重复不可重复——方式0,4自动重复——方式2,3条件重复——方式1,5第二十二页,共三十二页,2022年,8月28日2023/2/24228253的工作方式六种工作方式计数初值写入初值寄存器后,要经过一个CLK输入后才开始计数(或,经过一个CLK后,计数初值才到达计数执行部件)计数器在CLK的下降沿使计数值减1第二十三页,共三十二页,2022年,8月28日2023/2/24238253的工作方式方式0:计数初值写入CR后,OUT由0到1跳变出现在n+1个时钟脉冲之后延迟时间TD=(n+1)TCLK方式1:单脉冲宽度T=nTCLK方式2:对输入端n个时钟脉冲,在输出端仅出现一个时钟脉冲——N分频计数器第二十四页,共三十二页,2022年,8月28日2023/2/24248253的工作方式方式3:例:计数器工作方式3,计数器初值15,时钟脉冲频率为2MHz,确定OUT端输出方波的特性。解:TCLK=1/2MHz=500ns 计数器初值15为奇数,输出分频波高电平宽度

TCLK(N+1)/2=4s 输出分频波低电平宽度

TCLK(N-1)/2=3.5s方式4、5:触发后n+1个时钟脉冲之后输出端产生选通脉冲信号第二十五页,共三十二页,2022年,8月28日2023/2/24258253的工作方式例:计数器0工作方式4,初始化计数器,使装入计数器10s后产生选通信号(设时钟频率2MHz,8253端口地址为50H~53H)。解:n+1=T/TCLK=10/0.5=20n=19=13HMOVAL,18HOUT53H,ALMOVAL,13HOUT50H,AL第二十六页,共三十二页,2022年,8月28日2023/2/24265.2.48253的应用例2在以8088CPU为核心的系统中,扩展一片8253芯片,要求通道0对外部脉冲进行计数,计满400个脉冲后向CPU发出一个中断请求,完成软硬件设计。分析:首先完成硬件设计。8253与系统总线的连接如下:第二十七页,共三十二页,2022年,8月28日2023/2/2427题目要求的输出波形经分析选择方式0。计数初值为400确定控制字:00110000B初始化程序:MOVAL,30HOUT03H,AL;控制字写入控制口MOVAX,400;二进制形式的数据OUT00H,AL;先写低8位,写入通道0MOVAL,AHOUT00H,AL;后写高8位,写入通道0第二十八页,共三十二页,2022年,8月28日2023/2/24285.2.48253的应用以2MHz输入8253,实现每5秒定时中断(设8253端口地址40H~43H)分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔65536/(2106)=32.769ms所以需要两个计数器串联,一个计数器的输出作为另一个计数器的输入第二十九页,共三十二页,2022年,8月28日2023/2/24298253的应用计数器1:方式2,OUT1每5ms输出一个脉冲初值(2106)/(1/0.005)=10000计数器0:方式2,OUT0每5s输出一个脉冲初值(1/0.005)/(1/5)=1000OUT0GATE0CLK0OUT1GATE1CLK1+5V+5V2MHz每5秒产生一个脉

温馨提示

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

评论

0/150

提交评论