第3章 CHMOS可编程时间间隔定时_第1页
第3章 CHMOS可编程时间间隔定时_第2页
第3章 CHMOS可编程时间间隔定时_第3页
第3章 CHMOS可编程时间间隔定时_第4页
第3章 CHMOS可编程时间间隔定时_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第三章CHMOS可编程时间间隔定时器芯片82C54,3.1概述82C54是专为Intel系列微处理机而设计的一种可编程时间间隔定时器/计数器,它是一种通用芯片,在系统软件中可以把多级定时元素当成输入/输出端口中的一个阵列看待。,82C54的特点:,1.与所有Intel系列兼容2.操作速度高,与8MHz的8086、80186一起可实现“零等待状态”的操作。3.可处理从直流到10M频率的输入。4.适应性强5.三个独立的16位计数器6.低功耗的CHMOS7.与TTL完全兼容8.6种可编程的计数模式9.以二进制或BCD计数10.状态读返回命令,82C54解决了在系统控制之下精确的时间延迟问题。,82C54的计数器/定时器功能还有:1.实时时钟2.平滑计数器3.数字一次通过4.可编程速率生成5.方波发生器6.二进制速率乘法器7.复杂波形发生器8.复杂马达控制器,3.282C54的体系结构,3.2.182C54的方框图D7D0CLK0GATE0RD#OUT0WR#CLK1GATE1A0OUT1A1CLK2GATE2CS#OUT2,82C54,图3-1,3.2.282C54的体系结构,CLK0GATE0OUT0RDCLK1WRGATE1A0OUT1A1CSCLK2GATE2OUT2,数据缓冲总线,读写逻辑,控制字寄存器,计数器0,计数器1,计数器2,D7D0,图3-3,数据总线缓冲器、读/写逻辑、控制字寄存器与三个计数器部件介绍:,1.数据总线缓冲器:是82C54与系统总线连接的接口,由三态门、双向8位的缓冲器。2.读/写逻辑部件:对82C54的控制信号,A1和A0是计数器的选择;RD#和WD#为读写控制;CS#是控制RD#和WD#的信号。3.控制字寄存器:由A1A0的二进制数和读写逻辑部件来选择控制字寄存器。4.计数器:三个独立的16位计数器(216值),举例:例3-1,82C54接收到10010000B的控制字,在这种情况下其配置如何设置?分析:控制字寄存器的格式为:D7D6D5D4D3D2D1D08位SC1SC0RW1RW0M2M1M0BCDSC1SC0选择计数器;RW1RW0读写控制M2M1M0计数器的方式选择;BCD二进制或二进制编码的十进制计数。,10010000B控制字为:SC1SC0=10时,选择计数器0。RW1RW0=01时,读写低字节。M2M1M0=000时,计数器工作在方式0。BCD=0时,为16位二进制计数器。,4.三个计数器,表3-2读/写82C54寄存器操作CS#RD#WR#A1A0描述01000写计数器001001写计数器101010写计数器201011写控制字00100读计数器000101读计数器100110读计数器2,例3-282C54的微处理机接口,图结构:82C54IORC#IOWC#A15A14A2A7A3A6A5A4,RD#WR#A0A1CS#,D7D0,图3-5,要求:,计数器0:二进制计数,方式0,初值1234H计数器1:BCD计数,方式2,初值100H计数器2:二进制计数,方式4,初值1FFFH.1.确定82C54的基址:即计数器0的地址,这是通过A3A2=00来确定的。为选择82C54工作,必须使CS#=0,这样就要让高位地址A15A4=000000000100B。若将低位地址A3A2A1A0=0000拼接在一起,形成基地址为:0000000001000000B=40H,2.控制寄存器的选择:在选择控制寄存器时,使82C54的A1A0=A3A2=11(外接地址)。最后形成:A15A0=0000000001001100B=4CH计数器0的地址:40H计数器1的地址:44H计数器2的地址:48H3.根据82C54控制字中各位的定义,确定这三个计数器的方式字,即;计数器0的方式字=00110000B=30H计数器1的方式字=01010101B=55H计数器2的方式字=10111000B=B8H,设置程序段:,MOVAL,30HOUT40HALOUT4CH,ALMOVAL00HMOVAL,55HOUT44H,ALOUT4CHALMOVAL,01HMOVAL,0B8HOUT44,ALOUT4CH,ALMOVAL,0FFHMOVAL,34HOUT48H,ALOUT40H,ALMOVAL,1FHMOVAL,12HOUT48H,AL,例3-3编写一个在计数进行的过程中进行读计数器2内容的程序段,并把读取的值装入AX寄存器。82C54的地址40H,分析:先锁存计数器2的内容,然后从斩存器中读取这个值。其程序为MOVAL,1000 xxxxBOUT4CH,ALINAL,48HMOVAH,ALMOVAL,BL,计数器的内部结构(图3-6),控制字寄存器,控制逻辑,状态锁存,状态寄存,CRm,CR1,计数部件CE,OLm,OL1,1,2,2,3,3,内部总线,工作原理:,CE-计数部件,是16位的同步计数器。OLm和OL1-是两个8位的锁存器,m和1分别表示最高和最低有效字节。CRm和CR1也是两个8位的寄存器。控制逻辑是由CLKn、GATEn和OUTn控制的。,5.82C54系统接口,OUTGATECLKOUTGATECLKOUTGATE,地址总线(16位),控制总线,数据总线(8位),A1A0CS#D0D7RD#WR#82C54计数器0计数器1计数器2,3.3程序设计基础,1.82C54程序控制通过给82C54写一个控制字,然后再用初始化计数值的方法对计数器进行程序控制。当A1A0=11时,全部控制字信息都写入被选中的控制字寄存器内。相反,初值被写进了计数器,而不是将其写入控制字寄存器。用A1A0的输入信号来选择被写入的计数器,初值计数值格式由所用控制字确定。,2.写操作,必须记住两点:(1)对每一个计数器而言,在写初始计数值之前,必须写控制字寄存器。(2)初始计数值必须根据控制字所规定的格式计数,要么只是最低有效字节,要么只是最高有效字节,或者先低后高。表3-3列出了一些常用的程序设计次序P84,3.读操作,读计数器内的值有三种可行办法选择:(1)简单的读操作(2)计数器锁存命令操作:它相当于一个控制字,因为它是把命令写到控制字寄存器内的:如下图A1A0=11;CS#=0;RD#=1;WR#=0D7D6D5D4D3D2D1D0sc1sc000 xxxxSc1、sc0表示计数器被锁存D5、D4=00表示计数器锁存命令,图3-8,(3)读回命令操作(READ-BACK),读回命令的格式如下图A1A0=11;CS#=0;RD#=1;WR#=0D7D6D5D4D3D2D1D011COUNT#STATUS#CNT2CNT1CNT00D5=0锁存选中的计数器计数值D4=0锁存选中的计数器状态D3=1选择计数器2D2=1选择计数器1D1=1选择计数器0D0保留,图3-9,计数器状态字节格式,D7D6D5D4D3D2D1D0D7=1,表示输出管脚为1D7=0,表示输出管脚为0D6=1,表示空计数值D6=0,表示读的计数值有效D5D0计数器程序控制方式,OUTPUT,NULLCOUNT,RW1,RW0,M2,M1,M0,BCD,图3-10,3.482C54计数器的操作,操作常用术语CLK脉冲:一个上升沿,然后一个下降沿为一个计数器的CLK输入。触发:由计数器GATE输入的上升边。计数器装载:将计数值从计数器寄存器CR传送到计数部件CE。对GATE输入的作用如下表,表3-5GATE对每种操作方式的影响,操作方式,GATE信号状态及影响,低电平或下降沿,0,禁止计数,上升沿,高电平,允许计数,1,1、开始计数;2、下一时钟后,输出为低电平,2,1、禁止计数;2、输出立变高电平,开始计数,允许计数,3,1、禁止计数;2、输出立变高电平,开始计数,允许计数,4,禁止计数,允许计数,5,开始计数,3.4.1操作方式0:计数终止中断方式,用于事件计数控制字被写之后,最初OUT=0并在计数器到达0之前仍保持0电平。当计数器到达0之后,OUT=1(变高电平),并在一个新的计数值和新操作方式0控制字未写入计数器之前OUT=0。当GATE=1时,允许计数。当GATE=0时,禁止计数操作,GATE对信号OUT无效。,全部操作方式时序说明:,1、计数器在程序的控制之下进行二进制计数,仅对最底有效字节(LSB)进行读/写操作。2、计数器总是被选(CS#总是低电平)3、CW指的是控制字;CW=10是指10个控制字中的一个控制字,写入计数器内的是十六进制数。4、LSB指的是计数值的最低有效数字。5、图中的数值是计数值:低位数是最低有效字节。高位数是最高有效字节。因为计数器在程序的控制之下仅对LSB进行读/写操作,最高有效字节则不能进行读操作。6、N表示的是尚没有定义的计数,竖线表示的是计数值之间的转换。,操作方式0时序,CW=10LSB=4WR#CLKGATEOUTNNNN0000043210,操作方式0时序(续),CW=10LSB=3WR#CLKGATEOUT000000FFNNNN322210FF,3.4.2操作方式1:可再触发的单稳,条件:信号OUT被初始化为高电平,而在CLK脉冲后触发器被触发,OUT又降为低电平,而且在计数器计至0之前,将保持低电平不变。在下次触发之后,CLK脉冲之前,OUT将变为高电平,且保持低电平不变。在写入控制字和初始化计数值之后,计数器处于待命状态在一个单稳脉冲期间,将一个新计数值写入计数器,当前单稳不受什么影响。,操作方式1的时序(图3-13),CW=12LSB=3WR#CLKGATEOUT,3.4.3操作方式2(速率发生器),CW=12LSB=3WR#CLKGATEOUTNNNN00000003213212,图3-15,例3-5P94,1.19318MHz+5VTT2=1/1.19318MHz=838nsT=18xT2=15.09us,CLK1GATE1OUT182C54,T2,图3-16,程序:,MOVAL,01010101BOUT4CH,ALMOVAL10010BOUT44H,AL,3.4.4操作方式3(方波发生器),波特速率:每秒钟传输的二进制数的数据位数。操作条件:1、OUT=1(最初为高电平)。2、GATE=1时,则允许计数;当GATE=0时,则禁止计数。3、在写控制字(CW)和初始计数值(LSB)之后,下一个CLK脉冲期间装载计数器。4、装偶数:每次减2计数,在计数过程中,前一半为高电平,后一半为低电平。5、装奇数,在一个CLK时钟脉冲内将初值减1后(变成偶数)再进行装载。,操作方式3工作时序(图3-17):,CW=16LSB=4WR#CLKGATEOUTNNNN4242424,例3-6-P95,图3-18所示的82C54的计数器的操作方式3之下操作,初值为十进制数15,设置为BCD计数,试计算在OUT1上输出方波的周期T并编程1.19318MHz+5VT2T1T,CLK1GATE1OUT182C54,图3-18,初始化程序段:,MOVAL,01010111BOUT4CH,ALMOVAL,0FHOUT44H,AL,计数器1,读写低字节,方式3,BCD计数,3.4.5操作方式4(软件触发选通),工作条件:1、输出最初为高电平:OUT=1;当最初计数值终止时,OUT=0变低电平,低电平的时间为一个CLK脉冲,之后又变为高电平。2、GATE=1时计数;GATE=0时禁止计数。3、在写入一个控制字和初值之后的下一个CLK脉冲装载计数器。,操作方式4的工作时序,CW=18LSB=3WR#CLKGATEOUTNNNN3210FF,图3-19,例3-7P98,如图3-20所示的82C54用计数器1在操作方式4下运行,要求在装入计数器10us后产生一个选通信号,计算初值和并写出初始化程序段。1.19318MHz+5VWR#CLKWR#初始化编程?OUT1T,CLK1GATE1OUT182C54,D0D7,图3-20,3.4.6操作方式5(硬触发选通),CW=1ALSB=3WR#CLKGATEOUTNNNNN3210,图3-21,3.4.7个种方式下的通用操作,1、6种工作方式的比较:(1)操作方式0和操作方式1:共同点是输出OUT波形类似,OUT在计数开始时为0(低电平),并在计数过程中保持0电平不变;在计数结束时变为1(高电平)。OUT作为计数结束的中断请求信号,并无自动重装载。不同点:在GATE上升沿对计数的影响及启动计数器的触发信号不同。,(2)、操作方式2和操作方式3:共同点是具有自动再装入的能力(减到0时自动装入)。所以,,OUT可输出连续的波形,其频率为fCLK/初值。不同点在于:方式2在计数过程中OUT输出高电平,每当减到0时输出一个宽度为1个TCKL的负脉冲。方式3在计数过程中,输出1/2初值xTCKL(方波)高电平。(3)、操作方式4和操作方式5:相同点是OUT输出波形相同,在计数过程中OUT为高电平,在计数结束后OUT输出一负脉冲。并无自动装入的能力。不同点在于两种方式的计数触发信号不同,方式4由WR#启动计数;方式5由GATE的上升沿开始计数。,2.程序设计:当一个控制字写入一个计数器时,所有的控制逻辑立即复位,输出,OUT变为一个已知状态,这些操作不需要CLK脉冲。3.GATE:这个输入信号的采集总是在时钟CLK的上升沿时实施。4.计数器:新计数值一旦被装,就要在CLK的下降沿进行减计数器的值。最初的最大值为0,即216=65536;相当于BCD(二十进制)计数的104。,第三章总结,1.操作的对象实体:82C54定时/计数器2.特性描述:(1)三个独立的16位计数器。(2)时频10MHz。(

温馨提示

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

评论

0/150

提交评论