第21讲第7章并行接口及定时计数控制_第1页
第21讲第7章并行接口及定时计数控制_第2页
第21讲第7章并行接口及定时计数控制_第3页
第21讲第7章并行接口及定时计数控制_第4页
第21讲第7章并行接口及定时计数控制_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1、第第7章章(2) 争争分分夺夺秒秒-第7章 并行接口及定时计数控制 2n“ 大禹大禹 圣者圣者,乃惜寸阴乃惜寸阴,至於众人至於众人,当惜分阴。当惜分阴。” 晋书晋书陶侃传陶侃传第7章 并行接口及定时计数控制 3现代计现代计时工具时工具原子钟,原子钟,50亿年的亿年的累积误差累积误差是一秒是一秒第7章 并行接口及定时计数控制 4晶振也分有源及无源有源晶振怎么用?无源晶振怎么用?第7章 并行接口及定时计数控制 51 并行接口8255A2 计数器/定时器8253/8254n8255并行接口电路n8253计数器/定时器第7章 并行接口及定时计数控制 6n8255并行接口电路n8253计数器/定时器第7

2、章 并行接口及定时计数控制 7n 8253的引脚和六种工作方式的引脚和六种工作方式n 8253的编程的编程n 8253在在IBM PC系列机上的应用系列机上的应用学习重点学习目标n 熟悉熟悉定时器的工作方式定时器的工作方式n 熟练掌握熟练掌握初始化编程,即初始化编程,即配置定时器的寄存器配置定时器的寄存器n 掌握掌握简单的定时或计数程序设计简单的定时或计数程序设计第7章 并行接口及定时计数控制 8定时与计数的关系定时与计数的关系什么是计数?什么是计数?8计数就是计算事件的发生计数就是计算事件的发生次数次数。霍尔开关每当车轮霍尔开关每当车轮转过一圈时磁铁接近一次转过一圈时磁铁接近一次霍尔开关,于

3、是就会输出霍尔开关,于是就会输出一个脉冲。如果把这个脉一个脉冲。如果把这个脉冲输入冲输入微微机,机,微微机可以在机可以在每次脉冲到来时计一个数,每次脉冲到来时计一个数,假设假设60秒内秒内微微机的计数值机的计数值为为n,于是车轮每转过一圈,于是车轮每转过一圈的时间,即脉冲的周期为:的时间,即脉冲的周期为:60Tn如果车轮的半径为如果车轮的半径为r,于是车轮,于是车轮的周长为的周长为C=2r,得自行车的,得自行车的行驶速度为:行驶速度为:226060CrrnVTn这个脉冲式没有规律的这个脉冲式没有规律的第7章 并行接口及定时计数控制 9定时与计数的关系定时与计数的关系什么是定时?什么是定时?9设

4、定加热一只鸡的时间为设定加热一只鸡的时间为15分钟分钟(900s),启动后微波炉开始倒计时,),启动后微波炉开始倒计时,并在显示屏上显示剩余时间。图示当前并在显示屏上显示剩余时间。图示当前剩余时间为剩余时间为5分分45秒(秒(345s)。单片机)。单片机只需要每过只需要每过1s 更新一次显示时间,当更更新一次显示时间,当更新显示新显示900次(次(900s)后就让微波炉停)后就让微波炉停止加热即可。所以定时过程可视为止加热即可。所以定时过程可视为CPU计算单位时间(可以是计算单位时间(可以是1s、1ms、1s)的个数,当计时完成后,把单位时间乘的个数,当计时完成后,把单位时间乘以个数就得到了定

5、时的时间长度。以个数就得到了定时的时间长度。第7章 并行接口及定时计数控制 10n定时控制在微机系统中具有极为重要的作用,计数是许多过程定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能控制领域常用的功能n它们都是由数字电路中的计数电路构成它们都是由数字电路中的计数电路构成n定时器由数字电路中的计数电路构成,通过记录高精度晶振脉定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔冲信号的个数,输出准确的时间间隔计数电路是记录外设提供的具有一定随机性的脉冲信号时,它计数电路是记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进

6、而获知外设的某种状态),常又称为主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器计数器定时和计数本质上没有区别,定时和计数本质上没有区别,定时就是计数。定时就是计数。标准部件标准部件 外部功能引脚外部功能引脚 定时器定时器/计数器计数器 内部内部时钟源时钟源 计数周期未知,计数周期未知,甚至不具有周期性甚至不具有周期性 计数周期固定为计数周期固定为一个机器周期一个机器周期 当选择外部引脚事件源,称作计数器当选择外部引脚事件源,称作计数器 当选择内部精密时钟源时,称作定时器当选择内部精密时钟源时,称作定时器 第7章 并行接口及定时计数控制 12(1)软件延时)软件延时q利用微处理器执

