定时与计数电路.ppt_第1页
定时与计数电路.ppt_第2页
定时与计数电路.ppt_第3页
定时与计数电路.ppt_第4页
定时与计数电路.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

微机原理及应用 第九章第九章 计数器与计数器与 定时电路定时电路 *1 学习目的 通过对本章的学习,您应该能够达到下 列要求: n了解定时基本概念 n熟悉可编程计数器/定时器8253的外部特性 n熟悉可编程计数器/定时器8253工作模式 n熟悉可编程计数器/定时器8253初始化 2 n8253的外部特性 n8253工作模式 n8253初始化 重 点 3 一、定时与计数 定时中断、定时检测、定时扫描,对外部 事件计数 二. 微机中的定时方法 q软件定时延迟子程序 q硬件定时用计数器/定时器8253 9.1 定时基本概念 4 例:软件定时的例子: 编写一个软件定时程序,要求定时20ms. n假设:8086的时钟=8MHz, 一个时钟周期 T=1/8MHz=0.125us n延时20ms,执行PUSHF,POPF指令: 需要循环次数: N=20000/(12+14+17)*0.125 =37209 参考程序: MOV CX,37209 PUSHF ;时钟数:14T POPF ;时钟数:12T LOOP ;时钟数:17 9.1 定时基本概念 5 82538253外部特性与内部编程结构外部特性与内部编程结构 q计数器/定时器8253特点 三个通道,可单独使用 q片内寻址 A1 A0= 00、01、10、11 对应:通道0、1、2和控制口地址 q工作方式:6种 PIT(ProgrammablePIT(Programmable Interval Timer) Interval Timer) 9.2 可编程计数器8253 6 9.2 可编程计数器8253 7 9.2 可编程计数器8253 连接系统端的主要引线: nD7D0 nCS nRD nWR nA1,A0 q用于选择四个编址部件之一 引线结构 A1 A0 选 择 0 0 计数通道0 0 1 计数通道1 1 0 计数通道2 1 1 控制寄存器 8 9.2 可编程计数器8253 计数通道的主要引线(每通道均相同) : nCLKn 时钟脉冲输入,计数器的计时基准 。 nGATEn 门控信号输入,控制计数器的启停 。 nOUTn 计数器输出信号,不同工作方式下 产生不同波形。 (n = 02) 9 1.1.外部特性外部特性 n与CPU相连的信号: 数据线D7D0,读RD,写WR, 片选CS,地址线A0,A1 8253 GATE0 OUT0 CLK0 5V 8088 CPU 1KHz D07 8253运行原理图 译码 地址 M/IO CS WR RD A0 A1 A0 A1 WR RD 9.2 可编程计数器8253 10 1).数据总线缓冲器 n 往计数器设置计数初值; 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 3).控制命令寄存器(8位) 4).计数器: 三个独立通道:计数器0, 计数器1, 计数器2 每个通道包含: n 计数初值寄存器(16位) n 减一寄存器(16位) n 当前计数初值锁存器(16位) 9.2 可编程计数器8253 12 思考题: n8253每个计数通道与外设接口有哪些信号线 ,每个信号的用途是什么? 9.2 可编程计数器8253 13 1)门脉冲控制时钟输入; 2)用门脉冲来重新启动计数; 3)用门脉冲停止计数; 4)单一计数; 5)循环计数. 计数器计数器/定时器的工作特点 9.2 可编程计数器8253 14 3.3.计数初值计数初值 q计数初值n =时钟频率fc/输出频率fout =定时时间Tout/时钟脉冲周期Tc 4.4.编程命令编程命令 q方式命令字 q对8253初始化 q方式命令字的格式 9.2 可编程计数器8253 15 SC1 SC0 RW1 RW0 M2 M1 M0 BCD M2 M1 M0 模式选择 0 0 0 模式0 0 0 1 模式1 / 1 0 模式2 / 1 1 模式3 1 0 0 模式4 1 0 1 模式5 0 0-对计数器进行锁存 0 1-只读/写低8位字节 1 0-只读/写高8位字节 1 1-先读/写低8位字节, 再读/写高8位字节. 0 0-选计数器0 0 1-选计数器1 1 0-选计数器2 1 1-无意义 82538253控制字格式控制字格式 9.2 可编程计数器8253 16 8253初始化方法:设置控制字;确定计数初值。 例:使2号定时器,工作在方式3,计数初值=533h,二进制 计数.试写出8253初始化程序段. 8253端口地址:40H,41H,42H,43H MOV AL,10110110B ;2号定时器,方式3 OUT 43H,AL MOV AX,0533H OUT 42H,AL ;2号数据口 MOV AL,AH OUT 42H,AL 9.2 可编程计数器8253 17 8253的工作模式 n方式0计数结束产生中断 q一次定时或计数,重写初值,启动新一轮的计数 n方式1可编程的单脉冲(单稳)触发器 q GATE边沿触发,启动新一轮计数 n方式2分频器(速度波发生器) q具有计数初值重装能力 n方式3方波发生器 q具有计数初值重装能力 n方式4软件触发的选通信号发生器 q 一次定时,重写初值,启动新一轮的计数 n方式5硬件触发的选通信号发生器 q GATE边沿触发新一轮计数 9.2 可编程计数器8253 18 1.方式0计数结束产生中断 (一次定时或计数,重写初值,启动新一轮的计数) 19 n方式0(计数结束中断) qq计数过程中,计数过程中,GATEGATE端应保持端应保持高电平高电平。 qq每写入一次初值计数一个周期,然后停止计每写入一次初值计数一个周期,然后停止计 数。数。 qqOUTOUT端输出是一个约端输出是一个约(N+1)T(N+1)TCLK CLK宽度的负脉冲 宽度的负脉冲 。 qq计数过程中可随时修改初值重新开始计数。计数过程中可随时修改初值重新开始计数。 20 例:使1号定时器,工作在方式0,计数初值=0FF5h,二进 制计数.试写出8253初始化程序段. 8253端口地址:40H,41H,42H,43H nMOV AL,01110000B ;0号定时器,方30 nOUT 43H,AL nMOV AX,0FF5H nOUT 41H,AL ; 1号数据口 nMOV AL,AH nOUT 41H,AL 9.2 可编程计数器8253 21 高 2.方式1_单脉冲触发器(GATE边沿触发,启动新一轮计数) 22 n方式1(单稳态触发器) qq门控信号门控信号GATEGATE端的跳变触发计数,可重复端的跳变触发计数,可重复 触发。触发。 qq若下一次若下一次GATEGATE上升沿提前到达,则上升沿提前到达,则OUTOUT端端 负脉冲拉宽为两次计数过程之和。负脉冲拉宽为两次计数过程之和。 qq计数过程中写入新初值不影响本次计数。计数过程中写入新初值不影响本次计数。 23 3.方式2-分频器(具有计数初值重装能力) 24 n方式2(频率发生器) qqGATEGATE为计数的控制信号:为计数的控制信号:GATEGATE变低计数停变低计数停 止,再变高时的下一个止,再变高时的下一个CLKCLK下降沿,从初值下降沿,从初值 开始重新计数。开始重新计数。 qq每个计数周期结束时(减到每个计数周期结束时(减到1 1时),时),OUTOUT端端 输出一个输出一个T TCLK CLK宽度的负脉冲。 宽度的负脉冲。 qq计数过程计数过程自动重复自动重复进行。进行。 qq计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。 25 4.方式3-方波发生器(具有计数初值重装能力) 26 n方式3(方波发生器) qqOUTOUT输出方波,前半周期为高,后半周期为输出方波,前半周期为高,后半周期为 低。低。 qq计数过程中修改初值不影响计数过程中修改初值不影响本半轮本半轮计数过程计数过程 。 qq其余的与方式其余的与方式2 2 类似。类似。 27 例:使0号定时器,工作在方式3,计数初值N=1000,二进 制计数.试写出8253初始化程序段. 8253端口地址:40H,41H,42H,43H MOV AL,10110110B ;2号定时器,方式3 OUT 43H,AL MOV AX,1000 OUT 40H,AL ; 0号数据口 MOV AL,AH OUT 40H,AL 9.2 可编程计数器8253 28 4.方式4-软件触发的选通信号发生器 29 n方式4(软件触发选通) qq计数过程中,计数过程中,GATEGATE端应保持端应保持高电平高电平。 qq每写入一次初值,计数一个周期,然后停止每写入一次初值,计数一个周期,然后停止 计数。计数。 qq每个计数周期结束时(减到每个计数周期结束时(减到0 0时),时),OUTOUT端端 输出一个输出一个T TCLK CLK宽度的负脉冲。 宽度的负脉冲。 qq计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。 30 5.方式5-硬件触发的选通信号发生器 31 n方式5(硬件触发选通) qq写入初值时,写入初值时,GATEGATE端应保持端应保持低电平低电平。 qqGATEGATE每出现一次正脉冲,计数一个周期,每出现一次正脉冲,计数一个周期, 然后停止计数。然后停止计数。 qq每个计数周期结束时(减到每个计数周期结束时(减到0 0时),时),OUTOUT端端 输出一个输出一个T TCLK CLK宽度的负脉冲。 宽度的负脉冲。 qq计数过程中修改初值不影响本轮计数过程。计数过程中修改初值不影响本轮计数过程。 32 思考题: n8253有几种工作方式? n什么是软件触发?什么是硬件触发? n可重装初值的工作方式是哪些? 9.2 可编程计数器8253 33 82538253初始化方法初始化方法 n控制字 n计数初值: 已知:CLK 的频率fc与定时的时间t: 计数初值: n= fclk t 例:设8253: fc=1MHZ,最大计数初值 : N= 65536 一个定时器最大定时时间: Tmax = N/fc=65536/ 106 =0.065536s 9.3 8253应用举例 34 例:设定时器0、定时器1工作于方式2,外部提供一 个时钟,频率f=2MHZ。要求定时器1每5ms产生一 个脉冲,定时器0每5s产生一个脉冲。 1). 一个定时器的最大定时时间: 65536/(2*106)=0.032768 s=32.768ms 2). 将定时器1的CLK1接2MHZ时钟,计数初值: 3).将定时器1的OUT1端接到定时器0的CLK0端,定时 器0的计数初值: 9.3 8253应用举例 35 地址 译码 CPU D7D0 AB 8253 两个定时器串连使用 9.3 8253应用举例 36 n8253初始化程序: MOV AL,00110100B ;0号定时器,方式2 OUT 43H,AL MOV AX,1000 OUT 40H,AL MOV AL,AH OUT 40H,AL MOV AL,01110100B ;1号定时器,方式2 OUT 43H,AL MOV AX,10000 OUT 41H,AL MOV AL,AH OUT

温馨提示

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

评论

0/150

提交评论