有关51单片机中断的形式和C语言编程格式
void INT0()interrupt 0 using 1 {.... ..... }
interrupt 0 指明是外部中断0; interrupt 1 指明是定时器中断0; interrupt 2 指明是外部中断1; interrupt 3 指明是定时器中断1; interrupt 4 指明是串行口中断;
using 0 是第0组寄存器; using 1 是第1组寄存器; using 2 是第2组寄存器; using 3 是第3组寄存器; 例如:
/*------------------------------------------------ 外部中断程序 ------------------------------------------------*/ void ISR_Key(void) interrupt 0 using 1
{
P1=~P1; //s3按下触发一次,P1取反一次 }
/*------------------------------------------------ 串口中断程序 ------------------------------------------------*/
void UART_SER (void) interrupt 4 //串行中断服务程序 {
unsigned char Temp; //定义临时变量
if(RI) //判断是接收中断产生 {
RI=0; //标志位清零 Temp=SBUF; //读入缓冲区的值
P1=Temp; //把值输出到P1口,用于观察
SBUF=Temp; //把接收到的值再发回电脑端 }
if(TI) //如果是发送标志位,清零 TI=0; }