7、行一个延时程序段实现利用微处理器执行一个延时程序段实现q不用硬件,但占用不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率时间、定时精度不高,随系统时钟频率改变改变(2)不可编程的硬件定时)不可编程的硬件定时q采用分频器、单稳电路或简易定时电路控制定时时间采用分频器、单稳电路或简易定时电路控制定时时间q定时电路简单、定时时间可以在一定范围改变定时电路简单、定时时间可以在一定范围改变(3)可编程的硬件定时)可编程的硬件定时q软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路时电路q具有多种工作方式、能够输出多种控制信号具有多种

8、工作方式、能够输出多种控制信号推荐的方法:推荐的方法:可以定时可以定时定时到了发通知定时到了发通知通知的形式多种多样通知的形式多种多样非常不好的方法,却是大非常不好的方法,却是大家最容易想到的方法家最容易想到的方法也是大家比较熟悉的也是大家比较熟悉的方法:方法:555芯片芯片第7章 并行接口及定时计数控制 13n3个独立的个独立的16位计数器通道位计数器通道n每个计数器有每个计数器有6种工作方式种工作方式n按二进制按二进制(FFFF)或十进制(或十进制(BCD码)码)(9999)计数计数8254是是8253的改进型的改进型三个闹钟三个闹钟独立工作独立工作定时或计数定时或计数的范围可选的范围可选

9、每个闹钟有每个闹钟有六种工作模式六种工作模式第7章 并行接口及定时计数控制 14D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT27.2.1 8253/8254定时计数器定时计数器计数通道计数通道 数据总线数据总线缓冲器缓冲器 读写控制电路读写控制电路 通道控制通道控制寄存器寄存器 和和82558255一样,一样,我们先了解一我们先了解一下它内部结构下它内部结构 第7章 并行接口及定时计数控制 15预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器

10、输出锁存器q计数初值存于预置寄存器;计数初值存于预置寄存器;q在计数过程中,减法计数器的值不断递减,直到为在计数过程中,减法计数器的值不断递减,直到为0q而预置寄存器中的预置不变。而预置寄存器中的预置不变。q输出锁存器用于写入锁存命令时,锁定当前计数值输出锁存器用于写入锁存命令时,锁定当前计数值7.2.1 8253/8254定时计数器定时计数器首先要明白这首先要明白这些些“器器”的作的作用用要注意是:要注意是:减一计数减一计数图虽然简单,但内涵丰富;图虽然简单,但内涵丰富;理解了这个图,理解了这个图,8253的工的工作原理就作原理就OK了。了。工作过程描述工作过程描述有什么作用?有什么作用?请

11、大家思考:请大家思考:当计数值为当计数值为0100H时,继时,继续计数可能续计数可能有什么问题有什么问题CLK能否起作能否起作用,要看用,要看GATE的脸色的脸色第7章 并行接口及定时计数控制 16(1)CLK时钟输入信号时钟输入信号q在计数过程中,此引脚上每输入一个时钟信号(下降在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减沿),计数器的计数值减1(2) GATE门控输入信号门控输入信号q控制计数器工作,可分成电平控制和上升沿控制两种类控制计数器工作,可分成电平控制和上升沿控制两种类型型(3) OUT计数器输出信号计数器输出信号q当一次计数过程结束(计数值减为当一次计数

12、过程结束(计数值减为0),),OUT引脚上将产引脚上将产生一个输出信号,工作方式不同,输出信号方式也不同。生一个输出信号,工作方式不同,输出信号方式也不同。7.2.1 8253/8254定时计数器定时计数器第7章 并行接口及定时计数控制 17nD0 D7数据线nA0 A1地址线nCS*片选信号nRD*读信号nWR*写信号CS* A1 A0I/O地址读操作RD*写操作WR*0 0 00 0 10 1 00 1 140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字7.2.1 8253/8254定时计数器定时计数器地址部分可以和8255比较学习第7章

13、并行接口及定时计数控制 18n8253作作分频器分频器:工作于工作于定时器方式定时器方式:CLK输入是连续的、周期输入是连续的、周期精确的时钟脉冲,精确的时钟脉冲,OUT输出必定是频率降低的、周期精确的时输出必定是频率降低的、周期精确的时钟脉冲。钟脉冲。n8253作作计数器计数器:CLK输入只是脉冲的数量,不是脉冲的时间间输入只是脉冲的数量,不是脉冲的时间间隔,隔,CLK可以输入周期不定的脉冲,也可以输入周期确定的脉可以输入周期不定的脉冲,也可以输入周期确定的脉冲。当计数到预置的初值后,从冲。当计数到预置的初值后,从OUT端输出一个脉冲。端输出一个脉冲。CLK的的脉冲周期不定,脉冲周期不定,O

