微机原理讲义(第9章计数器定时器和多功能接口芯片)_第1页
微机原理讲义(第9章计数器定时器和多功能接口芯片)_第2页
微机原理讲义(第9章计数器定时器和多功能接口芯片)_第3页
微机原理讲义(第9章计数器定时器和多功能接口芯片)_第4页
微机原理讲义(第9章计数器定时器和多功能接口芯片)_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第10章计数器/定时器和多功能接口芯片湖南中医药大学王志辉本章重点为:8253/8254的编程结构;8253/8254的两类控制字;8253/8254必须遵守的编程原则;8253/8254的两类编程命令;8253/8254的6种工作模式的特点;82380的功能结构;82380的中断模块。定时器:在时钟信号作用下,进行定时的减“1”计数,定时时间到(减“1”计数回零),从输出端输出周期均匀、频率恒定的脉冲信号。定时器强调的是精确的时间或时间间隔。定时举例:

①一天24小时的计时,称为日时钟。②在监测系统中,对被测点的定时取样。③在读键盘时,为去抖,一般延迟一段时间,再读。④在微机控制系统中,控制某工序定时启动。概述

计数器:

在外设脉冲信号作用下,进行减“1”计数,计数次数到(减“1”计数回零),从输出端输出一个脉冲信号。它主要反映脉冲的个数(进而获知外设的某种状态)。

计数举例:①对零件和产品的计数;②对大桥和高速公路上车流量的统计等等。定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能。它们都是由数字电路中的计数电路构成。在分时操作时作为中断切换可以输出精确的定时信号给I/O设备作为可编程的波特率发生器实现时间延迟或测量外部事件的时间对外部事件计数计数器、定时器的基本作用利用微处理器执行一个延时程序段实现不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率改变优点:不需添加硬件设备,只需编制有关延时程序缺点:增加CPU的开销,时间越长,开销越大,浪费CPU资源1.软件定时定时功能的实现方法有三种(1+2)采用分频器、单稳电路或简易定时电路控制定时时间定时电路简单、定时时间可以在一定范围改变2.不可编程的硬件延时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路具有多种工作方式、能够输出多种控制信号3.可编程硬件定时

主要思路:计数器/定时器开始工作,此时CPU不必过问它的工作,而可以去作别的工作。计数器/定时器计数或定时达到确定值时,可以自动产生一个输出。优点:计数或定时时,不占用CPU,并且利用计数/定时器产生中断信号,还可以建立多作业环境,提高了CPU的效率。可编程计数器/定时器具有两种功能:一是作为计数器,设置好计数初值后,计数器被启动,便开始减1计数,当减为0时,输出一个信号;二是作为定时器,设置好计数初值后,启动减1计数,按定时常数不断的输出为时钟周期整数倍的定时间隔。3.可编程硬件定时

2、8253定时与计数器与CPU的关系8253定时与计数操作过程与CPU相互独立,并行操作。

3、8253定时与计数结束时产生的脉冲信号可用于对某一事件进行控制,也可作用为一外部终端请求信号。8253在微机系统中可用作定时器和计数器。定时时间与计数次数是由用户事先设定。W9-111主动工作态:总线主模块

在主动工作状态下,DMAC取代处理器CPU,获得了对系统总线的控制权,成为系统总线的主控者,向存储器和外设发号施令。被动工作态:总线从模块

在被动工作状态下,DMAC接受CPU对它的控制和指挥。例如:对DMAC进行初始化编程以及从DMAC读取状态等。简述DMAC的2种工作状态?简述8237A的内部寄存器的类型和作用分别是什么?名称位数数量功能当前地址寄存器164保存在DMA传送期间的地址值,可读写当前字节计数寄存器164保存当前字节数,初始值比实际值少1,可读写基地址寄存器164保存当前地址寄存器的初始值,只能写基字节计数寄存器164保存相应通道当前字节计数器的初值工作方式控制寄存器84保存相应通道的方式控制字,由编程写入命令寄存器81保存CPU发送的控制命令状态寄存器81保存8237A各通道的现行状态请求寄存器41保存各通道的DMA请求信号屏蔽寄存器41用于选择允许或禁止各通道的DMA请求信号暂存寄存器81暂存传输数据,仅用于存储器到存储器的传输DMAC8237A有哪几种工作方式?1.单字节传输方式

