lec18定时计数控制接口8253A剖析

上传人:pu****.1 文档编号:569242664 上传时间:2024-07-28 格式:PPT 页数:34 大小:750.50KB
返回 下载 相关 举报
lec18定时计数控制接口8253A剖析_第1页
第1页 / 共34页
lec18定时计数控制接口8253A剖析_第2页
第2页 / 共34页
lec18定时计数控制接口8253A剖析_第3页
第3页 / 共34页
lec18定时计数控制接口8253A剖析_第4页
第4页 / 共34页
lec18定时计数控制接口8253A剖析_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《lec18定时计数控制接口8253A剖析》由会员分享,可在线阅读,更多相关《lec18定时计数控制接口8253A剖析(34页珍藏版)》请在金锄头文库上搜索。

1、lec18lec18定时计数控制接口定时计数控制接口8253A8253A剖析剖析定时器和计数器定时器和计数器n定时控制在微机系统中具有极为重要的作用,定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能计数是许多过程控制领域常用的功能n它们都是由它们都是由数字电路数字电路中的计数电路构成中的计数电路构成定时器定时器通过记录高精度晶振脉冲信号的个数,通过记录高精度晶振脉冲信号的个数,输输出准确的时间间隔出准确的时间间隔.计数电路如果记录具有一定随机性的脉冲信号时,计数电路如果记录具有一定随机性的脉冲信号时,它主要它主要反映脉冲的个数反映脉冲的个数(进而获知外设的某种状(进而获

2、知外设的某种状态),常又称为态),常又称为计数器计数器定时功能的实现方法定时功能的实现方法n软件延时软件延时q利用微处理器执行一个延时程序段实现利用微处理器执行一个延时程序段实现q不用硬件,但占用不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率时间、定时精度不高,随系统时钟频率改变改变n不可编程的硬件定时不可编程的硬件定时q采用分频器、单稳电路或简易定时电路控制定时时间采用分频器、单稳电路或简易定时电路控制定时时间q定时电路简单、定时时间可以在一定范围改变定时电路简单、定时时间可以在一定范围改变n可编程的硬件定时可编程的硬件定时q软硬件相结合、用可编程定时器芯片构成一个方便灵活的定时软

3、硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路电路q具有多种工作方式、能够输出多种控制信号具有多种工作方式、能够输出多种控制信号8253/8254定时计数器定时计数器n有有3个独立的个独立的16位计数器通道位计数器通道n每个计数器通道有每个计数器通道有6种工作方式种工作方式n可以按二进制或十进制(可以按二进制或十进制(BCD码)计数码)计数n8253最高计数频率为最高计数频率为2MHz,8254最高为最高为10MHzn计时时间长短可用软件设置,可由软件或硬件控制开始计数或停止计数计时时间长短可用软件设置,可由软件或硬件控制开始计数或停止计数n8254可同时锁存可同时锁存13个计数器的

4、计数值和状态值,供个计数器的计数值和状态值,供CPU读取(读取(8253每每次只能锁存和读取一个通道的计数值)。次只能锁存和读取一个通道的计数值)。8254是是8253的改进型的改进型1. 8253/8254的内部结构和引脚的内部结构和引脚D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2(1 1)计数器计数器预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减减1

5、计数器计数器的值不断递减,而预置寄存器中的值不断递减,而预置寄存器中的预置不变。的预置不变。输出锁存器输出锁存器用于写入锁存命令时,锁定当前计数值用于写入锁存命令时,锁定当前计数值预置寄存器、减预置寄存器、减1计数器和输出锁存器都是计数器和输出锁存器都是16位。位。计数器的计数器的3个引脚个引脚nCLK时钟输入信号时钟输入信号q在计数过程中,此引脚上每输入一个时钟信号(下降沿),在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减计数器的计数值减1nGATE门控输入信号门控输入信号q控制计数器工作,可分成电平控制和上升沿控制两种类型控制计数器工作,可分成电平控制和上升沿控制两种

