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

下载本文档

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

文档简介

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

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

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

4、来计算时间常数。 优点:优点: n节省硬件成本;节省硬件成本; 缺点:缺点: n占用占用CPU的时间,降低了的时间,降低了CPU的工作效率;的工作效率; n软件延时的时间随主机频率不同而发生变化,通用性差。软件延时的时间随主机频率不同而发生变化,通用性差。 适用于短时间或不频繁发生延时的简单系统。适用于短时间或不频繁发生延时的简单系统。 2021年6月23日星期三5 延时程序:延时程序: MOV DX , 0FFFFH AGAIN: MOV CX , DX WAIT : NOP LOOP WAIT DEC DX JNZ AGAIN 也可单独作为一也可单独作为一 延时程序,延时延时程序,延时 时

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

6、不受主机频率影响,定时程序通用性强。 可用于各种定时计数场合。可用于各种定时计数场合。 2021年6月23日星期三7 10.2 8253A可编程定时可编程定时/计数器计数器 1、8253A芯片的工作特点芯片的工作特点 2、8253A芯片的外部引脚特性芯片的外部引脚特性 3、8253A的内部结构的内部结构 4、计数初值的设置、计数初值的设置 2021年6月23日星期三8 1、8253A芯片的工作特点芯片的工作特点 每片每片8253A上都有上都有3个个独立的独立的16位位的计数通道;的计数通道; 最大可计数值为最大可计数值为216=65536; 每个通道计数均可编程设置为每个通道计数均可编程设置为

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

8、的输入、 输出信号输出信号 计数通道计数通道1 的输入、的输入、 输出信号输出信号 计数通道计数通道2 的输入、的输入、 输出信号输出信号 2021年6月23日星期三10 计数通道的外部信号计数通道的外部信号 时钟时钟输入输入信号信号CLK 定时计数时,每经过一个脉冲定时计数时,每经过一个脉冲/时钟周期,计数值减时钟周期,计数值减1; 门控门控输入输入信号信号GATE 用于控制计数的启停;用于控制计数的启停; 可有可有开关作用开关作用和和触发作用触发作用; 计数器计数器输出输出信号信号OUT 各种波形输出端;各种波形输出端; 可供可供CPU检测状态,也可用于提供请求信号。检测状态,也可用于提供

9、请求信号。 2021年6月23日星期三11 定时定时/计数器的读写操作类型计数器的读写操作类型 2021年6月23日星期三12 3、8253A的内部结构的内部结构 数据总线缓冲器数据总线缓冲器: 三态双向三态双向8 8位寄存器;位寄存器; 8253A8253A与与CPUCPU之间之间数据数据 交换交换的部件;的部件; 读读/ /写控制逻辑写控制逻辑: 接收接收CPUCPU有关控制有关控制 信号,决定操作信号,决定操作 对象及类型。对象及类型。 控制字寄存器控制字寄存器: 接收接收CPUCPU发出的控制字,决定各计发出的控制字,决定各计 数器的工作方式;数器的工作方式; 三个计数通道共用一个命令

