谢谢各位。复位端我直接接地也还是不行。
说是中毒,我原本以为是感染病毒了嘛,所以这样说咯。
这个程序是
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//
#include <REG51.h> //通用89C51头文件
sbit LED1 = P1 ^ 0; //定义闪烁LED
sbit LED2 = P1 ^ 1; //定义闪烁LED
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//
//函数名:定时/计数器初始化函数
void T_C_init (void){
TMOD = 0x11; //高4位控制T/C1 [ GATE,C/T,M1,M0,GATE,C/T,M1,M0 ]
EA = 1; //中断总开关
TH1 = 0xFE; //16位计数寄存器T1高8位(写入初值)
TL1 = 0xFE; //16位计数寄存器T1低8位
ET1 = 1; //T/C1中断开关
TR1 = 1; //T/C1启动开关
TH0 = 0x13; //16位计数寄存器T0高8位
TL0 = 0x13; //16位计数寄存器T0低8位(0x3CB0 = 50mS延时)
ET0 = 1; //T/C0中断开关
TR0 = 1; //T/C0启动开关
}
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//
//函数名:定时/计数器1中断处理函数
void T_C1 (void) interrupt 3 using 3{ //切换寄存器组到3
TH1 = 0xFE; //16位计数寄存器T1高8位(重新写入初值)
TL1 = 0xFE; //16位计数寄存器T1低8位
LED2 = ~LED2; //取LED相反状态
}
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//
//函数名:定时/计数器0中断处理函数
/void T_C0 (void) interrupt 1 using 1{ //切换寄存器组到1
TH0 = 0x13; //16位计数寄存器T0高8位(重新写入初值)
TL0 = 0x13; //16位计数寄存器T0低8位
LED1 = ~LED1; //取LED相反状态
}
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+/
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//
void main (void){ //主程序
T_C_init(); //初始化
while(1){
}
}
//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//+_+//
|