想用time0中斷,輸出一個(gè)1k的方波,但是輸出一直是低,幫忙看看哪兒出問(wèn)題了。
#include
__CONFIG(XT&WDTDIS&LVPDIS); //定義配置字,晶振類型:XT,關(guān)閉開(kāi)門狗,禁止低電壓編程
#define clk RD0 //定義V0為RD0端口
void timer0init(void)
{T0CS=0; //TMR0工作于定時(shí)器方式
PSA=0; //TMR0分頻 PS2=0; PS1=0; PS0=1;
T0IF=0; //清除TMR0中斷標(biāo)志
T0IE=1; //TMR0中斷允許
TMR0=0x09; //賦初值,
GIE=1;}
void interrupt ISR(void)
{
if(TMR0IF==1)
{ TMR0=0x09;
T0IF=0;
clk=!clk; //將clk取反,達(dá)到輸出方波的目的
}}
void main(void)
{
TRISD=0B00000000; //RD設(shè)置為輸出
PORTD=0B00000001;
timer0init();
while(1)
{ }
}