|
小白求教,刚学习STC8的51单片机
我要用一个STC8A4K16S2A12生成一个1MS的T0定时器中断
时钟频率设置的11.0592M,
定时器和中断初始化代码如下,
void Sys_init()
{
//I/O口特殊功能寄存器
P0=0xFF;
P1=0xF0;
P2=0xFF;
P3=0xFF;
P4=0xFF;
P5=0xFF;
P6=0xFF;
P7=0xFF;
P0M0=0xFF;
P0M1=0xFF;
P1M0=0x0F;
P1M1=0x0F;
P2M0=0x00;
P2M1=0x00;
P3M0=0x00;
P3M1=0x00;
P4M0=0x00;
P4M1=0x00;
P5M0=0x00;
P5M1=0x00;
P6M0=0x00;
P6M1=0x00;
P7M0=0x00;
P7M1=0x00;
EX0=1;
IT0=1;//下降沿触发
TMOD=0x21; //设置使用定时器0和定时器1,16位的定时/计数寄存器
TL0=65536-2000;
TH0=(65536-2000)>>8;
ET0=1; //开启定时器0中
EA=1; //开启中断总开关
}
void T0_isr() interrupt 1//1MS
{
P2=!P2;
}
void main()
{
Sys_init();
P0=0x00;
P2=0x00;
while(1);
}
为啥中断中没反应? |
|