10、端口三个计数通道共用一个命令端口 区分该芯片内部区分该芯片内部 的端口类型!的端口类型! 计数通道为数据端口,每个计数通道分别占计数通道为数据端口,每个计数通道分别占 用一个端口地址;用一个端口地址; (计数通道(计数通道0 304H、计数通道、计数通道1305H、 计数通道计数通道2 306H) 控制字寄存器为命令端口,占用一个端口地控制字寄存器为命令端口,占用一个端口地 址址(307H ); 无状态端口。无状态端口。 2021年6月23日星期三13 计数通道的内部结构计数通道的内部结构 存放存放CPUCPU发出的计数初值,发出的计数初值,在在 计数过程中不发生变化计数过程中不发生变化;用;

11、用 于自动重装计数初值。于自动重装计数初值。 锁存当前的计数值,锁存当前的计数值, 以供以供CPUCPU读取。读取。 装入计数初值,每个计数装入计数初值,每个计数 脉冲到来时执行减脉冲到来时执行减1 1操作。操作。 时钟脉冲输入端时钟脉冲输入端 控制输入端控制输入端,对计数操作起,对计数操作起 开关作用或触发作用开关作用或触发作用 输出端输出端, 其输出波其输出波 形由操作形由操作 方式决定方式决定注意注意CPU对计对计 数器内部部件数器内部部件 的可访问性!的可访问性! 16位当前计数值锁存器位当前计数值锁存器 只读只读 16位减位减1计数器计数器 不可访问不可访问 16位计数初值寄存器位计

12、数初值寄存器 可读写可读写 2021年6月23日星期三14 4、计数初值的设置、计数初值的设置 8253A芯片的初始化步骤:芯片的初始化步骤: 1.按照命令字格式写出满足当前操作的按照命令字格式写出满足当前操作的命令字命令字,使用,使用I/O指指 令将其写入令将其写入命令端口命令端口; n写入命令字后,写入命令字后,计数初值寄存器清零计数初值寄存器清零; 2.确定确定计数初值计数初值(定时常数),使用(定时常数),使用I/O指令将初始值装入指令将初始值装入 指定计数通道的初值寄存器。指定计数通道的初值寄存器。 n计数初值会通过初值寄存器送入减计数初值会通过初值寄存器送入减1计数器;计数器; n

13、当计数条件满足时,减当计数条件满足时,减1计数器即开始定时计数器即开始定时/计数。计数。 2021年6月23日星期三15 计数初值的确定计数初值的确定 按定时时间计算:按定时时间计算: t定时时间、定时时间、 TCLK 时钟周期时钟周期 则计算公式为:则计算公式为: n = t / TCLK 按脉冲序列频率计算:按脉冲序列频率计算: fCLK输入时钟频率;输入时钟频率;fOUT输出波形频率输出波形频率 则计算公式为:则计算公式为: n = fCLK / fOUT 计数初值的范围:计数初值的范围: 二进制:二进制:000000FFFFH 十进制(十进制(BCD码):码):000009999 其中

14、,其中,最大值为最大值为0,因为计数器计数时先减,因为计数器计数时先减1后判断。后判断。 n n计数初值(定时常数)计数初值(定时常数) 2021年6月23日星期三16 计数初值计数初值/定时常数计算例子定时常数计算例子 假定输入时钟频率假定输入时钟频率fCLK=2MHz 要求要求1:定时:定时20ms n = t / TCLK = t fCLK = 2010-32106 = 40000 要求要求2:产生:产生1KHz的方波的方波 n = fCLK / fOUT = 2106 / 1103 = 2000 2021年6月23日星期三17 10.3 8253A的控制字和工作方式的控制字和工作方式

15、工作方式控制字的作用工作方式控制字的作用 初始化操作中使用初始化操作中使用 n按计数通道的使用设置工作方式控制字;按计数通道的使用设置工作方式控制字; n将计数初值写入对应的计数通道;将计数初值写入对应的计数通道; 读通道中的当前计数值读通道中的当前计数值 n使用工作方式控制字,设置对应通道的锁存命令;使用工作方式控制字,设置对应通道的锁存命令; n读对应通道,得到当前计数值;读对应通道,得到当前计数值; 2021年6月23日星期三18 工作方式控制字工作方式控制字 SC1SC0RL1RL0M2M1M0BCD 计数器选择计数器选择 00计数器计数器0 01计数器计数器1 10计数器计数器2 1

16、1不用不用 计数数制计数数制 0二进制二进制 1BCD码码 命令类型命令类型 00锁存命令锁存命令 01读读/写低写低8位位 10读读/写高写高8位位 11先读先读/写低写低8位位 再读再读/写高写高8位位 工作方式选择工作方式选择 000方式方式0 001方式方式1 010方式方式2 011方式方式3 100方式方式4 101方式方式5 110 无效无效 111 2021年6月23日星期三19 工作方式控制字的应用举例(工作方式控制字的应用举例(1/4) 例例1. 选择计数通道选择计数通道2 ,工作在方式,工作在方式3下,计数初值为下,计数初值为533H,采用,采用 二进制计数,试写出其初始

17、化程序段。二进制计数,试写出其初始化程序段。 工作方式控制字工作方式控制字 初始化程序段初始化程序段 写入命令字:写入命令字:写入计数初值写入计数初值 (先写低字节,再写高字节先写低字节,再写高字节): MOV DX,306HMOV AL,05H MOV DX,307H MOV AL,0B6H OUT DX,ALOUT DX,AL MOV AL,33HOUT DX,AL SC1SC0RL1RL0M2M1M0BCD 1 01 10 1 10 2021年6月23日星期三20 初始化程序段初始化程序段 MOV DX,307H MOV AL,0B6H OUT DX,AL MOV DX,306H MOV

18、 AL,33H OUT DX,AL MOV AL,05H OUT DX,AL 初始化程序执行过程初始化程序执行过程 1011 0110 0011 00110000 0101 0000 0101 0011 0011 0000 00000000 0000 2021年6月23日星期三21 工作方式控制字的应用举例(工作方式控制字的应用举例(2/4) 例例2. 计数通道计数通道1工作于方式工作于方式0,用二进制计数,计数初值为,用二进制计数,计数初值为128。 工作方式控制字工作方式控制字 初始化程序段初始化程序段 MOV DX,307H MOV AL,50H OUT DX,AL MOV DX,305

19、H MOV AL,128 OUT DX,AL SC1SC0RL1RL0M2M1M0BCD 0 10 10 0 00 2021年6月23日星期三22 工作方式控制字的应用举例(工作方式控制字的应用举例(3/4) 例例3. 计数通道计数通道0工作于方式工作于方式1,按,按BCD码计数,计数值为码计数,计数值为3000。 工作方式控制字工作方式控制字 初始化程序段初始化程序段 MOV DX,307H MOV AL,33H OUT DX,AL MOV DX,304H MOV AX,3000 SC1SC0RL1RL0M2M1M0BCD 0 01 10 0 11 OUT DX,AL MOV AL,AH O

20、UT DX,AL H 2021年6月23日星期三23 工作方式控制字的应用举例(工作方式控制字的应用举例(4/4) 例例4. 读取读取1号计数器的当前计数值,并判断是否为全号计数器的当前计数值,并判断是否为全1。 读当前计数值的操作:读当前计数值的操作: 先发先发锁存命令锁存命令,锁存当前计数值;,锁存当前计数值; 再用输入指令从计数器的当前计数值锁存器中再用输入指令从计数器的当前计数值锁存器中读取读取数据。数据。 命令字:命令字: 程序段程序段 发锁存命令发锁存命令 MOV DX,307H MOV AL,40H OUT DX,AL SC1SC0RL1RL0M2M1M0BCD 0 10 00

21、0 0 0 读计数值读计数值判断处理判断处理 MOV DX,305H IN AL,DX CMP AX,0FFFFH JE YES IN AL,DX MOV AH , AL XCHG AL,AH 假定初始化的工作方式控假定初始化的工作方式控 制字的制字的RL位为位为11。 2021年6月23日星期三24 8253A对计数通道的访问类型对计数通道的访问类型 写计数通道写计数通道 写计数通道的初值寄存器;写计数通道的初值寄存器; 读计数通道读计数通道 读计数通道的初值寄存器;读计数通道的初值寄存器; n直接读取计数通道;直接读取计数通道; 读计数通道的当前计数值;读计数通道的当前计数值; n先使用先

22、使用工作方式控制字工作方式控制字发锁存命令,再读取计数通道;发锁存命令,再读取计数通道; 2021年6月23日星期三25 8253A的工作方式的工作方式 8253A共有共有6种工作方式,三个计数通道都可以工作在这种工作方式,三个计数通道都可以工作在这6种工种工 作方式下。作方式下。 学习这学习这6种工作方式的要点:种工作方式的要点: 输出波形;输出波形; 计数的触发方式;计数的触发方式; n软件触发、硬件触发、软硬触发;软件触发、硬件触发、软硬触发; 计数过程中,门控信号计数过程中,门控信号GATE的变化对计数的影响;的变化对计数的影响; n不影响、停止计数、暂停计数、重新计数;不影响、停止计

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

24、数值变为0,OUT输出端变为高电平,并维持到下次输出端变为高电平,并维持到下次 使用计数器。使用计数器。 CW n=3 321 0 CLK WR# OUT 2021年6月23日星期三27 门控信号门控信号GATE对计数起对计数起开关作用开关作用。 即当即当GATE=1时,允许计数;当时,允许计数;当GATE0时,禁止计数。时,禁止计数。 计数过程中,计数过程中,GATE变为低电平,变为低电平,暂停计数暂停计数;当;当GATE再次变再次变 为高电平时,从中止计数处为高电平时,从中止计数处继续继续开始计数。开始计数。 GATE的变化并不影响的变化并不影响OUT端的输出状态。端的输出状态。 0 门控

25、信号的作用门控信号的作用 n=3 322 CLK WR# OUT GATE 1 2021年6月23日星期三28 计数过程中,若计数初值发生变化,则计数器会在计数过程中,若计数初值发生变化,则计数器会在下一时钟周下一时钟周 期期将新的计数值写入减将新的计数值写入减1计数器,并重新开始计数;计数器,并重新开始计数; 方式方式0是是软件触发软件触发(写计数初值的(写计数初值的OUT指令)的计数方式指令)的计数方式。 方式方式0的计数初值只的计数初值只一次有效一次有效; 若要再次计数,即使计数值不变,也需重新写入计数初值。若要再次计数,即使计数值不变,也需重新写入计数初值。 n=4n=3 324 CL

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

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

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

29、数过程。 32 CLK WR# OUT GATE 14 321 改变计数初值的影响改变计数初值的影响 2021年6月23日星期三32 方式方式0与方式与方式1的比较的比较 输出波形大致相同;输出波形大致相同; 在一次计数过程中输出在一次计数过程中输出单次负脉冲单次负脉冲; 触发方式不同;触发方式不同; 方式方式0软件触发;方式软件触发;方式1硬件触发;硬件触发; 方式方式0主要使用主要使用计数结束的上升沿脉冲计数结束的上升沿脉冲作为请求信号使用;作为请求信号使用; 方式方式1主要用作主要用作定时器定时器使用。使用。 方式方式1是由硬件触发计数的,因此是由硬件触发计数的,因此方式方式1输出的负脉

30、冲宽输出的负脉冲宽 度是可以由计数初值精确计算的度是可以由计数初值精确计算的,而方式,而方式0不可。不可。 2021年6月23日星期三33 11 n=3CW WR# 3. 方式方式2分频器分频器 当命令字设置方式当命令字设置方式2后,后,OUT输出端的初始状态为输出端的初始状态为高电平高电平; 装入计数初值后,装入计数初值后,开始计数开始计数,输出端仍维持高电平;,输出端仍维持高电平; 直到直到计数值为计数值为1时,时,OUT输出输出一个时钟周期的低电平一个时钟周期的低电平,一次,一次 计数结束,输出恢复高电平;计数结束,输出恢复高电平; 然后然后自动重装自动重装计数初值,再次进行同样的计数,

31、从而产生连计数初值,再次进行同样的计数,从而产生连 续的脉冲序列。续的脉冲序列。 32 0 CLK OUT 32 0 2021年6月23日星期三34 n=3 门控信号门控信号GATE对计数过程有对计数过程有开关作用开关作用,也有,也有触发作用触发作用。 当当GATE1时,允许计数;当时,允许计数;当GATE0时,禁止计数;时,禁止计数; 当当GATE出现上升沿时,可以触发计数重新开始。出现上升沿时,可以触发计数重新开始。 0 CLK WR# OUT GATE 321322 计数过程中,仅计数初值发生变化计数过程中,仅计数初值发生变化 若若没有没有GATE上升沿上升沿,则不影响,则不影响本次的本

32、次的计数过程;只是在计数过程;只是在 当前计数归当前计数归0,自动装入新的计数初值开始新的计数;,自动装入新的计数初值开始新的计数; 若若出现出现GATE上升上升沿,则在沿,则在下个时钟周期立刻装入下个时钟周期立刻装入新的计新的计 数初值开始计数;数初值开始计数; 门控信号的作用门控信号的作用 2021年6月23日星期三35 4 n=4CW 4. 方式方式3方波发生器方波发生器 当命令字设置方式当命令字设置方式3后,后,OUT输出端的初始状态为输出端的初始状态为高电平高电平; 装入计数初值后,开始计数,输出端仍维持高电平;装入计数初值后,开始计数,输出端仍维持高电平; 当当计数到一半计数到一半

33、时,时,OUT输出变为低电平,直到计数值为输出变为低电平,直到计数值为0,恢,恢 复高电平的输出;复高电平的输出; 然后然后自动重装自动重装计数初值,再次进行同样的计数,从而产生连计数初值,再次进行同样的计数,从而产生连 续的方波序列。续的方波序列。 输出输出方波或基本对称的矩形波方波或基本对称的矩形波,常作为,常作为 某些慢速外设的时钟输入信号某些慢速外设的时钟输入信号 32 0 CLK WR# OUT1 4 3 2021年6月23日星期三36 计数初值的一半:计数初值的一半: 当计数初值为当计数初值为偶数偶数时,计数到时,计数到n/2,输出端,输出端OUT发生负发生负 跳变,得到占空比为跳

34、变,得到占空比为1:1的方波;的方波; 当计数初值为当计数初值为奇数奇数时,计数到时,计数到(n+1)/2,输出端,输出端OUT发发 生负跳变,得到占空比为生负跳变,得到占空比为(n+1)/2 : (n-1)/2的矩形波。的矩形波。 门控信号门控信号GATE对计数过程起对计数过程起开关作用开关作用和和触发作用触发作用,同方,同方 式式2。 计数过程中写入新的计数初值,则会在计数过程中写入新的计数初值,则会在半周期结束半周期结束或或门控门控 脉冲触发脉冲触发时,重新装入新值,开始计数。时,重新装入新值,开始计数。 关于门控信号和计数初值关于门控信号和计数初值 2021年6月23日星期三37 方式

35、方式2和方式和方式3的比较的比较 方式方式2主要用于产生周期性负脉冲;主要用于产生周期性负脉冲; 方式方式3主要用于产生方波或矩形波;主要用于产生方波或矩形波; 方式方式2和方式和方式3的计数触发方式均为的计数触发方式均为软硬件触发软硬件触发。 软件触发方法软件触发方法重新写入计数初值;重新写入计数初值; n在一个完整的计数周期(方式在一个完整的计数周期(方式2)或半周期(方式)或半周期(方式3) 输出完成后输出完成后,按照新的计数初值开始计数;,按照新的计数初值开始计数; 硬件触发方法硬件触发方法门控信号出现上升沿;门控信号出现上升沿; n立即(下个时钟周期)触发新的计数过程立即(下个时钟周

36、期)触发新的计数过程,即输出脉,即输出脉 冲序列的频率随冲序列的频率随GATE信号的变化而随时发生改变。信号的变化而随时发生改变。 2021年6月23日星期三38 n=3 5. 方式方式4软件触发选通的单脉冲发生器软件触发选通的单脉冲发生器 当用命令字设置方式当用命令字设置方式4后,后,OUT输出端的初始状态为输出端的初始状态为高电平高电平; 装入计数初值后,即开始计数;装入计数初值后,即开始计数; 在计数过程中,输出端始终维持高电平;在计数过程中,输出端始终维持高电平; 当计数为当计数为0 ,OUT输出输出一个时钟周期的负脉冲一个时钟周期的负脉冲,结束计数。,结束计数。 CW 3210 CL

37、K WR# OUT 2021年6月23日星期三39 n=3CW 6. 方式方式5硬件触发选通的单脉冲发生器硬件触发选通的单脉冲发生器 当命令字设置方式当命令字设置方式5后,后,OUT输出端的初始状态为输出端的初始状态为高电平高电平; 装入计数初值后,并不立即开始计数;装入计数初值后,并不立即开始计数; 当当GATE出现上升沿出现上升沿时,开始减时,开始减1计数,计数,OUT维持高电平;维持高电平; 当当计数为计数为0时,时,OUT输出输出一个时钟周期的负脉冲一个时钟周期的负脉冲,结束计数。,结束计数。 32 0 CLK WR# OUT GATE 1 2021年6月23日星期三40 方式方式4和

38、方式和方式5的比较的比较 输出波形完全相同;输出波形完全相同; 一次计数得到一次计数得到单次单拍负脉冲单次单拍负脉冲; 计数的触发方式不同;计数的触发方式不同; 方式方式4软件触发;软件触发; n触发方式、触发方式、GATE和计数初值改变时,对计数的影响同方式和计数初值改变时,对计数的影响同方式0; 方式方式5硬件触发;硬件触发; n触发方式、触发方式、GATE和计数初值改变时,对计数的影响同方式和计数初值改变时,对计数的影响同方式1; 2021年6月23日星期三41 各种工作方式的功能各种工作方式的功能 方式方式功能功能输出波形描述输出波形描述输出波形输出波形 0计数结束产生正脉冲计数结束产

39、生正脉冲单次负脉冲单次负脉冲 1单脉冲发生器单脉冲发生器单次负脉冲单次负脉冲 2分频器分频器连续脉冲波连续脉冲波 3方波发生器方波发生器连续方波连续方波 4软件触发选通软件触发选通单次单拍负脉冲单次单拍负脉冲 5硬件触发选通硬件触发选通单次单拍负脉冲单次单拍负脉冲 n0 n0 n 0 n0 n0 n0 n 0n 0 2021年6月23日星期三42 计数器启动和重复计数的条件计数器启动和重复计数的条件 方式方式功能功能启动条件启动条件重复条件重复条件 0 计数结束产生正脉冲计数结束产生正脉冲软件触发软件触发写计数值写计数值 1 单脉冲发生器单脉冲发生器硬件触发硬件触发GATE信号触发信号触发 2

40、 分频器分频器软硬件触发软硬件触发 3 方波发生器方波发生器软硬件触发软硬件触发 4 软件触发选通软件触发选通软件触发软件触发写计数值写计数值 5 硬件触发选通硬件触发选通硬件触发硬件触发GATE信号触发信号触发 2021年6月23日星期三43 门控信号门控信号GATE的作用的作用 方式方式GATE信号的状态信号的状态 低电平或下降沿低电平或下降沿上升沿上升沿高电平高电平 0 暂停计数暂停计数不影响计数不影响计数允许计数允许计数 1 不影响计数不影响计数重新计数重新计数不影响计数不影响计数 2 停止计数停止计数重新计数重新计数允许计数允许计数 3 停止计数停止计数重新计数重新计数允许计数允许计

41、数 4 暂停计数暂停计数不影响计数不影响计数允许计数允许计数 5 不影响计数不影响计数重新计数重新计数不影响计数不影响计数 2021年6月23日星期三44 计数过程中改变计数初值的结果计数过程中改变计数初值的结果 方式方式功能功能改变计数初值改变计数初值 0 计数结束产生中断信号计数结束产生中断信号立即有效立即有效 1 单脉冲发生器单脉冲发生器门控信号触发后有效门控信号触发后有效 2 分频器分频器(速率发生器速率发生器) 当前计数周期结束当前计数周期结束 (计数到计数到1后后)或或 门控信号触发后有效门控信号触发后有效 3 方波速率发生器方波速率发生器 当前半个计数周期结束当前半个计数周期结束

42、 (计数到一半或计数到(计数到一半或计数到0后)后) 或或门控信号触发后有效门控信号触发后有效 4 软件触发选通软件触发选通立即有效立即有效 5硬件触发选通硬件触发选通门控信号触发后有效门控信号触发后有效 2021年6月23日星期三45 10.4 8253A的编程应用的编程应用 1、微机系统中的应用、微机系统中的应用 2、两级计数例子、两级计数例子 3、波特率时钟发生器例子、波特率时钟发生器例子 2021年6月23日星期三46 1、微机系统中的应用、微机系统中的应用 (1)通道)通道0系统时钟更新中断信号系统时钟更新中断信号 工作于工作于方式方式3,计数初值为,计数初值为0; (2)通道)通道

43、1动态存储器的定时刷新信号动态存储器的定时刷新信号 工作于工作于方式方式2,计数初值为,计数初值为18; (3)通道)通道2发声系统音频信号发声系统音频信号 工作于工作于方式方式3,计数初值为,计数初值为533H; 2021年6月23日星期三47 去去8237 PC系列机中定时系统结构框图系列机中定时系统结构框图 端口地址为端口地址为 40H43H 作为系统时钟作为系统时钟 更新中断信号更新中断信号 2021年6月23日星期三48 (1)系统时钟更新中断信号()系统时钟更新中断信号(通道通道0) 工作于工作于方式方式3,计数初值为,计数初值为0; GATE0接接+5,CLK0输入时钟频率为输入

44、时钟频率为 1.1931816MHz; OUT0输出频率为输出频率为18.2Hz的方波的方波; 输出脉冲周期输出脉冲周期= =1/18.255ms; OUT0连接连接8259A的的IRQ0上,上,约约55ms产生产生 1次中断次中断,用于更新系统的日时钟计数。,用于更新系统的日时钟计数。 系统直接调用固化在系统直接调用固化在BIOS中的中断中的中断 类型号为类型号为08H的中断服务程序。的中断服务程序。 初始化程序如下初始化程序如下: MOV AL,00110110B OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL 2021年6月23日星期三49 (2)动态

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

46、OV AL,18 OUT 41H,AL 2021年6月23日星期三50 (3)发声系统音频信号(通道)发声系统音频信号(通道2) 工作于工作于方式方式3,计数初值为,计数初值为533H; GATE2由由8255A的的PB0位控制,位控制,CLK2 输入时钟频率为输入时钟频率为1.1931816MHz; OUT2输出频率输出频率约为约为900Hz的方波;的方波; 输出信号与输出信号与8255的的PB1位(控制发声)位(控制发声) 共同经过滤波,作为系统扬声器发声共同经过滤波,作为系统扬声器发声 的音频信号,进行提示和故障报警。的音频信号,进行提示和故障报警。 初始化程序如下初始化程序如下: MO

47、V AL,10110110B OUT 43H,AL MOV AX,533H OUT 42H,AL MOV AL , AH OUT 42H , AL 2021年6月23日星期三51 BIOS中对计数通道中对计数通道2 的初始化编程的初始化编程 BEEP PROC FAR IN AL,61H MOV AH,AL PUSH AX MOV AL,10110110B OUT 43H,AL MOV AX,0533H OUT 42H,AL MOV AL,AH OUT 42H,AL POP AX OR AL,03H OUT 61H,AL NOP L1:LOOP L1 AND AL,0FDH OUT 61H,A

48、L 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年6月23日星期三52 发声系统连接图发声系统连接图 2021年6月23日星期三53 使用入口参数使用入口参数 指定扬声器的发声频率和发声持续时

49、间指定扬声器的发声频率和发声持续时间 BIOS中对应程序中对应程序 ;功能:;功能:按照指定的时间间隔发指按照指定的时间间隔发指 定频率的声音定频率的声音 ;入口参数:;入口参数: CX=指定频率,指定频率,BX=指定时间指定时间 ;返回:无;返回:无 SOUND PROC FAR MOV AL,10110110B OUT 43H,AL MOV AX,CX OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,03H OUT 61H,AL L1:MOV CX,5000H L2:LOOP L2 DEC BX JNZ L1 MOV AL

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

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

52、 0 = CLK0 / n0 = 2.5MHz / 62500 = 40Hz 8253A OUT0 GATE0 CLK1 GATE1 CLK0 OUT1 2021年6月23日星期三56 两个通道的计数初值和命令字两个通道的计数初值和命令字 总的计数初值总的计数初值n为为12.5106 ; 采用两级计数时,通道采用两级计数时,通道0、1的计数初值的计数初值n0、n1 n=n0n1 假定选择计数值为假定选择计数值为 n0:62500;n1:200 设置命令字:设置命令字: 计数通道计数通道0 计数通道计数通道1 SC1SC0RL1RL0M2M1M0BCD 0 01 10 1 10 SC1SC0RL

53、1RL0M2M1M0BCD 0 10 10 1 00 2021年6月23日星期三57 初始化程序段初始化程序段 计数器计数器0的初始化程序段:的初始化程序段: MOV DX,307H MOV AL,36H OUT DX,AL ;设置命令字;设置命令字 MOV DX,304H MOV AX,62500 OUT DX,AL MOV AL,AH OUT DX,AL ;设置计数初值;设置计数初值 计数器计数器1的初始化程序段:的初始化程序段: MOV DX,307H MOV AL,54H OUT DX,AL ;设置命令字;设置命令字 MOV DX,305H MOV AL,200 OUT DX,AL ;

54、8位计数初值位计数初值 2021年6月23日星期三58 答:答: 其输出波形的其输出波形的负脉冲宽度负脉冲宽度会有不同。会有不同。 单通道计数单通道计数输出负脉冲宽度为输出负脉冲宽度为1个时钟周期;个时钟周期; 双通道计数双通道计数输出负脉冲宽度由第一级计数的输出决定。输出负脉冲宽度由第一级计数的输出决定。 思思 考:考: 本题中输出波形是否会因为采用的是两级计本题中输出波形是否会因为采用的是两级计 数或单通道计数而有所不同?有何不同?数或单通道计数而有所不同?有何不同? 2021年6月23日星期三59 3、波特率时钟发生器的例子、波特率时钟发生器的例子 要求:设计一个波特率分为要求:设计一个

55、波特率分为8档的波特率发生器,档的波特率发生器, 采用人机对话方式选择波特率,按采用人机对话方式选择波特率,按Esc键退出。键退出。 已知:输入时钟为已知:输入时钟为1.19318MHz,波特率因子为,波特率因子为16, 所需的所需的8档输出波特率分别为档输出波特率分别为110b/s、 150b/s、 300b/s、 600b/s、 1200b/s、 2400b/s、 4800b/s、9600b/s。 2021年6月23日星期三60 定时常数的计算定时常数的计算 利用利用8253A方式方式3产生指定波特率的方波,用于串行数据传送。产生指定波特率的方波,用于串行数据传送。 定时常数:定时常数:T

56、cCLK频率频率 / (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 2A6H 1F1H 0F9H 07CH 2021年6月23日星期三61 波特率时钟发生器的设计波特率时钟发生器的设计 硬件设计硬件设计 8253A的计数通道产生所需的时钟;的计数通道产生所需的时钟; nCLK接输入时钟,接输入时钟,OUT得到输出时钟;得到输出时钟; nGATE接接8255A的的PC6,控制,控制8253A的工作;的工

温馨提示

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

最新文档

评论

0/150

提交评论