4外围接口63学习课程_第1页
4外围接口63学习课程_第2页
4外围接口63学习课程_第3页
4外围接口63学习课程_第4页
4外围接口63学习课程_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

1、6.3 6.3 定时与计数技术定时与计数技术定时的方法有 3 种:一、软件定时二、不可编程的硬件定时三、可编程的定时 第1页/共79页第一页,编辑于星期五:五点 二十五分。一、软件定时一、软件定时 根据 CPU 执行每条指令需要一定的时间,重复执行一些指令就会占用一段固定的时间,通过适当地选取指令和循环次数便很容易实现定时功能,这种方法不需要增加硬件,可通过编程来控制和改变定时时间,灵活方便,节省费用。 缺点是 CPU 重复执行的这段程序的本身并没有什么具体目的,仅为延时,从而降低了 CPU 利用率。 第2页/共79页第二页,编辑于星期五:五点 二十五分。二、不可编程的硬件定时二、不可编程的硬

2、件定时 这种方法采用数字电路中的分频器将系统时钟进行适当的分频产生需要的定时信号;也可以采用单稳电路或简易定时电路(如常用的 555 定时器)由外接 RC 电路控制定时时间。 这样的定时电路比较简单,利用分频不同或改变电阻R、电容C,可以使定时时间在一定范围内改变。 缺点是这种定时电路在硬件接好后,定时范围不易由程序来改变和控制,使用不甚方便,而且定时精度也不高。 第3页/共79页第三页,编辑于星期五:五点 二十五分。不可编程的硬件定时不可编程的硬件定时单稳态电路触发信号暂稳态稳态时序波形td第4页/共79页第四页,编辑于星期五:五点 二十五分。三、可编程的定时三、可编程的定时 在微机系统中,

3、常采用软件、硬件相结合的方法,用可编程定时计数器芯片构成一个方便灵活的定时计数电路。这种电路不仅定时值和定时范围可用程序确定和改变,而且具有多种工作方式,可以输出多种控制信号,它由微处理器的时钟信号提供时间基准,故计时也精确稳定。 Intel 8254定时器/计数器就是这样一种可编程序间隔定时器 PIT(Programmable Interval Timer)芯片。第5页/共79页第五页,编辑于星期五:五点 二十五分。可编程时间间隔定时器芯片可编程时间间隔定时器芯片82548254 8254主要功能: .3个独立的16位计数器通道; .按二进制或十进制计数; .通道计数速率最高10MHz; .

4、通道有6种计数方式。 8254通过编程可作为事件计数器、分频器、方波发生器、定时器、单脉冲发生器等。第6页/共79页第六页,编辑于星期五:五点 二十五分。8 D7-D0 计数器 0号 控制字寄 存器 计数器 1号 计数器 2号 内部数据总线 数据总线 缓冲器 读/写 逻辑 RD WR A0 A1 CS CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 82548254内部结构内部结构第7页/共79页第七页,编辑于星期五:五点 二十五分。功能模块功能模块(1)数据总线缓冲器 8位双向三态的缓冲器。(2)读写控制逻辑 CS#无效时,电路禁止工作。但计数

5、器启动后不受CS#的控制。 地址线A1A0寻址内部通道: 00-通道0, 01-通道1, 10-通道2, 11-控制寄存器。第8页/共79页第八页,编辑于星期五:五点 二十五分。功能模块功能模块(3)控制字寄存器 接收来自CPU的控制字,并由控制字D7、D6位的编码决定该控制字写入哪一个计数器的控制寄存器中。第9页/共79页第九页,编辑于星期五:五点 二十五分。功能模块功能模块(4)计数器 8254有3个独立的计数器通道,每个通道的结构完全相同。每一个通道有一个16位减法计数器,还有对应的16位初值寄存器和输出锁存器。第10页/共79页第十页,编辑于星期五:五点 二十五分。计数器的工作过程计数

