可编程计数器定时器8253及其应用.PPT学习教案_第1页
可编程计数器定时器8253及其应用.PPT学习教案_第2页
可编程计数器定时器8253及其应用.PPT学习教案_第3页
可编程计数器定时器8253及其应用.PPT学习教案_第4页
可编程计数器定时器8253及其应用.PPT学习教案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、会计学1 可编程计数器定时器可编程计数器定时器8253及其应用及其应用. 减减1 计数器计数器 判零判零 外设外设 计数计数/定时脉冲定时脉冲CLK 外设外设 OUT CPU 预置值预置值 CPU 可编程硬件计数可编程硬件计数/定时器定时器 1. 主要功能主要功能 具有具有3个独立的个独立的16位计数器通道;位计数器通道; 每个计数器均可按二进制或二每个计数器均可按二进制或二十进制计数;十进制计数; 每个计数器的计数速率高达每个计数器的计数速率高达2MHz; 每个通道有每个通道有6种工作方式,可由程序设置和改变种工作方式,可由程序设置和改变 所有的输入输出电平都与所有的输入输出电平都与TTL兼

2、容。兼容。 一、一、 8253的内部结构的内部结构 第1页/共29页 数据总线数据总线 缓冲器缓冲器 计数器计数器 0 读读/写写 逻辑逻辑 控制字控制字 寄存器寄存器 计数器计数器 1 计数器计数器 2 内内 部部 数数 据据 总总 线线 CLK 0 CLK 1 CLK 2 GATE0 GATE 1 GATE 2 OUT0 OUT1 OUT2 D7 D0 RD WR A0 A1 CS 8253内部结构内部结构 2、8253的内部结构的内部结构 CLK 计数计数/定时脉冲定时脉冲 计数器:由外设提供的计数脉冲。计数器:由外设提供的计数脉冲。 定时器:时钟脉冲定时器:时钟脉冲 GATE 门控信号

3、门控信号 实现对实现对CLK输入时,减输入时,减1计数器是否工作的控制。其控制关系由不同工作方式确定。计数器是否工作的控制。其控制关系由不同工作方式确定。 OUT 输出信号输出信号 减减1 计数器为计数器为0时的输出信号可以用于对外部控制,也可用于向时的输出信号可以用于对外部控制,也可用于向CPU申请中断。申请中断。 三个独立的三个独立的16位减位减1计数器。计数器。 第2页/共29页 计数器计数过程计数器计数过程 通过编程对计数器预置一个初值通过编程对计数器预置一个初值n。 如果门控信号如果门控信号GATE允许,计数器对允许,计数器对CLK输入的脉冲进行减输入的脉冲进行减1计数计数(二进制二

4、进制/十进制十进制)。 当计数器的值减为当计数器的值减为0时从时从OUT端输出一个脉冲信号。端输出一个脉冲信号。 定时器计数过程定时器计数过程 通过编程对定时器预置一个初值通过编程对定时器预置一个初值n。 如果门控信号如果门控信号GATE允许,定时器对允许,定时器对CLK输入的脉冲进行减输入的脉冲进行减1计数计数(二进制二进制/十进制十进制)。 当计数器的值减为当计数器的值减为0时从时从OUT端输出一个脉冲信号。端输出一个脉冲信号。 CLK端输入定时脉冲,定时脉冲周期为端输入定时脉冲,定时脉冲周期为tC。 定时时间定时时间= n tC 最小定时时间预置值最小定时时间预置值n=1,最大定时时间预

5、置值,最大定时时间预置值 n=FFFFH。 n=0000H 第3页/共29页 数据总线缓冲器数据总线缓冲器 CPU 8253 DB 写写8253控制字控制字 写某通道预置值写某通道预置值 读某通道计数值读某通道计数值 控制字寄存器控制字寄存器(存放控制字存放控制字) 数据总线数据总线 缓冲器缓冲器 计数器计数器 0 读读/写写 逻辑逻辑 控制字控制字 寄存器寄存器 计数器计数器 1 计数器计数器 2 内内 部部 数数 据据 总总 线线 CLK 0 CLK 1 CLK 2 GATE0 GATE 1 GATE 2 OUT0 OUT1 OUT2 D7 D0 RD WR A0 A1 CS 8253内部

