MAX485与51单片机的发送、接收程序

要实现电脑的串口通过MAX232转RS485工控数据转换器相连,输出485A、485B,AT89S52单片机与MAX485芯片相连,输出485A、485B,把两者输出相连... 要实现电脑的串口通过MAX232转RS485工控数据转换器相连,输出485A、485B,AT89S52单片机与MAX485芯片相连,输出485A、485B,把两者输出相连后实现对数据的发送、接收,目前碰到的问题是单片机程序怎么实现对MAX485发送、接收的RE、DE控制,才能使电脑对单片机的收发信息,可否请各位提供建议,或者C语言程序,不胜感激! 展开
 我来答
eeko2005
2010-05-11 · TA获得超过1357个赞
知道小有建树答主
回答量:825
采纳率:100%
帮助的人:281万
展开全部
相信你的 RE 与 DE 是连接在一起的,如果不是,你的电路就成了另类.

与 RE/DE 连接在一起的那条单片机I/O, 我命名为 CTRL_PIN ,至于是哪条,你才知道.

其实发送与接收与普通的 232 有 99.9% 的相似, 只是多了两行,看下面

发送程序时:
CTRL_PIN = 1; // 输出高电平,允许MAX485输出差分信号.
UART232_SENDCHAR(); // 普通232发送函数
CTRL_PIN = 0; // 输出低电平,禁止发送,允许接收.

接收程序时: 只要保证 CTRL_PIN = 0 就可以了,无论你是采用中断,还是沦询的方式接收字符,与普通串口用法一样
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunshine6528
2010-05-18
知道答主
回答量:17
采纳率:0%
帮助的人:11.2万
展开全部
org 0030h
s0:mov tmod,#20h
mov th1,#0f3h
mov tl1,#0f3h
setb tr1
mov scon,#0d0h
mov pcon,#7fh
mov r0,#40h
mov r1,#20h
mov p0,#0ffh
mov r2,#01h
mov r3,#02h
mov a,p0
anl a,#0fh
mov dptr,#tab
mov @r0,a
movc a,@a+dptr
mov p2,a
s2: mov a,r2
setb p1.0
mov sbuf, a
clr p1.0
jnb ri,$
clr ri
clr ti
mov a,sbuf
xrl a,r2
jz s1
sjmp s2
s1:setb p1.0
mov a,@r0
mov sbuf,a
jnb ti,$
clr ti
inc r2
djnz r3,s2

tab:DB 0c0H,0f9H,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh;
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式