51单片机串口C程序

来源:互联网 发布:为什么从百度离职 知乎 编辑:程序博客网 时间:2024/05/10 19:31

#include <reg51.h>
unsigned char  tmp;

//初始化串行口
void csh()
 {
 SM0=0;
 SM1=1;
 REN=1;
 TI=0;
 RI=0;//以上是初始化scon寄存器,想当于SCON=0x50;
 PCON=0;//初始化电源,为波特率不增加
 TH1=0xF3;
 TL1=0XF3;//设置波特率为2400
 TMOD=0X20;//设置定时器,定时器1工作于8位自动重载模式, 用于产生波特率
 EA=1;//开总中断
 
 ES=1;//ES-串行中断允许控制位  ES = 1   允许串行中断。
 TR1=1;//启动定时器开始工作
 }
void delayms(unsigned char ms) 
// 延时子程序
     
 unsigned char i;
 while(ms--)
 {
  for(i = 0; i <120; i++);
 }
}


void send_char(unsigned char txd)
// 传送一个字符
{
 

SBUF = txd;
 while(!TI);    //等特数据传送
 TI =0;     //清除数据传送标志
}
 
void main()
 {
 
 

原创粉丝点击