可编程定时器计数器8254及其应用课件

上传人:壹****1 文档编号:569359612 上传时间:2024-07-29 格式:PPT 页数:29 大小:1,001.50KB
返回 下载 相关 举报
可编程定时器计数器8254及其应用课件_第1页
第1页 / 共29页
可编程定时器计数器8254及其应用课件_第2页
第2页 / 共29页
可编程定时器计数器8254及其应用课件_第3页
第3页 / 共29页
可编程定时器计数器8254及其应用课件_第4页
第4页 / 共29页
可编程定时器计数器8254及其应用课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《可编程定时器计数器8254及其应用课件》由会员分享,可在线阅读,更多相关《可编程定时器计数器8254及其应用课件(29页珍藏版)》请在金锄头文库上搜索。

1、第1页电气工程学院电气工程学院6.4 可可编程定程定时/计数器数器8254及其及其应用用 l为什么需要定时为什么需要定时/计数器计数器 在自动化流水线中在自动化流水线中 在测控系统中在测控系统中 在智能化仪器仪表中在智能化仪器仪表中两项基本工作两项基本工作计数计数定时定时l关于定时关于定时定时定时软件定时软件定时硬件定时硬件定时不可编程芯片定时(如不可编程芯片定时(如555定时器)定时器)可可编程芯片(如程芯片(如8254定定时器)器)l定时器工作原理定时器工作原理漏水模型漏水模型如如8254装水模型装水模型如如80C51第2页电气工程学院电气工程学院 6.4.1 8254定定时器器/计数器数

2、器 (1)8254的外部引脚和内部的外部引脚和内部结构构 *A1 A0 选择选择片内片内各端口(各端口(3个通道个通道和和一个控制寄存器一个控制寄存器) 0 0 0 1 1 0 1 1通道通道0 通道通道1 通道通道2 控制寄存器控制寄存器第3页电气工程学院电气工程学院8254与与CPU连接示例接示例 RD WRCSA1A0D0 :D7 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 地址地址译码器译码器A9 :A2A1A0IORIOW 控制控制 寄存器寄存器8254 DB 片选片选片内端口选择片内端口选择A9 A8 A7 A6 A5 A4 A3

3、 A2 A1 A0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 1 1 20CH 选中通道中通道0 20DH 选中通道中通道120EH 选中通道中通道2 20FH 选中控制寄存器中控制寄存器 设当设当A9A2的地址信息为:的地址信息为:1 0 0 0 0 0 1 1译码器输出有效信号译码器输出有效信号第4页电气工程学院电气工程学院基本基本计数数工作原理工作原理: 减法计数器减法计数器计数工作单元计数工作单元CE 代表外部事件代表外部事件发生的发生的计数脉冲计数脉冲 减法计数器减法计数器计

4、数工作单元计数工作单元 CE频率精确的频率精确的时钟脉冲串时钟脉冲串根据根据不同的工作方式,不同的工作方式,OUT输出不同的信号输出不同的信号CLK 基本基本定定时工作原理工作原理: CLK 计数初数初值N(定时系数)(定时系数) OUT OUT 定定时系数系数要求定要求定时的的时间 / 时钟脉冲周期脉冲周期 定定时的本的本质还是是计数数,计数的数的对象必象必须是是频率精确的脉冲串。如果率精确的脉冲串。如果时钟脉冲脉冲的的周期是周期是1s ,要求定,要求定时1ms,则计数数1000次即可,即:次即可,即:定定时系数系数为1000;(对秒秒计数数60次就是次就是1分分钟) 计数初数初值N 注意!

5、注意!工作原理工作原理 第5页电气工程学院电气工程学院 在在计数工作方式下数工作方式下:计数初数初值写入写入CR;CE为0时表明表明计数达到数达到规定定值。 在定在定时工作方式下工作方式下:定:定时系数写入系数写入CR;CE为0时表明表明定定时时间到到。 16计数初值寄存器计数初值寄存器 CR16位计数工作单元位计数工作单元 CEOUT16输出锁存器输出锁存器 OL用户编程写入用户编程写入外部控制外部控制外部事件脉冲外部事件脉冲时钟脉冲时钟脉冲计数结束时计数结束时OUT输出信号输出信号开始计数时开始计数时CR装入装入CE随随CLK一次减一次减1内部内部总线 GATE CLK CLK:计数计数或

6、或定时脉冲定时脉冲输入引脚输入引脚GATE:门控门控引脚:允许引脚:允许/禁止计数;启动禁止计数;启动/终止计数终止计数OUT:输出引脚:出引脚: 计数通道计数通道的内部结构的内部结构CRH CRLOLH OLL不同的工作方式下有不同的输出不同的工作方式下有不同的输出第6页电气工程学院电气工程学院(2)8254的工作方式的工作方式 8254的的基本基本计数工作方式数工作方式和和基本定基本定时工作方式工作方式是基是基础,在,在这两种基本方式两种基本方式下,可以演下,可以演绎出出6种种工作方式。工作方式。 注意注意每一种方式下:每一种方式下:*定时或计数的定时或计数的启动启动方式方式*GATE的的

7、控制控制作用作用*OUT引脚上的引脚上的输出波形输出波形每一种方式分为每一种方式分为基本功能基本功能和和工作特点工作特点两部分,细节很多。我们通过波形图,两部分,细节很多。我们通过波形图,介绍概要。介绍概要。因为因为各种方式各种方式主要是通过主要是通过OUT引脚表现出来,请引脚表现出来,请关注关注OUT。 1) 方式方式0 计数结束中断计数结束中断 典型的事件计数(基本计数工作方式)典型的事件计数(基本计数工作方式)基本功能基本功能:完成计数,:完成计数,OUT输出高电平输出高电平工作特点:工作特点: *写入控制字后,写入控制字后,OUT的的初始电平为低初始电平为低 *计数到计数到0时,时,O

