您的位置 首页 开关

51单片机串口C程序

includereg51h>unsignedchartmp;初始化串行口voidcsh(){SM0=0;SM1=1;REN=1;TI=0;RI=0;以上是初始化scon寄存器,想当于SCON=

#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);// 回传接收到的数据

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/261203.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部