- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3、定时器操作例子 (1)按照前面初始化定时器;设置TCNTBn=160(50+110),TCMPBn=110;手动装入初值后,又重设TCNTBn=80, TCMPBn=40; (2)启动定时器,按第一个初值计数; (3)与第一个比较值相同,输出取反; (4)第一次计数结束,自动重装初值80、40; (5)在第一次中断处理程序又重设TCMPBn=60; (8)在第二次中断处理程序禁止自动重装初值,准备结束计数; (10)第三次计数结束,不再计数。 50 110 40 40 20 60 1 2 3 4 6 7 9 10 5 8 TOUTn 定时器应用举例 #define BIT_TIMER0 (0x110) int variable0,variable1,variable2,variable3,variable4; void __irq Timer0Done(void) { rSRCPND = BIT_TIMER0; //Clear pending bit rINTPND = BIT_TIMER0; //Clear serve bit variable0++; } void __irq Timer1Done(void) { rSRCPND = BIT_TIMER1; //Clear pending bit rINTPND = BIT_TIMER1; variable1++; } rINTPND; //Prevent an double interrupt pending #define pISR_TIMER0 (*(unsigned *)(_ISR_STARTADDRESS+0x48)) #define pISR_TIMER1 (*(unsigned *)(_ISR_STARTADDRESS+0x4c)) void Test_TimerInt(void) { variable0 = 0;variable1 = 0;variable2 = 0; variable3 = 0;variable4 = 0; rINTMSK = ~(BIT_TIMER4 | BIT_TIMER3 | BIT_TIMER2 | BIT_TIMER1 | BIT_TIMER0); //将各个中断向量写入中断向量表中 pISR_TIMER0 = (int)Timer0Done; pISR_TIMER1 = (int)Timer1Done; pISR_TIMER2 = (int)Timer2Done; pISR_TIMER3 = (int)Timer3Done; pISR_TIMER4 = (int)Timer4Done; Uart_Printf(\n[ Timer 0,1,2,3,4 Interrupt Test ]\n\n); rTCFG0 = rTCFG0 ~(0xffffff) | 0x000f0f; //死区宽度=0, //T1预分频=0x0f,T0预分频=0x0f rTCFG1 =rTCFG1 ~(0xffffff) | 0x001233; //全部使用中断 //T4---T0分频值为:1/2,1/4,1/8,1/16,1/16 //设置T0---T4计数初值 rTCNTB0 = 0xffff; // (1/(50MHz/16/16)) * 0xffff (65535) = 0.334s rTCNTB1 = 0xffff; // (1/(50MHz/16/16)) * 0xffff (65535) = 0.334s rTCNTB2 = 0xffff; // (1/(50MHz/16/8 )) * 0xffff (65535) = 0.163s rTCNTB3 = 0xffff; // (1/(50MHz/16/4 )) * 0xffff (65535) = 0.078s rTCNTB4 = 0xffff; // (1/(50MHz/16/2 )) * 0xffff (65535) = 0.039s rTCON =
文档评论(0)