8、UT送出高电平送出高电平直到直到写入了新的计数初值。写入了新的计数初值。 *通常用通常用OUT的的低低高变化高变化来产生来产生中断请求中断请求或或查询信号查询信号。 *软件启动,软件启动,不具备重复性不具备重复性,再次写入初值,开始新一轮计数,再次写入初值,开始新一轮计数 *写入写入计数初数初值到到CR后,后,第一个第一个计数脉冲数脉冲的作用是的作用是把把计数初数初值装入装入CE。所以当所以当计数初数初值=4时,实际上当上当CLK输入入5个个计数脉冲后数脉冲后 OUT才才为1。 第7页电气工程学院电气工程学院*GATE=0,暂停计数暂停计数;GATE=1,继续计数,继续计数*计数数过程中可以写

9、入程中可以写入新新的的计数初数初值,从写入后的,从写入后的下一个脉冲开始下一个脉冲开始,以,以新新 的初的初值进行行计数数 下图中用波形表达了下图中用波形表达了3种情况:种情况: *1 GATE=1,完整的一轮计数,完整的一轮计数 *2 计数过程中,计数过程中,GATE=0,暂停计数,暂停计数 *3 计数数过程中,重新写入程中,重新写入计数初数初值的的计数情况数情况 第8页电气工程学院电气工程学院2)方式)方式1 硬件可触发单稳硬件可触发单稳基本功能:基本功能:计数器相当于一个可数器相当于一个可编程的程的单稳态触触发器器。可用此方式来。可用此方式来产生生由由程序控制脉冲程序控制脉冲宽度度的的负