6、器的工作过程 先写通道控制寄存器,然后写入计数初值。 计数器对CLK进行减1计数,减到0,OUT输出结束信号。受GATE控制。 计数过程中,MPU可以读取当前计数值,而不影响计数。读出时,先把当前计数值打入到锁存器,读出的是锁存器内容。第11页/共79页第十一页,编辑于星期五:五点 二十五分。二、二、82548254的引脚的引脚 D0D1D2D3D4D5D6D7RDWRA0A1CSVcc地电源线控制线数据线CLK0GATE0OUT0GATE0OUT0CLK1GATE1OUT1GATE1OUT1CLK2GATE2OUT2GATE2OUT2计数器0 号计数器1 号计数器2 号91110151413

7、181617876543212223192212412第12页/共79页第十二页,编辑于星期五:五点 二十五分。(1 1)与)与CPUCPU一侧的接口信号一侧的接口信号 8254有24条引脚,双列直插式封装。 D0-D7,三态双向数据线。 CS#,片选信号,输入,低电平有效。 WR#,写信号,输入,低电平有效。 RD#,读信号,输入,低电平有效。 A1、A0,地址输入线。第13页/共79页第十三页,编辑于星期五:五点 二十五分。(2 2)与外部设备的接口信号)与外部设备的接口信号 CLK0、CLK1、CLK2:时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。 GATE0、GATE1、GATE2

8、:门控输入端。 OUT0、OUT1、OUT2:计数输出端。第14页/共79页第十四页,编辑于星期五:五点 二十五分。计数器内部逻辑计数器内部逻辑1616位当前计数值锁存器位当前计数值锁存器OLOL1616位减位减1 1计数器计数器CECE1616位计数初值寄存器位计数初值寄存器CRCROUTOUT(减(减1 1至至0 0时)时)MSBMSBLSBLSB锁存后读出当前值锁存后读出当前值MSBMSBLSBLSB装入装入/ /读出初值读出初值& &CLKCLKGATEGATECRCR:1616位位 写入写入 两次两次 、清零、清零CECE:1616位位 计数计数OLOL:1616位位

9、 读出读出状态状态REGREG:8 8位位 读出读出 注意:注意:GATEGATE信号的作用与应用,重写信号的作用与应用,重写CRCR的效果。的效果。第15页/共79页第十五页,编辑于星期五:五点 二十五分。82548254的读写操作逻辑的读写操作逻辑CS#CS#RD#RD#WR#WR#A1A1A0A0操作功能操作功能0 01 10 00 00 0计数初值装入计数器计数初值装入计数器0 0 0 01 10 00 01 1计数初值装入计数器计数初值装入计数器1 10 01 10 01 10 0计数初值装入计数器计数初值装入计数器2 2 0 01 10 01 11 1写控制寄存器写控制寄存器 0

10、00 01 10 00 0读计数器读计数器0 0 0 00 01 10 01 1读计数器读计数器1 1 0 00 01 11 10 0读计数器读计数器2 2第16页/共79页第十六页,编辑于星期五:五点 二十五分。三、三、82548254的控制字及其编程的控制字及其编程 (1)8254的方式控制字7 76 65 54 43 32 21 10 0D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0D7D6D7D6=00b=00b,设定计数器,设定计数器0 0的工作参数。的工作参数。=01b=01b,设定计数器,设定计数器1 1的工作参数。的工作参数。=10b=10b,设定计数器,设定

11、计数器2 2的工作参数。的工作参数。=11b=11b,锁存计数器的当前计数值,锁存计数器的当前计数值( (后后6 6位的解释不同!位的解释不同!) )。D5D4D5D4=01b=01b,只读写低,只读写低8 8位计数值。位计数值。=10b=10b,只读写高,只读写高8 8位计数值。位计数值。=11b=11b,使用,使用1616位计数值。先读写低位计数值。先读写低8 8位,后读写高位,后读写高8 8位。位。=00b=00b,锁存该计数器的当前值,供,锁存该计数器的当前值,供CPUCPU读取。读取。D3D2D1D3D2D1=000b=000b101b101b,设定该计数器的工作方式为方式,设定该计