每传送一个字节,便释放系统总线;若DREQ回到有效电平,则可继续发送总线请求2.块传输方式

可连续传送多个字节。两种结束方式:当字节计数器减为0时,使EOP信号有效;接口往EOP端送入有效电平,8237A释放总线3.请求传输方式

每传送1个字节,则对DREQ端进行测试。若DREQ端为无效电平,则暂停传送,但仍继续测试4.级联传输方式将多个DMAC连在一起,一个为主,其余为从。从片收到外设的DMA请求后,不是向CPU申请总线,而是从片向主片申请,再由主片向CPU申请。屏蔽寄存器(只写)用来禁止或允许通道的DMA请求。各通道相互独立。复位使4个通道全被屏蔽。有单屏蔽寄存器和全屏蔽寄存器两种形式:单通道屏蔽寄存器:每次只能屏蔽一个通道。14怎么实现DMAC的单通道开放功能?四通道屏蔽寄存器(全屏蔽寄存器):可同时屏蔽4个通道。低4位全部置1,则屏蔽所有的DMA请求。低4位全部置0,则允许所有的DMA请求。1516与硬件的Reset信号功能相同。使得DMA控制器内部的命令寄存器、状态寄存器、请求寄存器、暂存寄存器、字节指针都清0。使得屏蔽寄存器全置1,禁止所有的DMA请求。8237A执行复位命令后寄存器的值怎么变化?10.1可编程计数器/定时器的工作原理计数器/定时器的原理图8253/8254的编程结构有三个计数器共用1个控制寄存器和1个状态寄存器(只有8254有状态寄存器)另外有计数初值寄存器和输出寄存器每个计数器通过3个引脚(CLK、GATE、OUT)执行部件实际上是1个16位的减法计数器计数器的3个引脚CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号8253/8254的外部信号三通道的16位定时/计数器;计数器的工作方式及计数常数分别由软件编程选择;可进行二进制或十进制计数或定时操作;最高计数频率为2.6MHz,8254达10MHz;使用单电源+5V供电;输入/输出均与TTL电平兼容。8253/8254的外部信号8253/8254的编程结构(只有8254有状态寄存器)计算机接口技术3.8253的管脚及功能计数器的门控信号输入端GATE0~GATE2计数器的输出端OUT0~OUT28253内部端口选择线A1A0片选信号CS写信号WR读信号RD计数器的时钟脉冲输入端CLK0~CLK2数据线,双向,三态D7~D0功能引脚8253/8254的I/O地址01000010010101001011001000010100110功能对计数器0设置计数初值CSRDA1A0WR对计数器1设置计数初值对计数器2设置计数初值设置控制字从计数器0读出计数值从计数器1读出计数值从计数器2读出计数值10.38253/8254控制字、状态字和编程命令控制字有两类模式控制字计算机接口技术说明:⑴8253在工作前,必须先初始化,即先写入控制字,通过设置控制字,可完成以下任务:选择计数器;确定计数器读写格式;选择计数器工作方式;确定计数的格式。⑵8253内部只有一个控制字寄存器,即只有一个控制端口地址。当三个计数器同时工作时,必须对三个计数器分别进行初始化。计算机接口技术对写入计数初值的说明:先写入控制字再写计数初值;若初值是8位数,一次可完成初值的写入。若初值16位,分两次写入(写入方式按照控制字中的D5、D4进行)。每次写入一个字节;不同计数器的计数初值写到相应计数器通道中。(3)写操作包括写入控制字、写入计数初值和锁存命令。计算机接口技术(4)读操作计数器在计数时,计数器的计数内容是动态变化的,需检查当前计数值时要用到读操作。步骤为:先向8253写控制字(D5D4=00),锁存当前计数值,再读入。读完后,锁存功能自动失效。8254的锁存控制字D7、D6、D0:固定值为110COUNT:若为0,锁存计数器的当前值STAUS:若为0,锁存计数器的状态字D3、D2、D1:指出要锁存的计数器状态字OUT:若为1,表示OUT端为高电平NULLCOUNT:若为0,表示初值已经送入计数器D5~D0:与模式控制字的对应位含义相同8253/8254的状态字8253/8254的编程命令编程命令包括两类写入命令,包括设置控制字命令设置初值命令锁存命令读出命令读取计数器当前的值。对8254,还可读取状态字3.编程命令:编程有3条原则必须遵守:对计数器设置初始值前必须先写控制字。初始值设置时,要符合控制字中的格式规定,即只写低位字节还是只写高位字节,或高低位字节都写,控制字中一旦规定,具体初始值设定时就要一致。要读取计数器的当前值和状态字(仅8254),必须用控制字先锁定,才能读取。模式工作的基本原则:写入控制字后,输出端OUT进入初始状态方式控制字设置后,在每个CLK脉冲的上升沿对门控信号GATE进行采样、检测在GATE有效的前提下,将计数初值写入计数初值寄存器CR后,在下一个CLK脉冲的下降沿由CR的值自动置入计数执行部件CE计数单元的减1计数总是在CLK脉冲的下降沿进行48253/8254的工作模式计数器/定时器的工作模式指时钟脉冲和门脉冲怎样配合来产生输出。8253/8254的工作模式6种工作模式计数结束产生中断可重复触发的单稳态触发器分频器方波发生器软件触发的选通信号发生器硬件触发的选通信号发生器计算机接口技术工作过程写入控制字,OUT立即变为低;写入计数初值N到计数初值寄存器(CR),若GATE为高电平,下一个时钟脉冲的下降沿将计数初值N装入计数执行部件(CE),才开始减1计数;GATE=0时,暂停计数;当GATE=1时,继续计数;计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高,并一直保持。用途:方式0常用来对外部事件计数,利用OUT由低到高的变化产生中断请求信号。

