打印

急急急急急急急急急急 两片89c51间的通信

[复制链接]
3724|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
156277800|  楼主 | 2007-10-25 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各味大虾好,我想用两片89c51实现p1口并行通信,只用两根信号控制线,p3.0/rxd和p3.2 into两个接口,p3.2作为中断,进行数据传输,请问各位通信协议应该如何写,注意什么?

相关帖子

沙发
computer00| | 2007-10-25 16:19 | 只看该作者

直接用UART通信不好么?还搞并口?

使用特权

评论回复
板凳
156277800|  楼主 | 2007-10-25 16:26 | 只看该作者

使用特权

评论回复
地板
wowow| | 2007-10-25 16:28 | 只看该作者

费这个劲不划算

为什么用两片51? 处理速度不够还是IO不够?想办法解决这些问题可能还容易一些。

使用特权

评论回复
5
156277800|  楼主 | 2007-10-25 16:30 | 只看该作者

老总规定的,我也没法。大家说怎么实现p1口的并行,而且只有中断跟控制读写两根控制线

使用特权

评论回复
6
relaxgirl| | 2007-10-25 16:32 | 只看该作者

两片89c51间的通信

两根控制信号行吗?是不是需要4根,上下位机都需要请求、应答信号啊!

使用特权

评论回复
7
156277800|  楼主 | 2007-10-25 16:38 | 只看该作者

我查了以下资料,至少要用三根,可现在51的接口都用上了,只有into和rxd口没用,所以只能用两根了,呵呵,大家看看怎么样让51间只是传输数据,通讯协议怎么写啊?

使用特权

评论回复
8
hab2000| | 2007-10-25 17:00 | 只看该作者

两根应该够了!

看来,你的老板在考你!

这样试试:
1、int0-rxd,rxd-into;
2、发送后RXD置低脉冲(保持在高电平),对方中断,读出数据后,将也RXD置低脉冲(保持在高电平),并将返回码打到P1;
3、等待返回码,即中断后读P1的数据,判断对方是否收到。
4、关于协议的制定,建议采用ASCII码,主要考虑留出返回码的空间。


例如,收到P1=0X00,表示接收正确等待下次数据,P1=0X01.....等等
这种通讯方式,要设计很多返回码,用于建立双方握手机制。
试试吧,应该可以的。

使用特权

评论回复
9
156277800|  楼主 | 2007-10-25 17:01 | 只看该作者

huifu

这也是没有办法的事情,呵呵。现在就是我怕传输时分不清到底是数据还是地址,所以在协议上现在我是一头雾水,不知怎么去编这一个协议,请各位指教!!!!!!!!!!!!1

使用特权

评论回复
10
156277800|  楼主 | 2007-10-25 17:03 | 只看该作者

回复

我觉得也要用很多返回码,比较麻烦,所以我想用c编协议,不知各位对这样有什么建议?

使用特权

评论回复
11
hab2000| | 2007-10-25 17:20 | 只看该作者

镇定一点!

没有想象那么麻烦!
首先,明确两机之间要交换些什么数据,这很重要;
其次,分类整理,算出需要几个命令,并列表,一次通讯需要传输的最长数据;
然后,再算需要多少返回码,并列表;
最后,再编制通讯协议。

说实在的,如果数据量太大,中断频率太高可能会影响其它程序运行!因此,必须控制发送数据的波特率,占用一个计数器。

使用特权

评论回复
12
xieguangye| | 2007-10-25 17:29 | 只看该作者

单片机并口。。。

可以考虑定义主从机,并口双向传输
发送的前几个字节,作为 地址信息+收发信息+主从定义
2条线互为应答就OK

使用特权

评论回复
13
eleclike| | 2007-10-25 19:03 | 只看该作者

仅供参考

1,把数据送到#1单片机的P1口,RXD发送中断到#2单片机
2,#2单片机接收到中断,转入读P1口程序,发送中断到#1单片机
3,#1单片机接收到中断后,继续传输下一个字节
4,所有数据字节传送完毕,通过发送一串特殊的字节(由协议规定)到#2单片机,告诉#2单片机数据传输完毕

没有实践过,仅供参考

使用特权

评论回复
14
forthlab| | 2007-10-25 19:06 | 只看该作者

感觉应该和老板谈谈,没有必要用2个51

有这些功夫还是都花些在系统上

使用特权

评论回复
15
156277800|  楼主 | 2007-10-26 08:18 | 只看该作者

  谢谢以上各楼对我的帮助。我会尽快把它弄出来的,呵呵。上边发话了我也没法,以后还请各位多多帮助

使用特权

评论回复
16
gyt| | 2007-10-26 09:30 | 只看该作者

两根绝对够

一根也可以

使用特权

评论回复
17
156277800|  楼主 | 2007-10-26 09:42 | 只看该作者

回复17楼

 请问用两根时握手协议应该如何写?要注意什么?

使用特权

评论回复
18
xwj| | 2007-10-26 10:29 | 只看该作者

一根接可以了,“握手协议”自己去想

协议这个东西是仁者见仁智者见智,不同人、不同应用、不同要求时肯定不能一概而论的,
自己去制定适合自己的协议!

不要偷懒,
不要怕麻烦,
只有“麻烦”过才能学到东西

使用特权

评论回复
19
ayb_ice| | 2007-10-26 10:44 | 只看该作者

急急急急急急急急急急

使用特权

评论回复
20
alice84| | 2007-10-26 10:47 | 只看该作者

并口通信不比串口通信好.要N多线!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

23

帖子

0

粉丝