12、数器的工作方式为方式0 05 5。D0D0=0=0,二进制计数模式;,二进制计数模式;=1=1,BCDBCD计数模式。计数模式。第17页/共79页第十七页,编辑于星期五:五点 二十五分。82548254的编程举例的编程举例 1、初始化 假设:8254占用的地址为40H-43H,43H是控制口的地址。 计数器0、1、2分别使用地址40H、41H、42H。 对计数器0初始化,计数初值为2000,采用二进制计数,方式3。第18页/共79页第十八页,编辑于星期五:五点 二十五分。MOV AL,00110110B ; D7D6=00b: 计数器0;D5D4=11b: 使用16位计数值;; D3D2D1=

13、011b: 方式3; D0=0: 使用二进制计数OUT 43H, AL ; 写入方式控制字MOV AL, 0D0H ; 2000D = 07D0H,取低8位OUT 40H, AL ; 写入计数初值的低8位MOV AL, 07H ; 2000D = 07D0H,取高8位OUT 40H, AL ; 写入计数初值的高8位第19页/共79页第十九页,编辑于星期五:五点 二十五分。BCDBCD方式方式 MOV AL,00110111B ; D0=1: 使用BCD计数 OUT 43H, AL ; 写入方式控制字 MOV AL, 00H ; 2000的BCD码为2000H。 OUT 40H, AL ; 写入

14、计数初值的低8位 MOV AL, 20H ; 取2000H的高8位 OUT 40H, AL ; 写入计数初值的高8位第20页/共79页第二十页,编辑于星期五:五点 二十五分。2 2、82548254的读操作的读操作 读取计数器之前,要先把当前值锁存到锁存寄存器,然后由CPU读取锁存寄存器的值。 需要分2次读取,先读取低8位,再读取高8位。 第21页/共79页第二十一页,编辑于星期五:五点 二十五分。锁存当前计数值三种方法锁存当前计数值三种方法 (1) 利用GATE信号使计数过程暂停 读取前将GATE信号置为低电平,不再计数,读取后将GATE信号恢复为高电平。一般不采用这种方法。第22页/共79

15、页第二十二页,编辑于星期五:五点 二十五分。(2) (2) 锁存一个计数器锁存一个计数器 向8254写入一个方式控制字,令其D5D4=00b,则8254锁存由D7D6指定的计数器的当前值. CPU读取输出锁存器后,自动解除锁存状态。 ;如锁存并读取计数器0 MOV AL,00000110B ; D7D6=00b:计数器0 ;D5D4=00b:锁存计数器当前值 OUT 43H, AL ; 写入方式控制字 IN AL, 40H ; 读入输出锁存器的低8位 MOV AH, AL ; 暂存在AH中 IN AL, 40H ; 读入输出锁存器的高8位 XCHG AH, AL ; AX=输出锁存器的16位值

16、第23页/共79页第二十三页,编辑于星期五:五点 二十五分。(3) (3) 写写“读回控制字读回控制字”7 76 65 54 43 32 21 10 01 11 1COUNT#COUNT#STATUS#STATUS#CNT2CNT2CNT1CNT1CNT0CNT00 082548254读回控制字的格式读回控制字的格式COUNT#COUNT#=0=0,锁存当前计数值。,锁存当前计数值。=1=1,不锁存当前计数,不锁存当前计数值。值。STATUS#STATUS#=0=0,锁存当前状态。,锁存当前状态。=1=1,不锁存当前状态。,不锁存当前状态。CNT2CNT2=1=1,对计数器,对计数器2 2进行

17、锁存操作。进行锁存操作。=0=0,不对计数,不对计数器器2 2进行锁存操作。进行锁存操作。CNT1CNT1=1=1,对计数器,对计数器1 1进行锁存操作。进行锁存操作。=0=0,不对计数,不对计数器器1 1进行锁存操作。进行锁存操作。CNT0CNT0=1=1,对计数器,对计数器0 0进行锁存操作。进行锁存操作。=0=0,不对计数,不对计数器器0 0进行锁存操作。进行锁存操作。第24页/共79页第二十四页,编辑于星期五:五点 二十五分。7 76 65 54 43 32 21 10 0OUTPUTOUTPUTNULL NULL COUNTCOUNTRW1RW1RW0RW0M2M2M1M1M0M0B