10、单脉冲脉冲,该脉冲的脉冲的宽度度(低(低电平持平持续时间)由)由计数初数初值N确定。确定。 工作特点:工作特点: *输入控制字后,输入控制字后,OUT 以高电平为以高电平为初始电平初始电平 *以以GATE的的上升边上升边为起点,一个为起点,一个CLK 脉冲后,脉冲后,OUT为低,计数完成后为低,计数完成后 OUT又回到高电平,产生一个又回到高电平,产生一个负的单脉冲负的单脉冲。 相当于相当于单稳电路从单稳电路从稳态稳态(高)到(高)到暂稳态暂稳态(低)又回到(低)又回到稳态稳态 *该单脉冲的宽度(低电平继续时间)是该单脉冲的宽度(低电平继续时间)是CLK周期的周期的N倍倍 *可重复触可重复触发

11、。GATE的上升的上升边启启动新一新一轮工作。工作。 图中用波形表达了图中用波形表达了3种情况:种情况:*1 正常正常的一次单稳动作的一次单稳动作全过程全过程。*2 N=3,表明暂稳态为,表明暂稳态为3个个CLK时间;在暂稳态过程中,时间;在暂稳态过程中,再次触发再次触发,再进行,再进行 一次一次3个个CLK周期的暂稳态。周期的暂稳态。*3 改改变计数初数初值N=4,由于没有,由于没有GATE启启动新一新一轮动作,本次仍然完成作,本次仍然完成3个个 CLK暂稳态过程。当程。当GATE上升上升边到来后,到来后,N=4的的单稳操作才开始。操作才开始。 第9页电气工程学院电气工程学院3)方式)方式2

12、 分频器(分频器(N分频方式,频率发生器)分频方式,频率发生器)基本功能:基本功能:输出频率固定的脉冲(控制输出信号的输出频率固定的脉冲(控制输出信号的高高/低低电平的电平的比例比例。)。)工作特点:工作特点: *控制字写入后,控制字写入后,OUT以以高高电平为电平为初始电平初始电平。计数器减到。计数器减到1时,时,OUT输出一个输出一个宽度宽度 为一个为一个CLK的负脉冲。的负脉冲。 *OUT输出的脉冲串,以输出的脉冲串,以N1个个CLK 脉冲为脉冲为高高电平,以电平,以一个一个CLK脉冲为脉冲为低低电平。电平。 实际上,实际上,OUT输出的脉冲频率为输出的脉冲频率为CLK脉冲的脉冲的N分频

13、。分频。 *GATE 门控:控:为高,高,计数器工作;数器工作;为低,低,暂停工作。停工作。 第10页电气工程学院电气工程学院该波形图叙述了该波形图叙述了3种情况:种情况:*1 GATE=1,OUT持续输出持续输出分频脉冲串分频脉冲串(高电平为(高电平为N-1,低电平为,低电平为1)*2 分频过程中,分频过程中,GATE=0,暂停工作暂停工作,OUT变为高电平变为高电平;=1,继续工作,继续工作,重新计数重新计数*3 GATE=1,工作,工作过程中程中改写改写N,CE要把本次的要把本次的计数初数初值减到减到0,才开始才开始新一新一轮分分频工作。工作。 第11页电气工程学院电气工程学院 4)方式

14、)方式3 方波发生器方波发生器基本功能基本功能:基本上与方式:基本上与方式2相同,只是相同,只是OUT输出的是完全输出的是完全对称方波对称方波 或或基本对称基本对称的连续方波。的连续方波。工作特点工作特点:若:若N为偶数,则输出脉冲的为偶数,则输出脉冲的高高、低、低电平持续时间电平持续时间相同相同; 若为奇,则若为奇,则高高电平持续时间为电平持续时间为(N+1)/ 2,低低电平持续时间为电平持续时间为(N-1)/ 2。3种情况:种情况:*1 GATE=1,偶数,偶数,OUT输出输出对称对称方波方波*2 GATE=1,奇数,奇数,OUT输出输出不对称不对称方波(高电平多一个方波(高电平多一个CL

15、K时间)时间)*3 GATE=0,暂停停工作;工作;GATE=1,从初,从初值开始工作开始工作 第12页电气工程学院电气工程学院5)方式)方式4 软件触发选通软件触发选通 基本功能:基本功能:单脉冲发生器,以单脉冲发生器,以装入计数初值装入计数初值来来启动启动计数器开始工作。计数器开始工作。 工作特点工作特点: *无重装初值功能无重装初值功能 *装入装入控制字控制字后,后,OUT的的初始电平仍为高初始电平仍为高。 *装入装入计数初值计数初值后,计数器开始倒数计数,到后,计数器开始倒数计数,到0后后OUT输出一个负脉冲(宽度为输出一个负脉冲(宽度为一一 个个CLK),), 然后又恢复为高电平,直

