《第九章定时与计数电路PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第九章定时与计数电路PPT讲稿.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第九章定时与计数电路第九章定时与计数电路1第1页,共40页,编辑于2022年,星期二学习目的学习目的 通过对本章的学习,您应该能够达到下列要求:n了解定时基本概念了解定时基本概念n熟悉可编程计数器熟悉可编程计数器/定时器定时器8253的外部特性的外部特性n熟悉可编程计数器熟悉可编程计数器/定时器定时器8253工作模式工作模式n熟悉可编程计数器熟悉可编程计数器/定时器定时器8253初始化初始化第2页,共40页,编辑于2022年,星期二n8253的外部特性的外部特性n8253工作模式工作模式n8253初始化初始化重重 点点第3页,共40页,编辑于2022年,星期二一、定时与计数一、定时与计数 定时
2、中断、定时检测、定时扫描,对外部事件计定时中断、定时检测、定时扫描,对外部事件计数数二二.微机中的定时方法微机中的定时方法q软件定时延迟子程序q硬件定时用计数器/定时器82539.1 定时基本概念定时基本概念第4页,共40页,编辑于2022年,星期二例例:软件定时的例子软件定时的例子:编写一个软件定时程序编写一个软件定时程序,要求定时要求定时20ms.n假设假设:8086的时钟的时钟=8MHz,一个时钟周期一个时钟周期T=1/8MHz=0.125usn延时延时20ms,执行执行PUSHF,POPF指令指令:需要循环次数:需要循环次数:N=20000/(12+14+17)*0.125 =3720
3、9参考程序:参考程序:MOV CX,37209PUSHF ;时钟数:14TPOPF ;时钟数:12TLOOP ;时钟数:179.1 定时基本概念定时基本概念第5页,共40页,编辑于2022年,星期二8253外部特性与内部编程结构q计数器/定时器8253特点 三个通道,可单独使用q片内寻址 A1 A0=00、01、10、11 对应:通道0、1、2和控制口地址q工作方式:6种PIT(Programmable Interval Timer)9.2 可编程计数器可编程计数器8253第6页,共40页,编辑于2022年,星期二9.2 可编程计数器可编程计数器8253第7页,共40页,编辑于2022年,星期
4、二9.2 可编程计数器可编程计数器8253连接连接系统端的系统端的主要引线:主要引线:nD7D0nCSnRDnWRnA1,A0 q用于选择四个编址部件之一引线结构引线结构A1 A0 选选 择择0 0 计数通道计数通道00 1 计数通道计数通道11 0 计数通道计数通道21 1 控制寄存器控制寄存器第8页,共40页,编辑于2022年,星期二9.2 可编程计数器可编程计数器8253计数通道计数通道的主要引线(每通道均相同):的主要引线(每通道均相同):nCLKn 时钟脉冲输入,计数器的计时基准。时钟脉冲输入,计数器的计时基准。nGATEn 门控信号输入,控制计数器的启停。门控信号输入,控制计数器的
5、启停。nOUTn 计数器输出信号,不同工作方式下计数器输出信号,不同工作方式下 产生不同波形产生不同波形。(n=02)第9页,共40页,编辑于2022年,星期二1.外部特性外部特性n与与CPU相连的信号相连的信号:数据线数据线D7D0,读读RD,写写WR,片选片选CS,地址线地址线A0,A18253GATE0 OUT0 CLK05V8088CPU1KHzD078253运行原理图运行原理图译码译码地址地址M/IOCSWRRDA0A1A0A1WRRD9.2 可编程计数器可编程计数器8253第10页,共40页,编辑于2022年,星期二1).数据总线缓冲器数据总线缓冲器n 往计数器设置计数初值;往计数
6、器设置计数初值;n 从计数器读取计数值;从计数器读取计数值;n 往控制寄存器设置控制字。往控制寄存器设置控制字。2).读读/写逻辑电路写逻辑电路n A1 A0:端口选择:端口选择n 0 0:通道:通道0(0号计数器)号计数器)n 0 1:通道:通道1(1号计数器)号计数器)n 1 0:通道:通道2(2号计数器)号计数器)n 1 1:控制字寄存器:控制字寄存器9.2 可编程计数器可编程计数器8253第11页,共40页,编辑于2022年,星期二3).控制命令寄存器控制命令寄存器(8位位)4).计数器计数器:三个独立通道三个独立通道:计数器计数器0,计数器计数器1,计数器计数器2每个通道包含每个通道
7、包含:n 计数初值寄存器计数初值寄存器(16位位)n 减一寄存器减一寄存器(16位位)n 当前计数初值锁存器当前计数初值锁存器(16位位)9.2 可编程计数器可编程计数器8253第12页,共40页,编辑于2022年,星期二思考题:思考题:n8253每个计数通道与外设接口有哪些信号线,每个计数通道与外设接口有哪些信号线,每个信号的用途是什么?每个信号的用途是什么?9.2 可编程计数器可编程计数器8253第13页,共40页,编辑于2022年,星期二 1)门脉冲控制时钟输入;)门脉冲控制时钟输入;2)用门脉冲来重新启动计数;)用门脉冲来重新启动计数;3)用门脉冲停止计数;)用门脉冲停止计数;4)单一
8、计数;)单一计数;5)循环计数)循环计数.计数器计数器/定时器的工作特点定时器的工作特点9.2 可编程计数器可编程计数器8253第14页,共40页,编辑于2022年,星期二3.计数初值计数初值q计数初值n =时钟频率fc/输出频率fout =定时时间Tout/时钟脉冲周期Tc4.编程命令编程命令q方式命令字q对8253初始化q方式命令字的格式 9.2 可编程计数器可编程计数器8253第15页,共40页,编辑于2022年,星期二 SC1 SC0 RW1 RW0 M2 M1 M0 BCDM2 M1 M0 模式选择 0 0 0 模式0 0 0 1 模式1 /1 0 模式2/1 1 模式3 1 0 0
9、 模式4 1 0 1 模式50 0-对计数器进行锁存0 1-只读/写低8位字节 1 0-只读/写高8位字节1 1-先读/写低8位字节,再读/写高8位字节.0 0-选计数器00 1-选计数器11 0-选计数器21 1-无意义8253控制字格式控制字格式9.2 可编程计数器可编程计数器8253第16页,共40页,编辑于2022年,星期二8253初始化方法初始化方法:设置控制字;确定计数初值。设置控制字;确定计数初值。例例:使使2号定时器号定时器,工作在方式工作在方式3,计数初值计数初值=533h,二进制计数二进制计数.试写试写出出8253初始化程序段初始化程序段.8253端口地址端口地址:40H,
10、41H,42H,43HMOV AL,10110110B ;2号定时器号定时器,方式方式3OUT 43H,ALMOV AX,0533H OUT 42H,AL ;2号数据口号数据口 MOV AL,AHOUT 42H,AL9.2 可编程计数器可编程计数器8253第17页,共40页,编辑于2022年,星期二 8253 8253的工作模式的工作模式n方式方式0计数结束产生中断计数结束产生中断q一次定时或计数,重写初值,启动新一轮的计数 n方式方式1可编程的单脉冲可编程的单脉冲(单稳单稳)触发器触发器 q GATE边沿触发,启动新一轮计数n方式方式2分频器分频器(速度波发生器速度波发生器)q具有计数初值重
11、装能力n方式方式3方波发生器方波发生器q具有计数初值重装能力 n方式方式4软件触发的选通信号发生器软件触发的选通信号发生器q 一次定时,重写初值,启动新一轮的计数 n方式方式5硬件触发的选通信号发生器硬件触发的选通信号发生器q GATE边沿触发新一轮计数9.2 可编程计数器可编程计数器8253第18页,共40页,编辑于2022年,星期二1.方式方式0计数结束产生中断计数结束产生中断(一次定时或计数一次定时或计数,重写初值重写初值,启动新一轮的计数启动新一轮的计数)第19页,共40页,编辑于2022年,星期二n方式方式0(计数结束中断)(计数结束中断)qq计数过程中,GATE端应保持高电平。qq
12、每写入一次初值计数一个周期,然后停止计数。qqOUT端输出是一个约(N+1)TCLK宽度的负脉冲。qq计数过程中可随时修改初值重新开始计数。第20页,共40页,编辑于2022年,星期二例例:使使1号定时器号定时器,工作在方式工作在方式0,计数初值计数初值=0FF5h,二进制计数二进制计数.试写出试写出8253初始化程序段初始化程序段.8253端口地址端口地址:40H,41H,42H,43HnMOV AL,01110000B ;0号定时器号定时器,方方30nOUT 43H,ALnMOV AX,0FF5H nOUT 41H,AL ;1号数据口号数据口 nMOV AL,AHnOUT 41H,AL9.
13、2 可编程计数器可编程计数器8253第21页,共40页,编辑于2022年,星期二高2.方式方式1_单脉冲触发器单脉冲触发器(GATE边沿触发边沿触发,启动新一轮计数启动新一轮计数)第22页,共40页,编辑于2022年,星期二n方式方式1(单稳态触发器)(单稳态触发器)qq门控信号GATE端的跳变触发计数,可重复触发。qq若下一次GATE上升沿提前到达,则OUT端负脉冲拉宽为两次计数过程之和。qq计数过程中写入新初值不影响本次计数。第23页,共40页,编辑于2022年,星期二3.方式方式2-分频器分频器(具有计数具有计数初值重装初值重装能力能力)第24页,共40页,编辑于2022年,星期二n方式
14、方式2(频率发生器)(频率发生器)qqGATE为计数的控制信号:GATE变低计数停止,再变高时的下一个CLK下降沿,从初值开始重新计数。qq每个计数周期结束时(减到1时),OUT端输出一个TCLK宽度的负脉冲。qq计数过程自动重复进行。qq计数过程中修改初值不影响本轮计数过程。第25页,共40页,编辑于2022年,星期二4.方式方式3-方波发生器方波发生器(具有计数具有计数初值重装初值重装能力能力)第26页,共40页,编辑于2022年,星期二n方式方式3(方波发生器)(方波发生器)qqOUT输出方波,前半周期为高,后半周期为低。qq计数过程中修改初值不影响本半轮计数过程。qq其余的与方式2 类
15、似。第27页,共40页,编辑于2022年,星期二例例:使使0号定时器号定时器,工作在方式工作在方式3,计数初值计数初值N=1000,二进制计数二进制计数.试写试写出出8253初始化程序段初始化程序段.8253端口地址端口地址:40H,41H,42H,43HMOV AL,10110110B ;2号定时器号定时器,方式方式3OUT 43H,ALMOV AX,1000 OUT 40H,AL ;0号数据口号数据口 MOV AL,AHOUT 40H,AL9.2 可编程计数器可编程计数器8253第28页,共40页,编辑于2022年,星期二4.方式方式4-软件触发的选通信号发生器软件触发的选通信号发生器第2
16、9页,共40页,编辑于2022年,星期二n方式方式4(软件触发选通)(软件触发选通)qq计数过程中,GATE端应保持高电平。qq每写入一次初值,计数一个周期,然后停止计数。qq每个计数周期结束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。qq计数过程中修改初值不影响本轮计数过程。第30页,共40页,编辑于2022年,星期二5.方式方式5-硬件触发的选通信号发生器硬件触发的选通信号发生器第31页,共40页,编辑于2022年,星期二n方式方式5(硬件触发选通)(硬件触发选通)qq写入初值时,GATE端应保持低电平。qqGATE每出现一次正脉冲,计数一个周期,然后停止计数。qq每个计数周期结
17、束时(减到0时),OUT端输出一个TCLK宽度的负脉冲。qq计数过程中修改初值不影响本轮计数过程。第32页,共40页,编辑于2022年,星期二思考题:思考题:n8253有几种工作方式?有几种工作方式?n什么是软件触发?什么是硬件触发?什么是软件触发?什么是硬件触发?n可重装初值的工作方式是哪些?可重装初值的工作方式是哪些?9.2 可编程计数器可编程计数器8253第33页,共40页,编辑于2022年,星期二82538253初始化方法初始化方法n控制字控制字n计数初值计数初值:已知已知:CLK 的频率的频率fc与定时的时间与定时的时间t:计数初值计数初值:n=fclk t 例例:设:设8253:f
18、c=1MHZ,最大计数初值:,最大计数初值:N=65536 一个定时器最大定时时间:一个定时器最大定时时间:Tmax=N/fc=65536/106=0.065536s9.3 8253应用举例应用举例第34页,共40页,编辑于2022年,星期二例例:设定时器设定时器0、定时器、定时器1工作于方式工作于方式2,外部提供一个时钟,外部提供一个时钟,频率频率f=2MHZ。要求定时器。要求定时器1每每5ms产生一个脉冲,定时产生一个脉冲,定时器器0每每5s产生一个脉冲。产生一个脉冲。1).一个定时器的最大定时时间:一个定时器的最大定时时间:65536/(2*106)=0.032768 s=32.768m
19、s2).将定时器将定时器1的的CLK1接接2MHZ时钟,计数初值:时钟,计数初值:3).将定时器将定时器1的的OUT1端接到定时器端接到定时器0的的CLK0端端,定时器定时器0的计数的计数初值初值:9.3 8253应用举例应用举例第35页,共40页,编辑于2022年,星期二地址地址译码译码CPUD7D0AB8253两个定时器串连使用9.3 8253应用举例应用举例第36页,共40页,编辑于2022年,星期二n8253初始化程序:MOV AL,00110100B ;0 0号定时器号定时器,方式方式2 2OUT 43H,ALMOV AX,1000OUT 40H,ALMOV AL,AHOUT 40H
20、,AL MOV AL,01110100B ;1号定时器号定时器,方式方式2OUT 43H,ALMOV AX,10000OUT 41H,ALMOV AL,AHOUT 41H,AL9.3 8253应用举例应用举例第37页,共40页,编辑于2022年,星期二时钟原理时钟原理82538259GATE0OUT0CLK05V8086IR01.1931816MHzINTINTRINTAD07D078号中断号中断图图2 时钟运行原理图时钟运行原理图9.3 8253应用举例应用举例第38页,共40页,编辑于2022年,星期二思考题:思考题:如何读出当前计数值?第39页,共40页,编辑于2022年,星期二n n在计数过程中读计数值在计数过程中读计数值qq先锁存当前计数值,再用两条输入指令将16位计数值读出。第40页,共40页,编辑于2022年,星期二