18、CDBCD 计数器的状态计数器的状态OUTPUTOUTPUT计数器计数器OUTOUT输出管脚的状态。输出管脚的状态。=0=0,低电平;,低电平;=1=1,高电平。高电平。NULL NULL COUNTCOUNT=0=0,输出锁存器的内容有效。,输出锁存器的内容有效。=1=1,输出锁存,输出锁存器的内容无效(还未开始计数)。器的内容无效(还未开始计数)。RW1RW0RW1RW0计数器的方式控制字的计数器的方式控制字的D5 D4D5 D4。即读写格式。即读写格式。M0M0计数器的方式控制字的计数器的方式控制字的D3 D2 D1D3 D2 D1。即工作方。即工作方式式0-50-5。BCDBCD计数器

19、的方式控制字的计数器的方式控制字的D0D0。=0=0,二进制计数,二进制计数模式;模式;=1=1,BCDBCD模式。模式。计数器状态计数器状态第25页/共79页第二十五页,编辑于星期五:五点 二十五分。操操 作作特征位特征位时序时序D D7 7D D6 60 1 0 0 00 1 0 0 0计数初值写入计数初值写入0#0#计数器计数器* * *由控制字决定顺序。由控制字决定顺序。0101:仅读写低字节;:仅读写低字节;1010:仅读写高字节;:仅读写高字节;1111:先低字节后高字节:先低字节后高字节0 1 0 0 10 1 0 0 1计数初值写入计数初值写入1#1#计数器计数器* * *0

20、1 0 1 00 1 0 1 0计数初值写入计数初值写入2#2#计数器计数器* * *0 1 0 1 10 1 0 1 1向控制字向控制字REGREG写控制字写控制字00,01,1000,01,10无无读取计数值读取计数值/ /状态命令状态命令1111无无0 0 1 0 00 0 1 0 0读读0#0#计数器当前计数值计数器当前计数值无无先发送控制字锁存各计数器先发送控制字锁存各计数器的计数值或状态。的计数值或状态。再按顺序读出状态或计数值再按顺序读出状态或计数值。读读0#0#计数器状态计数器状态无无0 0 1 0 10 0 1 0 1读读1#1#计数器当前计数值计数器当前计数值无无读读1#1

21、#计数器状态计数器状态无无0 0 1 1 00 0 1 1 0读读2#2#计数器当前计数值计数器当前计数值无无读读2#2#计数器状态计数器状态无无0 0 1 1 10 0 1 1 1无操作无操作1 1 * * * * * * * *禁止使用禁止使用0 1 1 0 1 1 * * * * CSRDWRA1 A0 8254 8254命令关系表:命令关系表:第26页/共79页第二十六页,编辑于星期五:五点 二十五分。四、四、82548254的的6 6种工作方式种工作方式 (1)方式0 (计数结束中断方式)(2)方式1 (可编程单稳态触发器)(3)方式2 (脉冲波发生器、分频器)(4)方式3 (方波发

22、生器)(5)方式4 (软件触发选通方式)(6)方式5 (硬件触发选通方式)第27页/共79页第二十七页,编辑于星期五:五点 二十五分。方式方式0 0完成计数时中断完成计数时中断时序如图6-38。方式0的主要特点:1.不能重复工作。2.设置初值为n,则OUT在n+1个CLK后变为高电平。3.计数时GATE必须为高电平。GATE置为低时控制暂停。4.允许计数过程中改变计数值,改变的计数值立即有效。第28页/共79页第二十八页,编辑于星期五:五点 二十五分。第29页/共79页第二十九页,编辑于星期五:五点 二十五分。第30页/共79页第三十页,编辑于星期五:五点 二十五分。方式方式1 1可重复触发的

23、单稳态触发器可重复触发的单稳态触发器 方式1的时序如图6-39。 写入控制字和初值n,并不立即计数。 GATE上升沿后,下一个脉冲的下降沿,开始计数。 OUT维持低电平,计数到0,OUT变为高。 即:GATE上升沿触发,使OUT输出宽度为n个CLK周期的负脉冲。GATE再次触发,OUT再次输出负脉冲。 第31页/共79页第三十一页,编辑于星期五:五点 二十五分。方式方式1 1的特点的特点1.初值为n,负脉冲宽度为n个CLK脉冲周期。2.GATE上升沿可重复触发输出负脉冲。3.计数过程中,GATE再触发,使输出负脉冲比原来加宽了。4.计数过程可以改变计数值,下次有效。第32页/共79页第三十二页

