第十章-定时器-微型计算机原理与应用-电子教案-教学课件



《第十章-定时器-微型计算机原理与应用-电子教案-教学课件》由会员分享,可在线阅读,更多相关《第十章-定时器-微型计算机原理与应用-电子教案-教学课件(28页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,10,章 定时器,/,【内容简介】,首先简要介绍微型计算机中定时器的作用,然后重点介绍可编程定时器/计数器8254的组成原理、工作方式及编程使用。,【重点难点】,重点是8254的组成原理、工作方式及编程使用。难点是8254的方式控制字及编程使用。,10.1 概 述,10.2 可编程定时器/计数器8254,10.3 8254编程使用,第10章 定时器/计数器,10.1 概 述,在计算机中经常用到定时信号,比如动态存储器刷新、系统日历计时等,在自动控制中的定时控制等。定时方法可采用软件/硬件方式。软件定时是
2、设计延时子程序,以达到定时的目的。硬件定时是用专门的定时器/计数器来实现,主要优点是不占用CPU的时间。可与CPU并行工作。,硬件定时器实质上是一个可加1或者减1的计数器,可上升沿或者下降沿计数。,在早期的PC机中使用8253作为定时器/计数器,以后的PC/AT使用的是8254。,另外在PC/AT及以后的一些兼容机中,使用MC146818作为定时芯片。,10.2 可编程定时器/计数器8254,8254包含有3个16位计数器,可按二进制或十进制计数,有6种工作方式。,10.2.1 内部结构与引脚功能,10.2.2 工作方式,部,表,10.1 8254,内部地址分配,CS,A,1,A,0,RD,W
3、R,功,能,0,0,0,0,0 0,0 1,1 0,1 1,1,1,1,1,0,0,0,0,写计数器,0,写计数器,1,写计数器,2,写方式控制字,0,0,0,0,0 0,0 1,1 0,1 1,0,0,0,0,1,1,1,1,读计数器,0,读计数器,1,读计数器,2,无效,在8254内部设置有4个寄存器,由地址A,1,A,0,选择和片选信号 确定,如,表10.1,所示。,表10.1 8254内部地址分配,CS,A,1,A,0,RD,WR,功能,0,0,0,0,0 0,0 1,1 0,1 1,1,1,1,1,0,0,0,0,写计数器0,写计数器1,写计数器2,写方式控制字,0,0,0,0,0
4、0,0 1,1 0,1 1,0,0,0,0,1,1,1,1,读计数器0,读计数器1,读计数器2,无效,2.引脚信号,8254有24个引脚,采用双列直插式封装,其信号分布如,图10.1(b),所示,功能如下:,D,7,-D,0,:数据总线,双向,8位,与外部数据总线连接。,WR:写信号输入,低电平有效。,RD:读信号,输入,低电平有效。,CS:片选信号,输入,低电平有效。,A,1,A,0,:地址信号,输入,用于选择内部寄存器。,CLK,2,CLK,0,:3个计数器计数信号输入。,OUT,2,OUT,0,:3个计数器计数回零输出,高电平有效。,GATE,2,GATE,0,:3个计数器外部门控信号输
5、入端,高电平或上升沿有效。,VCC:5 V电源。,GND:地。,(2)GATE1,允许计数;GATE0,禁止计数。如果在计数过程中修改计数初值,则在下一时钟脉冲新写入的计数初值送入减1计数器,然后按新值计数。,2.方式1-可重复触发的单稳态触发器,(1)写入控制字后OUT输出高电平,写入计数初值后必须由GATE的上升沿触发计数。计数开始OUT变为低电平,直到计数回0时再输出高电平。若要再次计数,必须用GATE上升沿重新触发。方式1时序如,图10.4,所示。,(2)在计数过程中写入新的计数初值,当前计数状态不受影响。若有GATE上升沿触发,则按新的计数初值重新计数,直到计数回0,OUT变为高电平
6、,低电平宽度为两次计数值之和。,3.方式2-分频器,是一种(n-1):1的分频器工作方式,特点如下:,(3)GATE1时,允许计数;GATE0时,停止计数。GATE的上升沿启动重新计数。若在计数过程中写入新的计数初值,则在下一时钟周期按新值计数。,5.方式4-软件触发的选通信号发生器,(1)写入控制字后OUT输出高电平,写入计数初值后的下一时钟送入减1计数器,减1计数。计数回0时输出低电平,持续1个时钟周期后又变为高电平,即一个负脉冲信号,如,图10.7,所示。,由于需要GATE的上升沿触发,故称硬件触发的脉冲发生器,时序如,图10.8,所示。,(2)计数过程中若GATE 有上升沿出现,则在下
7、一时钟脉冲计数初值重新送入减1计数器,重新减1计数。,(3)计数过程中若写入新的计数初值,而无GATE上升沿触发,当前计数状态不受影响。如果有GATE 上升沿触发,则重新按照新的计数初值计数。,10.3 8254编程使用,10.3.1 控制字,10.3.2 编程使用,10.3.3 8254在PC机中的应用,10.3.2 编程使用,8254的编程主要是设置工作方式,写入计数初值,在计数过程中读取计数值和状态信息。,1.写操作,写操作主要是写入控制字和计数初值,即初始化。8254有3个计数器,初始化时可以一个一个地进行,也可以先设置3个计数器的工作方式,然后写入各自的计数初值。前者如,图10.12
8、,,后者如,图10.13,所示。但是必须先写入方式控制字,再写入计数初值。对于16位计数初值,先写入低字节,再写入高字节。,2.读操作,读操作有两种方式,一种是直接读,读取计数初值;另一种是先发锁存命令,然后再读,读取当前计数值。16位时,先读低字节,再读高字节。,在发锁存命令时可以使用读回控制字,也可以使用方式控制字。若用方式控制字,其中D,5,D,4,00,D,7,D,6,用来选择计数器,其余低4位任意。若设控制字端口地址为TIM,计数器1按双字节计数,读取当前计数值的程序如下:,MOVDX,TIM,MOVAL,01000000B,OUTDX,AL ;发锁存命令,INAL,DX ;读取低字
9、节,MOV AH,AL,IN AL,DX ;读取高字节,XCHG AH,AL,图10.14 8254在PC机中的应用,在中断服务程序中,时间值保存在BIOS数据区的两个变量TIMER-LO和TIMER-HI中。计数器0初始化程序如下:,MOV AL,36H ;计数器0双字节,方式3,二进制计数,OUT 43H,AL ;写入控制寄存器,MOVAL,0,OUT40H,AL ;写低字节,OUT40H,AL ;写高字节,(2)计数器1,计数器1用来向主机定时提出动态RAM刷新请求,GATE,1,接5V,处于常启状态。选择工作方式2,以字节计数,初始化程序如下:,MOVAL,54H ;计数器1写入低字节,方式2,,;二进制计数,OUT43H,AL ;写入控制寄存器,MOVAL,18 ;设置低字节计数值18,OUT41H,AL ;将18写入计数器1,启动工作后,由OUT1产生连续负脉冲,其频率为1.1931816MHz/1866.2878KHz,周期为15.0857s。OUT,1,连接到D触发器的触发脉冲输入端,而D触发器的数据输入端接+5V,这样可利用负脉冲的上升沿将触发器置1,输出高电平,定时请求DRAM刷新。,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。