6、类型nOUT计数器输出信号计数器输出信号q当一次计数过程结束(计数值减为当一次计数过程结束(计数值减为0),),OUT引脚上将产生引脚上将产生一个输出信号一个输出信号(2)与处理器接口)与处理器接口nD0 D7数据线数据线nA0 A1地址线地址线nCS*片选信号片选信号nRD*读信号读信号nWR*写信号写信号CS* A1 A0读操作读操作RD*写操作写操作WR*0 0 00 0 10 1 00 1 1读计数器读计数器0读计数器读计数器1读计数器读计数器2无操作无操作写计数器写计数器0写计数器写计数器1写计数器写计数器2写控制字写控制字2. 8253/8254的工作方式的工作方式n8253/82

7、54有有6种工作方式种工作方式,由方式控制字确定,由方式控制字确定n每种工作方式的过程类似:每种工作方式的过程类似: 设定工作方式设定工作方式 设定计数初值设定计数初值 硬件启动硬件启动 计数初值进入减计数初值进入减1计数器计数器 每输入一个时钟计数器减每输入一个时钟计数器减1的计数过程的计数过程 计数过程结束计数过程结束方式方式0:计数器方式:计数器方式GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束方式方式1:可编程单稳脉冲:可编程单稳脉冲设定工作方式设定计数初值硬件启动计数值送

8、入计数器计数过程计数结束方式方式2:频率发生器(分频器):频率发生器(分频器)方式方式3:方波发生器偶数初值:方波发生器偶数初值方式方式3:方波发生器:方波发生器 奇数初值奇数初值方式方式4:软件触发选通信号:软件触发选通信号方式方式5:硬件触发选通信号:硬件触发选通信号各种工作方式的输出波形各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N1 0N1 0N1 0讨论:讨论:计数开始的时刻计数开始的时刻工作方式小结工作方式小结(1)方式方式2,4,5相同之处相同之处:计数到终点,输出宽度为:计数到终

9、点,输出宽度为1个个CLK周期的低电平脉冲。周期的低电平脉冲。 不同点为:不同点为:方式方式2为自动启动为自动启动,重复计数、,重复计数、输出低电平脉冲;输出低电平脉冲;方式方式4也为自动启动,也为自动启动,仅仅输出一个低电平脉输出一个低电平脉冲冲;方式方式5需等待需等待GATE上升沿的到来才开始计数,只上升沿的到来才开始计数,只输出一输出一个低电平脉冲个低电平脉冲。(2)方式方式2,3相同之处:输出周期性信号,每当计数到终点,相同之处:输出周期性信号,每当计数到终点,初始化时预置的初值都会被自动重新装入初始化时预置的初值都会被自动重新装入(减减1计数器计数器)。(3)方式方式1,方式,方式5

10、相同之处:触发方式为脉冲触发,只有相同之处:触发方式为脉冲触发,只有GATE信号为上升沿信号为上升沿才会触发计数器工作。才会触发计数器工作。3. 8253/8254的编程的编程n8253/8254加电后的工作方式不确定加电后的工作方式不确定n8253/8254必须初始化编程,才能正常工作必须初始化编程,才能正常工作q写入控制字写入控制字q写入计数初值写入计数初值D7D6D5D4D3D2D1D0(1) 写入方式控制字写入方式控制字计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计数器211 非法非法(53)读

11、读 出出 控控 制制 字字(54) 00 计数器锁存命令计数器锁存命令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二进制二进制1 十进制十进制(BCD计数计数)控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)示例示例(2) 写入计数值写入计数值n选择二进制时选择二进制时q计数值范围:计数值范围:0000HFFFFHq0000H是最大值,代表是最大值,代表65536n选择十进制(选择十进制(BCD

12、码)码)q计数值范围:计数值范围:00009999q0000代表最大值代表最大值10000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址示例示例(3) 读取计数值读取计数值n对对8位数据线,读取位数据线,读取16位计数值需分两次位计数值需分两次n计数在不断进行,应该将当前计数值先行锁存,计数在不断进行,应该将当前计数值先行锁存,然后读取:然后读取:q向控制字向控制字I/O地址:写入地址:写入8253/8254锁存命令锁存命令q从计数器从计数器I/O地址:读取锁存的计数值地址:读取锁存的计数值读取计数值,要注意读取计数值,要注意读写格式读写格式和和计数数制计数数制(4)读出控制字()