24、,编辑于星期五:五点 二十五分。第33页/共79页第三十三页,编辑于星期五:五点 二十五分。方式方式2 2分频器、脉冲波发生器分频器、脉冲波发生器 方式2的时序如图6-40。 输出控制字后OUT为高。写入初值,自动计数,计数器减到1,OUT变低,输出一个CLK宽度的负脉冲。 自动重新计数。 方式2可用作脉冲波发生器,其速率为:FOUT =FCLKn。第34页/共79页第三十四页,编辑于星期五:五点 二十五分。 方式2特点:1.置初值n后通道连续工作,输出固定频率的负脉冲: FOUT =FCLKn 。2.计数过程中GATE为高,GATE变低时,暂停计数。3.计数过程改变n值,下次有效。第35页/

25、共79页第三十五页,编辑于星期五:五点 二十五分。第36页/共79页第三十六页,编辑于星期五:五点 二十五分。第37页/共79页第三十七页,编辑于星期五:五点 二十五分。方式方式3 3方波发生器方波发生器 方式3的波形时序如图6-41。 方式3和方式2不同的是OUT输出脉冲的占空比不同:方式3用来产生一定频率的方波。 n为偶数,占空比为1:1,即输出对称方波; n为奇数,(n+1)/2个CLK周期OUT输出高,(n1)/2个CLK周期输出低,输出基本对称矩形波。第38页/共79页第三十八页,编辑于星期五:五点 二十五分。 方式3特点:1.n为偶数,输出方波,若n为奇数,输出基本对称矩形波。2.

26、计数中GATE变低,计数暂停。3.写入新计数值,立即有效。 与方式2比较:OUT波形不同.方式方式3 3第39页/共79页第三十九页,编辑于星期五:五点 二十五分。第40页/共79页第四十页,编辑于星期五:五点 二十五分。第41页/共79页第四十一页,编辑于星期五:五点 二十五分。方式方式4 4软件触发选通软件触发选通 方式4波形见图6-42。 写入控制字,OUT为高。 写入初值n开始计数。计数到0,OUT输出一个CLK周期的负脉冲。 每写入初值n产生一个选通信号。第42页/共79页第四十二页,编辑于星期五:五点 二十五分。方式方式4 4 方式4特点:1.写入初值后n+1个CLK时(GATE为

27、1)输出一个负脉冲。2.GATE为1时启动计数。3.计数过程改变n值,立即有效。 与方式0比较:GATE上升沿效果、OUT波形不同。第43页/共79页第四十三页,编辑于星期五:五点 二十五分。第44页/共79页第四十四页,编辑于星期五:五点 二十五分。第45页/共79页第四十五页,编辑于星期五:五点 二十五分。第46页/共79页第四十六页,编辑于星期五:五点 二十五分。方式方式5 5硬件触发选通硬件触发选通 方式5的波形见图6-43。 输出控制字OUT为高,输出计数初值n后并不计数,必须由GATE上升沿触发。 计数到0,OUT输出1个CLK宽度的负脉冲,计数是一次性的。与方式1的区别?第47页

28、/共79页第四十七页,编辑于星期五:五点 二十五分。 方式5的特点:1.初值为n,GATE上升沿后n+1个脉冲输出1个CLK宽度的负脉冲。2.过程中再次出现GATE,立即重新计数。3.过程中允许改变值n,出现GATE信号,按新值开始计数。第48页/共79页第四十八页,编辑于星期五:五点 二十五分。第49页/共79页第四十九页,编辑于星期五:五点 二十五分。第50页/共79页第五十页,编辑于星期五:五点 二十五分。51方式方式0方式方式1方式方式2方式方式3方式方式4方式方式5OUT输出状态输出状态写控制写控制字后字后变变0变变1变变1变变0变变1变变1计数计数波形波形波形波形宽度宽度n+1nn