14、UT输出的脉冲周期也不确定。输出的脉冲周期也不确定。n8253的基本工作方式:对外部输入到的基本工作方式:对外部输入到CLK引脚上的脉冲进行计引脚上的脉冲进行计数。数。定时方式还是计数方式,取决于输入脉冲的性质和定时方式还是计数方式,取决于输入脉冲的性质和用户的需要。用户的需要。第7章 并行接口及定时计数控制 19q8253有有6种工作方式,由种工作方式,由方式控制字方式控制字确定确定q每种工作方式的过程类似:每种工作方式的过程类似: 设定工作方式设定工作方式-写方式控制字写方式控制字 设定计数初值设定计数初值-写入预置计数器写入预置计数器 硬件启动硬件启动 -方式方式1&方式方式5或

15、软件启动或软件启动 计数初值进入减计数初值进入减1计数器计数器 每输入一个每输入一个CLK计数器减计数器减1的计数过程的计数过程 计数过程结束计数过程结束-OUT端有电平变化端有电平变化熟悉每种工作方式的特点熟悉每种工作方式的特点才能根据实际应用问题,才能根据实际应用问题,选择正确的工作方式选择正确的工作方式这种变化的不同就构成了不同的工作方式这种变化的不同就构成了不同的工作方式第7章 并行接口及定时计数控制 20n6种种工作方式:工作方式:n 方式方式0方式方式5n区别:区别: n OUT输出的波形不同;输出的波形不同;n 计数过程中计数过程中GATE信号对计数操作的影响不同;信号对计数操作

16、的影响不同;n 启动计数器的触发方式不同启动计数器的触发方式不同学习时要注意学习时要注意6种方种方式的区别:从这三式的区别:从这三个方面加以理解个方面加以理解注意从名字来理注意从名字来理解工作方式解工作方式即即输出波形输出波形!第7章 并行接口及定时计数控制 21GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束7.2.2 8253/8254的工作方式的工作方式初值为初值为4为为什么记了什么记了5个个CLK脉冲脉冲这个这个CLK只是把初值从只是把初值从预置预置寄存器寄存器-减减1计数器

17、计数器由低到高,可以由低到高,可以用来产生中断用来产生中断第7章 并行接口及定时计数控制 22GATE=1初值初值N,OUT在写入在写入命令执行后为低,第命令执行后为低,第N+1个个CLK脉冲之后,脉冲之后,变为高电平变为高电平第7章 并行接口及定时计数控制 23(b)方式0GATE作用恢复恢复GATE后从后从刚才停的值又开刚才停的值又开始减始减第7章 并行接口及定时计数控制 24第7章 并行接口及定时计数控制 251)计数器写完计数值时,开始计数,相应的输出信号OUT就开始为低电平。当计数器减到零时,OUT立即输出高电平。2)门控信号GATE位高电平时,计数器工作;为低电平时,计数器停止工作

18、,计数值保持不变。3)在计数器工作期间,如果重新写入新的计数值,计数器将按新写入的计数值重新工作。第7章 并行接口及定时计数控制 26设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR7.2.2 8253/8254的工作方式的工作方式什么是单什么是单稳电路?稳电路?第7章 并行接口及定时计数控制 27Any problem?第7章 并行接口及定时计数控制 28Any problem?恢复恢复GATE后从后从预置值重新开始预置值重新开始第7章 并行接口及定时计数控制 29

19、Any problem?第7章 并行接口及定时计数控制 30(1) 写入计数初值后,计数器并不立即开始工作;门控信号GATE上升沿有效,才开始工作,使输出OUT变成低电平;直到计数器值减到零后,输出才变高电平。(2) 在计数器工作期间,当GATE又出现一个上升沿时,计数器重新装入原计数初值并重新开始计数。(3) 如果工作期间对计数器写入新的计数初值,则要等到当前的计数值计满回零且门控信号再次出现上升沿后,才按新写入的计数初值开始工作。第7章 并行接口及定时计数控制 3103124GATEOUTCLK 4方式方式2031240312403124WR7.2.2 8253/8254的工作方式的工作方

20、式什么是分什么是分频器?分频器?分谁的频?谁的频?第7章 并行接口及定时计数控制 32nN分频计数器第7章 并行接口及定时计数控制 33第7章 并行接口及定时计数控制 34第7章 并行接口及定时计数控制 35方式2是一种具有自动装入时间常数(计数初 值N)的 N分频器。特点特点:一次设置计数初值,计数器可:一次设置计数初值,计数器可自动重复自动重复进行减进行减“1”计数操计数操作,减作,减“1”计数回计数回“0”,可从输出端输出一负脉冲信号。,可从输出端输出一负脉冲信号。周而复周而复始始(1)写入计数初值后,GATE为高开始工作,计数器为0时, OUT输出一个时钟脉宽的负脉冲后自动恢复高电平;

