- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲 单片机特殊功能寄存器—定时器应用
定时器T0定时25ms初始化子程序 Initial_T025ms:MOV TMOD,#01 ;定时T0在定时方式1工作 MOV TH0,#0CFH ;定时初值高8位装入TH0 MOV TL0,#2CH ;定时初值低8位装入TL0 SETB TR0 ;启动T0工作 RET ② 选用定时器T0,方式0工作 由于方式0一次最大定时时间只有16.384ms,要定时25 ms 可选择定时时间5ms或1ms,连续定时5次或25次,即可以满 足需要,现选择定时5ms。 5 ms定时器初值的计算: 5*10-3=(213-初值)*机器周期 式中,机器周期=2us,代入上式则 将计算初值装入定时器寄存器(注意选择13位定时/计数器) TH0=B1H;TL0=1CH 定时器T0定时5ms初始化子程序: Initial_5ms:MOV TMOD,#00H ;定时T0在定时方式0工作 MOV TH0,#0B1H ;定时初值高8位装入TH0 MOV TL0,#1CH ;定时初值低8位装入TL0 SETB TR0 ;启动T0工作 MOV R7,#5H ;定时次数 RET ③ 选用定时器T1,方式2工作 由于方式2一次最大定时时间只有0.512ms,要定时25 ms 可选择定时时间0.2ms,连续定时125次,即可以满足需要 0.2ms定时器初值的计算: 0.2*10-3=(28-初值)*机器周期 式中,机器周期=2us,代入上式则 将计算初值装入定时器寄存器: TH1=9CH;TL1=9CH 定时器T1定时0.2ms初始化子程序: Initial_02ms:MOV TMOD,#20H ;定时T1在定时方式2工作 MOV TH1,#9CH ;定时初值高8位装入TH1 MOV TL1,#9CH ;定时初值低8位装入TL1 SETB TR1 ;启动T1工作 MOV R7,#125H ;定时次数 RET 【例】利用定时/计数器T0定时60ms,在P1.0引脚输出周期 为120ms的方波,设晶振频率为12MHz。 分析根据题意,只要每当60ms定时时间到,在P1.0端口取反一次,即可得到周期为120ms的方波。如图所示。 从定时器工作方式分析,定时60ms时,须选用16位定时器所以,应初始化T0为定时器方式1,采用中断方式或查询方式均可完成输出周期为120ms的方波的任务。 定时/计数器初值计算:选用12MHZ晶振 采用查询方式编程 ORG 0000H MOV TMOD,#01H ;定时T0在定时方式1工作 MOV TH0,#15H ;定时初值高8位装入TH0 MOV TL0,#0A0H ;定时初值低8位装入TL0 SETB TR0 ;启动T0工作 CLR P1.0 ;置P1.0低电平 LOOP: JBC TF0,LP SJMP LOOP LP: MOV TL0,#0A0H ; 定时到重装定时初值TL0 MOV TH0,#15H ;重装定时初值TH0 CPL P1.0 ; P1.0取反 SJMP LOOP END 采用中断方式编程 ORG 0000H AJMP MAIN ORG 000BH ;T0中断服务程序入口 AJMP Timer0_int ;T0中断服务程序 MAIN: MOV TMOD,#01H ;定时T0在定时方式1工作 MOV TH0,#15H ;定时初值高8位装入TH0 MOV TL0,#0A0H ;定时初值低8位装入TL0 SETB EA ;打开总中断 SETB ET0 ;开放T0中断 SETB TR
文档评论(0)