电脑向串口发送数据后,控制LED灯,并返回发送的数据
程序如下
#include"regx52.h"
#include"intrins.h"
unsigned int num; //建立全局变量
void Delay1000ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
i = 8;
j = 1;
k = 243;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void UartInit(void) //4800bps@11.0592MHz
{
PCON |= 0x80; //使能波特率倍速位SMOD
SCON = 0x50; //8位数据,可变波特率
TMOD &= 0x0F; //清除定时器1模式位
TMOD |= 0x20; //设定定时器1为8位自动重装方式
TL1 = 0xF4; //设定定时初值
TH1 = 0xF4; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
EA=1;
ES=1;
}
void Uart_Send_Byte(unsigned char Byte) //打印字符
{
SBUF = Byte;
while(TI==0);
TI=0;
}
void Uart_Routine() interrupt 4 //中断系统中的条件4
{
if(RI==1)
{
P2=~SBUF; //点亮LED
Uart_Send_Byte(SBUF); //打印字符
RI=0;
}
}
int main()
{
UartInit(); //初始化串口
while(1)
{
}
return 0;
}
实验现象如下:
文章来源:https://www.toymoban.com/news/detail-494952.html
文章来源地址https://www.toymoban.com/news/detail-494952.html
到了这里,关于51单片机:电脑向串口发送数据并控制LED灯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!