21、同时自动重新装入原计数初值,反复计数。(2)如果工作期间对计数器写入新的计数初值,则要等到当前的计数值计满回零后,才按新写入的计数初值开始工作。(3)在计数器工作期间,当GATE为低则停止计数,待GATE恢复后计数器重新装入原计数初值并重新开始计数。第7章 并行接口及定时计数控制 3603124GATEOUTCLK 4方式方式3031240312403124WR7.2.2 8253/8254的工作方式的工作方式第7章 并行接口及定时计数控制 37n对称方波(偶数)对称方波(偶数);近似对称方波(奇数)近似对称方波(奇数)第7章 并行接口及定时计数控制 38第7章 并行接口及定时计数控制 39第

22、7章 并行接口及定时计数控制 40第7章 并行接口及定时计数控制 41 方式3工作方式与方式2基本相同,也具有自动装入时间常数(计数初值)的功能.不同之处在于:不同之处在于: 工作在3方式,引脚OUT输出的不是一个时钟周期的负脉冲 ,而是占空比为1:1或近似1:1的方波;当计数初值为偶数时,输出在前一半的计数过程中为高电平,在后一半的计数过程中为低电平;为奇数时高电平比低电平宽一个时钟脉冲。第7章 并行接口及定时计数控制 42GATEOUTCLK031244方式方式4223331 0WR7.2.2 8253/8254的工作方式的工作方式1什么是选什么是选通信号?通信号?第7章 并行接口及定时计

23、数控制 43第7章 并行接口及定时计数控制 44第7章 并行接口及定时计数控制 45第7章 并行接口及定时计数控制 46方式4是一种由软件启动的计数方式。 1)此方式设定后,输出OUT就开始变为高电平,GATE为高时,当写完计数值后开始计数。当计数器减到零后,OUT输出一个宽度为一个时钟脉冲的负脉冲,然后恢复高电平,并一直保持高电平。2)门控信号GATE为高电平时,计数器工作;为低电平时,计数器停止工作;恢复为高电平后计数器又从原装入的计数初值开始减1工作。3)在计数器工作期间,如果重新写入新的计数值,不影响当前计数状态;仅当当前计数值计完后,计数器才按新写入的计数值工作。第7章 并行接口及定

24、时计数控制 47GATEOUTCLK031244方式方式52233311 0WR7.2.2 8253/8254的工作方式的工作方式第7章 并行接口及定时计数控制 48n硬件触发计数方式,即门控信号GATE上升沿触发计数。第7章 并行接口及定时计数控制 49第7章 并行接口及定时计数控制 50第7章 并行接口及定时计数控制 51方式5工作特点是由GATE上升沿触发计数器开始工作。 (1) 在方式5工作方式下,当写入计数初值后,计数器并不立即开始计数,而要由门控信号的上升沿启动计数。 (2) 在计数过程中(或者计数结束后),如果门控再次出现上升沿,计数器将从原装入的计数初值重新计数。第7章 并行接

25、口及定时计数控制 52方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N1 0N1 0讨论:讨论:计数开始的时刻?计数开始的时刻?输出波形的形状?输出波形的形状?7.2.2 8253/8254的工作方式的工作方式第7章 并行接口及定时计数控制 53n 8253 8253的六种工作方式可归为两类,一个是充的六种工作方式可归为两类,一个是充当频率发生器,另一类主要是作计数器来使用。当频率发生器,另一类主要是作计数器来使用。下面我们就从这个角度来讨论总结下面我们就从这个角度来讨论总结OUTOUT和和GATEGATE门的

26、作用。门的作用。 第7章 并行接口及定时计数控制 54n与频率发生器有关的工作方式与频率发生器有关的工作方式82538253有两种方式与频率发生器有关,即方式有两种方式与频率发生器有关,即方式2 2和发生和发生3 3,对对OUTOUT端,方式端,方式2 2提供给用户的是负脉冲,方式提供给用户的是负脉冲,方式3 3提供提供给用户的是方波。在这个两种方式下,给用户的是方波。在这个两种方式下,GATEGATE信号要始信号要始终保持为高,而且都是软启动,都是终保持为高,而且都是软启动,都是Auto Reload。第7章 并行接口及定时计数控制 55n与计数器有关的工作方式与计数器有关的工作方式 对于计

27、数器类,有方式对于计数器类,有方式0 0、1 1和方式和方式4 4、5 5。启动计数。启动计数器的方式有两种,一种是器的方式有两种,一种是CPUCPU把时间常数写入相应通道把时间常数写入相应通道后,计数器就开始工作,我们可以称之为软件启动方后,计数器就开始工作,我们可以称之为软件启动方式,在这种启动方式下,式,在这种启动方式下,GATEGATE要始终保持为高电平,要始终保持为高电平,所以方式所以方式0 0和方式和方式4 4可以称为软件启动方式。另一种是可以称为软件启动方式。另一种是硬件启动计数器,即硬件启动计数器,即CPUCPU把时间常数写入计数器后,即把时间常数写入计数器后,即使使GATEG