6、结构内部结构 第4页/共29页 读写逻辑读写逻辑 CS、A1、A0 选择选择4个片内寄存器个片内寄存器 RD、WR 控制对控制对4个片内寄存器读、写控制个片内寄存器读、写控制 端端 口口A1 A0 通道通道0计数器计数器 通道通道1计数器计数器 通道通道2计数器计数器 控制口控制控制口控制 字寄存器字寄存器 0 0 0 1 1 0 1 1 A15A2 系统系统 端口端口 译码译码 数据总线数据总线 缓冲器缓冲器 计数器计数器 0 读读/写写 逻辑逻辑 控制字控制字 寄存器寄存器 计数器计数器 1 计数器计数器 2 内内 部部 数数 据据 总总 线线 CLK 0 CLK 1 CLK 2 GATE

7、0 GATE 1 GATE 2 OUT0 OUT1 OUT2 D7 D0 RD WR A0 A1 CS 8253内部结构内部结构 第5页/共29页 00 选择计数器选择计数器0 01 选择计数器选择计数器1 10 选择计数器选择计数器1 11 非法选择非法选择 000 方式方式0 001 方式方式1 X10 方式方式2 X11 方式方式3 100 方式方式4 101 方式方式5 0 二进制二进制 1 BCD 在在8253的初始化编程中,由的初始化编程中,由CPU向向8253的控制字寄存器写入一个控制字来设置的控制字寄存器写入一个控制字来设置8253的工作方式。的工作方式。 00 计数器锁存命令

8、计数器锁存命令 10 只读只读/写计数器高字节(高八位)写计数器高字节(高八位) 01 只读只读/写计数器低字节(低八位)写计数器低字节(低八位) 11 先读先读/写低字节,后读写低字节,后读/写高字节写高字节 控制字寄存器控制字寄存器 计数器计数器读读/写格式写格式工作方式工作方式数制数制 D0D1D2D3D4D5D6D7 SC1 SC0RL1 RL0M2 M1 M0 BCD 第6页/共29页 先写低先写低8位,再写高位,再写高8 位位 二、二、 初始化编程和门控信号初始化编程和门控信号 1、初始化编程、初始化编程 初始化编程的步骤:初始化编程的步骤: (1)写入控制字写入控制字 (2)写入

9、计数器初值写入计数器初值 例:例:8253三个计数器端口的地址分别为三个计数器端口的地址分别为3F0H、3F2H、3F4H,控制字寄存器的端口地址为,控制字寄存器的端口地址为3F6H,要求通道,要求通道0工作于方式工作于方式3,写入的初值为,写入的初值为n=1234H。编写初始化程序。编写初始化程序。 计数器计数器读读/写格式写格式工作方式工作方式数制数制 D0D1D2D3D4D5D6D7 SC1 SC0RL1 RL0M2 M1 M0 BCD 控制字控制字 0 0 1 1 0 1 1 1 第7页/共29页 初始化程序流程初始化程序流程 写控制字写控制字 写计数值低写计数值低8位位 写计数值高写

10、计数值高8位位 * 非必须非必须 可以写一个完可以写一个完 整的计数器,整的计数器, 也可先写所有也可先写所有 计数器控制字计数器控制字 ,再写入初值,再写入初值 第8页/共29页 MOV AL,00110111B MOV DX,3F6H OUT DX,AL MOV AL,34H MOV DX,3F0H OUT DX,AL MOV AL,12H OUT DX,AL 第9页/共29页 2、门控信号的控制功能、门控信号的控制功能 工作方式工作方式 GATE为低点平为低点平 或下降沿或下降沿 GATE为上升沿为上升沿GATE为高点平为高点平 方式方式0禁止计数禁止计数-允许计数允许计数 方式方式1-

11、 从预初值开始计数。从预初值开始计数。 计数计数为计数计数为0,输出,输出 变低电平变低电平 - 方式方式2 禁止计数禁止计数 使输出变高使输出变高 从预置初值从预置初值 开始计数开始计数 允许计数允许计数 方式方式3 方式方式4禁止计数禁止计数-允许计数允许计数 方式方式5- 从预置初值从预置初值 开始计数开始计数 - 第10页/共29页 三、三、 8253的工作方式的工作方式 43210FF OUT GATE=1 CLK WR CW=10LSB=4 1. 方式方式0 工作工作 方式方式 功能功能 N与输出与输出 波形关系波形关系 GATE 作用作用 计数过程计数过程 中改变中改变N 0 计

