找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2137|回复: 2
打印 上一主题 下一主题
收起左侧

写了一个RS485风向传感器的程序,但无法运行,求大家指点如何通过串口获取传感数据

[复制链接]
跳转到指定楼层
楼主
这是单片机原理图:



这是风向传感器的说明书:



以下是源程序:
  1. #include<stc12c5a.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include<stdlib.h>
  5. #include<math.h>
  6. #include<intrins.h>
  7. #include<LCD.h>
  8. uchar table[24]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  9. uchar wind_direction[8]={0x01,0x03,0x00,0x00,0x00,0x02,0xC4,0x0B};//风向传感器问询帧
  10. uchar wind_direction1[2]={0x00,0x00};//单片机接收风向数据
  11. void delay(uint z)//延时函数
  12. {
  13.         uint x,y;
  14.         for(x=z;x>0;x--)
  15.                 for(y=110;y>0;y--);
  16. }

  17. void init()  //系统初始化
  18. {
  19. TMOD=0X10;//8位重装定时器
  20. TH1=0xfa;
  21. TL1=0xfa;
  22. TR1=1;//定时器1中断
  23. SCON=0x50;//方式1
  24. TR1=1;//定时器1中断??
  25. IP=0X10;
  26.         EA=1;
  27.         ES=1;
  28. }

  29. void main()
  30. {
  31.         init();
  32.   while(1)
  33.         {
  34.                 int i;
  35.         for(i=0;i<8;i++)
  36.                 {
  37.                 SBUF=wind_direction[i];
  38.                         while(!TI);  //数据发送结束时TI置1
  39.                         TI=0;
  40.                 }
  41.         }
  42.         lcd1602_init();//LCD部分程序
  43.         lcd1602_locate(0x80,wind_direction[0]);
  44. }

  45. void UART_1() interrupt 4
  46. {
  47.         int i=0;
  48.         //接收完缓冲数据后RI置1
  49.         if(RI)//如果RI为1
  50.         {
  51.            RI=0,//RI置0
  52.                  //风向传感器
  53.                
  54.                 table[i++]=SBUF;
  55.                 if(i>8)
  56.                 {
  57.                 wind_direction1[0]=table[3];
  58.                 }
  59.         }
  60. }
复制代码

想请大家看看除了LCD1602部分外,单片机通过串口获取风向传感器数据这部分程序哪里不对,谢谢大家。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:807591 发表于 2020-11-6 14:10 | 只看该作者
SBUF=wind_direction;  .......
回复

使用道具 举报

板凳
ID:827243 发表于 2020-11-9 15:53 | 只看该作者
你这样一直发,不知道风向传感器能不能接受? 发送后起码延时一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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