C51单片机串口点亮一个led
因为最近要用到51的串口做一些通信,这里写一个点led的程序记录一下。
说是一个led,其实可以随意多个。
主要使用到的东西:
STC89C52芯片,USB转TTL下载器,led灯若干,面包板,1K电阻,杜邦线.
代码如下:
#include<reg52.h>typedef unsigned int u16;
typedef unsigned char u8;sbit led1 = P2^1;
sbit led2 = P2^2;void UsartInit()
{SCON = 0x50;//波特率为4800TMOD = 0x20;PCON = 0x80;TH1 = 0xF4;TL1 = 0xF4;ES = 1;EA = 1;TR1 = 1;
}void main(void)
{UsartInit();//串口初始化led1 = 1;//随意设置初值为0或1led2 = 0;while(1){}
}void Usart() interrupt 4
{u8 receiveData,i;if(SBUF=='0')//0控制第一个ledled1 = ~led1;if(SBUF=='1')//1控制第二个ledled2 = ~led2;receiveData = SBUF;RI = 0;SBUF = receiveData;while(!TI);TI = 0;
}
串口助手界面如下: