版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、定时/计数器 原理及其应用汽车与交通工程学院:主讲:陈林林2 2个个1616位定时器位定时器/ /计数器计数器 (52 (52系列有系列有3 3个个1616位位Timer)Timer)定时器定时器: :对片内机器时钟对片内机器时钟( (周期方波周期方波) )进行进行计数计数计数器计数器: :对对TxTx引脚输入的负脉冲进行计数引脚输入的负脉冲进行计数与与TimerTimer工作有关的特殊功能寄存器:工作有关的特殊功能寄存器: TCON TCON 和和 TMOD TMOD第五章 定时/计数器Timer的2个特殊功能寄存器(TCON,TMOD)TF1 TR1 TF
2、0 TR0 IE1 IT1 IE0 IT0定时器控制寄存器定时器控制寄存器TCON (88H) TCON (88H) TFx: Timer0/1TFx: Timer0/1计数溢出标志位。计数溢出标志位。 =1 =1 计数溢出;计数溢出; =0 =0 计数未满计数未满 TFx TFx标志位可用于申请中断或供标志位可用于申请中断或供CPUCPU查询。查询。 在进入中断服务程序时会自动清零;但在在进入中断服务程序时会自动清零;但在 查询方式时必须软件清零。查询方式时必须软件清零。TRx: Timer0/1TRx: Timer0/1运行控制位。运行控制位。 =1 =1 启动计数;启动计数; =0 =0
3、 停止计数停止计数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/T1 T0/T1加满溢出时加满溢出时 TF0/TF1 TF0/TF1标志位自动置标志位自动置“1” “1” 检测到检测到TCONTCON中中TF0/TF1T
4、F0/TF1变变“1“1后后, ,将产生指令:将产生指令: LCALL 000BH/LCALL 001BH LCALL 000BH/LCALL 001BH 执行中断服务程序执行中断服务程序, , TF0/TF1 TF0/TF1标志位会自动清标志位会自动清“0”,“0”,以备下次中断申请。以备下次中断申请。 定时定时/ /计数器可按片内机器周期定时,也可对由计数器可按片内机器周期定时,也可对由T0/T1T0/T1引脚输入一个负脉冲进行加法计数引脚输入一个负脉冲进行加法计数TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0T
5、CON 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 片内时钟定时器。对机器周期脉冲计数定时片内时钟定时器。对机器周期脉冲计数定时0 00 0:1313位位 Timer Time
6、r用它无益用它无益, ,不要记它!不要记它!0 10 1:1616位位 Timer Timer经常用到经常用到1 01 0:可自动重装的:可自动重装的 8 8位位 Timer Timer经常用到经常用到1 11 1:T0 T0 分为分为2 2个个8 8位位 Timer Timer;T1 T1 此时不工作此时不工作 因为没有带来甚麽好处,几乎无用因为没有带来甚麽好处,几乎无用GATE C / T M1 M0 GATE C / T M1 M0T1T0GATEGATE门控位门控位: Timer: Timer可由软件与硬件两者控制可由软件与硬件两者控制 GATE = 0 GATE = 0 普通用法普通
7、用法 Timer Timer的启的启/ /停由软件对停由软件对TRxTRx位写位写“1”/“0“1”/“0控制控制定时器方式寄存器定时器方式寄存器TMODTMOD续)续)(89H)(89H) GATE = 1 GATE = 1 门控用法门控用法 Timer Timer的启的启/ /停由软件对停由软件对TRxTRx位写位写“1”/“0” “1”/“0” 和在和在INTxINTx引脚上出现的信号的高引脚上出现的信号的高/ /低共同控制低共同控制阅读书上定时器应用程序举例:P.140P.140例例1: 1: 晶振晶振=6MHz,=6MHz,估算估算TimerTimer的定时时长的定时时长 (max,
8、minmax,min)P.141P.141例例2: 2: 要求对要求对T0T0产生产生100mS100mS定时进行初始定时进行初始 化。化。 ( (晶振晶振=6MHz)=6MHz)P.141P.141例例3: 3: 产生产生T=2mST=2mS方波方波( (改为方式改为方式2)2)P.142P.142例例4: 4: 请改为方式请改为方式1 1或或2 2再阅读再阅读, ,务请大家务请大家 不要陷入方式不要陷入方式0 0的困惑之中!的困惑之中!P.143P.143例例5: 5: 定时定时1 1 秒秒P.144P.144例例6: 6: 方式方式3 3双双8 8位定时器的应用位定时器的应用定时器结构与
9、工作方式 P.工作方式工作方式1 1:1616位的定时位的定时/ /计数器计数器振荡器振荡器 12TLx THx (8位位) (8位位)TFx申请申请中断中断TxTx端端TRxTRx位位GATEGATE位位INTxINTx端端11& &C/T=0C/T=1控制控制 =1开关接通开关接通或门或门与门与门 THx/TLx THx/TLx赋初值:赋初值:THxTHx赋高赋高8 8位,位,TLxTLx赋低赋低8 8位位工作方式工作方式1 1 的编程要点:的编程要点: TMOD TMOD选方式:选方式: 写写“M1,M0”=01 b “M1,M0”=01 b 选方式选方式1 1 若不用门
10、控位若不用门控位, ,直接用软件写直接用软件写TRxTRx控制启控制启/ /停停 若使用门控位,先置位若使用门控位,先置位TRxTRx,然后由,然后由INTxINTx端端 的高的高/ /低电平来控制其启低电平来控制其启/ /停停 若要允许中断,还须先置位若要允许中断,还须先置位ETxETx、EAEA等中断等中断 允许控制位,并编写中断服务程序允许控制位,并编写中断服务程序 若不用中断,可查询若不用中断,可查询“计数溢出标志计数溢出标志TFx”TFx” 的方式工作,但溢出标志的方式工作,但溢出标志TFxTFx须软件清须软件清0 0定时器(方式1)应用程序举例:分析:已知分析:已知fosc = 6
11、MHz fosc = 6MHz 那么:那么: (振荡周期(振荡周期1Tc=1/6MHz1Tc=1/6MHz (机器周期(机器周期1Tm=12Tc=12/6MHz=21Tm=12Tc=12/6MHz=2S S 粗略地说:粗略地说:Tmin Tmin 2 2S S 16 16位定时器最大数值为:位定时器最大数值为:216=65536=0FFFFH+1216=65536=0FFFFH+1 故选择方式故选择方式 1 1 工作可以得到:工作可以得到: Tmax = 65536 Tmax = 655362 = 1310722 = 131072S S131.072mS131.072mS例例1 1:若晶振频率
12、为:若晶振频率为6MHz6MHz,计算单片机的最小,计算单片机的最小与最大定时时间:与最大定时时间:分析:已知分析:已知fosc = 6MHz fosc = 6MHz 那么:那么: (机器周期(机器周期1Tm=12Tc=12/6MHz=21Tm=12Tc=12/6MHz=2S S 100mS 100mS2 2 S = 50000S = 50000 16 16位定时器最大数值为:位定时器最大数值为: 216 = 65536 (=0FFFFH+1) 216 = 65536 (=0FFFFH+1) 故选择方式故选择方式1 1工作可以满足要求。工作可以满足要求。计算初值:计算初值:6553665536
13、50000=15536=3CB0H50000=15536=3CB0H例例2 2:要求对:要求对T0T0产生产生100mS100mS定时进行初始化。定时进行初始化。 ( (晶振晶振=6MHz)=6MHz)定时器(方式1)应用程序举例:GATE C / T M1 M0 GATE C / T M1 M0定时器方式定时器方式寄存器寄存器TMOD由分析得知:由分析得知:T0T0选择方式选择方式1 1,初值,初值=3CB0H=3CB0H X X X X 0 0 0 1 X X X X 0 0 0 1初始化:初始化:MOV TMODMOV TMOD,#01H ;#01H ;选选 T0 T0 方式方式 1 1
14、 MOV TH0 MOV TH0, #3CH ; #3CH ;赋初值高赋初值高8 8位位 MOV TL0 MOV TL0, #0B0H ; #0B0H ;赋初值低赋初值低8 8位位 SETB TR0 ; SETB TR0 ;启动启动 T0 T0定时定时若需要定时器若需要定时器0 0产生中断还应当写如下语句:产生中断还应当写如下语句: SETB ET0 ; SETB ET0 ;开开T0T0中断允许中断允许 SETB EA ; SETB EA ;开总中断允许开总中断允许以及相应的中断服务程序。以及相应的中断服务程序。工作方式工作方式2 2:8 8 位自动重装的定时位自动重装的定时/ /计数器计数器
15、振荡器振荡器 12TLx (8位位)TFx申请申请中断中断TxTx端端TRxTRx位位GATEGATE位位INTxINTx端端11& &C/T=0C/T=1控制控制 =1开关接通开关接通或门或门与门与门THx (8位位)溢溢出出位位门开门开 THx/TLx THx/TLx赋相同初值赋相同初值 在在TLxTLx计数达到计数达到0FFH 0FFH 再加再加“1“1时,时,TL0TL0 将溢出将溢出, ,进位位直接进入进位位直接进入“TFx“TFx去申请去申请 中断中断, ,同时打开三态门,使同时打开三态门,使THxTHx中的值中的值 自动重装自动重装(Copy)(Copy)进进TL
16、xTLx工作方式工作方式 2 2 的编程:的编程: TMOD TMOD寄存器选方式:寄存器选方式: 写写“M1“M1,M0” = 10 b M0” = 10 b 选中方式选中方式2 2 其他用法与各种方式其他用法与各种方式1 1完全相同完全相同分析:分析:fosc = 6MHz fosc = 6MHz 1 1机器周期机器周期 = 2 = 2 S S 1KHz 1KHz方波周期方波周期 = 1 mS = 1 mS 半个方波周期半个方波周期 =500 =500S S 500uS 500uS2 uS = 250 2 uS = 250 若选择方式若选择方式2 2 任务任务,8,8位位定时器最大数值为:
17、定时器最大数值为: 28 =256 =0FFH + 1 28 =256 =0FFH + 1 可以满足要求。可以满足要求。计算初值:计算初值:256256250=6250=6P141P141例例3(3(改改):):从从P1.0 P1.0 脚输出频率脚输出频率=1KHz=1KHz方波。方波。设:晶振设:晶振=6MHz=6MHz。利用。利用T1T1定时中断。定时中断。Th:半周期:半周期T:周期:周期定时器方式2应用程序举例: ORG 0000H ORG 0000H AJMP MAIN AJMP MAIN ORG 001BH ORG 001BH ;T1T1的中断矢量的中断矢量 CPL P1.0 CP
18、L 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 HERE: AJMP HERE HERE: AJMP HERE ;原地等待中断;原地等待中断 END END初初始始化化;选;选T1T1方式方式2 2;赋重装值;赋重装值;赋初值;赋初值;开;开T1T1中断中断;开总中断;开
19、总中断;启动;启动T1T1T0T0: 组织成组织成TL0TL0和和TH0TH0两个两个8 8位定时位定时/ /计数器计数器TimerTimer工作方式工作方式 3 3 几乎无用几乎无用T1T1: 不再是定时不再是定时/ /计数器了计数器了 T1 T1 的的TR1TR1和和TF1TF1出借给出借给TH0TH0当控制位使用当控制位使用, , 剩下的剩下的TH1/TL1TH1/TL1寄存器只能当作普通寄存寄存器只能当作普通寄存 器用。器用。振荡器振荡器 12TL0 (8位位)TF0申请申请中断中断T0T0端端TR0TR0位位GATEGATE位位INT0INT0端端11& &C/T=0
20、C/T=1控制控制 =1开关接通开关接通或门或门与门与门TH0 (8位位)TF1申请申请中断中断TR1TR1位位控制控制 =1TimerTimer工作方式工作方式 3 3 构造:构造:T0T0成为双成为双 8 8位位Timer Timer T1T1不再有不再有TimerTimer功能功能 TF1TF1,TR1TR1出借给出借给TH0 TH0 长定时举例设晶振长定时举例设晶振=6MHz=6MHz,要定时,要定时1 1秒)秒): : ORG 0000H ;P.143 ORG 0000H ;P.143例例5 5 AJMP MAIN AJMP MAIN ORG 001BH ORG 001BH AJMP
21、 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 30H MOV 30H,#10 ;#10 ;软件计数单元软件计数单元30H 30H 初值初值=10=10 CLR F0 ; CLR F0 ;芯片复位时已经是芯片复位时已经是“0”“0”,此句可有可,此句可有可无无
22、 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秒到的标志秒到的标志 F0 F0 AJMP HERE AJMP HERETIMEUP:(do something) ;TIMEUP:(do something) ;定时定时1 1秒到了以后要做的事情秒到了以后要做的事情 AJMP HERE AJMP HERE中断中断服务服务在主在主程序程序中中长定时举例续)
23、长定时举例续): : 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 ;SETB F0 ;已经中断够已经中断够1010次了次了“置置1 1标志位标志位 MOV 30H,#10 ; MOV 30H,#10 ;为下一个为下一个1 1秒定时做准备秒定时做准备RTN: MOV TH1,#3CH ;RTN: MOV TH1,#3CH ;再
24、赋定时再赋定时100mS100mS的初值的初值3CB0H3CB0HMOV TL1,#0B0HMOV TL1,#0B0H RETI ; RETI ;中断返回中断返回 END END将此例的中断服务改写在中断服务程序中将此例的中断服务改写在中断服务程序中: : 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 ;#3CH ;赋初值赋初值3CB0H=15536(3CB0H=15536(只能定只能定100mS)100mS) MOV TL1 MOV TL1,#0B0H#0B0H MOV 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:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务审计:企业财务文职面试指南
- 团队建设中的领导力培养计划
- 创新创意的职业发展策略探讨
- 工业管道安装工程验收规范
- 区块链技术应用场景与前景探讨
- 旅游目的地的品牌形象塑造与传播
- 团队冲突解决与团队协作能力提升
- 营销文案制作与发布全攻略
- 财务风险管理培训总结报告
- 财务报表解读与财务分析技巧
- 2026广东深圳市优才人力资源有限公司公开招聘聘员(派遣至龙城街道)18人备考题库附答案详解(典型题)
- 2024-2025学年度哈尔滨传媒职业学院单招考试文化素质数学通关题库完美版附答案详解
- 2026年司法协理员考试题及答案
- 2026年宁夏财经职业技术学院单招综合素质考试题库附答案详解(能力提升)
- 2026年四川艺术职业学院单招综合素质考试题库附参考答案详解(满分必刷)
- 2026年安徽国际商务职业学院单招职业技能测试题库附参考答案详解(培优)
- 华为业务接待管理制度
- 套期保值业务管理制度
- 2026年世界水日节约用水主题班会
- 2026山东铁路投资控股集团有限公司招聘80人笔试参考题库及答案解析
- 2025年湖南医药发展投资集团有限公司总部社会招聘2人笔试历年常考点试题专练附带答案详解2套试卷
评论
0/150
提交评论