




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0606第六章第六章 MCS-MCS-定时器定时器/ /计数器计数器6.1 516.1 51的定时的定时/ /计数器计数器6.2 6.2 定时器定时器/ /计数器的工作方式计数器的工作方式6.36.3定时器定时器/ /计数器的应用计数器的应用2个16位定时器/计数器 (52系列有3个16位Timer)定时器:对片内机器时钟(周期方波)进行计数计数器:对Tx引脚输入的负脉冲进行计数与Timer工作有关的特殊功能寄存器: TCON 和 TMOD6.5.1 6.5.1 定时定时/ /计数器概述计数器概述6.1 516.1 51的定时的定时/ /计数器计数器Timer的2个特殊功能寄存器(TCON,T
2、MOD)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0一、定时器控制寄存器一、定时器控制寄存器TCONTCON (88H)(88H)TFxTFx: Timer0/1: Timer0/1计数溢出标志位。计数溢出标志位。 =1 =1 计数溢出计数溢出; =0 =0 计数未满计数未满TFxTFx标志位标志位 可用于可用于申请中断申请中断或或供供CPUCPU查询查询。 在进入中断服务程序时会自动清零;但在在进入中断服务程序时会自动清零;但在 查询方式时必须软件清零。查询方式时必须软件清零。TRxTRx: Timer0/1: Timer0/1运行控制位。运行控制位。 =1 =1 启动计数
3、;启动计数; =0 =0 停止计数停止计数6.5.2 6.5.2 定时定时/ /计数控制计数控制TR0/TR1TR0/TR1:Timer0/1Timer0/1运行控制位:运行控制位: TR0/TR1 =0 TR0/TR1 =0 时,时,Timer0/1Timer0/1停止计数停止计数 TR0/TR1 =1 TR0/TR1 =1 时,时,Timer0/1Timer0/1启动计数启动计数定时器T0/T1 中断申请过程 在已经开放在已经开放T0/T1T0/T1中断允许且已被启动的前提下:中断允许且已被启动的前提下:T0/T1T0/T1加满溢出时加满溢出时 TF0/TF1TF0/TF1标志位自动置标志
4、位自动置“1” 1” 检测到检测到TCONTCON中中TF0/TF1TF0/TF1变变“1”1”后后, ,将产生指令:将产生指令: LCALL 000BH/LCALL 001BH LCALL 000BH/LCALL 001BH 执行中断服务程序执行中断服务程序, , TF0/TF1TF0/TF1标志位会自动清标志位会自动清“0”,0”,以备下次中断申请。以备下次中断申请。 定时定时/ /计数器可按片内机器周期定时,也可对由计数器可按片内机器周期定时,也可对由T0/T1T0/T1引脚输入一个负脉冲进行加法计数引脚输入一个负脉冲进行加法计数TF1 TR1 TF0 TR0TF1 TR1 TF0 TR
5、0 IE1 IT1 IE0 IT0IE1 IT1 IE0 IT0TCON TCON (88H)(88H)GATE C / T M1 M0 GATE C / T M1 M0二、定时器方式寄存器二、定时器方式寄存器TMOD (89H)TMOD (89H)T1T1T0T0M1,M0M1,M0:工作方式定义位:工作方式定义位 ( ( 定义定义4 4 种方式种方式 ):):C/T C/T :计数器:计数器/ /定时器选择位定时器选择位 = 1 = 1 外部事件计数器。对外部事件计数器。对TxTx引脚的负脉冲计数;引脚的负脉冲计数; = 0 = 0 片内时钟定时器。对机器周期脉冲计数定时片内时钟定时器。对
6、机器周期脉冲计数定时0 00 0:1313位位 TimerTimer用它无益用它无益, ,不要记它!不要记它!0 10 1:1616位位 TimerTimer经常用到经常用到1 01 0:可自动重装的:可自动重装的 8 8位位 TimerTimer经常用到经常用到1 11 1:T0 T0 分为分为2 2个个8 8位位 TimerTimer;T1 T1 此时不工作此时不工作 因为没有带来甚麽好处,几乎因为没有带来甚麽好处,几乎无无用用GATE C / T M1 M0 GATE C / T M1 M0T1T0GATEGATE门控位门控位: Timer: Timer可由软件与硬件两者控制可由软件与硬
7、件两者控制 GATE = 0 GATE = 0 普通用法普通用法 TimerTimer的启的启/ /停由软件对停由软件对TRxTRx位写位写“1”/“0”1”/“0”控制控制(89H)(89H) GATE = 1 GATE = 1 门控用法门控用法 TimerTimer的启的启/ /停由软件对停由软件对TRxTRx位写位写“1”/“0” 1”/“0” 和在和在INTxINTx引脚上出现的信号的高引脚上出现的信号的高/ /低共同控制低共同控制6.2.16.2.1工作方式工作方式1 1INTxINTx端端振荡器振荡器 12TLx THx (8位位) (8位位)TFx申请申请中断中断TxTx端端TR
8、xTRx位位GATEGATE位位11& &C/T=0C/T=1控制控制 =1开关接开关接通通或门或门与门与门6.2 6.2 定时器的工作方式及定时器的工作方式及 应用应用一、工作方式一、工作方式1 1的结构图的结构图 THx/TLxTHx/TLx赋初值:赋初值:THxTHx赋高赋高8 8位,位,TLxTLx赋低赋低8 8位位二、工作方式二、工作方式1 1 的编程要点:的编程要点: TMODTMOD选方式:选方式: 写写“M1,M0”=01 b M1,M0”=01 b 选方式选方式1 1 若不用门控位若不用门控位, ,直接用软件写直接用软件写TRxTRx控制启控制启/ /停停 若
9、使用门控位,先置位若使用门控位,先置位TRxTRx,然后由,然后由INTxINTx端端 的高的高/ /低电平来控制其启低电平来控制其启/ /停停 若要允许中断,还须先置位若要允许中断,还须先置位ETxETx、EAEA等中断等中断 允许控制位,并编写中断服务程序允许控制位,并编写中断服务程序 若不用中断,可查询若不用中断,可查询“计数溢出标志计数溢出标志TFxTFx” 的方式工作,但溢出标志的方式工作,但溢出标志TFxTFx须软件清须软件清0 0分析:已知fosc = 6MHz 则: (振荡周期)1Tc=1/6MHz (机器周期)1Tm=12Tc=12/6MHz=2S 粗略地说:Tmin 2S
10、16位定时器最大数值为:216=65536=0FFFFH+1 故选择方式 1 工作可以得到: Tmax = 655362 = 131072S131.072mS若晶振频率为6MHz,计算单片机的最小与最大定时时间:例例1 1分析:已知fosc = 6MHz 则: (机器周期)1Tm=12Tc=12/6MHz=2S 100mS2 S = 50000 16位定时器最大数值为: 216 = 65536 (=0FFFFH+1) 故选择方式1工作可以满足要求。计算初值:6553650000=15536=3CB0H要求对T0产生100mS定时进行初始化。(晶振=6MHz)例例2 2GATE C / T M1
11、 M0 GATE C / T M1 M0由分析得知:由分析得知:T0T0选择方式选择方式1 1,初值,初值=3CB0H=3CB0H X X X X 0 0 0 1X X X X 0 0 0 1初始化:初始化:MOV TMODMOV TMOD,#01H ;#01H ;选选 T0 T0 方式方式 1 1 MOV TH0MOV TH0, #3CH ;#3CH ;赋初值高赋初值高8 8位位 MOV TL0MOV TL0, #0B0H ;#0B0H ;赋初值低赋初值低8 8位位 SETB TR0 ;SETB TR0 ;启动启动 T0T0定时定时若需要定时器若需要定时器0 0产生中断还应当写如下语句:产生
12、中断还应当写如下语句: SETB ET0 ;SETB ET0 ;开开T0T0中断允许中断允许 SETB EA ;SETB EA ;开总中断允许开总中断允许以及相应的中断服务程序。以及相应的中断服务程序。6.2.26.2.2工作方式工作方式2 2振荡器振荡器 12TLx (8位位)TFx申请申请中断中断TxTx端端TRxTRx位位GATEGATE位位INTxINTx端端11& &C/T=0C/T=1控制控制 =1开关接开关接通通或门或门与门与门THx (8位位)溢溢出出位位门开门开一、工作方式一、工作方式2 2的结构图的结构图 THx/TLxTHx/TLx赋相同初值赋相同初值 在
13、在TLxTLx计数达到计数达到0FFH 0FFH 再加再加“1”1”时,时,TL0TL0 将溢出将溢出, ,进位位直接进入进位位直接进入“TFxTFx”去申请去申请 中断中断, ,同时打开三态门,使同时打开三态门,使THxTHx中的值中的值 自动重装自动重装(Copy)(Copy)进进TLxTLx二、工作方式二、工作方式 2 2 的编程的编程 TMODTMOD寄存器选方式:寄存器选方式: 写写“M1M1,M0” = 10 b M0” = 10 b 选中方式选中方式2 2 其他用法与各种方式其他用法与各种方式1 1完全相同完全相同分析:分析:foscfosc = 6MHz = 6MHz 1 1机
14、器周期机器周期 = 2 = 2 S S 1KHz 1KHz方波周期方波周期 = 1 mS= 1 mS 半个方波周期半个方波周期 =500=500 S S 500uS 500uS2 uS2 uS = 250 = 250 若选择方式若选择方式2 2 工作工作,8,8位位定时器最大数值为:定时器最大数值为: 2 28 8 =256 =0FFH + 1 =256 =0FFH + 1 可以满足要求。可以满足要求。计算初值:计算初值:256256250=6250=6从从P1.0 P1.0 脚输出频率脚输出频率=1KHz=1KHz方波。方波。设:晶振设:晶振=6MHz=6MHz。利用。利用T1T1定时中断。
15、定时中断。Th:半周期:半周期T:周期:周期例3 ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 001BH ORG 001BH ;T1T1的中断矢量的中断矢量 CPL P1.0 CPL P1.0 ;中断服务:;中断服务:P1.0P1.0取非取非 RETI RETI ;中断返回;中断返回MAIN: MOV TMODMAIN: MOV TMOD,#20H#20H MOV TH0 MOV TH0, #6#6 MOV TL0 MOV TL0, #6#6 SETB ET1 SETB ET1 SETB EA SETB EA SETB TR1 SETB TR1 HE
16、RE: AJMP HERE HERE: AJMP HERE ;原地等待中断;原地等待中断 ENDEND初初始始化化;选;选T1T1方式方式2 2;赋重装值;赋重装值;赋初值;赋初值;开;开T1T1中断中断;开总中断;开总中断;启动;启动T1T1T0T0: 组织成组织成TL0TL0和和TH0TH0两个两个8 8位定时位定时/ /计数器计数器6.2.3 Timer6.2.3 Timer工作方式工作方式 3 3T1T1: 不再是不再是定时定时/ /计数器了计数器了 T1 T1 的的TR1TR1和和TF1TF1出借给出借给TH0TH0当控制位使用当控制位使用, , 剩下的剩下的TH1/TL1TH1/T
17、L1寄存器只能当作普通寄存寄存器只能当作普通寄存 器用。器用。振荡器振荡器 12TL0 (8位位)TF0申请申请中断中断T0T0端端TR0TR0位位GATEGATE位位INT0INT0端端11& &C/T=0C/T=1控制控制 =1开关接开关接通通或门或门与门与门TH0 (8位位)TF1申请申请中断中断TR1TR1位位控制控制 =1一、一、TimerTimer工作方式工作方式 3 3 结构:结构:T0T0成为双成为双 8 8位位Timer Timer T1T1不再有不再有TimerTimer功能功能 TF1TF1,TR1TR1出借给出借给TH0TH0 例例3 3长定时举例(设晶
18、振长定时举例(设晶振=6MHz=6MHz,要定时,要定时1 1秒)秒): : ORG 0000H ; ORG 0000H ; AJMP MAIN AJMP MAIN ORG 001BH ORG 001BH AJMP TINT ; AJMP TINT ;见下一页见下一页MAIN: MOV TMOD,#10H ;MAIN: MOV TMOD,#10H ;选选T1T1方式方式1 1 MOV TH1, #3CH ; MOV TH1, #3CH ;赋初值赋初值3CB0H=15536(3CB0H=15536(只能定只能定100mS)100mS) MOV TL1 MOV TL1,#0B0H#0B0H MOV
19、 30H MOV 30H,#10 ;#10 ;软件计数单元软件计数单元30H 30H 初值初值=10=10 CLR F0 ; CLR F0 ;芯片复位时已经是芯片复位时已经是“0”0”,此句可有可,此句可有可无无 SETB ET1 ;SETB ET1 ;开开T1T1中断中断 SETB EA ;SETB EA ;开总中断开总中断 SETB TR1 ;SETB TR1 ;启动启动T1 T1 HERE: JBC F0,TIMEUP ;HERE: JBC F0,TIMEUP ;原地等待原地等待“1 1秒到秒到”的标志的标志 F0F0 AJMP HERE AJMP HERETIMEUP:TIMEUP:(
20、do something) ;(do something) ;定时定时1 1秒到了以后要做的事情秒到了以后要做的事情 AJMP HEREAJMP HERE中断中断服务服务在主在主程序程序中中6.36.3定时器定时器/ /计数器的应用计数器的应用长定时举例(续长定时举例(续): : ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 001BH ORG 001BH AJMP TINT AJMP TINTMAIN: MAIN: TINTTINT:DJNZ 30H,RTN ;DJNZ 30H,RTN ;若中断不到若中断不到1010次就返回次就返回 SETB F0
21、;SETB F0 ;已经中断够已经中断够1010次了次了“置置1”1”标志标志位位 MOV 30H,#10 ;MOV 30H,#10 ;为下一个为下一个1 1秒定时做准备秒定时做准备RTN: MOV TH1,#3CH ;RTN: MOV TH1,#3CH ;再赋定时再赋定时100mS100mS的初值的初值3CB0H3CB0HMOV TL1,#0B0HMOV TL1,#0B0H RETI ; RETI ;中断返回中断返回 ENDEND将此例的中断服务改写在中断服务程序中将此例的中断服务改写在中断服务程序中: : ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 001BH ORG 001BH AJMP TINT ; AJMP TINT ;见下一页见下一页MAIN: MOV TMOD,#10H ;MAIN: MOV TMOD,#10H ;选选T1T1方式方式1 1 MOV TH1 MOV TH1,#3CH ;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超市无残留农药合同协议
- 购买仓库地皮合同协议
- 贴片加工协议书范本
- 资质代理协议合同协议
- 豆腐厂转让合同协议
- 贷款合同延期补充协议
- 贸易品种买卖合同协议
- 调料销售协议合同协议
- 购买地板瓷砖合同协议
- 新思路引领新机遇
- 2025年二级注册建筑师《建筑经济、施工与设计业务管理》考试真题卷(附解析)
- 矿山水灾事故处理
- 2024年烟台栖霞市考选毕业生考试真题
- 2025北京九年级(上)期末语文汇编:现代文阅读2
- 2025-2030中国晶圆转移机器人末端执行器行业市场发展趋势与前景展望战略研究报告
- 2025年经济学基础知识试题及答案
- 2025届广东省广州市普通高中高三下学期二模物理试卷含答案
- 2025年定向钻机操作工培训考试题(附答案)
- 标展租赁合同协议
- 中外航海文化知到课后答案智慧树章节测试答案2025年春中国人民解放军海军大连舰艇学院
- 湖南省炎德英才名校联考联合体2024年4月春季高一年级下学期第二次(期中)联考数学试卷
评论
0/150
提交评论