导航:首页 > 操作系统 > c51单片机串口通信接收数据

c51单片机串口通信接收数据

发布时间:2023-07-20 11:48:38

Ⅰ C语言51单片机串口通信程序求教

串口通讯,首先设置波特率,再设置串口模式,之后就可以收发数据了。比如:

init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x50;
}
send(unsignedchardat)
{
SBUF=dat;
while(TI==0);
TI==0;
}
unsignedcharrecive()
{
unsignedchardd;
if(RI)
{
dd=SBUF;
RI=0;
}
return(dd);
}

Ⅱ 简述c51单片机串行口数据发送和数据接收过程

参考吴鉴鹰吧里面的资料,我也学习单片机,有吴鉴鹰单片机开发板(评价不错的一款单片机开发板),这样实验+理论,然后看视频学习会更好。有兴趣可以看下
串行口初始化编程格式:
SIO: MOV TMOD,#20H ;T1作波特率发生器
MOV TH1,#X ;定时初值选定波特率
MOV TL1,#X MOV PCON,#00H ;SMOD=0,就是波特率不增倍CLR TI ;清除发送中断标志SETB TR1 ;打开定时器1 2、发送程序
查询方式: TRAM: MOV A,@R0 ;取数据
MOV SBUF,A ;发送一个字符
WAIT:JBC TI,NEXT ;等待发送结束
SJMP WAIT NEXT: INC R0 ;准备下一次发送
SJMP TRAM3、接收程序
WAIT: JBC RI,NEXT ;查询等待
SJMP WAIT NEXT: MOV A,SBUF ;读取接收数据
MOV @R0,A ;保存数据
INC R0 ;准备下一次接收
SJMP WAIT 这个是用软件查询方法做的,没有设定数据校验。

Ⅲ 51单片机串口通信c语言编程

#include <REG52.H>
#define uchar unsigned char
#define uint unsigned int

sbit ring=P3^7;
sbit CASE1=P2^0;
sbit CASE2=P2^1;
sbit CASE3=P2^2;
sbit CASE4=P2^3;

uchar se=0,re=0;
uchar temp=0;

void wait(uint cnt)
{
while(--cnt);
}

//串口发送程序
void send(uchar se)
{
SBUF=se; //发送数据
while(TI == 0);
TI = 0;
}
//串口接收程序
uchar receive(void)
{
re=SBUF; //接收数据
while(RI==0);
RI=0;
return re;
}
//串口初始化
void sinti(void)
{
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xFD;
TR1 = 1;
EA = 1;
ES = 1;
}
void delay(int cnt)
{
while(--cnt);
}

//主程序
int main (void)
{
int i;
sinti(); //串口初始化程序
ring=1;
while(1)
{
while (1)
{
if(CASE1==0)
{
send('a');
ring=0;
break;
}
if(CASE2==0)
{
send('b');
ring=0;
break;
}
if(CASE3==0)
{
send('c');
ring=0;
break;
}
if(CASE4==0)
{
send('d');
ring=0;
break;
}
}
if(ring==0)
{
wait(60000);
ring=1;
}
for(i=0;i<10000;i++);
}
}
//串口中断程序
void UART_SER (void) interrupt 4 //串行中断服务程序
{

if(RI) //判断是接收中断产生
{
RI=0; //标志位清零
temp=SBUF;
}
if(TI) //如果是发送标志位,清零
TI=0;
}

Ⅳ 51单片机的串口接收一帧数据有几位

发送的位数跟工作方式有关。51单片机的发送和接受,只有10位和11位两种。

先说单片机串口的工作方式:
单片机串口的工作方式共4种,方式0--方式3.
方式0:用移位脉冲。RXD做输入/输出,TXD进行移位。收发的数据为八位。
方式1:传送一帧信息为10位,即1位起始位(0),8位数据位(低位在先)和1位停止位(1)。数据位由TXD发送,由RXD接收
方式1:一帧信息也是10位;即 1位起始位,8位数据位(先低位),1位停止位。在起始位到达移位寄存器的最左位时,它使控制电路进行最后一次移位。
方式2和方式3:发送(通过TXD)和接收(通过RXD)一帧信息都是 11位: 1位起始位(0), 8位数据位(低位在先),1位可编程位(即第9位数据)和1位停止位(1)。
可见:不论单片机串口接收还是发送一帧数据是多少位,实际有效位数据位都是8位,其余位是为了奇偶校验、做起始位或终止位用的。
以前所述有误,特修正。

Ⅳ C51单片机如何从PC机串口接收字符串

1、单片机串口不管从哪
接收数据
都是遵循串口协议的。字符串就是一个挨一个的ASKII码,中间没有加任何东西。2、不发字符串结束标志。3、回车符可以发送,但具体发不发送看你程序了。

阅读全文

与c51单片机串口通信接收数据相关的资料

热点内容
golangweb编译部署 浏览:923
怎样踩东西解压 浏览:969
单片机核心板外接键盘 浏览:396
怎样打开自己的微信文件夹 浏览:424
单片机红外测距原理 浏览:268
phpxdebug扩展 浏览:757
建筑楼层净高算法 浏览:1000
怎么关闭智联app求职状态 浏览:418
pdf的文件夹怎么打印 浏览:752
延拓算法初值 浏览:786
首次适应算法都不满足的话怎么办 浏览:19
php56加密 浏览:556
金立手机app怎么设置浮窗 浏览:496
程序员没有社会地位 浏览:963
荣耀app怎么解锁 浏览:594
php程序员学历 浏览:634
c语言编译可以吗 浏览:201
脂砚斋重评石头记pdf 浏览:756
三星冰箱压缩机哪里产 浏览:427
唐朝加密方式 浏览:773