九齐NY8B072A单片机使用笔记(一)TIMER0定时器
生活随笔
收集整理的這篇文章主要介紹了
九齐NY8B072A单片机使用笔记(一)TIMER0定时器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先上代碼
//8bit count up , max 0xFF void Ny8b072a_Timer0_Init(void) {PCON1 = C_TMR0_Dis; // Disable Timer0//1 * (255 - 5) = 250usTMR0 = 5; // Load 0x00 to TMR0 (Initial Timer0 register)//16M 2T Div8 = 1usT0MD = C_PS0_TMR0 | C_PS0_Div8 ; // Prescaler0 is assigned to Timer0, Prescaler0 dividing rate = 1:2,clock source is instruction clockINTE |= C_INT_TMR0; // Enable Timer0 overflow interruptPCON1 = C_TMR0_En; // Enable Timer0 }//! interrupt service routine void isr(void) __interrupt(0) { INTF = (unsigned char)~(C_INT_TMR0); // Clear T0IF flag bit }系統配置的是16M 2T,8分頻,預裝載系數為5,則定時器0會從5開始向上計數,直到超過0xFF發生中斷,那么每次進入中斷的時間為:
16 000 000 / 2 / 8 = 1 000 000HZ = 1us
1us *(255 - 5) = 250us
大家可以根據自己需求改變配置、分頻和分頻系數。但是不要把進中斷的時間設置的過低(低于10us),因為這是8位機資源有限,過低容易出現意想不到的BUG
總結
以上是生活随笔為你收集整理的九齐NY8B072A单片机使用笔记(一)TIMER0定时器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请问手机投屏是什么意思
- 下一篇: C语言代码规范(十)花里胡哨代码鉴赏