16、到装入下一个计数初值来启动新一轮计数。然后又恢复为高电平,直到装入下一个计数初值来启动新一轮计数。 *通常用它来作通常用它来作为负选通信号通信号 3种情况:种情况:*1 GATE=1,正常正常软件启动计数过程软件启动计数过程*2 GATE在计数过程中的在计数过程中的作用:作用:=0,禁止计数;,禁止计数;恢复恢复1,重新计数,重新计数*3 计数过程中,计数过程中,改写改写初值对计数过程的影响初值对计数过程的影响第13页电气工程学院电气工程学院6) 方式方式5 硬件触发的硬件触发的选通信号发生器选通信号发生器 基本功能基本功能:以外部:以外部GATE信号来启动信号来启动计数器开始工作,计数器开始

17、工作,OUT输出宽度为一个输出宽度为一个 CLK的负脉冲。的负脉冲。 工作特点工作特点: *装入控制字后,装入控制字后,OUT的的初始电平为高初始电平为高。 *装入计数初值后,装入计数初值后,必须等必须等GATE引脚输入一个引脚输入一个上升边上升边后后,计数器才开始倒数,计数器才开始倒数计数,到计数,到0后后OUT输出一个负脉冲,宽度为一个输出一个负脉冲,宽度为一个CLK脉冲脉冲通常用它来作为负选通通常用它来作为负选通信号,信号, 然后又恢复为高电平,直到装入下一个计数初值来启动新一轮计数。然后又恢复为高电平,直到装入下一个计数初值来启动新一轮计数。第14页电气工程学院电气工程学院工作方式小结

18、工作方式小结1)门控信号的影响高电平允许,当GATE=0,即使出现CLK,也不计数方式0,2,3,4上升沿允许(上升沿触发)方式1,52)OUT信号的状态写入方式字后, OUT的状态计数过程中, OUT的状态计数终了, OUT的状态3)计数操作可否重复不可重复方式0,4自动重复方式2,3条件重复方式1,5第15页电气工程学院电气工程学院(3)8254编程编程*8254有有3个个通道,即通道,即3个定时器个定时器/计数器单元计数器单元, 选择选择哪个通道?哪个通道?*每一个定时器每一个定时器/计数器又有计数器又有6种种工作方式,如何确定工作方式,如何确定工作方式?工作方式?*每一种方式下又必须每

19、一种方式下又必须写入计数初值,写入计数初值,怎么送?怎么送?*在某些情况下需要在某些情况下需要读出出计数器的数器的余余值或或计数器的数器的状状态,怎么怎么读? 借借助助于于用用“0”“1”组组成成的的“字字”,把把用用户户的的意意图图告告诉诉给给8254这些这些字字是我们使用是我们使用8254的基础的基础*方式控制字方式控制字设置置计数器工作方式数器工作方式 第16页电气工程学院电气工程学院*命令字命令字和和状态字状态字 两个命令字:两个命令字:计数器锁存命令字计数器锁存命令字和和读回命令字读回命令字*1计数器锁存命令字计数器锁存命令字 功能:功能:把当前把当前计数工作数工作单元元CE的内的内