29、nn+1n+1初值自动初值自动重装重装无无无无计数到计数到0重装重装计数到计数到0重装重装无无无无计数过程计数过程中改变初中改变初值值立即有效立即有效GATE触发触发后有效后有效计数结束或计数结束或GATE触发触发后有效后有效计数结束或计数结束或GATE触发触发后有效后有效立即有效立即有效GATE触发触发后有效后有效GATE0禁止计数禁止计数无影响无影响禁止计数禁止计数禁止计数禁止计数禁止计数禁止计数无影响无影响下降沿下降沿暂停计数暂停计数无影响无影响停止计数停止计数停止计数停止计数停止计数停止计数无影响无影响上升沿上升沿 继续计数继续计数从初值开始从初值开始重新计数重新计数从初值开始从初值开

30、始重新计数重新计数从初值开始从初值开始重新计数重新计数从初值开始从初值开始重新计数重新计数从初值开始从初值开始重新计数重新计数1允许计数允许计数无影响无影响允许计数允许计数允许计数允许计数允许计数允许计数无影响无影响 工作方式比较表:工作方式比较表:n0n0n0n0n0n0第51页/共79页第五十一页,编辑于星期五:五点 二十五分。方式方式0 0方式方式1 1方式方式2 2方式方式3 3方式方式4 4方式方式5 5OUTOUT输出状态输出状态写 入 控 制写 入 控 制字后变字后变0 0,计 数 结 束计 数 结 束变变1 1,并维,并维持 至 重 写持 至 重 写控 制 字 或控 制 字 或

31、计数初值计数初值写入控制 字写入控制 字后变后变1 1,GATEGATE上升沿触 发上升沿触 发变变0 0,开始计,开始计数,计数 结数,计数 结束变束变1 1写入控制 字写入控制 字后变后变1 1,计数,计数到到1 1变变0 0,维,维持一个持一个TclkTclk变变1 1写入控制字后写入控制字后变变0 0,装入初值,装入初值且且GATE=1GATE=1则则OUTOUT变变1 1,计数到变,计数到变0 0,重装初值继,重装初值继续计数,计数续计数,计数到则反向到则反向写入控制字后写入控制字后变变1 1,计数结,计数结束变束变0 0,维持,维持一个一个TclkTclk变变1 1写入控制 字写入

32、控制 字后变后变1 1,GATEGATE上升沿触 发上升沿触 发开始计数 ,开始计数 ,计数结束 输计数结束 输出一个出一个CLKCLK的的负脉冲负脉冲初值自动重装初值自动重装无无无无计数到计数到0 0重装重装根据初值奇偶根据初值奇偶分别重装;分别重装;无无无无计数过程中改变计数过程中改变初值初值立即有效立即有效GATEGATE触发后触发后有效有效计 数 到计 数 到 1 1 或或GATEGATE触发后触发后有效有效计 数 结 束 或计 数 结 束 或GATEGATE触发后有触发后有效效立即有效立即有效GATEGATE触发后触发后有效有效G A TG A TE E0 0禁止计数禁止计数无影响无

33、影响禁止计数禁止计数禁止计数禁止计数禁止计数禁止计数无影响无影响下降沿下降沿暂停计数暂停计数无影响无影响停止计数停止计数停止计数停止计数停止计数停止计数无影响无影响上升沿上升沿继续计数继续计数从初值开 始从初值开 始重新计数重新计数从初值开 始从初值开 始重新计数重新计数从初值开始重从初值开始重新计数新计数从初值开始重从初值开始重新计数新计数从初值开 始从初值开 始重新计数重新计数1 1允许计数允许计数无影响无影响允许计数允许计数允许计数允许计数允许计数允许计数无影响无影响各种方式的比较各种方式的比较第52页/共79页第五十二页,编辑于星期五:五点 二十五分。82548254的应用的应用(1)

34、计数第53页/共79页第五十三页,编辑于星期五:五点 二十五分。82548254的应用的应用(2)(2)分频分频MOV DX, 203H ; 203HMOV DX, 203H ; 203H为控制端口为控制端口MOV ALMOV AL,00110100B ; D7D6=00b: 00110100B ; D7D6=00b: 计数器计数器0 0; D5D4=11b: D5D4=11b: 使用使用1616位计数值位计数值;; ; D3D2D1=011b: D3D2D1=011b: 方式方式2 2; D0=0: D0=0: 使用二进制计数使用二进制计数OUT DX, AL ; OUT DX, AL ;

