串口通信实验硬件接口图
具体原理可以查看相应的资料和视频
现就代码分享如下;
main.c
#include<reg52.h>typedef unsigned int u16;
typedef unsigned char u8;sbit LED1=P2^0;void delay_10us(u16 n)
{while(n--);
}int n=0;void delay_ms(u16 ms)
{u16 i,j;for(i=ms;i>0;i--)for(j=110;j>0;j--);
}void uart_init(u8 baud)
{TMOD|=0X20; //选择为定时器0模式,工作方式1//给定时器赋初值,定时1msSCON=0X50; //串口方式1PCON=0x80; //波特率加倍TH1=baud;TL1=baud;ES=1; //打开定时器0中断允许EA=1;//打开总中断TR1=1; //打开计数器
}void main()
{uart_init(0xFA);while(1){}