20、容容锁存到存到输出出锁存器存器OL中,供中,供CPU读出出CE的的 余余值(如:(如:预先先设置置计数初数初值=N,一段,一段时间后,后,锁存,存,读剩余剩余值n,在,在这 段段时间内的内的计数数值X=N-n) SC1,SC0:选择将要:选择将要锁存锁存哪一个通道的哪一个通道的CE(11无意义)无意义)D5、D4 :特征特征值(标识),必),必须为00。 X XXX00SC0SC1D7 D6 D5 D4 D3 D2 D1 D0*2读回命令字读回命令字 功能:功能:把指定通道的把指定通道的CE当前值当前值锁存到锁存到OL,或把,或把状态状态寄存器内容锁存到状态锁存寄存器内容锁存到状态锁存 器器S

21、L,以供以供CPU读出读出。 锁存命令字锁存命令字一次只能锁存一次只能锁存一个一个通道(计数器)通道(计数器) 读回命令字回命令字能同能同时规定定锁存几个通道存几个通道。 0 CN0CN1CN2STATUSCOUNT11=1通道通道2=1通道通道1=1通道通道0第17页电气工程学院电气工程学院 控制字控制字 锁存命令字锁存命令字 读回命令字读回命令字无标识无标识标识标识 00标识标识11 0同一地址入口同一地址入口D7 D6 必须为必须为11,D0必须为必须为0 这是这是特征值(标识)。特征值(标识)。D5:COUNT=0,锁存锁存选中的所有选中的所有计数器计数器D4:STATUS=0,锁存存

22、选中的所有中的所有状状态寄存器寄存器 *状态字状态字 功能:供用户查看功能:供用户查看8254某一通道的状态:某一通道的状态:计数值、工作方式、计数值、工作方式、 OUT引脚的当前状态、引脚的当前状态、BCD/二进制计数方式、读二进制计数方式、读/写操作写操作 状状态字格式字格式 BCD M0M1M2RW0RW1NULLCOUNTOUTD7 D6 D5 D4 D3 D2 D1 D0D7:OUT引脚状引脚状态。 = 0,OUT=0;=1,OUT=1 D6:无效计数。无效计数。 = 0,计数初值已装入计数工作单元,计数初值已装入计数工作单元CE,计数值有效计数值有效 = 1,计数初数初值未装入未装

23、入计数工作数工作单元元CE,无效无效计数数 D5.D0 与方式控制字的与方式控制字的对应位一致。位一致。 第18页电气工程学院电气工程学院例:要读通道0的状态和余值,设8254的地址为20CH、20DH、20EH、20FH读回命令的用法标识位写读回命令字: 1 1 0 0 1 0 0 0C8H锁存余值锁存状态锁存通道0MOV DX,20FHMOV AL,0C8HOUT DX,ALMOV DX,20CHIN AL,DXMOV BL,ALIN AL,DXMOV CL,ALIN AL,DXMOV CH,AL先读回状态读回余值低八位读回余值高八位第19页电气工程学院电气工程学院编程方法及示例编程方法及

24、示例1)初始化编程)初始化编程 可编程接口芯片,都有一个初始化编程问题可编程接口芯片,都有一个初始化编程问题*8254的初始化的初始化编程有程有两个步两个步骤 a.对控制寄存器对控制寄存器写入写入控制字控制字,确定某个通道的工作方式,确定某个通道的工作方式b.对通道对通道写入写入计数初值计数初值 设设8254各个端口的地址为:各个端口的地址为:通道通道0:20CH 通道通道1:20DH通道通道2:20EH 控制寄存器:控制寄存器:20FH 例例1 设置通道置通道0工作于方式工作于方式0,计数数100次次 填写方式字:填写方式字: 0 0 0 1 0 0 0 0 选中选中 只读写只读写 方式方式

