原创 【博客大赛】51单片机上的RS485通信测试

2013-8-8 09:56 2040 19 22 分类: MCU/ 嵌入式

在51单片机上实现RS485,其实也是对UART的操作。

硬件连接如下图:
20130806184242665.jpg
 
代码比较简单,如下:
#include
#include "Config.h"
 
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long int
 
#define Fosc 6000000UL //晶振主频6MHz
#define BaudRate 1200UL //波特率为1200bps
 
sbit RS485_RE_ED = P2^2;
code uchar TestTab1[]={"www.EDNChina.com\n"};
 
void delay500ms(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=11;c>0;c--)
        for(b=92;b>0;b--)
            for(a=122;a>0;a--);
}
 
 
/********************
函数名称:UART_Initial
函数功能:串口初始化
入口参数:无
返回参数:无
备    注:无
*********************/
void UART_Initial(void)
{
EA = 0; //关中断
TMOD &= 0x0F; //定时器1模式控制在高4位
TMOD |= 0x20; //定时器1,工作模式2,自动重载
SCON = 0x50; //串口模式1
TH1 = -(Fosc/12/32/BaudRate);
        TL1 = TH1;
PCON = 0x00; //串口波特率加倍
ES = 1; //串口中断允许
TR1 = 1; //启动定时器1
REN = 1; //允许接收
EA = 1; //允许总中断
RS485_RE_ED = 1;
}
/***********End of Function***********/
 
/********************
函数名称:PutString2UART
函数功能:向串口发送一个字符串
入口参数:uchar* pi——要向串口发送的字符串指针
返回参数:无
备    注:无
*********************/
void PutString2UART(uchar *ps)
{
EA = 0;
 
while((*ps)!='\0')
{
SBUF = *ps;
while(TI==0);
TI = 0;
ps++;
}
 
EA = 1;
 
}
/***********End of Function***********/
 
void main(void)
{
UART_Initial();
while(1)
{
PutString2UART(TestTab1);
delay500ms();
}
}
 
http://bbs.ednchina.com/BLOG_ARTICLE_3014210.HTM 一样,也是上位用USB-485的工具来测试的,上位的测试情况如下:
20130806184612177.jpg

文章评论3条评论)

登录后参与讨论

飞言走笔 2013-8-26 13:08

其实算是测试485芯片,呵呵。现在在弄一个485网络的,回头发上来

用户153223 2013-8-26 11:23

这是测试啥?

xucun915_925777961 2013-8-12 21:30

加油,不错呀
相关推荐阅读
飞言走笔 2017-01-06 21:56
2017,新的博客旅程
EDNChina 改版终于成功了!祝贺! 2017年,开始新的旅程~ ...
飞言走笔 2016-06-01 10:17
【博客大赛】《白鹿原》读后
《白鹿原》这本书已经买了很久,多次以来,都是只翻看几页,顶多几章就放下了,觉得这是一个大部头,得有足够的时间才行。前几天陈忠实先生去世的消息传来,让我很震惊和惭愧。 一口气读完这本书,畅快淋漓,又意...
飞言走笔 2016-03-26 16:42
【博客大赛】《毛斯朝》读后
这本书最早是在凤凰卫视曾子墨主持的一期关于沈志华先生的《世纪大讲堂》节目中知晓的。但是一直拖到今天才读完。 说实话,书的主要内容与当前官方的宣传口径有很多不一致的地方,而沈先生作为中国掌握苏联档...
飞言走笔 2016-03-08 13:46
【博客大赛】蓝牙4.0低功耗技术及其认证要求
详见附件 ...
飞言走笔 2016-02-02 14:20
【转】蓝牙4.0协议官方手册(一)——通用属性配置文件
转自:http://blog.csdn.net/jinzhichaoshuiping/article/details/43370009 通用属性配置文件 (GATT)——该说明书定义了通用属性配置...
飞言走笔 2016-01-31 23:24
【博客大赛】脑洞大开、三观重塑——《人类简史》读后
终于读完了《人类简史》,没有把这本书拖到二月份,这也是2016年读完的第一本书。之前也有所耳闻,但是没有太在意,倒是罗胖子的跨年演讲上偶然提到,不知怎么就勾起了阅读此书的欲望。 本文的标题用了“脑洞...
我要评论
3
19
关闭 站长推荐上一条 /2 下一条