35、写入方式控制字写入方式控制字MOV DX, 200H ; 200HMOV DX, 200H ; 200H为计数器为计数器0 0所使用的端口所使用的端口MOV AL, 0E8H ; 1000D = 03E8HMOV AL, 0E8H ; 1000D = 03E8H,取低取低8 8位位OUT DX, AL ; OUT DX, AL ; 写入计数初值的低写入计数初值的低8 8位位MOV AL, 03H ; 1000D = 03E8HMOV AL, 03H ; 1000D = 03E8H,取高取高8 8位位OUT DX, AL ; OUT DX, AL ; 写入计数初值的高写入计数初值的高8 8位位第

36、54页/共79页第五十四页,编辑于星期五:五点 二十五分。82548254的应用的应用 (3)(3)级联级联 2 2个计数器的初值为个计数器的初值为N1N1和和N2N2 输出频率为输出频率为(10(10k/N1)/N2)Hz = (10k/(N1k/N1)/N2)Hz = (10k/(N1N2)HzN2)Hz第55页/共79页第五十五页,编辑于星期五:五点 二十五分。82548254在微机中应用在微机中应用PCPC系列机定时系统结构框图系列机定时系统结构框图第56页/共79页第五十六页,编辑于星期五:五点 二十五分。82548254计数器作用和信号规定计数器作用和信号规定 计数器0 计数器1

37、计数器2 功能 时钟信号发生器 刷新请求发生器 音频信号发生器 工作方式 方式3 方式2 方式3 GA TE 5V 5V 程序控制 CLK 1.1931816MHz 1.1931816MHz 1.1931816MHz OUT 8259A IRQ0 8237 DREQ0 扬声器 第57页/共79页第五十七页,编辑于星期五:五点 二十五分。(1) (1) 计数器计数器0 0系统定时器系统定时器 工作方式:工作方式:3 3方式,方式,计数初值:计数初值:0 0(6553665536)。)。1.1.系统定时器系统定时器 连接到连接到82598259A A的的IRQ0(IRQ0(中断类型号为中断类型号为

38、8)8)上。上。 f fOUT0OUT0=1.1931816MHz/65536=18.2Hz=1.1931816MHz/65536=18.2Hz, 即:每秒产生即:每秒产生18.218.2次中断用于日时钟计时。次中断用于日时钟计时。 应用:应用:系统系统BIOSBIOS提供提供INT 1CHINT 1CH用户定时中断接口;用户定时中断接口; INT 8HINT 8H(IRQ0IRQ0)调用)调用INT 1CHINT 1CH。2.2.软盘驱动器马达控制软盘驱动器马达控制第58页/共79页第五十八页,编辑于星期五:五点 二十五分。日时钟运行原理日时钟运行原理第59页/共79页第五十九页,编辑于星期

39、五:五点 二十五分。日时钟定时中断服务流程日时钟定时中断服务流程第60页/共79页第六十页,编辑于星期五:五点 二十五分。初始值计算 计数器0:55ms(54.925 493ms)产生一次中断,即每秒产生18.206次中断请求。 计数初始值1.193 18MHz18.206 65 536(即0000H) 第61页/共79页第六十一页,编辑于星期五:五点 二十五分。计数器计数器0 0初始化程序初始化程序MOV AL,35H;设置计数器0:方式3,双字节,二进 制计数OUT 43H,AL;写入控制寄存器MOV AL,0;计数初值OUT 40H,AL;写低字节OUT 40H,AL;写高字节第62页/

40、共79页第六十二页,编辑于星期五:五点 二十五分。(2)(2)计数器计数器1 1动态存储器定时刷新控制动态存储器定时刷新控制 工作方式:工作方式:2 2方式,方式,计数初值:计数初值:1818。 连接到连接到82378237的的DREQ0DREQ0上,定时产生负脉冲。上,定时产生负脉冲。 脉冲宽度脉冲宽度=1/ 1.1931816=1/ 1.1931816MHz=838nsMHz=838ns, 脉冲周期脉冲周期=18/1.1931816=18/1.1931816MHz=15.08sMHz=15.08s, 即:每隔即:每隔15.0815.08ss产生一个脉冲用于刷新。产生一个脉冲用于刷新。第63