28、ATE为高电平,计数器并不工作。只有为高电平,计数器并不工作。只有GATEGATE发生跳发生跳变,其上升沿启动计数器工作,所以方式变,其上升沿启动计数器工作,所以方式1 1和方式和方式5 5就就可以称为硬件启动方式。计数器溢出时,可以称为硬件启动方式。计数器溢出时,OUTOUT有两种输有两种输出形式,要么是电平,要么是负脉冲。前者有方式出形式,要么是电平,要么是负脉冲。前者有方式0 0方方式式1 1,后者有方式,后者有方式4 4和方式和方式5 5。第7章 并行接口及定时计数控制 56方方式式门控信号(门控信号(GATE引脚)输入状态的控制功能引脚)输入状态的控制功能OUT引脚输出状态引脚输出状

29、态低电平低电平下降沿下降沿上升沿上升沿高电平高电平0 0禁止计数禁止计数禁止计禁止计数数GATEGATE的上升沿继续计数的上升沿继续计数允许计数允许计数计数过程为低,计数到计数过程为低,计数到0 0输出为输出为高(单次)高(单次)1 1不影响计不影响计数数不影响不影响计计数数启动计数;重新开始计数启动计数;重新开始计数不影响计不影响计数数输出宽度为输出宽度为N N个个CLKCLK周期的低电周期的低电平(单次)平(单次)2 2禁止计数禁止计数禁止计禁止计数数重新写入计数初值;重新重新写入计数初值;重新开始计数开始计数允许计数允许计数输出周期为输出周期为N N个个CLKCLK,宽度为,宽度为1 1

30、个个CLKCLK的负脉冲(重复波形)的负脉冲(重复波形)3 3禁止计数禁止计数禁止计禁止计数数重新写入计数初值;重新重新写入计数初值;重新开始计数开始计数允许计数允许计数输出周期为输出周期为N N个个CLKCLK的对称方波的对称方波(重复波形)(重复波形)4 4禁止计数禁止计数禁止计禁止计数数重新写入计数初值;重新重新写入计数初值;重新开始计数开始计数允许计数允许计数初态为高,计数到初态为高,计数到0 0,输出宽度,输出宽度为为1 1个个CLKCLK的负脉冲(单次)的负脉冲(单次)5 5不影响计不影响计数数不影响不影响计计数数启动计数;重新写入计数启动计数;重新写入计数初值并重新开始计数初值并

31、重新开始计数不影响计不影响计数数初态为高,计数到初态为高,计数到0 0,输出宽度,输出宽度为为1 1个个CLKCLK的负脉冲(单次)的负脉冲(单次)各方式中各方式中GATE信号的控制作用与输出波形信号的控制作用与输出波形第7章 并行接口及定时计数控制 57(1)8253加电后的工作方式不确定(2)8253必须初始化编程,才能正常工作q写入控制字写入控制字q写入计数初值写入计数初值q读取计数值读取计数值 (可选)可选)D7D6D5D4D3D2D1D0第7章 并行接口及定时计数控制 58计数器读写格式工作方式数制D7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计

32、数器211 非法非法00 计数器锁存命计数器锁存命令令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二进制二进制1 十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)7.2.2 8253/8254的工作方式的工作方式第7章 并行接口及定时计数控制 59(a)选择二进制)选择二进制q计数值范围:计数值范围:0000HFFFFHq0000H是最大值,代表是最大值,代表65536(b)选择十进

33、制()选择十进制(BCD码)码)q计数值范围:计数值范围:00009999q0000代表最大值代表最大值10000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址7.2.2 8253/8254的工作方式的工作方式第7章 并行接口及定时计数控制 60(1)对对8位数据线,读取位数据线,读取16位计数值需分两次位计数值需分两次(2)计数在不断进行,应该将当前计数值先行锁存,然后)计数在不断进行,应该将当前计数值先行锁存,然后读取:读取:q向控制字向控制字I/O地址:给地址:给8253写入锁存命令写入锁存命令q从计数器从计数器I/O地址:读取锁存的计数值地址:读取锁存的计数值读取计数值,要

34、注意读写格式和计数数制读取计数值,要注意读写格式和计数数制7.2.2 8253/8254的工作方式的工作方式第7章 并行接口及定时计数控制 61(4)计数初值的计算)计数初值的计算7.2.2 8253/8254的工作方式的工作方式时间常数的计算时间常数的计算TC=CLK/OUT例:例:8253在方式在方式3下,输出周期性方波,可作定时单位。设下,输出周期性方波,可作定时单位。设计数初值为计数初值为0000,计数个数,计数个数=65536,当,当CLK=1.1931816M时时,输出方波频率为输出方波频率为18.2HZ. 周期为周期为54.954MS. 则一天则一天=24X60X60X1000M