方式0计数结束中断方式方式0:计数结束中断①②⑤④⑥GATEOUTCLK

031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束

1、方式0“一次有效”,计数结束产生中断

1)、计数器写完计数值时,开始计数,相应的输出信号OUT就开始变成低电平。当计数器减到零时,OUT立即输出高电平。18组11

3)、在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。

2)、门控信号GATE位高电平时,计数器工作;为低电平时,计数器停止工作,计数值保持不变。18组118组2n=5CLKOUTWR①

543210图8253的0方式时序波形WROUT③

n=998n=443210n=5WRGATEOUT②

54321044方式1特点①输出OUT的宽度为计数初值的单脉冲;②输出受门控信号GATE的控制,分三种情况:*计数到0后,再来GATE脉冲,则重新开始计数,OUT变低;*在计数过程中来GATE脉冲,则从下一CLK脉冲开始重新计数,OUT保持为低;*改变计数值后,只有当GATE脉冲启动后才按新值计数,否则原计数过程不受影响,仍继续进行,即新值的改变是从下一个GATE开始的。③计数值是多次有效的,每来一个GATE脉冲,就自动装入计数值开始从头计数,因此在初始化时,计数值写入一次即可。用途:输出稳态负脉冲信号

OUT端输出负脉冲的宽度=计数初值N×时钟脉冲宽度TCLK。方式1:可重复触发的单稳态触发器①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK

031244方式1WR2.模式1——可重复触发的单稳态触发器写入控制字高电平检测到GATE上升沿CR→CE,并开始计数计数为0,OUT变为高电平计数器第2个触发上升沿计数初值N

2.

模式1

----另外一种解读(GATE信号上升沿重新计数)

情况一:(1)写入计数初值后,计数器并不立即开始工作;(2)门控信号GATE有效,才开始工作,使输出OUT变成低电平;(3)直到计数器值减到零后,输出才变高电平。见下图中①。情况二:

在计数器工作期间,当GATE又出现一个上升沿时,计数器

重新装入原计数初值并重新开始计数,见下图中②。21组17