41、页/共79页第六十三页,编辑于星期五:五点 二十五分。初始值计算 计数器1:计数初始值15.084s1.19318 MHz17.997 918 第64页/共79页第六十四页,编辑于星期五:五点 二十五分。计数器计数器1 1初始化程序初始化程序MOV AL,54H;设置计数器1:只写低字节,方式2, 二进制计数OUT 43H,AL;写入控制字寄存器MOV AL,18 ;写入计数初值18OUT 41H,AL;计数器1第65页/共79页第六十五页,编辑于星期五:五点 二十五分。(3) (3) 计数器计数器2 2扬声器音频发生器扬声器音频发生器 工作方式:工作方式:3 3方式,方式,计数初值:计数初值

42、:由调用程序控制。由调用程序控制。 与与82558255的的PBPB口口D1D1信号信号“与与”后连接到扬声器上,后连接到扬声器上,控制扬声器发生频率及时长。控制扬声器发生频率及时长。 软件控制发声:软件控制发声:T/C2T/C2的的OUT2=1OUT2=1,CPUCPU控制控制82558255的的PBPB口的口的D1D1位的电平实现;位的电平实现; 硬件控制发声:硬件控制发声:82558255的的PBPB口的口的D1D1位为高电平,位为高电平,控制控制82548254的的T/C2T/C2的的OUT2OUT2实现。实现。第66页/共79页第六十六页,编辑于星期五:五点 二十五分。IBM-PC系

43、列发声驱动电路示意第67页/共79页第六十七页,编辑于星期五:五点 二十五分。初始值计算 计数器2: 计数初始值和发声频率相关。 假设扬声器的发声频率为1kHz,则 计数初始值1.193 18 MHz1kHz1 190第68页/共79页第六十八页,编辑于星期五:五点 二十五分。计数器2的发声程序BEEP PROCMOV AL,0B6H;设置计数器2,写双字节,方式3,二 进制计数OUT 43H,AL;写入控制寄存器MOV AX,533H;装入计数初值0533HOUT 42H,AL;写入低字节MOV AL,AHOUT 42H,AL;写入高字节IN AL,61H;读取8255的PB口原输出值第69

44、页/共79页第六十九页,编辑于星期五:五点 二十五分。计数器2的发声程序(续)MOV AH,AL;将原输出的值保留与AH中OR AL,03H;使PB1PB0均为1OUT 61H,AL;打开GATE2门,输出方波到扬声器SUB CX,CX;CX循环计数,最大为216L:LOOP L;循环延时DEC BL;子程序入口条件第70页/共79页第七十页,编辑于星期五:五点 二十五分。计数器2的发声程序(续)JNZ L;BL=6发长声(3S), BL=1发短声(0.5S)MOV AL,AH;取出AH中的8255PB口的原输出值OUT 61H,AL;恢复8255PB口。当PB1PB0不同时为高 电平时,停止

45、发声RETBEEPENDP第71页/共79页第七十一页,编辑于星期五:五点 二十五分。声音频率对照表第72页/共79页第七十二页,编辑于星期五:五点 二十五分。实时钟(实时钟(RTC,Real Time Clock) 70H/71H70H/71H端口端口第73页/共79页第七十三页,编辑于星期五:五点 二十五分。MC146818MC146818的的引脚及用途引脚及用途第74页/共79页第七十四页,编辑于星期五:五点 二十五分。实时钟的工作原理图实时钟的工作原理图第75页/共79页第七十五页,编辑于星期五:五点 二十五分。偏移地址偏移地址信息内容信息内容偏移地址偏移地址信息内容信息内容0 0秒秒7 7日日1 1报警秒报警秒8 8月月2 2分分9 9年年3 3报警分报警分0 0A A状态寄存器状态寄存器A A4 4时时0 0B B状态寄存器状态寄存器B B5 5报警时报警时0 0C C状态寄存器状态寄存器C C6 6星期几星期几0 0D D状态寄存器状态寄存器D D3232H

温馨提示

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

评论

0/150

提交评论