单片机串口通迅~~~C语言写

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:24:00
用两个89C51 (单片机A)RXD接(单片机B)TXD (单片机A)TXD接(单片机B)RXD 单片机B的P1口接8个发光二极管。要求单片机A通过串口把单片机B的发光二极管点亮为01010101

请哪位好心人帮帮我!!!!!

//以下代码经过KeilC51测试通过
//发送端
#include "reg51.h"

#define uchar unsigned char

void initUart(void) //串口初始化,波特率9600
{
TMOD|=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
}

/*==================== 主函数 ====================*/
void main(void)
{
uchar sanddata;//准备发送的数据

sanddata = 0x55;//0x55 = 01010101B
initUart(); //串口初始化
EA=1;//开中断
SBUF=sanddata; //发送数据
while(TI==0){;} //等待发送完毕
TI=0; //清除发送标志

while(1);
}

//接收端
#include "reg51.h"

#define uchar unsigned char

void initUart(void) //串口初始化,波特率9600
{
TMOD|=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
}

/*==================== 主函数 ====================*/
void main(void)
{
uchar rcvdata;//接收到的数据

initUart(); //串口初始化
EA=1;//开中断

while(1)