void interruptet1() interrupt 3
{
while(1)
{ if(TI)
{
TI=0;
if(KEYIN1==0)
{
delay(2000);
if(KEYIN1==0)
{
SBUF=1;
}
}
while (TI==1);
TI=0;
}
}
}
我是菜鸟,请问什么是串口中断和定时器中断?
我把整个程序贴一下
#include<reg51.h>
#include "LX.h"
void uart(void)
{
SCON=0X50;
TMOD|=0X20;TMOD&=0XEF;
TH1=0XFD;TL1=0XFD;
TR1=1; EA=1;ET1=1;
}
void delay(uint16 i)
{
while(i--);
}
void main()
{
KEYOUT1=0;KEYOUT2=1;KEYOUT3=1;KEYOUT4=1;
uart();
while(1);这里为什么要加个while啊,不加可以吗
}
void interruptet1() interrupt 3
{
while(1)
{
if(KEYIN1==0)
{
delay(2000);
if(KEYIN1==0)
{
SBUF=1;
}
}
while(TI==1);这里的while是什么意思
TI=0;
}
}
请问什么是定时器中断和串口中断,有什么区别吗?
还有,我又把整个程序都贴出来了,你看看
1,你应该再补下单片机,单片机的中断分定时器中断,串口中断,外部中断。
2,interrupt 3就是进入串口中断时执行的程序,计算机发信息给单片机就会进入此中断,我看你的程序是不需要这个中断程序的。
3,你程序里的KEYIN1不知定义是什么?
4,while(1)是循环,防止程序不断复位。
请问我的程序哪里有错误
追答ET1=1; 这个错了,不能为1