12、数结束计数结束 中断方式中断方式 写入写入N后开始计后开始计 数计数器为数计数器为0 OUT输出输出H 0:禁止计数:禁止计数 1:允许计数:允许计数 立即有效立即有效 32220FF OUT GATE CLK WR CW=10LSB=3 1 置时常 第11页/共29页 3 230FF OUT GATE CLK WR CW=12LSB=3 1 方式方式1(可编程单稳)(可编程单稳) 工作工作 方式方式 功能功能 N与输出与输出 波形关系波形关系 GATE 作用作用 计数过程计数过程 中改变中改变N 1 可编程可编程 单稳态单稳态 外部外部GATE触发触发 OUT输出单拍负脉冲输出单拍负脉冲 宽

13、度宽度N个个CLK GATE上升沿启动上升沿启动 ,下一个,下一个CLK下降下降 沿开始计数,计数沿开始计数,计数 值为值为0输出上升沿输出上升沿 GATE 触发后有效触发后有效 第12页/共29页 321 OUT GATE=1 CLK WR CW=14LSB=3 321 3 方式方式2(速率发生器)(速率发生器) 工作工作 方式方式 功能功能 N与输出与输出 波形关系波形关系 GATE 作用作用 计数过程计数过程 中改变中改变N 2 速率速率 发生器发生器 每每N个个CLK输一个输一个 宽度为一个宽度为一个CLK周周 期的负脉冲期的负脉冲 不断重复不断重复 GATE0,禁止计禁止计 数数 输

14、出输出1 GATE1,允许计允许计 数数GATE为上升沿重为上升沿重 新装入新装入N启动计数启动计数 计数过程中计数过程中 可改变计数可改变计数 值但需计数值但需计数 到到1后有效后有效 第13页/共29页 424 OUT GATE=1 CLK WR CW=16LSB=4 24242 方式方式3(方波发生器)(方波发生器) 工作工作 方式方式 功能功能 N与输出与输出 波形关系波形关系 GATE 作用作用 计数过程计数过程 中改变中改变N 3 方波方波 发生器发生器 N偶,偶,N/2个个1, N/2个个0 N奇,奇,(N+1)/2个个 1,(N-1)/2个个0 不断重复不断重复 GATE0,禁

15、止计禁止计 数数 输出输出1 GATE1,允许计允许计 数数GATE为上升沿重为上升沿重 新装入新装入N启动计数启动计数 计数过程中计数过程中 可改变计数可改变计数 值值 外触发或计外触发或计 数到数到0有效有效 第14页/共29页 方式4(软件触发选通) 工作工作 方式方式 功能功能 N与输出与输出 波形关系波形关系 GATE 作用作用 计数过程计数过程 中改变中改变N 4 软触发软触发 选通选通 写入写入N后开始计数后开始计数 计数器为计数器为0 OUT输出一个宽度为输出一个宽度为 CLK周期的负脉冲周期的负脉冲 GATE0,禁止计禁止计 数数 GATE1,允许允许 计数计数 立即有效要立

16、即有效要 再次计数需再次计数需 要再次输入要再次输入 计数值计数值 321 OUT GATE=1 CLK WR CW=18LSB=3 0FFFEFD 第15页/共29页 方式5(硬件触发选通) 321 OUT GATE CLK WR CW=1ALSB=3 0 FF3 工作 方式 功能 N与输出 波形关系 GATE 作用 计数过程 中改变N 5 硬触发 选通 写入N后GATE上升沿开始计数 计数器为0 OUT输出一 个宽度为CLK周期的负脉冲 GATE上升沿 启动计数 GATE上升 沿触发有效 第16页/共29页 工作方式工作方式功能功能N与输出波形关系与输出波形关系GATE 作用作用计数过程中

17、改变计数过程中改变N 计数结束中断方式计数结束中断方式 写入写入N后开始计数后开始计数 计数器为计数器为0 ,OUT输出输出H 0:禁止计数:禁止计数 1:允许计数:允许计数 立即有效立即有效0 外部外部GATE触发触发 OUT输出输出 单拍负脉冲宽度单拍负脉冲宽度N个个CLK GATE 触发后有效触发后有效1可编程单稳态可编程单稳态 GATE上升沿启动上升沿启动 下一个下一个CLK下降沿下降沿 开始计数,计数值为开始计数,计数值为0 输出上升沿输出上升沿 每每N个个CLK输一个宽度为输一个宽度为 一个一个CLK周期的负脉冲周期的负脉冲 不断重复不断重复 计数过程中可改变计数过程中可改变 计数

