第10章 可编程定时计数器芯片_第1页
第10章 可编程定时计数器芯片_第2页
第10章 可编程定时计数器芯片_第3页
第10章 可编程定时计数器芯片_第4页
第10章 可编程定时计数器芯片_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、2021年10月29日星期五1第第10章章 可编程定时计数器芯片可编程定时计数器芯片10.1 定时定时/计数器的概念计数器的概念10.2 8253A可编程定时可编程定时/计数器计数器10.3 8253A控制字和工作方式控制字和工作方式10.4 8253A的编程应用的编程应用2021年10月29日星期五210.1 定时定时/计数器的概念计数器的概念定时定时日常生活日常生活:日时钟、实时钟。:日时钟、实时钟。微机系统微机系统:系统时钟、:系统时钟、DRAM刷新定时、周期性控制信号。刷新定时、周期性控制信号。定时与计数的关系定时与计数的关系相同点相同点n由数字电路中的计数电路构成;由数字电路中的计数

2、电路构成;n定时就是采用时间单位进行计数。定时就是采用时间单位进行计数。不同点不同点n定时是对固定频率的脉冲信号进行计数;定时是对固定频率的脉冲信号进行计数;n计数是对随机性的脉冲信号进行计数。计数是对随机性的脉冲信号进行计数。2021年10月29日星期五3微机系统中的定时微机系统中的定时内部定时:内部定时:CPU(主机)本身工作的控制时序,如时钟周期;(主机)本身工作的控制时序,如时钟周期;由硬件结构确定,微机中所有操作都要严格按照此节拍来完由硬件结构确定,微机中所有操作都要严格按照此节拍来完成,是成,是固定的固定的,无法更改的。,无法更改的。一般为一般为ns(纳秒)级;(纳秒)级;外部定时

