第四章定时器

上传人:汽*** 文档编号:564713013 上传时间:2024-01-21 格式:DOC 页数:9 大小:128.50KB
返回 下载 相关 举报
第四章定时器_第1页
第1页 / 共9页
第四章定时器_第2页
第2页 / 共9页
第四章定时器_第3页
第3页 / 共9页
第四章定时器_第4页
第4页 / 共9页
第四章定时器_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《第四章定时器》由会员分享,可在线阅读,更多相关《第四章定时器(9页珍藏版)》请在金锄头文库上搜索。

1、第四章 定时器一、定时器的工作原理8098内部共有三个定时器:T1 (定时器1)、T2 (定时器2)和监 督定时器。1、T1 (定时器1):主要用于作为HSI、HSO时间基准及硬件定时 的时基。 T1为一个16位加计数器,计数范围065535; T1工作的时钟源为系统时钟,每经过 8T时间T1计数增1; 计数器的计算值上电时自动复位为 0,之后从 0 开始计数;计数至FFFFH后再加1将产生溢出,从0重新计数,同时IOS1.5 =1;如中断允许,可产生定时器溢出中断;2、T1 的特点:存在最大定时时间和最小分辨率。在12MHz晶振频率下,T1定时的分辨率=8X3/12 MHz=2 s;T1 的

2、溢出时间=2 卩 s *65536=131.072ms ; T1的当前值放在0BH和0AH中,只能用LD命令按字读出,不能分字节读出。例: 正确: LD AX,0AH 错误: LDB AL,0AHLDB AH,0BH T1溢出可以发出中断请求,中断矢量为 2000H, T1和T2的溢 出中断合用同一向量地址。只要 8098 处于运行状态, T1 就会不断工作,不能被中止,也 不可赋值,只有系统复位时,计数器才停止计数并复位。3、T1 的使用IOC1.2 T1 中断的开放和禁止。IOC1.2=1 允许中断;IOC1.2=0 禁止中断;IOS1.5 T1 溢出标志IOS1.5=1 T1 有溢出IO

3、S1.5=0 T1 无溢出INT-PENDING中断悬挂寄存器 0位INT-PENDING.0=0 无中断请求INT-PENDING.0=1 有中断请求INT-MASK中断屏蔽寄存器INT-MASK.0=0 屏蔽 T1 溢出中断INT-MASK.1=0 允许 T1 溢出中断4、T1使用举例利用 T1 溢出中断产生定时ORGDCW2000HINT-T15ORG2080HLDSP,#0F0HDICLRBINT_PENDING;INT_PENDINGLDBINT_MASK,#01H;INT_MASKLDBIOC1,#04H;IOC1LDB20H,#08H;设中断次数EILOOP:NOPLJMPLOO

4、PINT-T1:PUSHFDJNZ20H,RETURNXORBP2,#01HLDB20H,#08H;设中断次数RETUR:NPOPFRET利用T1测量脉冲宽度t fTl ffl-XIT| tf| = X2如何得到脉冲宽度?T(脉冲宽度)=(X2-X1) x 2us?T(脉冲宽度)=(X2-X1+65536 x溢出次考虑T1溢出的影响:数)x2us软件框图:记录时刻到IREG2关T1溢岀中断处理结果匚二 循环等待上跳沿n循环等待下跳沿REG3=REG3+1N发生中断则处理待下跳程序清单:ORG2000HDCWINT-T1ORG2080HLDSP,#0F0HDICLRBINT_PENDING ;I

5、NT_PENDINGLDBINT_MASK,#01H; INT_MASKLDBIOC1,#00H;IOC1; 得到 X2TH:JBCP0,7,TH; 等待高电平到来LDREG1,TIMER1; 取得 X1 值CLRREG3; 记录溢出次数LDBIOC1,#04H; 开放 T1 中断CLRBINT_PENDINGEI得到 X2TL:JBSP0,7,TL; 等待低电平到来LDREG2,TIMER1; 取得 X2; 禁止中断响应; 计算脉冲宽度; 循环继续检测;X2-X1; 每次溢出增 1DILCALL PROCESS SJMP TH;处理程序PROCESS: SUB REG2,REG1SUBC REG3,#1RET ;记录溢出次数ORG 3040HINT-T1: INC REG3RET三、作业8098 系统,晶振为 12M 8155 I /O 口的地址为 D100H- D103H,A 口作字形,C 口作字位,六个数码管显示; 设计作一电子时钟,显示时、分、秒(最大23:59:59)。要求:画出程序框图写程序清单并加注解。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号