18、值但需计数到计数值但需计数到1 后有效后有效 2速率发生器速率发生器 GATE0,禁止计数禁止计数 GATE1,允许计数允许计数 GATE为上升沿重新为上升沿重新 装入装入N启动计数启动计数 N偶,偶,N/2个个1,N/2个个0 N奇,奇,(N+1)/2个个1, (N-1)/2个个0 不断重复不断重复 3方波发生器方波发生器 GATE0,禁止计数禁止计数 GATE1,允许计数允许计数 GATE为上升沿为上升沿 重新装入重新装入N启动计数启动计数 计数过程中可改变计数过程中可改变 计数值外触发计数值外触发 或计数到或计数到0有效有效 写入写入N后开始计数后开始计数 计数器为计数器为0,OUT输出

19、一个输出一个 宽度为宽度为CLK周期的负脉冲周期的负脉冲 4软触发选通软触发选通 计数过程中可改变计数过程中可改变 计数值外触发计数值外触发 或计数到或计数到0有效有效 GATE0,禁止计数禁止计数 GATE1,允许计数允许计数 写入写入N后后GATE上升沿上升沿 开始计数计数器为开始计数计数器为0 OUT输出一个宽度为输出一个宽度为CLK 周期的负脉冲周期的负脉冲 5硬触发选通硬触发选通 GATE上升沿上升沿 触发有效触发有效 GATE上升沿上升沿 启动计数启动计数 8253的工作方式的工作方式 第17页/共29页 8253的应用的应用 1、产生各种定时波形、产生各种定时波形 8253的基地

20、址为的基地址为310H,使用的时钟频率为,使用的时钟频率为1MHz。 通道通道0:输出频率为:输出频率为2KHz的方波;的方波; 通道通道1:产生宽度为:产生宽度为480 s 的单脉冲;的单脉冲; 通道通道2:用硬件方式触发,输出单脉冲,时间常数:用硬件方式触发,输出单脉冲,时间常数26。 通道通道0:方式:方式3,tC=1s,方波周期,方波周期500s,设置值,设置值 500 控制字控制字 0 0 1 1 0 1 1 1B 通道通道1:方式:方式1,tC=1 s,设置值,设置值 480 控制字控制字 0 1 1 1 0 0 1 1B 通道通道2:方式:方式5,设置值,设置值 26 控制字控制

21、字 1 0 0 1 1 0 1 1B 第18页/共29页 CLK0 CLK1 CLK2 1MHz方波方波 GATE0 OUT0 +5V 2KHz方波方波 GATE1 OUT1 480s 宽度单宽度单 脉冲脉冲 GATE2 OUT2 负单脉冲负单脉冲 CS A0 A1 RD WR D7D0 8253 Y4 G1 G2 A G2 B C B A 74LS138 A9 A8 A7 A6 A5 A4 A3 A0 M/IO A1 A2 RD WR D7D0 8086 CPU 8253的接口电路的接口电路 通道通道0: 310H 通道通道1: 312H 通道通道2: 314H 控制字:控制字:316H 第

22、19页/共29页 2、控制、控制LED点亮或熄灭的时间点亮或熄灭的时间 8253的地址为的地址为81H、83H、85H和和87H。CLK时钟为时钟为2MHz,要求,要求LED交替点亮或熄灭各交替点亮或熄灭各10秒。秒。 tC=0.5 s,最大定时时间为,最大定时时间为32768 s=32.768ms,20s的长定时时间需要两级计数器串接级连。的长定时时间需要两级计数器串接级连。 通道通道0,工作方式,工作方式2(速率发生器速率发生器),周期,周期2.5ms, CLK时钟的时钟的2MHz,置计数值,置计数值500。 通道通道1,工作方式,工作方式3(方波发生器方波发生器),周期,周期20s, C

23、LK时钟上通道时钟上通道0 的输出,周期的输出,周期2.5ms。置计数值。置计数值8000。 第20页/共29页 GATE0 GATE1 CLK0 OUT0 CLK1 OUT1 A1 A0 D7D0D15D8 A2 A1 I/O 译码译码A7A0 WR RD WR RD M/IO CS +5V 2MH z LED 8253 8253的接口电路的接口电路 8253端口地址端口地址 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 - 81H 87H - 8253数据线数据线 D15D8 端口地址为奇端口地址为奇 第21页/共29页 4