如果工作期间对计数器写入新的计数初值,则要等到当前的计数值计满回零且门控信号再次出现上升沿后,才按新写入的计数初值开始工作,见下图中所示③。21组121组16图8253的1方式时序波形n=3WR③n=2OUT

3210210GATEn=4CLKGATEWROUT①

43210OUT②

4321GATE40计算机接口技术工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,若GATE为高电平,则在下一个时钟脉冲下降沿,将计数初值N装入减1计数器CE,开始减1计数。当计数值减为1时,OUT由高变低,减为0时,OUT又变为高,即OUT输出一个时钟周期的负脉冲;同时,自动将计数初值N装入计数执行部件CE,开始新一轮计数。用途:分频器

若计数器的初值为N,则OUT输出的波形频率为时钟脉冲频率的N分之一。方式2分频器

3.模式2——分频器高电平GATE有效,立即将CR→CE,并开始计数计数为1,输出1个负脉冲定时器两种计数器同步方式:软件同步硬件同步计算机接口技术工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,若GATE为高电平,在下一个时钟脉冲下降沿,将计数初值N装入减1计数器CE,开始减1计数。当计数到一半时,OUT由高变低,减1计数器继续计数,计数到0时,OUT由低变高。之后,周而复始地自动进行计数过程。当计数初值为偶数时,OUT输出对称方波;当计数初值为奇数时,OUT输出不对称方波。用途:方波发生器,也可作为分频器。方式3方波发生器4.模式3——方波发生器高电平GATE有效,立即将CR→CE,并开始计数N为偶数,完全对称的方波N为奇数,矩形波,高电平为3T定时器计算机接口技术工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,若GATE为高电平,在下一个时钟脉冲下降沿,将计数初值N装入减1计数器CE,开始减1计数。当减1计数器的值为0时,OUT变为低电平,经过一个CLK时钟周期,OUT变为高电平。

用途:产生单个负脉冲信号,负脉冲宽度为1个时钟周期。方式4软件触发方式5.模式4——软件触发的选通信号发生器计数为0,输出1个负脉冲高电平GATE有效,立即将CR→CE,并开始计数计数器靠写入初值来触发计数器工作计算机接口技术工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,只有当GATE信号的上升沿到来后,在下一个CLK脉冲的下降沿,才将计数初值N装入减1计数器,开始减1计数。当减1计数器的值为0时,OUT变为低电平,经过一个CLK时钟周期,OUT变为高电平。

用途:产生单个负脉冲信号,负脉冲宽度为1个时钟周期。方式5硬件触发方式

6.模式5——硬件触发的选通信号发生器高电平检测到GATE上升沿CR→CE,并开始计数计数为0,输出1个负脉冲第2个触发上升沿5方式------单次负脉冲输出(硬件触发)

5方式工作特点是由GATE上升沿触发计数器开始工作。①在5方式工作方式下,当写入计数初值后,计数器并不立即开始计数,而要由门控信号的上升沿启动计数。30组1

②在计数过程中(或者计数结束后),如果门控再次出现上升沿,计数器将从原装入的计数初值重新计数。30组2CLKWROUT①

n=5GATE543210图8253的5方式时序波形OUT②

GATE54543210使用注意最大初值0=65536CLK与OUT的周期区别在CLK的下降沿8253的各部件才产生改变模式0,4的gate是电平触发,1,5为上升沿触发(边沿触发器),2,3都可以赋初值后的下个CLK才装到执行部件,开始计数计算机接口技术

8253工作方式总结:六种方式作用:方式0:可用来实现定时或对外部事件进行计数;方式1:可用来产生单脉冲;方式2:可用来产生序列负脉冲,每个负脉冲的宽度和CLK脉冲的周期相同;方式3:用来产生连续的方波。方式2、3都能实现对时钟脉冲进行N分频;方式4:产生一个负脉冲,可用来计数;方式5:与4波形相同,产生一个负脉冲,可用来计数;58253/8254的应用举例(自学)用8253/8254为A/D子系统提供采样信号的例子:CLK1的频率为F/NOUT1的负脉冲宽度为MNOUT0的脉冲频率为F/L10.6

温馨提示

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

评论

0/150

提交评论