35、S/54.954MS=1573040, 或或1800B0H,且一小时且一小时=65543, 一分钟一分钟=1092, 一秒呢一秒呢?在电脑中就是利用上述原理完成计时的。在电脑中就是利用上述原理完成计时的。为什么计数初值为什么计数初值为为0,计数的次数,计数的次数却是却是65536对一个定时器来说,了解最大,最小对一个定时器来说,了解最大,最小的定时间隔是非常重要的的定时间隔是非常重要的8253的应用的应用还有一个限还有一个限制,就是时制,就是时钟的上限频钟的上限频率为率为2M第7章 并行接口及定时计数控制 62A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GA

36、TE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控制器控制器接至扬声器驱动器接至扬声器驱动器PB0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS第7章 并行接口及定时计数控制 63n阅读初始化程序段阅读初始化程序段n看计数器看计数器0作为定时中断的作用作为定时中断的作用n将计数器将计数器1作为定时刷新作为定时刷新n看如何编写初始化程序段看如何编写初始化程序段7.2.4 8253在在IBM PC系列机上的应用系列机上的应用第7章 并行接口及定时计数控制 64mov al,36h;36H00 11 011 0B;计数器;

37、计数器0为方式为方式3,采用二进制计数,采用二进制计数;先低后高写入计数值;先低后高写入计数值out 43h,al;写入方式控制字;写入方式控制字mov al,0;计数值为;计数值为0out 40h,al;写入低字节计数值;写入低字节计数值out 40h,al;写入高字节计数值;写入高字节计数值7.2.4 8253在在IBM PC系列机上的应用系列机上的应用(1)定时中断和定时刷新)定时中断和定时刷新为什么为什么AL输出两次到输出两次到40H,一次性,一次性的用的用MOV 40H,AX 行不行?行不行?第7章 并行接口及定时计数控制 65(1)计数器)计数器0:方式:方式3,计数值:,计数值:

38、65536,输出频率为,输出频率为1.19318MHz6553618.206Hz的方波的方波(2)门控为常启状态,这个方波信号不断产生)门控为常启状态,这个方波信号不断产生(3) OUT0端接端接8259A的的IRQ0,用作中断请求信号,用作中断请求信号(4)每秒产生)每秒产生18.206次中断请求,或说每隔次中断请求,或说每隔55ms(54.925493ms)申请一次中断)申请一次中断(5) DOS系统利用计数器系统利用计数器0的这个特点,通过的这个特点,通过08号中断服务号中断服务程序实现了时钟计时功能程序实现了时钟计时功能7.2.4 8253在在IBM PC系列机上的应用系列机上的应用第

39、7章 并行接口及定时计数控制 66(1)需要重复不断提出刷新请求)需要重复不断提出刷新请求门控总为高,选择方式门控总为高,选择方式2或或3(2) 2ms内刷新内刷新128次,即次,即15.6 s刷新一次刷新一次计数初值为计数初值为187.2.4 8253在在IBM PC系列机上的应用系列机上的应用第7章 并行接口及定时计数控制 67mov al,54h;54H01 01 010 0 B;计数器计数器1为方式为方式2,采用二进制计数,采用二进制计数;只写低;只写低8位计数值位计数值out 43h,al;写入方式控制字;写入方式控制字mov al,18;计数初值为;计数初值为18out 41h,a

40、l;写入计数值;写入计数值7.2.4 8253在在IBM PC系列机上的应用系列机上的应用第7章 并行接口及定时计数控制 68(1)计数器)计数器2的输出控制扬声器的发声音调的输出控制扬声器的发声音调(2)计数器)计数器2只能工作在方式只能工作在方式3,才能输出一定频率的方波,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声经滤波后得到近似的正弦波,进而推动扬声器发声(3)扬声器还受控于并行接口()扬声器还受控于并行接口(8255芯片)芯片)(4)必须使)必须使PB0和和PB1同时为高电平,扬声器才能发出预同时为高电平,扬声器才能发出预先设定频率的声音先设定频率的声音7.2

41、.4 8253在在IBM PC系列机上的应用系列机上的应用第7章 并行接口及定时计数控制 69;入口参数AX1.1931810的6次方发音频率speakerprocpush axmov al,0b6h;b6h10110110bout 43h,al;写入控制字pop axout 42h,al;写入低8位计数值mov al,ahout 42h,al;写入高8位计数值retspeakerendp7.2.4 8253在在IBM PC系列机上的应用系列机上的应用(2)扬声器控制)扬声器控制人耳听力的人耳听力的频率范围?频率范围?第7章 并行接口及定时计数控制 70speakonprocpush axin

