版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定时定时/ /计数器结构示意图计数器结构示意图f fOSCOSC/12/12定时器使用步骤定时器使用步骤设定设定TMOD 寄存器中的相关位寄存器中的相关位 将将TCON中中的的TFx位清位清0并并将将TRx位置位置1启动启动定时器定时器 检测检测TCON中的中的TFx位是否为位是否为1配置配置定时器定时器设定时设定时器初值器初值检测检测溢出溢出设置设置THx和和TLx的初始值的初始值1234定时定时/ /计数器应用时的计数器应用时的计数器的初值由程序设定计数器的初值由程序设定- 设计数器宽度为设计数器宽度为n n,定时时长为,定时时长为T T,要求计数脉冲个数为,要求计数脉冲个数为N N,计数
2、初值为,计数初值为X X,机器周期为,机器周期为T TCYCY 。- 计数:计数:2 2n nN+X N+X X= 2X= 2n n -N -N- 定时:定时:2 2n nT/ TT/ TCY CY + X + X X= 2X= 2n n - T/ T- T/ TCY CY = = -T/ T-T/ TCYCY - 计数器的初值由程序设定计数器的初值由程序设定实际应用时最好用(简单):实际应用时最好用(简单): X=-N X=-N 计数方式计数方式 X=-T/ TX=-T/ TCYCY 定时方式定时方式定时/计数器应用1定时器查询延时定时器查询延时 2定时器中断延时定时器中断延时 5数码管动态
3、扫描演示程序数码管动态扫描演示程序 4计数器应用计数器应用3测量脉冲宽度测量脉冲宽度 定时器查询延时与中断延时比较定时器查询延时与中断延时比较运行运行其他程序其他程序运行运行其他程序其他程序等待等待定时器溢出定时器溢出启动定时器启动定时器运行运行其他程序其他程序运行运行其他程序其他程序启动定时器启动定时器运行运行定时器定时器ISR发生定时器中断发生定时器中断定时器中断返回定时器中断返回定时器溢出处理定时器溢出处理中断响应中断响应继续运行继续运行其他程序其他程序定时器查询延时,等待定时器定时器查询延时,等待定时器溢出期间溢出期间CPU不能运行其他程序不能运行其他程序定时器中断延时,启动定时器后定
4、时器中断延时,启动定时器后CPU可以继续运行其他程序,可以继续运行其他程序,CPU利用率得到提高利用率得到提高定时器定时器查询延时查询延时定时器定时器中断延时中断延时定时器溢出后,可立即定时器溢出后,可立即采取下一步动作采取下一步动作造成而外延迟造成而外延迟例例1 1 从从P1.0P1.0引脚上输出周期为引脚上输出周期为20ms20ms的方波,的方波,(f fOSCOSC=12MHz=12MHz),采用),采用T0T0定时、方式定时、方式1 1 。 计数初值计算:(计数初值计算:(1212分频的机器周期分频的机器周期=1us=1us)(2 21616-X-X初值初值)T TCYCY10ms X
5、=210ms X=21616-(1-(1* *1010-2 -2 )/(1/(1* *1010-6 -6 ) X X初值初值65536-1000065536-1000055536=D8F0H55536=D8F0H TH TH0 0D8HD8H, TLTL0 0F0HF0H( (等效为:等效为: THTH0 0high(-10000)high(-10000), TLTL0 0low(-10000)low(-10000)定时器中断延时定时器中断延时 : ORG 0000HORG 0000H ;复位入口地址复位入口地址 AJMP MAINAJMP MAIN ORG 000BH ORG 000BH ;
6、T0T0中断服务入口地址中断服务入口地址 AJMP TIMER0AJMP TIMER0 ORG 0100ORG 0100- MAINMAIN:MOV TMODMOV TMOD,#01H #01H ;设置工作模式设置工作模式- MOV TH0MOV TH0,#HIGH(-10000) #HIGH(-10000) ;T0T0送初值送初值high(-1000)high(-1000)- MOV TL0 MOV TL0,#LOW(-10000)#LOW(-10000)- SETB EA SETB EA ;开放开放CPUCPU中断中断- SETB ET0 SETB ET0 ;开放开放T0T0中断中断- S
7、ETB TR0 SETB TR0 ;启动计数器启动计数器- SIMP $SIMP $ ;等待计数器溢出中断等待计数器溢出中断- TIMER0TIMER0:- MOV TH0MOV TH0,#HIGH(-10000) #HIGH(-10000) ;T0T0送初值送初值- MOV TL0MOV TL0,#LOW(-10000);#LOW(-10000);- CPL P1.0 CPL P1.0 ;P1.0P1.0取反产生方波取反产生方波- RETIRETI- END END定时器查询延时定时器查询延时 ORG 0000HORG 0000H ;复位入口地址复位入口地址- AJMP MAINAJMP M
8、AIN- ORG 0100H ORG 0100H- MAINMAIN:MOV TMODMOV TMOD,#01H #01H ;设置工作模式设置工作模式- SETB TR0 SETB TR0 ;启动计数器启动计数器- LOOPLOOP:MOV TH0MOV TH0,#HIGH(-10000) #HIGH(-10000) ;T0T0送初值送初值- MOV TL0MOV TL0,#LOW(-10000)#LOW(-10000)- JNB TF0 JNB TF0,$ $ ;等待计数器溢出等待计数器溢出- CPL P1.0 CPL P1.0 ;P1.0P1.0取反产生方波取反产生方波- CLR TF0
9、CLR TF0 ;清除溢出标志清除溢出标志- SJMP LOOPSJMP LOOP- END END例例2 2:从:从P1.0P1.0上输出一个周期性方波,周期上输出一个周期性方波,周期10ms10ms,晶振,晶振=12M=12M,采用,采用T1T1定时、方式定时、方式2 2。分析:周期为分析:周期为10ms10ms的方波要求的方波要求P1.0P1.0上的电平每上的电平每5ms5ms变更一次,但在方式变更一次,但在方式2 2,T1T1的最大定时为的最大定时为256us256us,因此不能直接实现,可用,因此不能直接实现,可用T1T1产生产生250us250us定时,再用软件计数定时,再用软件计
10、数2020次,实现次,实现5ms5ms定时。定时。计数初值计算计数初值计算:(2 28 8-X-X初值初值)T TCYCY250us250us 250us 250us:X X初值初值6H 6H 定时器查询延时:定时器查询延时:- ORG 0000HORG 0000H- AJMP MAIN AJMP MAIN- MAINMAIN: MOV TMODMOV TMOD,#20H #20H ;设置设置T1T1工作模式工作模式- SETB P1.0 SETB P1.0 ;置置P1.0P1.0为高为高- MOV TH1MOV TH1,#06H #06H ;置置T1T1初值,初值,5ms5ms- MOV T
11、L1 MOV TL1,#06H#06H- SETB TR1 SETB TR1 ;启动启动T1T1- LOOP: MOV R2LOOP: MOV R2,#20#20- LOOP1LOOP1:JNB TF1JNB TF1,LOOP1 LOOP1 ;等待等待T1T1溢出溢出- CLR TF1 CLR TF1 ;清除溢出标志清除溢出标志- DJNZ R2DJNZ R2,LOOP1 LOOP1 ;等待等待5ms5ms- CPL P1.0 CPL P1.0 ;置置P1.0P1.0为低为低- AJMP LOOPAJMP LOOP测量原理分析测量原理分析使用定时器使用定时器T0对对INT0引脚上的正脉冲宽度引
12、脚上的正脉冲宽度T( 65ms)进行测量,振荡)进行测量,振荡器频率器频率12MHz。 寻找一个完整的脉冲上降沿启动定时器寻找一个完整的脉冲上降沿启动定时器0对对CPU时钟计数,在该脉冲的下降沿时钟计数,在该脉冲的下降沿产生中断来停止定时器产生中断来停止定时器0并读取计数值。并读取计数值。 启动定时器启动定时器 停止定时器停止定时器读取计数值读取计数值 INT0T( 65ms )要要 求求测量思路测量思路例例3 3 设在单片机设在单片机INT1INT1引脚上接入一个高电平引脚上接入一个高电平宽度小于宽度小于65536us65536us的周期性脉冲,试编程测的周期性脉冲,试编程测量其正脉冲宽度量
13、其正脉冲宽度分析:分析:T1T1工作在方式工作在方式1 1,计数初值为,计数初值为0 0,GATE=1GATE=1,置置TR1=1TR1=1,则当,则当INT1=1INT1=1时,时,T1T1开始计数,直到开始计数,直到INT1=1INT1=1,此时,此时,T1T1中的值为中的值为INT1INT1引脚上的脉冲宽引脚上的脉冲宽度。度。- ORG 0000H ORG 0000H- MAIN: MOV TMOD,#90H MAIN: MOV TMOD,#90H ;置置T0T0方式控制字:方式方式控制字:方式1 1,定时方式,定时方式- MOV TH1MOV TH1,#00H#00H- MOV TL1
14、 MOV TL1,#00H #00H ;T0T0从从0 0开始计数开始计数- LOOP0LOOP0:JB P3.2JB P3.2,LOOP0 LOOP0 ;等待高电平结束等待高电平结束- SETB TR1 SETB TR1 ;T0T0允许计数允许计数- LOOP1LOOP1:JNB P3.2JNB P3.2,LOOP1 LOOP1 ;等等INT0INT0高电平高电平- LOOP3LOOP3:JB P3.2JB P3.2,LOOP3 LOOP3 ;等等INT0INT0高电平结束高电平结束- CLR TR1CLR TR1- MOV R6 MOV R6,TL1 TL1 ;存储测量值存储测量值; ;低
15、八位存低八位存R6R6- MOV R7 MOV R7,TH1 TH1 ; ; 高八位存高八位存31h31h- JMP MAIN JMP MAIN- END END 计数初值计数初值X = M64H = 9CH 用用P1.0启动外设发包装命令启动外设发包装命令 用用R5 R4作箱数计数器作箱数计数器 方式字方式字TMOD = 06H;P1.0为低为低;箱数计数器清箱数计数器清“0”;箱计数器加箱计数器加“1” ;启动外设包装启动外设包装;延时给外设足够时间延时给外设足够时间;停止包装停止包装 ;中断返回恢复现场中断返回恢复现场练习:工作方式练习:工作方式1 1应用应用从从P1.0P1.0上输出一
16、个脉冲波形,高电平上输出一个脉冲波形,高电平5ms5ms,低电平低电平12ms12ms。(。(f fOSCOSC=12MHz,T0=12MHz,T0方式方式1 1)计数初值计算:计数初值计算:- (2 21616-X-X初值初值)T TCYCY定时时间定时时间- 5ms5ms:X X初值初值0EC78H0EC78H;12ms12ms:X X初值初值0D120H0D120H查询方式:查询方式:- ORG 0000HORG 0000H- AJMP MAIN AJMP MAIN- MAINMAIN: MOV TMODMOV TMOD,#01H #01H ;设置设置T0T0工作模式工作模式- LOOP
17、0LOOP0:SETB P1.0 SETB P1.0 ;置置P1.0P1.0为高为高- MOV TH0MOV TH0,#0ECH #0ECH ;置置T0T0初值,初值,5ms5ms- MOV TL0 MOV TL0,#78H#78H- SETB TR0 SETB TR0 ;启动启动T0T0- LOOP1LOOP1:JNB TF0JNB TF0,LOOP1 LOOP1 ;等待等待T0T0溢出溢出- CLR TF0 CLR TF0 ;清除溢出标志清除溢出标志- CLR TR0 CLR TR0 ;停止计数停止计数- CPL P1.0 CPL P1.0 ;置置P1.0P1.0为低为低- MOV TH0
18、MOV TH0,#0D1H #0D1H ;置置T0T0初值,初值,12ms12ms- MOV TL0 MOV TL0,#20H#20H- SETB TR0 SETB TR0 ;启动启动T0T0- LOOP2LOOP2:JNB TF0JNB TF0,LOOP2 LOOP2 ;等待等待T0T0溢出溢出- CLR TF0 CLR TF0 ;清除溢出标志清除溢出标志- CLR TR0 CLR TR0 ;停止计数停止计数- AJMP LOOP0AJMP LOOP0数码管轮询方式动态扫描数码管轮询方式动态扫描由于主程序维持数码管显示时,不能处理其他事情,所以采用轮询方由于主程序维持数码管显示时,不能处理其他事情,所以采用轮询方式控制数码管动态扫描的程序结构不能支持复杂的应用。式控制数码管动态扫描的程序结构不能支
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026西安西开精密铸造有限责任公司招聘2人考试备考题库及答案解析
- 2026锦泰财产保险股份有限公司四川分公司招聘罗江支公司经理等岗位5人笔试备考题库及答案解析
- 2026年重庆工程学院单招职业适应性测试题库附答案详细解析
- 2026上半年北京门头沟区事业单位招聘45人笔试备考题库及答案解析
- 2026中国移动万源分公司招聘27人考试备考题库及答案解析
- 2026广西北海银滩开发投资股份有限公司招聘1人笔试备考题库及答案解析
- 2026届湖南长沙明德旗舰第二学期期末初三联考语文试题含解析
- 2025-2026学年陕西省西安市陕西师大附中初三下期中考试(英语试题文)含解析
- 2026届湖南省长沙市雅实校初三下期第一次月英语试题含解析
- 竞争环境下企业发展策略
- 产业升级中人工智能促进城乡收入差距缩小分析报告
- DB46∕T 626-2024 黎家宴服务规范
- 吉林省长春市2025年中考真题语文试卷(含答案)
- 51testing:2024年软件测试行业现状调查报告
- 工业机器人维护和保养课件
- 灌排渠道设计规范
- 医院放射科竞聘演讲
- 三年级数学下册口算练习题(每日一练共12份)
- 心脑血管病防治知识讲座
- 2025至2030中国有机芝麻行业产业运行态势及投资规划深度研究报告
- 废品回收处置投标方案(3篇)
评论
0/150
提交评论