25、0 二进制二进制 通道通道0 低字节低字节方式控制字为方式控制字为 10H初始化编程初始化编程 MOV DX,20FH ;取取控制寄存器控制寄存器地址地址 MOV AL,10H ;取通道;取通道0的的方式控制字方式控制字 OUT DX,AL ;方式控制字;方式控制字送入送入控制寄存器控制寄存器 第20页电气工程学院电气工程学院MOV DX,20CH ;取通道;取通道0地址地址MOV AL,64H ;取通道;取通道0计数初值计数初值OUT DX,AL ;计数初值;计数初值送入送入通道通道0;到此,随着到此,随着CLK0引脚上的脉冲引脚上的脉冲输入入, 初初值进入入CE,开始,开始计数。数。 例例

26、2 设置通道设置通道1工作在方式工作在方式3,输出频率为,输出频率为1KHz的方波的方波填写方式字:填写方式字: 0 1 1 1 0 1 1 0 选中选中 先低先低 方式方式3 二进制二进制 通道通道1 后高后高方式控制字为方式控制字为 76H计算计数初值:计算计数初值: 设从设从CLK1输入的时钟脉冲的频率是输入的时钟脉冲的频率是2.5M,周期为,周期为0.4s 通道通道10.4s CLK1 OUT1 1ms 1 10-3 / 0.4 10-6 = 2500 D=9C4 H 每每计满2500(9C4H)个个时钟脉冲,脉冲,OUT输出一个出一个间隔隔为1ms的的脉冲脉冲 第21页电气工程学院电