42、 al,61h;PB端口的地址为61Hor al,03h;D1D0PB1PB011B,其他位不变out 61h,alpop axretspeakonendp7.2.4 8253在在IBM PC系列机上的应用系列机上的应用第7章 并行接口及定时计数控制 71speakoffprocpush axin al,61h;PB端口的地址为61Hand al,0fch;D1D0PB1PB000B,其他位不变out 61h,alpop axretspeakoffendp7.2.4 8253在在IBM PC系列机上的应用系列机上的应用第7章 并行接口及定时计数控制 72;数据段freqdw 1193180/6

43、00;代码段mov ax,freqcall speaker;设置扬声器音调call speakon;打开扬声器声音mov ah,1;等待按键int 21h;按键后call speakoff;关闭扬声器声音7.2.4 8253在在IBM PC系列机上的应用系列机上的应用第7章 并行接口及定时计数控制 73 例例1 1:现有一个高精密晶体振荡电路,输出现有一个高精密晶体振荡电路,输出信号是脉冲波,频率为信号是脉冲波,频率为1MHz1MHz。要求利用。要求利用82538253做做一个秒信号发生器,其输出接一发光二极管,一个秒信号发生器,其输出接一发光二极管,以以0.50.5秒点亮,秒点亮,0.50.

44、5秒熄灭的方式闪烁指示。设秒熄灭的方式闪烁指示。设82538253的通道地址为的通道地址为80H80H87H87H第7章 并行接口及定时计数控制 74解:解:1 1、时间常数计算、时间常数计算 这个例子要求用这个例子要求用82538253作一个分频电路,而且作一个分频电路,而且其输出应该是方波,否则发光二极管不可能等其输出应该是方波,否则发光二极管不可能等间隔闪烁指示。频率为间隔闪烁指示。频率为1MHz1MHz信号的周期为信号的周期为1 1微妙,微妙,而而1Hz1Hz信号的周期为信号的周期为1 1秒,所以分频系数秒,所以分频系数N=N=?11000000100000011SSNSS第7章 并行

45、接口及定时计数控制 75 由于由于82538253一个通道最大的计数值是一个通道最大的计数值是6553665536,所以对于,所以对于N N10000001000000这样的大数,一个通道是不可能完成上述分频要这样的大数,一个通道是不可能完成上述分频要求的。求的。 取两个计数器,采用级联方式。取两个计数器,采用级联方式。 2 2、电路、电路1210000001000 1000NNNOUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK11KHz8253通道1注意是乘不是加注意是乘不是加第7章 并行接口及定时计数控制 76 3、工作方式选择、工作方式选择 由于通道由于通道1

46、 1要输出方波信号推动发光二极管,所以要输出方波信号推动发光二极管,所以通道通道1 1应选工作方式应选工作方式3 3。对于通道。对于通道0 0,只要能起分频作,只要能起分频作用就行,对输出波形不做要求,所以方式用就行,对输出波形不做要求,所以方式2 2和方式和方式3 3都都可以选用。可以选用。 这样对于通道这样对于通道0 0,我们取工作方式,我们取工作方式2 2,BCDBCD计数;对计数;对于通道于通道1 1,我们取工作方式,我们取工作方式3 3,二进制计数(当然也可,二进制计数(当然也可选选BCDBCD计数)计数) 第7章 并行接口及定时计数控制 77 4、程序、程序mov al,00110

47、101b;通道;通道0控制字控制字out 86h,almov al,00;通道;通道0初始计数值初始计数值out 80h,almov al,10hout 80h,almov al,01110110b;通道;通道1控制字控制字out 86h,al mov al,0e8h;通道;通道1初始计数值,初始计数值,03E8H=1000BCDout 82h,almov al,03hout 82h,al第7章 并行接口及定时计数控制 78例例2:计件系统。计件系统的功能就是记录计件系统。计件系统的功能就是记录 脉冲的个数。脉冲的个数。 一个脉冲代表一个事件,比如交通道路检测系统一个脉冲代表一个事件,比如交通

48、道路检测系统中通过检测点的车辆,工业控制系统中流水线上中通过检测点的车辆,工业控制系统中流水线上已加工好的工件。要求在计件过程中,已加工好的工件。要求在计件过程中,PCPC机可以机可以显示当前计数器的内容,当完成显示当前计数器的内容,当完成1000010000个工件记录个工件记录后,系统发出后,系统发出1KHz1KHz信号推动喇叭发音通知用户。信号推动喇叭发音通知用户。第7章 并行接口及定时计数控制 79 解:解:1 1、电路。、电路。 需要两个通道,一个作为计数,选用通道需要两个通道,一个作为计数,选用通道0。另一个产生。另一个产生1KHz信号,选用通道信号,选用通道1。工作原理如下,传感器