3、:外部定时:外设工作时,所需要的时序关系;外设工作时,所需要的时序关系;n实时监控系统的定时中断、定时监测、定时扫描等;实时监控系统的定时中断、定时监测、定时扫描等;n对对I/O设备运行速度和工作频率的调整和控制;设备运行速度和工作频率的调整和控制;一般定时为一般定时为ms(毫秒)级;(毫秒)级;2021年10月29日星期五4外部定时方法(外部定时方法(1/2)软件定时:软件定时:定时方法:定时方法:n通过通过CPU执行一段循环程序,而产生等待延时;执行一段循环程序,而产生等待延时;n需要按延时的时间来计算时间常数。需要按延时的时间来计算时间常数。优点:优点:n节省硬件成本;节省硬件成本;缺点

4、:缺点:n占用占用CPU的时间,降低了的时间,降低了CPU的工作效率;的工作效率;n软件延时的时间随主机频率不同而发生变化,通用性差。软件延时的时间随主机频率不同而发生变化,通用性差。适用于短时间或不频繁发生延时的简单系统。适用于短时间或不频繁发生延时的简单系统。2021年10月29日星期五5延时程序:延时程序: MOV DX , 0FFFFH AGAIN: MOV CX , DX WAIT : NOP LOOP WAIT DEC DX JNZ AGAIN 也可单独作为一也可单独作为一延时程序,延时延时程序,延时时间较短时间较短延时常数决定于:延时常数决定于:需要的延时时间、系统主频、指令的执

5、行时间需要的延时时间、系统主频、指令的执行时间延时常数延时常数2021年10月29日星期五6外部定时方法(外部定时方法(2/2)硬件定时:硬件定时:方法:方法:n采用采用可编程定时可编程定时/计数器计数器或或单稳延时电路单稳延时电路产生定时或延时。产生定时或延时。特点:特点:n不占用不占用CPU时间,提高了时间,提高了CPU的利用率;的利用率;n可以产生精确的时间时隔,形成各种脉冲序列,灵活性强;可以产生精确的时间时隔,形成各种脉冲序列,灵活性强;n定时不受主机频率影响,定时程序通用性强。定时不受主机频率影响,定时程序通用性强。可用于各种定时计数场合。可用于各种定时计数场合。2021年10月2

6、9日星期五710.2 8253A可编程定时可编程定时/计数器计数器1、8253A芯片的工作特点芯片的工作特点2、8253A芯片的外部引脚特性芯片的外部引脚特性3、8253A的内部结构的内部结构4、计数初值的设置、计数初值的设置2021年10月29日星期五81、8253A芯片的工作特点芯片的工作特点 每片每片8253A上都有上都有3个个独立的独立的16位位的计数通道;的计数通道;最大可计数值为最大可计数值为216=65536; 每个通道计数均可编程设置为每个通道计数均可编程设置为二进制二进制或或BCD码码计数;计数;BCD码计数即十进制计数;码计数即十进制计数; 每个计数通道都有每个计数通道都有

7、6种种工作方式,可以编程选择;工作方式,可以编程选择;每种工作方式的输出波形、触发方式等不同;每种工作方式的输出波形、触发方式等不同; 计数通道都是计数通道都是减法计数器减法计数器;计数计数/定时启动之前需要设置计数初值定时启动之前需要设置计数初值/定时常数;定时常数;2021年10月29日星期五92、8253A芯片的外部引脚特性芯片的外部引脚特性数据总线数据总线片选及读写片选及读写控制信号控制信号片内端口片内端口选通信号选通信号计数通道计数通道0的输入、的输入、输出信号输出信号计数通道计数通道1的输入、的输入、输出信号输出信号计数通道计数通道2的输入、的输入、输出信号输出信号2021年10月

8、29日星期五10计数通道的外部信号计数通道的外部信号 时钟时钟输入输入信号信号CLK定时计数时,每经过一个脉冲定时计数时,每经过一个脉冲/时钟周期,计数值减时钟周期,计数值减1; 门控门控输入输入信号信号GATE用于控制计数的启停;用于控制计数的启停;可有可有开关作用开关作用和和触发作用触发作用; 计数器计数器输出输出信号信号OUT各种波形输出端;各种波形输出端;可供可供CPU检测状态,也可用于提供请求信号。检测状态,也可用于提供请求信号。2021年10月29日星期五11定时定时/计数器的读写操作类型计数器的读写操作类型2021年10月29日星期五123、8253A的内部结构的内部结构数据总线

9、缓冲器数据总线缓冲器:三态双向三态双向8 8位寄存器;位寄存器;8253A8253A与与CPUCPU之间之间数据数据交换交换的部件;的部件;读读/ /写控制逻辑写控制逻辑:接收接收CPUCPU有关控制有关控制信号,决定操作信号,决定操作对象及类型。对象及类型。控制字寄存器控制字寄存器:接收接收CPUCPU发出的控制字,决定各计发出的控制字,决定各计数器的工作方式;数器的工作方式;三个计数通道共用一个命令端口三个计数通道共用一个命令端口区分该芯片内部区分该芯片内部的端口类型!的端口类型!计数通道为数据端口,每个计数通道分别占计数通道为数据端口,每个计数通道分别占用一个端口地址;用一个端口地址;(

10、计数通道(计数通道0 304H、计数通道、计数通道1305H、计数通道计数通道2 306H)控制字寄存器为命令端口,占用一个端口地控制字寄存器为命令端口,占用一个端口地址址(307H );无状态端口。无状态端口。2021年10月29日星期五13计数通道的内部结构计数通道的内部结构存放存放CPUCPU发出的计数初值,发出的计数初值,在在计数过程中不发生变化计数过程中不发生变化;用;用于自动重装计数初值。于自动重装计数初值。锁存当前的计数值,锁存当前的计数值,以供以供CPUCPU读取。读取。装入计数初值,每个计数装入计数初值,每个计数脉冲到来时执行减脉冲到来时执行减1 1操作。操作。时钟脉冲输入端

11、时钟脉冲输入端控制输入端控制输入端,对计数操作起,对计数操作起开关作用或触发作用开关作用或触发作用输出端输出端,其输出波其输出波形由操作形由操作方式决定方式决定注意注意CPU对计对计数器内部部件数器内部部件的可访问性!的可访问性!16位当前计数值锁存器位当前计数值锁存器 只读只读16位减位减1计数器计数器 不可访问不可访问16位计数初值寄存器位计数初值寄存器 可读写可读写2021年10月29日星期五144、计数初值的设置、计数初值的设置 8253A芯片的初始化步骤:芯片的初始化步骤:按照命令字格式写出满足当前操作的按照命令字格式写出满足当前操作的命令字命令字,使用,使用I/O指指令将其写入令将

12、其写入命令端口命令端口;n写入命令字后,写入命令字后,计数初值寄存器清零计数初值寄存器清零;确定确定计数初值计数初值(定时常数),使用(定时常数),使用I/O指令将初始值装入指令将初始值装入指定计数通道的初值寄存器。指定计数通道的初值寄存器。n计数初值会通过初值寄存器送入减计数初值会通过初值寄存器送入减1计数器;计数器;1.当计数条件满足时,减当计数条件满足时,减1计数器即开始定时计数器即开始定时/计数。计数。2021年10月29日星期五15计数初值的确定计数初值的确定 按定时时间计算:按定时时间计算:t定时时间、定时时间、 TCLK 时钟周期时钟周期 则计算公式为:则计算公式为: n = t

13、 / TCLK 按脉冲序列频率计算:按脉冲序列频率计算:fCLK输入时钟频率;输入时钟频率;fOUT输出波形频率输出波形频率 则计算公式为:则计算公式为: n = fCLK / fOUT 计数初值的范围:计数初值的范围:二进制:二进制:000000FFFFH十进制(十进制(BCD码):码):000009999其中,其中,最大值为最大值为0,因为计数器计数时先减,因为计数器计数时先减1后判断。后判断。n n计数初值(定时常数)计数初值(定时常数)2021年10月29日星期五16计数初值计数初值/定时常数计算例子定时常数计算例子 假定输入时钟频率假定输入时钟频率fCLK=2MHz 要求要求1:定时

14、:定时20ms n = t / TCLK = t fCLK = 2010-32106 = 40000 要求要求2:产生:产生1KHz的方波的方波n = fCLK / fOUT = 2106 / 1103 = 20002021年10月29日星期五1710.3 8253A的控制字和工作方式的控制字和工作方式工作方式控制字的作用工作方式控制字的作用初始化操作中使用初始化操作中使用n按计数通道的使用设置工作方式控制字;按计数通道的使用设置工作方式控制字;n将计数初值写入对应的计数通道;将计数初值写入对应的计数通道;读通道中的当前计数值读通道中的当前计数值n使用工作方式控制字,设置对应通道的锁存命令;使

15、用工作方式控制字,设置对应通道的锁存命令;n读对应通道,得到当前计数值;读对应通道,得到当前计数值;2021年10月29日星期五18工作方式控制字工作方式控制字SC1SC0RL1RL0M2M1M0BCD计数器选择计数器选择00计数器计数器001计数器计数器110计数器计数器211不用不用计数数制计数数制0二进制二进制1BCD码码命令类型命令类型00锁存命令锁存命令01读读/写低写低8位位10读读/写高写高8位位11先读先读/写低写低8位位再读再读/写高写高8位位工作方式选择工作方式选择000方式方式0001方式方式1010方式方式2011方式方式3100方式方式4101方式方式5110无效无效

16、1112021年10月29日星期五19工作方式控制字的应用举例(工作方式控制字的应用举例(1/4)例例1. 选择计数通道选择计数通道2 ,工作在方式,工作在方式3下,计数初值为下,计数初值为533H,采用,采用二进制计数,试写出其初始化程序段。二进制计数,试写出其初始化程序段。工作方式控制字工作方式控制字初始化程序段初始化程序段写入命令字:写入命令字:写入计数初值写入计数初值 (先写低字节,再写高字节先写低字节,再写高字节):MOV DX,306HMOV AL,05HMOV DX,307HMOV AL,0B6HOUT DX,ALOUT DX,ALMOV AL,33HOUT DX,ALSC1SC

17、0RL1RL0M2M1M0BCD1 01 10 1 102021年10月29日星期五20初始化程序段初始化程序段MOV DX,307HMOV AL,0B6HOUT DX,ALMOV DX,306H MOV AL,33H OUT DX,ALMOV AL,05HOUT DX,AL初始化程序执行过程初始化程序执行过程1011 01100011 00110000 01010000 0101 0011 00110000 00000000 00002021年10月29日星期五21工作方式控制字的应用举例(工作方式控制字的应用举例(2/4)例例2. 计数通道计数通道1工作于方式工作于方式0,用二进制计数,计

18、数初值为,用二进制计数,计数初值为128。工作方式控制字工作方式控制字初始化程序段初始化程序段MOV DX,307HMOV AL,50HOUT DX,ALMOV DX,305HMOV AL,128OUT DX,ALSC1SC0RL1RL0M2M1M0BCD0 10 10 0 002021年10月29日星期五22工作方式控制字的应用举例(工作方式控制字的应用举例(3/4)例例3. 计数通道计数通道0工作于方式工作于方式1,按,按BCD码计数,计数值为码计数,计数值为3000。 工作方式控制字工作方式控制字 初始化程序段初始化程序段MOV DX,307HMOV AL,33HOUT DX,ALMOV

19、 DX,304HMOV AX,3000SC1SC0RL1RL0M2M1M0BCD0 01 10 0 11OUT DX,ALMOV AL,AHOUT DX,ALH2021年10月29日星期五23工作方式控制字的应用举例(工作方式控制字的应用举例(4/4)例例4. 读取读取1号计数器的当前计数值,并判断是否为全号计数器的当前计数值,并判断是否为全1。 读当前计数值的操作:读当前计数值的操作:先发先发锁存命令锁存命令,锁存当前计数值;,锁存当前计数值;再用输入指令从计数器的当前计数值锁存器中再用输入指令从计数器的当前计数值锁存器中读取读取数据。数据。 命令字:命令字: 程序段程序段发锁存命令发锁存命

20、令MOV DX,307HMOV AL,40HOUT DX,ALSC1SC0RL1RL0M2M1M0BCD0 10 00 0 0 0读计数值读计数值判断处理判断处理MOV DX,305HIN AL,DXCMP AX,0FFFFHJE YES IN AL,DXMOV AH , ALXCHG AL,AH假定初始化的工作方式控假定初始化的工作方式控制字的制字的RL位为位为11。2021年10月29日星期五248253A对计数通道的访问类型对计数通道的访问类型 写计数通道写计数通道写计数通道的初值寄存器;写计数通道的初值寄存器; 读计数通道读计数通道读计数通道的初值寄存器;读计数通道的初值寄存器;n直接

21、读取计数通道;直接读取计数通道;读计数通道的当前计数值;读计数通道的当前计数值;n先使用先使用工作方式控制字工作方式控制字发锁存命令,再读取计数通道;发锁存命令,再读取计数通道;2021年10月29日星期五258253A的工作方式的工作方式 8253A共有共有6种工作方式,三个计数通道都可以工作在这种工作方式,三个计数通道都可以工作在这6种工种工作方式下。作方式下。 学习这学习这6种工作方式的要点:种工作方式的要点:输出波形;输出波形;计数的触发方式;计数的触发方式;n软件触发、硬件触发、软硬触发;软件触发、硬件触发、软硬触发;计数过程中,门控信号计数过程中,门控信号GATE的变化对计数的影响

22、;的变化对计数的影响;n不影响、停止计数、暂停计数、重新计数;不影响、停止计数、暂停计数、重新计数;重装计数初值后,对计数过程的影响;重装计数初值后,对计数过程的影响;n不影响、立刻生效、下次计数生效;不影响、立刻生效、下次计数生效;2021年10月29日星期五261. 方式方式0计数结束产生正脉冲计数结束产生正脉冲每次用命令字设置计数器为方式每次用命令字设置计数器为方式0或写入计数初值后,输出端或写入计数初值后,输出端OUT的起始电平为的起始电平为低电平低电平;写入计数初值后,经过一个时钟周期,将计数初值送入减写入计数初值后,经过一个时钟周期,将计数初值送入减1计计数器开始计数,数器开始计数

23、,OUT输出维持低电平;输出维持低电平;直至直至计数值变为计数值变为0,OUT输出端变为高电平,并维持到下次输出端变为高电平,并维持到下次使用计数器。使用计数器。CWn=33210CLKWR#OUT2021年10月29日星期五27门控信号门控信号GATE对计数起对计数起开关作用开关作用。 即当即当GATE=1时,允许计数;当时,允许计数;当GATE0时,禁止计数。时,禁止计数。计数过程中,计数过程中,GATE变为低电平,变为低电平,暂停计数暂停计数;当;当GATE再次变再次变为高电平时,从中止计数处为高电平时,从中止计数处继续继续开始计数。开始计数。GATE的变化并不影响的变化并不影响OUT端

24、的输出状态。端的输出状态。0门控信号的作用门控信号的作用n=3322CLKWR#OUTGATE12021年10月29日星期五28计数过程中,若计数初值发生变化,则计数器会在计数过程中,若计数初值发生变化,则计数器会在下一时钟周下一时钟周期期将新的计数值写入减将新的计数值写入减1计数器,并重新开始计数;计数器,并重新开始计数;方式方式0是是软件触发软件触发(写计数初值的(写计数初值的OUT指令)的计数方式指令)的计数方式。方式方式0的计数初值只的计数初值只一次有效一次有效;若要再次计数,即使计数值不变,也需重新写入计数初值。若要再次计数,即使计数值不变,也需重新写入计数初值。n=4n=3324C

25、LKWR#OUTGATE321改变计数初值的影响改变计数初值的影响2021年10月29日星期五293n=3WR#CW2. 方式方式1硬件可重复触发的单脉冲发生器硬件可重复触发的单脉冲发生器 当命令字设定方式当命令字设定方式1后,输出端后,输出端OUT以以高电平高电平为起始电平;为起始电平; 写入计数初值后,经过一个时钟周期,将计数初值送入减写入计数初值后,经过一个时钟周期,将计数初值送入减1计计数器,但数器,但并不开始计数并不开始计数; 当门控信号当门控信号GATE出现上升沿出现上升沿,则开始计数,计数开始的同时,则开始计数,计数开始的同时,OUT输出端变为低电平输出端变为低电平,作为单脉冲的

26、开始;,作为单脉冲的开始; 直到计数值为直到计数值为0,OUT输出变回高电平输出变回高电平,计数结束,即单脉冲,计数结束,即单脉冲结束。结束。20CLKOUTGATE12021年10月29日星期五30 GATE信号对计数过程起信号对计数过程起触发作用触发作用。 GATE的的上升沿上升沿会使计数过程重新开始;但其高、低电平会使计数过程重新开始;但其高、低电平及下降沿不影响计数。及下降沿不影响计数。实质上,实质上,GATE的上升沿使计数初值寄存器将当前的的上升沿使计数初值寄存器将当前的计数计数初值再次装入减初值再次装入减1计数器计数器中;中; GATE变化不影响变化不影响OUT的输出状态,但会的输

27、出状态,但会影响影响输出单脉冲的输出单脉冲的宽度。宽度。n=3320CLKWR#OUTGATE321门控信号的作用门控信号的作用2021年10月29日星期五31n=4n=3 计数初值计数初值多次有效多次有效,即该方式下计数过程可以重复被触发。,即该方式下计数过程可以重复被触发。 计数过程中,若计数初值发生变化,则计数过程中,若计数初值发生变化,则当当GATE再次出现上再次出现上升沿时,立即以新的计数初值开始计数升沿时,立即以新的计数初值开始计数;否则,计数初值的;否则,计数初值的改变不会影响当前的计数过程。改变不会影响当前的计数过程。32CLKWR#OUTGATE14321改变计数初值的影响改

28、变计数初值的影响2021年10月29日星期五32方式方式0与方式与方式1的比较的比较 输出波形大致相同;输出波形大致相同;在一次计数过程中输出在一次计数过程中输出单次负脉冲单次负脉冲; 触发方式不同;触发方式不同;方式方式0软件触发;方式软件触发;方式1硬件触发;硬件触发; 方式方式0主要使用主要使用计数结束的上升沿脉冲计数结束的上升沿脉冲作为请求信号使用;作为请求信号使用;方式方式1主要用作主要用作定时器定时器使用。使用。方式方式1是由硬件触发计数的,因此是由硬件触发计数的,因此方式方式1输出的负脉冲宽输出的负脉冲宽度是可以由计数初值精确计算的度是可以由计数初值精确计算的,而方式,而方式0不

29、可。不可。2021年10月29日星期五3311n=3CWWR#3. 方式方式2分频器分频器 当命令字设置方式当命令字设置方式2后,后,OUT输出端的初始状态为输出端的初始状态为高电平高电平; 装入计数初值后,装入计数初值后,开始计数开始计数,输出端仍维持高电平;,输出端仍维持高电平; 直到直到计数值为计数值为1时,时,OUT输出输出一个时钟周期的低电平一个时钟周期的低电平,一次,一次计数结束,输出恢复高电平;计数结束,输出恢复高电平; 然后然后自动重装自动重装计数初值,再次进行同样的计数,从而产生连计数初值,再次进行同样的计数,从而产生连续的脉冲序列。续的脉冲序列。320CLKOUT32020

30、21年10月29日星期五34n=3 门控信号门控信号GATE对计数过程有对计数过程有开关作用开关作用,也有,也有触发作用触发作用。当当GATE1时,允许计数;当时,允许计数;当GATE0时,禁止计数;时,禁止计数;当当GATE出现上升沿时,可以触发计数重新开始。出现上升沿时,可以触发计数重新开始。0CLKWR#OUTGATE321322 计数过程中,仅计数初值发生变化计数过程中,仅计数初值发生变化若若没有没有GATE上升沿上升沿,则不影响,则不影响本次的本次的计数过程;只是在计数过程;只是在当前计数归当前计数归0,自动装入新的计数初值开始新的计数;,自动装入新的计数初值开始新的计数;若若出现出

31、现GATE上升上升沿,则在沿,则在下个时钟周期立刻装入下个时钟周期立刻装入新的计新的计数初值开始计数;数初值开始计数;门控信号的作用门控信号的作用2021年10月29日星期五354n=4CW4. 方式方式3方波发生器方波发生器 当命令字设置方式当命令字设置方式3后,后,OUT输出端的初始状态为输出端的初始状态为高电平高电平; 装入计数初值后,开始计数,输出端仍维持高电平;装入计数初值后,开始计数,输出端仍维持高电平; 当当计数到一半计数到一半时,时,OUT输出变为低电平,直到计数值为输出变为低电平,直到计数值为0,恢,恢复高电平的输出;复高电平的输出; 然后然后自动重装自动重装计数初值,再次进

32、行同样的计数,从而产生连计数初值,再次进行同样的计数,从而产生连续的方波序列。续的方波序列。输出输出方波或基本对称的矩形波方波或基本对称的矩形波,常作为,常作为某些慢速外设的时钟输入信号某些慢速外设的时钟输入信号320CLKWR#OUT1432021年10月29日星期五36 计数初值的一半:计数初值的一半:当计数初值为当计数初值为偶数偶数时,计数到时,计数到n/2,输出端,输出端OUT发生负发生负跳变,得到占空比为跳变,得到占空比为1:1的方波;的方波;当计数初值为当计数初值为奇数奇数时,计数到时,计数到(n+1)/2,输出端,输出端OUT发发生负跳变,得到占空比为生负跳变,得到占空比为(n+

33、1)/2 : (n-1)/2的矩形波。的矩形波。 门控信号门控信号GATE对计数过程起对计数过程起开关作用开关作用和和触发作用触发作用,同方,同方式式2。 计数过程中写入新的计数初值,则会在计数过程中写入新的计数初值,则会在半周期结束半周期结束或或门控门控脉冲触发脉冲触发时,重新装入新值,开始计数。时,重新装入新值,开始计数。关于门控信号和计数初值关于门控信号和计数初值2021年10月29日星期五37方式方式2和方式和方式3的比较的比较 方式方式2主要用于产生周期性负脉冲;主要用于产生周期性负脉冲;方式方式3主要用于产生方波或矩形波;主要用于产生方波或矩形波; 方式方式2和方式和方式3的计数触

34、发方式均为的计数触发方式均为软硬件触发软硬件触发。软件触发方法软件触发方法重新写入计数初值;重新写入计数初值;n在一个完整的计数周期(方式在一个完整的计数周期(方式2)或半周期(方式)或半周期(方式3)输出完成后输出完成后,按照新的计数初值开始计数;,按照新的计数初值开始计数;硬件触发方法硬件触发方法门控信号出现上升沿;门控信号出现上升沿;n立即(下个时钟周期)触发新的计数过程立即(下个时钟周期)触发新的计数过程,即输出脉,即输出脉冲序列的频率随冲序列的频率随GATE信号的变化而随时发生改变。信号的变化而随时发生改变。2021年10月29日星期五38n=35. 方式方式4软件触发选通的单脉冲发

35、生器软件触发选通的单脉冲发生器 当用命令字设置方式当用命令字设置方式4后,后,OUT输出端的初始状态为输出端的初始状态为高电平高电平; 装入计数初值后,即开始计数;装入计数初值后,即开始计数; 在计数过程中,输出端始终维持高电平;在计数过程中,输出端始终维持高电平; 当计数为当计数为0 ,OUT输出输出一个时钟周期的负脉冲一个时钟周期的负脉冲,结束计数。,结束计数。CW3210CLKWR#OUT2021年10月29日星期五39n=3CW6. 方式方式5硬件触发选通的单脉冲发生器硬件触发选通的单脉冲发生器 当命令字设置方式当命令字设置方式5后,后,OUT输出端的初始状态为输出端的初始状态为高电平

36、高电平; 装入计数初值后,并不立即开始计数;装入计数初值后,并不立即开始计数; 当当GATE出现上升沿出现上升沿时,开始减时,开始减1计数,计数,OUT维持高电平;维持高电平; 当当计数为计数为0时,时,OUT输出输出一个时钟周期的负脉冲一个时钟周期的负脉冲,结束计数。,结束计数。320CLKWR#OUTGATE12021年10月29日星期五40方式方式4和方式和方式5的比较的比较输出波形完全相同;输出波形完全相同;一次计数得到一次计数得到单次单拍负脉冲单次单拍负脉冲;计数的触发方式不同;计数的触发方式不同;方式方式4软件触发;软件触发;n触发方式、触发方式、GATE和计数初值改变时,对计数的

37、影响同方式和计数初值改变时,对计数的影响同方式0;方式方式5硬件触发;硬件触发;n触发方式、触发方式、GATE和计数初值改变时,对计数的影响同方式和计数初值改变时,对计数的影响同方式1;2021年10月29日星期五41各种工作方式的功能各种工作方式的功能方式方式功能功能输出波形描述输出波形描述输出波形输出波形0计数结束产生正脉冲计数结束产生正脉冲单次负脉冲单次负脉冲1单脉冲发生器单脉冲发生器单次负脉冲单次负脉冲2分频器分频器连续脉冲波连续脉冲波3方波发生器方波发生器连续方波连续方波4软件触发选通软件触发选通单次单拍负脉冲单次单拍负脉冲5硬件触发选通硬件触发选通单次单拍负脉冲单次单拍负脉冲n0n

38、0n0n0n0 n0n0n02021年10月29日星期五42计数器启动和重复计数的条件计数器启动和重复计数的条件方式方式功能功能启动条件启动条件重复条件重复条件0计数结束产生正脉冲计数结束产生正脉冲软件触发软件触发写计数值写计数值1单脉冲发生器单脉冲发生器硬件触发硬件触发GATE信号触发信号触发2分频器分频器软硬件触发软硬件触发3方波发生器方波发生器软硬件触发软硬件触发4软件触发选通软件触发选通软件触发软件触发写计数值写计数值5硬件触发选通硬件触发选通硬件触发硬件触发GATE信号触发信号触发2021年10月29日星期五43门控信号门控信号GATE的作用的作用方式方式GATE信号的状态信号的状态

39、低电平或下降沿低电平或下降沿上升沿上升沿高电平高电平0暂停计数暂停计数不影响计数不影响计数允许计数允许计数1不影响计数不影响计数重新计数重新计数不影响计数不影响计数2停止计数停止计数重新计数重新计数允许计数允许计数3停止计数停止计数重新计数重新计数允许计数允许计数4暂停计数暂停计数不影响计数不影响计数允许计数允许计数5不影响计数不影响计数重新计数重新计数不影响计数不影响计数2021年10月29日星期五44计数过程中改变计数初值的结果计数过程中改变计数初值的结果方式方式功能功能改变计数初值改变计数初值0计数结束产生中断信号计数结束产生中断信号立即有效立即有效1单脉冲发生器单脉冲发生器门控信号触发

40、后有效门控信号触发后有效2分频器分频器(速率发生器速率发生器)当前计数周期结束当前计数周期结束 (计数到计数到1后后)或或门控信号触发后有效门控信号触发后有效3方波速率发生器方波速率发生器当前半个计数周期结束当前半个计数周期结束(计数到一半或计数到(计数到一半或计数到0后)后) 或或门控信号触发后有效门控信号触发后有效4软件触发选通软件触发选通立即有效立即有效5硬件触发选通硬件触发选通门控信号触发后有效门控信号触发后有效2021年10月29日星期五4510.4 8253A的编程应用的编程应用 1、微机系统中的应用、微机系统中的应用 2、两级计数例子、两级计数例子 3、波特率时钟发生器例子、波特

41、率时钟发生器例子2021年10月29日星期五461、微机系统中的应用、微机系统中的应用 (1)通道)通道0系统时钟更新中断信号系统时钟更新中断信号工作于工作于方式方式3,计数初值为,计数初值为0; (2)通道)通道1动态存储器的定时刷新信号动态存储器的定时刷新信号工作于工作于方式方式2,计数初值为,计数初值为18; (3)通道)通道2发声系统音频信号发声系统音频信号工作于工作于方式方式3,计数初值为,计数初值为533H;2021年10月29日星期五47去去8237PC系列机中定时系统结构框图系列机中定时系统结构框图端口地址为端口地址为40H43H作为系统时钟作为系统时钟更新中断信号更新中断信号

42、2021年10月29日星期五48(1)系统时钟更新中断信号()系统时钟更新中断信号(通道通道0)工作于工作于方式方式3,计数初值为,计数初值为0;GATE0接接+5,CLK0输入时钟频率为输入时钟频率为1.1931816MHz;OUT0输出频率为输出频率为18.2Hz的方波的方波;输出脉冲周期输出脉冲周期= =1/18.255ms;OUT0连接连接8259A的的IRQ0上,上,约约55ms产生产生1次中断次中断,用于更新系统的日时钟计数。,用于更新系统的日时钟计数。系统直接调用固化在系统直接调用固化在BIOS中的中断中的中断类型号为类型号为08H的中断服务程序。的中断服务程序。 初始化程序如下

43、初始化程序如下:MOV AL,00110110BOUT 43H,ALMOV AL,0OUT 40H,ALOUT 40H,AL2021年10月29日星期五49(2)动态存储器的定时刷新信号(通道)动态存储器的定时刷新信号(通道1)工作于工作于方式方式2,计数初值为,计数初值为18;GATE1接接+5,CLK1输入时钟频率为输入时钟频率为1.1931816MHz;OUT1每隔每隔15.08s输出一个负脉冲;输出一个负脉冲;OUT1连接到连接到8237的的DREQ0上;上;8237通道通道0用于控制用于控制DRAM的刷新;的刷新;8253A的的通道通道1定时产生定时产生DRAM的刷新的刷新请求信号,

44、每个周期刷新存储器一行。请求信号,每个周期刷新存储器一行。 初始化程序如下初始化程序如下:MOV AL,01010100BOUT 43H,ALMOV AL,18OUT 41H,AL2021年10月29日星期五50(3)发声系统音频信号(通道)发声系统音频信号(通道2) 工作于工作于方式方式3,计数初值为,计数初值为533H; GATE2由由8255A的的PB0位控制,位控制,CLK2输输入时钟频率为入时钟频率为1.1931816MHz;OUT2输出频率输出频率约为约为900Hz的方波;的方波; 输出信号与输出信号与8255的的PB1位(控制发声)位(控制发声)共同经过滤波,作为系统扬声器发声共

45、同经过滤波,作为系统扬声器发声的音频信号,进行提示和故障报警。的音频信号,进行提示和故障报警。初始化程序如下初始化程序如下:MOV AL,10110110BOUT 43H,ALMOV AX,533HOUT 42H,ALMOV AL , AHOUT 42H , AL2021年10月29日星期五51BIOS中对计数通道中对计数通道2的初始化编程的初始化编程BEEP PROC FAR IN AL,61HMOV AH,ALPUSH AXMOV AL,10110110B OUT 43H,AL MOV AX,0533H OUT 42H,AL MOV AL,AH OUT 42H,ALPOP AX OR AL

46、,03H OUT 61H,AL NOP L1:LOOP L1 AND AL,0FDH OUT 61H,AL MOV AL,AH OUT 61H,AL RET BEEP ENDP 读读8255 PB口保存口保存 方式方式3,写,写16位计数初值位计数初值 OUT2输出频率为输出频率为1.1931816M/1331 =896Hz的方波的方波置置PB0、PB1为为1,打开扬,打开扬声器声器 由由CX决定延时长短决定延时长短置置PB0、PB1为为0,封锁,封锁OUT2输出输出恢复原恢复原PB端口值端口值 发声系统连接图发声系统连接图2021年10月29日星期五52发声系统连接图发声系统连接图2021年

47、10月29日星期五53使用入口参数使用入口参数指定扬声器的发声频率和发声持续时间指定扬声器的发声频率和发声持续时间 BIOS中对应程序中对应程序 ;功能:;功能:按照指定的时间间隔发指按照指定的时间间隔发指定频率的声音定频率的声音 ;入口参数:;入口参数:CX=指定频率,指定频率,BX=指定时间指定时间 ;返回:无;返回:无SOUND PROC FAR MOV AL,10110110B OUT 43H,AL MOV AX,CXOUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,03H OUT 61H,ALL1:MOV CX,500

48、0H L2:LOOP L2 DEC BX JNZ L1 MOV AL, AH OUT 61H, AL RET SOUND ENDP 2021年10月29日星期五542、两级计数例子、两级计数例子利用利用8253A设计一个定时器,每设计一个定时器,每5秒钟输出秒钟输出一个负脉冲,设外部时钟频率为一个负脉冲,设外部时钟频率为2.5MHz。计数初值为计数初值为n=5/TCLK=5fCLK =5 2.5106 =12.5106 故故 采用采用两级两级计数器;计数器;使用使用8253A的计数通道的计数通道0和计数通道和计数通道1计数通道计数通道0:方式:方式3,产生频率低于外部时钟频率的,产生频率低于外

49、部时钟频率的方波方波;计数通道计数通道1:方式:方式2,产生最终的负脉冲序列;,产生最终的负脉冲序列;8253A的硬件连接的硬件连接通道通道0的的OUT输出端作为通道输出端作为通道1的的CLK时钟输入;时钟输入;两个通道的两个通道的GATE端均接高电平;端均接高电平; 655362021年10月29日星期五55硬件连接图硬件连接图输入输入2.5MHz的时钟的时钟工作于方式工作于方式2和方式和方式3下,下,使使GATE始终始终为高电平为高电平11输出输出40Hz的方波的方波作为计数器作为计数器1的输入的输入输出每输出每5秒一个负脉冲的脉冲序列秒一个负脉冲的脉冲序列计数器计数器0输出脉冲序列的频率

50、输出脉冲序列的频率OUT0 = CLK0 / n0 = 2.5MHz / 62500 = 40Hz8253A OUT0GATE0CLK1GATE1CLK0OUT12021年10月29日星期五56两个通道的计数初值和命令字两个通道的计数初值和命令字 总的计数初值总的计数初值n为为12.5106 ; 采用两级计数时,通道采用两级计数时,通道0、1的计数初值的计数初值n0、n1n=n0n1假定选择计数值为假定选择计数值为 n0:62500;n1:200 设置命令字:设置命令字:计数通道计数通道0计数通道计数通道1SC1SC0RL1RL0M2M1M0BCD0 01 10 1 10SC1SC0RL1RL

51、0M2M1M0BCD0 10 10 1 002021年10月29日星期五57初始化程序段初始化程序段计数器计数器0的初始化程序段:的初始化程序段: MOV DX,307HMOV AL,36HOUT DX,AL ;设置命令字;设置命令字MOV DX,304HMOV AX,62500OUT DX,ALMOV AL,AHOUT DX,AL ;设置计数初值;设置计数初值计数器计数器1的初始化程序段:的初始化程序段:MOV DX,307HMOV AL,54HOUT DX,AL ;设置命令字;设置命令字MOV DX,305HMOV AL,200OUT DX,AL ;8位计数初值位计数初值2021年10月2

52、9日星期五58答:答:其输出波形的其输出波形的负脉冲宽度负脉冲宽度会有不同。会有不同。单通道计数单通道计数输出负脉冲宽度为输出负脉冲宽度为1个时钟周期;个时钟周期;双通道计数双通道计数输出负脉冲宽度由第一级计数的输出决定。输出负脉冲宽度由第一级计数的输出决定。思思 考:考:本题中输出波形是否会因为采用的是两级计本题中输出波形是否会因为采用的是两级计数或单通道计数而有所不同?有何不同?数或单通道计数而有所不同?有何不同?2021年10月29日星期五593、波特率时钟发生器的例子、波特率时钟发生器的例子要求:设计一个波特率分为要求:设计一个波特率分为8档的波特率发生器,档的波特率发生器, 采用人机

53、对话方式选择波特率,按采用人机对话方式选择波特率,按Esc键退出。键退出。已知:输入时钟为已知:输入时钟为1.19318MHz,波特率因子为,波特率因子为16, 所需的所需的8档输出波特率分别为档输出波特率分别为110b/s、 150b/s、 300b/s、 600b/s、 1200b/s、 2400b/s、 4800b/s、9600b/s。2021年10月29日星期五60定时常数的计算定时常数的计算 利用利用8253A方式方式3产生指定波特率的方波,用于串行数据传送。产生指定波特率的方波,用于串行数据传送。 定时常数:定时常数:TcCLK频率频率 / (Baud Factor)波特率波特率110b/s,Tc1.19318106/(11016)678波特率波特率150b/s, Tc1.19318106/(15016)497波特率波特率300b/s, Tc1.19318106/(30016)249波特率波特率600b/s, Tc1.19318106/(60016)124 2A6H1F1H0F9H07CH2021年10月29日星期五61波特率时钟发生器的设计波特率时钟发生器的设计 硬件设计硬件设计8253A的计数通道产生所需的时钟;的计数通道产生所需的时钟;nCLK接输入时钟,接输入时钟,OUT得到输出时钟;得到输出时钟;nGATE接接8255A的

温馨提示

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

评论

0/150

提交评论