|
#include
#define uchar unsigned char
#define uint unsigned int
unsigned char a ,flag,i;
void init()
{
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
TR1=1;
SM0=0;
SM1=1;
REN=1;
EA=1;
ES=1;
}
void main()
{
P0=0Xff;
init();
while(1)
{
if(flag==1)
{
ES=0; //关闭窗口,因为下面接下来要发送数据。
flag=0;
SBUF=a; //执行完此语句后,将串口寄存器里面的值一位一位发出发出。
while(!TI) ; //等待发射,发射完数据后后TI=1;
TI=0;
ES=1;
}
}
}
void ser_() interrupt 4 {
RI=0;
flag=1;
P0=SBUF;
a=P0; //单片机将串口寄存器里面的值取出来给a。
}
程序控制是对的。就是不明白开始上电后,为什么开发板上有灯是亮的,我用P0=0XFF,这个写在哪里都把灯关不掉。可以确定,P0口就是连接的灯,而且高电平灭。
|
|