49、电路把物理事工作原理如下,传感器电路把物理事件转换为脉冲信号输入到通道件转换为脉冲信号输入到通道0 0计数,当记录计数,当记录1000010000个事件后,个事件后,通道通道0 0计数器溢出,计数器溢出,GATEGATE端输出高电平,这时通道端输出高电平,这时通道1 1开始工作,开始工作,产生产生1KHz1KHz信号推动喇叭发音信号推动喇叭发音。OUT0GATE0CLK01MHz8253通道05VOUT1GATE1CLK18253通道1计件脉冲驱动放大第7章 并行接口及定时计数控制 80 2 2、工作方式选择、工作方式选择 对于通道对于通道1 1,由于要产生,由于要产生1KHz信号,故选用工作

50、方信号,故选用工作方 式式3。对于通道。对于通道0,要求初始计数值写入计数通道后,计数器就可,要求初始计数值写入计数通道后,计数器就可以工作,则通道以工作,则通道0的启动方式应是软件启动。另外由于要求计数溢的启动方式应是软件启动。另外由于要求计数溢出后产生一个信号来启动一个事件,即喇叭发音,故可选的工作出后产生一个信号来启动一个事件,即喇叭发音,故可选的工作方式为方式方式为方式0和方式和方式4,对于图所示方案,通道,对于图所示方案,通道1的的GATE信号由通信号由通道道0的的OUT信号产生,这个信号产生,这个OUT信号应该是电平型的,所以通道信号应该是电平型的,所以通道0应选用方式应选用方式0

51、。 第7章 并行接口及定时计数控制 813、时间常数、时间常数 N010004、程序(见书)、程序(见书)11MHz1000KHz=10001KHz1KHzN 第7章 并行接口及定时计数控制 82【例例7-3 】用用8253(地址地址40H43H)将将5MHz的脉冲变为的脉冲变为1Hz的脉冲。的脉冲。 例例7-37-3系统连接图系统连接图分析:可采用方式分析:可采用方式2分频器完成,但初值分频器完成,但初值=FCLK/FOUT=5MHz /1Hz =510665536,怎么办?,怎么办?解决的办法是:解决的办法是:需要需要2个个T/C(定时器(定时器/计数器通道)级联,计数器通道)级联,T/C

52、0采采用方式用方式3产生连续分频方波,做产生连续分频方波,做T/C1的的CLK,T/C1采用方式采用方式2产生产生1Hz脉冲。两个脉冲。两个T/C的的GATE统一控制。系统连接如图所示。统一控制。系统连接如图所示。第7章 并行接口及定时计数控制 83例例7-37-3程序如下:程序如下:MOV AL,00110111B;T/C0控制字 OUT 43H,ALMOV AX, 5000H;T/C0 初值OUT 40H,ALMOV AL, AHOUT 40H,ALMOV AL,01110101B ;T/C1 控制字 OUT 43H,AL MOV AX, 1000H ;T/C1初值OUT 41H,ALMO

53、V AL, AHOUT 41H,AL第7章 并行接口及定时计数控制 84【例例7-4】 8253的的CLK0的时钟频率是的时钟频率是8KHz,在系统如图的,在系统如图的连接方式下,编程使其连接方式下,编程使其能产生周期为能产生周期为9s,占空,占空比为比为5:4的方波,同时的方波,同时计算计算T/C0最大定时时间最大定时时间是多少?是多少? D7D0W RRDA0A1A3A4A5A6A7CSCLK0GATE0OUT0CLK1GATE1OUT1CLK0GATE0OUT08253ABC74LS138Y2G1G2AG2BD7D0IOWIORA1A2A0A8A9例例7-47-4系统连接图系统连接图第7

54、章 并行接口及定时计数控制 85【例例7-47-4】分析:分析:n1 1 在在CLKCLK0 0已知的情况下,可算出其周期,最大定时时已知的情况下,可算出其周期,最大定时时间与间与CLKCLK周期及计数初值的最大值有关。周期及计数初值的最大值有关。n2 2 根据系统连接图,可分析出根据系统连接图,可分析出Intel 8253Intel 8253端口地址为端口地址为90H90H、92H92H、94H94H和和96H96H,同时,可将,同时,可将T/CT/C0 0 设置为方设置为方式式3 3,使其产生,使其产生1Hz1Hz;T/CT/C1 1设置为方式设置为方式3 3,产生周期为,产生周期为9 9秒,占空比为秒,占空比为5:45:4的方波。的方波。第7章 并行接口及定时计数控制 86【例例7-47-4】解:解:TCLKTCLK0 0=1/fCLK=1/fCLK0 0 =1/8000=0.125ms =1/8000=0.125ms最大定时时间最大定时时间 65536655360.125ms0.125ms 8.192s8.192s产生方波的初始化程序如下:产生方波的初始化程序如下:MOV ALMOV AL,001101100110111 1B B ;T/CT/C0 0 控制字控制字 OUT 96HOUT 96H,ALALMOV AX, 8000H MOV AX, 8000H

温馨提示

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

评论

0/150

提交评论