问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于51单片机RS485通信问题

发布网友 发布时间:2022-05-19 03:51

我来回答

3个回答

热心网友 时间:2024-03-20 11:26

/*******************************************************************************
* 标题: RS485串口通信试验(接受与发送) *
* *
* 1.通过本例程了解串口的基本原理及使用 ,理解并掌握对串口进行初始化 *
**
* 2.请使用串口调试助手(Baud 4800、数据位8、停止位1、效验位无)做为上位机(发送)数据和(接受)数据,
* 请在字符串输入框中输入字符和数字(HEX),按发送按钮。观看接受窗显示情况.也可以用自动循环发送。
*
* 3.试验RS485需要用RS232转485的转换头。RS485的A对应串口头的9针 B对应4针.接法大家可以参考原理图。
* *
* 请学员认真消化本例程,学会用C语言操作串口和485的实现 *
********************************************************************************/

#include <REG52.H>
#include <stdio.h>

sbit RS485E=P3^7; //定义485的使能脚
bit SendFlag;
unsigned int ReData,SenData;

/**************************************
延时程序
**************************************/
void delay(unsigned char i)
{
unsigned char j;
for(i; i > 0; i--)
for(j = 200; j > 0; j--);
}

void main (void) {

SCON = 0x50; //REN=1允许串行接受状态,串口工作模式1
TMOD|= 0x20; //定时器工作方式2
PCON|= 0x80;
//TH1 = 0xFD; //baud*2 /* reload value 19200、数据位8、停止位1。效验位无 (11.0592)
TH1 = 0xF3;// //baud*2 /* 波特率4800、数据位8、停止位1。效验位无 (12M)
TL1 = 0xF3;
TR1 = 1;
ES = 1; //开串口中断
EA = 1; // 开总中断

// IE = 0x0;

while(1)
{

if (SendFlag==1) // max485(半双工通信) RE/DE定义 RE=0为接受状态 DE=1为发送状态(参考MAX485芯片管脚)
{ RS485E=1; // RS5485E=0为接收状态 RS5485E=1为发送状态
SBUF=SenData; //发送数据
delay(50);
}
else
{

RS485E=0; //接收状态
}

}

}

/****************************************************
串口中断程序
******************************************************/
void ser_int (void) interrupt 4 using 1
{
if(TI == 1)
{
TI = 0;
SendFlag = 0;
}

if(RI == 1) //RI接受中断标志
{
RI = 0; //清除RI接受中断标志
ReData = SBUF; //SUBF接受/发送缓冲器
SenData=ReData;
SendFlag = 1;

}
}

热心网友 时间:2024-03-20 11:26

单片机端采用串口中断,接收中断程序中每接收到一个字节直接回发

热心网友 时间:2024-03-20 11:27

收到收直接放到SBUF中。
发送前485控制端置高,发送完置地就可以了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
孤胆枪手怎么设置局域网啊、 我家小狗刚领来,没有名字,拜托大家起个名字。 护肤品代加工 水浒Q传跨服PK是怎么回事啊 新水浒Q传什么叫PK保护状态,上号不到一分钟就被打,求解 水浒Q传 为什么要pk有什么好处? 为什么贷款每次都审核失败 有谁能说一下手机贷审核不通过的原因吗?我都审核好多次了都不能通过... 贷款审核失败是什么原因 为什么贷款未通过审核 急急急!!!51单片机问题!用485通信,接受字符串!! 51单片机rs485通讯问题,高分求助! 用多块51单片机用485进行串行通信 51单片机485通讯实验 51单片机之间如何实现485通讯 51单片机使用485总线怎样控制单片机的双向通讯 51单片机能直接接收RS485信号吗 退货运费险有多少钱 系统城下载win7系统安全?好用吗?可靠吗 为什么国家系统到现在还是XP不用win7难道win7不安全 微软停止对Windows7更新,腾讯电脑管家持续提供安全服务可靠吗? 现在是不是WIN7系统比较安全呢? 哪里可以下载免费视频会议系统 汶川地震幸存小女孩一首歌是什么综艺节目 最近电视里经常为地震播放的歌曲的名字叫什么? 南方电视台为四川地震唱的歌有儿童唱的歌词有 你在那里 一分一秒 的 我有一项专利已经在国内注册了,想要在国外也得到保护该怎么做? 分别介绍一下申请阿联酋专利的途经都有哪几种? 我想问我这个指纹打卡显示已签到,谢谢!是什么意思吗?是打卡成功吗?看图 灰色呢子大衣怎么搭配卫衣 rs485实现两个51单片机之间的通信 51单片机max485通信问题 51单片机中485通讯怎样实现发送和接收的切换,C编写的程序,谢谢了 阳历6月2号是什么星座? 生日命运:六月二日是什么星座? stc51单片机做的仿三菱PLC两台之间的485通讯怎么做? 6月2号出生的名人有谁 1976年农历5月5日阳历6月2号出生的人是什么星座 关于51单片机3机(1主2从)用485串行通信的问题!! 51单片机学习485多机通讯 有哪些书讲的详细例程多,对于初学者容易理解的 1991年阳历6月2日出生的人的一生命运是怎么样的? 51单片机 485通信 高4位错误 6月2日的出生人物 1968年6月2日出生的星座,什么性格 我是1957年6月2日出生的我是 什么星座? 朋友6月2日生日,请问6月2日生日的星座是什么?性格怎么样?幸运数字是什么?幸运颜色是什么? 六月二日出生的明星有那些? 1989年6月2日出生的人.命运怎么样? 1995年6月2日出生是什么星座 鼠标和USB都是好的,触屏鼠标也是好的,就是鼠标插入电脑时没反应,怎么办啊