27、气工程学院初始化编程初始化编程 MOV DX,20FH ;取控制寄存器地址;取控制寄存器地址 MOV AL,76H ;取通道;取通道1的的方式控制字方式控制字 OUT DX,AL ;方式控制字送入控制寄存器;方式控制字送入控制寄存器 MOV DX,20DH ;取通道;取通道1地址地址 MOV AX,09C4H ;取通道;取通道1计数初值计数初值 OUT DX,AL ;先先送计数初值的送计数初值的低低字节(字节(C4H) MOV AL,AH ; OUT DX,AL ;再再送送高高字节(字节(09H);到此,;到此,OUT1输出出频率率为1000Hz的方波的方波 例例3 通道级联通道级联 要求通道

28、要求通道2定时定时1秒秒 如果仍采用如果仍采用2.5M的时钟脉冲,按的时钟脉冲,按16位的最大计数值位的最大计数值65536计算计算 0.4 10-6 65536 =26214.4s 26ms 不能定时不能定时 1000ms(1秒)秒) 解决的解决的办法:采用法:采用级联。 用通道用通道1,通道,通道2联合合完成完成1秒定秒定时。 通道通道1 方式方式3 通道通道2 方式方式02.5MHz CLK1 OUT1 CLK2 1000Hz OUT2 1秒到秒到 第22页电气工程学院电气工程学院通道安排:通道安排:通道通道1:工作在方式工作在方式3下,输出频率为下,输出频率为1000Hz的方波(周期为

29、的方波(周期为1ms),作为),作为 通道通道2的时钟脉冲。的时钟脉冲。通道通道2:工作在方式:工作在方式0,对周期周期为1ms的脉冲的脉冲计数,数,计满1000次,次,OUT2输 出高出高电平,表明平,表明1秒定秒定时到。到。 填写通道填写通道2方式字:方式字: 1 0 1 1 0 0 0 1 选中选中 先低先低 方式方式0 十进制十进制 通道通道2 后高后高通道通道2方式控制字为:方式控制字为: B1H初始化编程:初始化编程: 通道通道1初始化初始化.(同例(同例 2) MOV DX,20FH ;取控制寄存器地址;取控制寄存器地址 MOV AL,0B1H ;取通道;取通道2的的方式控制字方

30、式控制字 OUT DX,AL ;方式控制字送控制寄存器;方式控制字送控制寄存器 MOV DX,20EH ;取通道;取通道2的地址的地址 MOV AX,1000H ;取通道;取通道2的的计数初值计数初值 OUT DX,AL ;先先送送低低字节(字节(00) MOV AL,AH OUT DX,AL ;再再送送高高字节(字节(10);以此;以此为起点,一秒到起点,一秒到时,OUT变为高高电平平 第23页电气工程学院电气工程学院 工作编程工作编程 a)工作过程中)工作过程中改变改变计数初值计数初值b)对控制寄存器写入命令字()对控制寄存器写入命令字(计数器锁存命令字计数器锁存命令字或或读回命令字读回命

31、令字)为)为读读某通道的某通道的 当前当前CE内容和内容和状态寄存器状态寄存器内容作准备。内容作准备。c)从通道()从通道(0,1,2)读回状态字)读回状态字d)从通道()从通道(0,1,2)读回回CE当前当前值(余(余值) 例例4 读取通道取通道2的当前的当前计数数值(余余值) 锁存命令字存命令字 1 0 0 0 0 0 0 0 选中中通道通道2 特征特征值 无意无意义,可任,可任选 计数器数器锁存命令字存命令字 80H MOV AL,80H ;取通道;取通道2计数器锁存命令字计数器锁存命令字 MOV DX,20FH ;取;取控制寄存器地址控制寄存器地址 OUT DX,AL ;锁存通道;锁存

32、通道2的的CE当前值到锁存器当前值到锁存器 MOV DX,20EH ;取;取通道通道2地址地址 IN AL,DX ;从通道;从通道2锁存器读回余值锁存器读回余值低低8位位 MOV CL,AL ;转存;转存CL IN AL,DX ;读回余值;读回余值高高8位位 MOV CH,AL ;转存;转存CH第24页电气工程学院电气工程学院实验装置8254接线图I/OI/O译码CS1CS1CS2CS2CS3CS3CS4CS4CS5CS5CS6CS6CS7CS7CS8CS8I/OI/O地址地址300H300H320H320H340H340H360H360H380H380H3A0H3A0H3C0H3C0H3E0

33、H3E0H第25页电气工程学院电气工程学院IN 指令指令产生生 IOR; OUT产生生IOW D0D7:传送控制字,命令字,余送控制字,命令字,余值,状,状态 6.4.2 8254在在PC中的应用中的应用(课外阅读)(课外阅读)PC使使用用一一片片8254,其其3个个计计数数通通道道分分别别用用于于日日时时钟钟计计时时、DRAM刷新定时和控制扬声器发声声调。刷新定时和控制扬声器发声声调。 扬声器发声的前提:扬声器发声的前提:GATE2=1,即,即PB0=1与门控制端与门控制端=1,即,即PB1=1OUT2输出一定频率的脉冲串输出一定频率的脉冲串8255 B口地址:口地址:61H周期:周期:0.

34、838s每每55ms申请申请一次中断一次中断第26页电气工程学院电气工程学院8254 的的 4个端口地址:个端口地址:T0:40H T1:41HT2:42H控制寄存器:控制寄存器:43H 定时中断和定时刷新定时中断和定时刷新产生产生55ms方波对应的方波对应的计数值。计数值。计算计算 P203 1)MOV AL,36H ;计数器;计数器0为方式为方式3(方波发生器);(方波发生器);采用二进制计数,先低后高写入计数值;采用二进制计数,先低后高写入计数值OUT 43H,AL ;写入方式控制字;写入方式控制字MOV AL,0 ;计数值为;计数值为0OUT 40H, AL ;写入低字节计数值;写入低

