微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机串口C程序

51单片机串口C程序

时间:11-23 来源:互联网 点击:
#include

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()
{


csh();
while(1)
{
;
}
}

void intrr() interrupt 4
{

RI = 0;
tmp = SBUF;// 暂存接收到的数据
delayms(10);

send_char(tmp);// 回传接收到的数据

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top