想用time0中断,输出一个1k的方波,但是输出一直是低,帮忙看看哪儿出问题了。
#include
__CONFIG(XT&WDTDIS&LVPDIS); //定义配置字,晶振类型:XT,关闭开门狗,禁止低电压编程
#define clk RD0 //定义V0为RD0端口
void timer0init(void)
{T0CS=0; //TMR0工作于定时器方式
PSA=0; //TMR0分频 PS2=0; PS1=0; PS0=1;
T0IF=0; //清除TMR0中断标志
T0IE=1; //TMR0中断允许
TMR0=0x09; //赋初值,
GIE=1;}
void interrupt ISR(void)
{
if(TMR0IF==1)
{ TMR0=0x09;
T0IF=0;
clk=!clk; //将clk取反,达到输出方波的目的
}}
void main(void)
{
TRISD=0B00000000; //RD设置为输出
PORTD=0B00000001;
timer0init();
while(1)
{ }
}