35、字节计数值OUT 40H, AL ;写入高字节计数值;写入高字节计数值;到此,;到此,OUT0连续输出周期为连续输出周期为55ms的方波的方波MOV AL,54H ;计数器工作为方式;计数器工作为方式2(分频器(频率发生器)(分频器(频率发生器) ;采用二进制计数,只写低;采用二进制计数,只写低8位计数值位计数值OUT 43H,AL ;写入方式控制字;写入方式控制字MOV AL,18 ;计数初值为;计数初值为18(15 s。计算。计算 P204)OUT 41H,AL ;写入计数值;写入计数值;到此,;到此,OUT1连续输出周期为连续输出周期为15 s的脉冲串的脉冲串 第27页电气工程学院电气工

36、程学院如要求扬声器发出频率为如要求扬声器发出频率为600Hz的声音,则:的声音,则:AX= 1.19318106600=1988. 6D=7C5H AH=07H AL=C5H;发音频率设置子程序,;发音频率设置子程序, 入口参数:入口参数:AX=1.19318106发音频率发音频率SPEAKER PROC PUSH AX MOV AL,0B6H ;定时器;定时器2为方式为方式3,;先低后高写;先低后高写16位计数值位计数值 OUT 43H,AL POP AX OUT 42H,AL ;写入低;写入低8位计数值位计数值 MOV AL,AH OUT 42H,AL ;写入高;写入高8位汁数值位汁数值

37、RETSPEAKER ENDPSPEAKON PROC ;扬声器开子程序;扬声器开子程序 PUSH AX IN AL,61H ;读取;读取61H端口的原控制信息端口的原控制信息 OR AL,03H ;D1D0PB1PB011B,其他位不变,其他位不变 OUT 61H,AL ;直接控制发声;直接控制发声 POP AX RETSPEAKON ENDP第28页电气工程学院电气工程学院SPEAKOFF PROC ;扬声器关子程序;扬声器关子程序 PUSH AX IN AL,61H AND AL,0FCH ;D1D0PB1PB000B,其他位不变,其他位不变 OUT 61H,AL ;直接控制闭音;直接控

38、制闭音 POP AX RETSPEAKOFF ENDP 3)可编程硬件延时)可编程硬件延时中断向量号中断向量号1AH的日时钟调用程序,用以在应用程序中读取或设置时间的日时钟调用程序,用以在应用程序中读取或设置时间格式:格式: MOVAH,0 INT1AH功能:读时钟功能:读时钟返回参数:返回参数: CH:CL=h:min DH:DL=s:10-2s时钟的计时单位时钟的计时单位54.925493ms1s: 18个计时单位个计时单位 54.925493ms x 18=0.98865887s1min:1092个计时单位个计时单位 54.925493ms x 1092=59.978683s1h: 65

39、543个计时单位个计时单位 54.925493ms x 65543=3599.9815s 第29页电气工程学院电气工程学院以以计时单位计时单位表达的时表达的时间例如:间例如:DL=1,实际,实际上是上是1x55ms=55msDL=90,即为,即为90x55=4950ms=5s可编程硬件延时可编程硬件延时;5秒延时秒延时MOV AH,0 ;读取日时钟功能调用(;读取日时钟功能调用(P314) INT 1AH ;CH:CL=h:min DH:DL=s:10-2s ADD DX,90 ;加;加5秒(秒(51890) MOV BX,DX ;期望值送;期望值送BX L1: INT 1AH ;再读日时钟;

40、再读日时钟 CMP BX,DX ;与期望值比较;与期望值比较 INE L1 ;不等,则循环;不等,则循环 ;相等,则延时结束;相等,则延时结束 BIOS 15H号中断调用号中断调用格式:格式: MOVAH,86H INT15H入口参数:入口参数:CX:DX=延时时间(以延时时间(以s 为单位)为单位)CX高字节,高字节,DX低字节低字节出口参数:出口参数:CF=0,表示调用正确,执行了延时;,表示调用正确,执行了延时;=1 调用不正确,未执行延时。调用不正确,未执行延时。2ms延时程序段:延时程序段:MOV CX,O ;2ms延时延时MOV DX,1952 ;延时;延时1.952MS2976 s MOV AH,86HINT 15H ;功能调用返回时,定时时间到;功能调用返回时,定时时间到 虽然以微秒为单位虽然以微秒为单位,但是实时时钟的最小单位是但是实时时钟的最小单位是976.56微秒微秒,所以该功能的实所以该功能的实际延时是际延时是976.56微秒的整倍数微秒的整倍数. 2ms延时延时,只能取只能取2X976=1952

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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