找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

求大神指点两单片机串口传输数据的程序

查看数: 4714 | 评论数: 12 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-7-10 15:59

正文摘要:

要做一个数据采集传输系统,采集以做出,不知道怎样实现串口通信。下面是找的相似的程序,不知怎么改 #include<reg51.h> unsigned char code Tab[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f} void S ...

回复

ID:767423 发表于 2020-7-11 12:36

如果只有这12位可以不用Tab,直接发两个字节就好了。
ID:801010 发表于 2020-7-11 12:02
ll66m 发表于 2020-7-11 11:16
怎样把我测得的十二位数据放在Tab里啊

会放了。
ID:801010 发表于 2020-7-11 11:16
hsl32 发表于 2020-7-11 08:14
你不是读了温度,在LCD1液晶上显示了嘛,把这个温度发出去就好了。MAX6675读出来的温度是12位的,一般占 ...

怎样把我测得的十二位数据放在Tab里啊
ID:801010 发表于 2020-7-11 10:29
hsl32 发表于 2020-7-11 08:14
你不是读了温度,在LCD1液晶上显示了嘛,把这个温度发出去就好了。MAX6675读出来的温度是12位的,一般占 ...

好的,我试试
ID:767423 发表于 2020-7-11 08:14
ll66m 发表于 2020-7-10 17:57
温度读好用代码怎么表示呀,还有温度低字节,高字节,清温度读好标志,

你不是读了温度,在LCD1液晶上显示了嘛,把这个温度发出去就好了。MAX6675读出来的温度是12位的,一般占用2个字节,而串口一次只能发送一个字节,所以要发两次。先发高还是低字节自己定义。串口不是一直发数据,而是读出MAX6675的温度一次,就发一次数据,我要一个读好标志是因为读温度和串口发送是独立分开的,所以要一个标志告诉串口发送程序可以发送了(标志要清除,不然会一直发不停)。如果读温度和串口发送合在一起就不用标志了,也就是读温度程序和串口发送都放在while()里面(还有LCD显示),读温度然后接着串口发送,一直循环。
ID:332444 发表于 2020-7-11 07:58
2个蛋骗鸡加载同一个程序,本程序甲乙蛋骗鸡互发数字在数码管中显示。



ID:801010 发表于 2020-7-10 17:57
hsl32 发表于 2020-7-10 17:21
// 1.不要 Tab[]
// 2 while(1) 改成:
while(温度读好)

温度读好用代码怎么表示呀,还有温度低字节,高字节,清温度读好标志,
ID:197385 发表于 2020-7-10 17:57
如果不想保存在单片机内部的话可以直接将得到的数据直接通过串口发出去
void Send(unsigned char 采集到的数据)
{
SUBF=采集到的数据;
while(TI==0);
TI=0;
}
将send函数放到你程序中的while(1)函数中不断轮询,串口初始化就不用再说了,在程序初始化时加上
ID:197385 发表于 2020-7-10 17:53
void Send(unsigned char dat) { SUBF=dat; while(TI==0); TI=0; }
ID:767423 发表于 2020-7-10 17:30
如果数据比较多,可以保留Tab[],数据放Tab[]里面
while(温度读好)
{
    //清温度读好标志;
    for=(i=0;i<个数;i++)
   {
      Send(Tab[i]); // 你的文件少了 [i]
     dely();
   }
}
ID:332444 发表于 2020-7-10 16:25
这是发送程序,接收的?
ID:767423 发表于 2020-7-10 15:59
// 1.不要 Tab[]
// 2 while(1) 改成:
while(温度读好)
{
    //清温度读好标志;
    P23 = 1; //置485发送模式
    Send(温度低字节);
    dely();
    Send(温度高字节);
}
// 接收那边 U3P20 = 0 ; 置485发送模式
// 串口接收数据,2个字节,判断一下高低字节。送显示。
// 这个只是简单的通讯测试。实际应用是要有通讯协议的,一般RS485用Modebus通讯协议。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表