24、、8253在在PC/XT机中的应用机中的应用 GATE0 GATE1 GATE2 CLK0 CLK1 CLK2 OUT0 OUT1 OUT2 D7D0 D C QS CL R D C Q +5V Q +5V DRQ 0 8237- 5 IRQ0 8259 T/C2 OUT 扬声器接口扬声器接口 RD WR CS A1 A0 D7D0 PCL K 2.38636MH z RESETDR V A1 A0 IOR IOW T/C CS PB0 8255- 5 DACK0 BRD 8253 第22页/共29页 GATE0 GATE1 GATE2 CLK0 CLK1 CLK2 OUT0 OUT1 OUT

25、2 D7D0 D C QS CL R D C Q +5 V Q +5V DR Q0 8237 IRQ 0 825 9 T/C2 OUT 扬声器接口扬声器接口 RD W R CS A1 A0 D7D0 PCL K 2.38636MHz RESETDRV A1 A0 IOR IOW T/C CS PB0 8255 DACK0 BRD 8253 (1)通道通道0:实时时钟:实时时钟 方式方式3,GATE0=1,n =0 CLK2CLK0的时钟频率的时钟频率 1.19318MHz OUT0:频率为:频率为18.2Hz的方波的方波 作为时间基准,通过作为时间基准,通过8259申请定时中断。在中断服务程序

26、中进行计数,形成实时时钟。申请定时中断。在中断服务程序中进行计数,形成实时时钟。 周期周期=54.945ms 计时单位:计时单位: 54.945ms为一个基准单位,则:为一个基准单位,则: 1秒秒 1000ms/54.954ms18.2(个计时单位)(个计时单位) 1分钟分钟 601000ms/54.954ms1092(个计时单位)(个计时单位) 1小时小时 60601000ms/54.954ms65543(个计时单位)(个计时单位) 1天天2460601000ms/54.954ms1573040(个计时单位)(个计时单位) 第23页/共29页 用用OUT引脚向引脚向8259申请中断,在中断程

27、序申请中断,在中断程序 中进行加中进行加1操作,实现对新的计时单位的累计,完成对一天计时的任务操作,实现对新的计时单位的累计,完成对一天计时的任务 在在BIOS数据区开辟两个双字的存储单元作为每次加数据区开辟两个双字的存储单元作为每次加1操作的操作的RAM。双字。双字RAM中存放的就是当前的时间中存放的就是当前的时间 当低字当低字00B0H,高字,高字0018H时,则计满时,则计满24小时,然后清零,重新加小时,然后清零,重新加1操作,开始第二天的计时操作,开始第二天的计时 如果要得到当前时间要进行下列计算:如果要得到当前时间要进行下列计算: 小时值小时值RAM中的值除以中的值除以65543;

28、 分钟值分钟值 上式的余数除以上式的余数除以1092; 秒值上式的余数除以秒值上式的余数除以18.2 第24页/共29页 利用日时钟进行延时利用日时钟进行延时 通过调用通过调用BIOS中断中断INT 1AH的的0号功能,读取时间计数器的当前值号功能,读取时间计数器的当前值 将延时时间换算成计时单位(即多少个将延时时间换算成计时单位(即多少个54.954ms)加上时间计数器的当前值,作为定时器的目标值)加上时间计数器的当前值,作为定时器的目标值 利用利用INT1AH的的0号功能调用,不断读取时间计数器的值并与目标值比较。相等则定时时间到,不等则继续延时号功能调用,不断读取时间计数器的值并与目标值

29、比较。相等则定时时间到,不等则继续延时 (延时延时n秒,折合成计时单位秒,折合成计时单位k) MOVAH,0H INT 1AH;中断调用,读取日时钟中断调用,读取日时钟 ADDDX,k MOVBX,DX REP: MOV AH,0H INT 1AH CMP DX,BX;与目标值比较与目标值比较 JNZREP ;不等,继续延时不等,继续延时 第25页/共29页 GATE0 GATE1 GATE2 CLK0 CLK1 CLK2 OUT0 OUT1 OUT2 D7D0 D C QS CL R D C Q +5 V Q +5V DR Q0 8237 IRQ 0 825 9 T/C2 OUT 扬声器接口扬

温馨提示

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

评论

0/150

提交评论