13、读出控制字(8254)110:存计数值存计数值0:存状态:存状态2#1#0#0D7D6D5D4D3D2D1D0nD7D6和和D0为标志位,必须为为标志位,必须为110。 nD5=0锁存当前的计数值;锁存当前的计数值;nD4=0锁存当前状态;锁存当前状态;nD3D1 用来选择锁存的计数器分别对应于计数器用来选择锁存的计数器分别对应于计数器2计数计数0 ,1表示锁存。表示锁存。读出控制字举例读出控制字举例n【例例8-16】设设8254的端口地址为:的端口地址为:0E0H0E3H,将计数器,将计数器2的的16位计数器读出并保存在位计数器读出并保存在CX寄存寄存器中,编程如下:器中,编程如下:MOV

14、AL,0C8H ;读出控制字为读出控制字为11001000BOUT 0E3H,AL ; 锁存计数器锁存计数器2的计数值的计数值IN AL,0E2H;先读低先读低8位位MOV CL,AL ;存低八位存低八位IN AL,0E2H;后读高后读高8位位MOV CH,AL ;存高八位,存高八位,CX中为读取到的结果中为读取到的结果n n例题例题例题例题: : 现有一个高精密晶体振荡电路,输入信号是脉冲波,频率为现有一个高精密晶体振荡电路,输入信号是脉冲波,频率为1MHz。要求利用要求利用8253做一个秒信号发生器,其输出接一发光二极管,以做一个秒信号发生器,其输出接一发光二极管,以0.5秒秒点亮,点亮,

15、0.5秒熄灭的方式闪烁指示。假定秒熄灭的方式闪烁指示。假定8253的通道地址为的通道地址为40H43H. n解答解答:n(1) 8253作一个分频电路,而且其输出应该是方波作一个分频电路,而且其输出应该是方波 n(2)分频系数)分频系数N : 216通道通道通道通道0 0首先把首先把首先把首先把1MHz1MHz信号信号信号信号10001000分频,产生分频,产生分频,产生分频,产生1KHz1KHz的信号,通道的信号,通道的信号,通道的信号,通道1 1再把再把再把再把1KHz1KHz信号信号信号信号10001000分频,结果就得到的分频,结果就得到的分频,结果就得到的分频,结果就得到的1Hz1H

16、z信号信号信号信号(3 3)通道)通道)通道)通道1 1要输出方波信号推动发光二极管,所以通道要输出方波信号推动发光二极管,所以通道要输出方波信号推动发光二极管,所以通道要输出方波信号推动发光二极管,所以通道1 1应选工作方式应选工作方式应选工作方式应选工作方式3 3。对于通道。对于通道。对于通道。对于通道0 0,只要能起分频作用就行,对,只要能起分频作用就行,对,只要能起分频作用就行,对,只要能起分频作用就行,对输出波形不做要求,所以方式输出波形不做要求,所以方式输出波形不做要求,所以方式输出波形不做要求,所以方式2 2和方式和方式和方式和方式3 3都可以选用。都可以选用。都可以选用。都可以

17、选用。(4) 初始化:初始化: 通道通道0: 工作方式工作方式2,BCD计数;计数; 通道通道1: 工作方式工作方式3,二进制计数,二进制计数MOV AL,00110101B;通道;通道0控制字控制字OUT 43H,ALMOV AL,00;通道;通道0初始计数值初始计数值OUT 40H,ALMOV AL,10HOUT 40H,ALMOV AL,01110110B;通道;通道1控制字控制字OUT 43H,ALMOV AX,1000 ;通道;通道1初始计数值初始计数值OUT 41H,ALMOV AL, AHOUT 41H,AL小结小结n8253A/8254A内部结构内部结构n8253A/8254A引脚引脚qCLK、OUT、GATE引脚的功能引脚的功能n8253A/8254A六种工作方式六种工作方式n8253A/8254A编程编程结束结束

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号