写了个程序,原本想法是用定时的方式去控制LED亮灭,但现在发现,无法实现,哪位大虾帮忙看下哪边有问题,另外问下79F166A这颗芯片的中断级别是怎么定义的,有外部中断0,1,2,3.内部定时期从2开始,,
即,我想知道,
void timer2() interrupt xx,这个xx是怎么定义的。。
#include<SH79F166A.h>
#define uint unsigned int
#define uchar unsigned char uchar num;
sbit LED0=P0^2;
void main()
{
T2MOD=0;
TL2=(65536-45872)%256;
TH2=(65536-45872)/256;
TF2=0;
EA=1;//开总中断
ET2=1;//开定时器2中断
TR2=1;//启动定时器2
while(1);
}
void timer2() interrupt 5
{
TL2 = (65536-45872)%256; //定时1ms重新附初值低位
TH2 = (65536-45872)/256; //定时1ms重新附初值高位
num++;
if(num==20)
{
num=0;
LED0=~LED0;
}
} |