51单片机。为什么我的程序加入中断后。主程序不进入死循环里

2019-07-15 11:05发布

void UART_init(void)
{
TMOD=0x21;//定时器1设置与工作方式2.将定时器0设置成工作方式1.
TL1=0xFD;
TH1=0xFD;//置初值,波特率9600,晶振
IE=0x97;
IP=0x15;
TCON=0x00;
TR1=1;//启动定时器
SCON=0xF0;//串行口方式3
PCON=0x00;//倍频为0
P0=0x00;
P2=0x00;
rd=0;}



//*************************************//
void main(viod)//主函数
{
UART_init();
while(1)
{tready=1;
rready=1;//假定准备好发送和接收
key=kbscan();
delay(10);
if(key!=0)
{
keyvalue();};
if(lamp!=0) judge();
if(board!=0) room();
if(get_data==1)str_sre();
} }
void serial_int(void)  interrupt 4 using 1
{
RI=0;
ES=0;
if(SBUF==benji)
{get_data=1;}
ES=1;}
我P1口接的是矩阵键盘。矩阵键盘扫描程序设置P1初值为0XF0。可是现在P1口置1了。只是为什么呢

QQ图片20170428195534.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。