实例程序: /*开发环境 MPLAB X IDE 型号PIC16LF1823*/ #include __CONFIG(FOSC_INTOSC&WDTE_OFF&PWRTE_ON&MCLRE_OFF&CP_ON&CPD_OFF&BOREN_ON&CLKOUTEN_OFF&IESO_ON&FCMEN_ON); __CONFIG(PLLEN_OFF&LVP_OFF) ; #define LED LATA5/*也可用 #define LED RA5,只是PIC16LF1823 输出电平的时候,直接控制LATA5执行速度更快,因为传给RA5的数据最终也是传给LATA5才执行的*/ void init_fosc(void) { OSCCON= 0x68;//时钟设置为4MHz } void init_gpio(void) { PORTA = 0; LATA = 0; ANSELA = 0; TRISAbits.TRISA5=0; //RA5口设置成输出 用来控制LED } void init_timer0(void) { OPTION_REG=0x87; //预分频为256 } int main(int argc, char** argv) { init_fosc(); init_gpio(); init_timer0(); TMR0IF=0;//清除TMR0中断标志位 TMR0=61;//设置中断初始值61 while(1) { if(TMR0IF==1)//定时时间到了吗?? { LED = ~LED;//改变LED的状态 TMR0IF=0;//清除TMR0中断标志位 TMR0=61;//设置中断初始值61为下次50ms定时做准备 } } }
|