仪器网(yiqi.com)欢迎您!

| 注册2 登录
网站首页-资讯-专题- 微头条-话题-产品- 品牌库-搜索-供应商- 展会-招标-采购- 社区-知识-技术-资料库-方案-产品库- 视频

问答社区

如何将单片机温度传感器采集到的数据通过无线传给pc

灵魂阿飞 2013-10-26 07:52:37 425  浏览
  • voiddelay_2us(unsignedchart){while(--t);}/*mS延时函数,晶振12M*/voiddelay_ms(unsignedchart){while(t--){delay_2us(245);delay_2us(245);}}/*18b20初始化*/bitDS18B20_init(){bi... void delay_2us(unsigned char t) {
    while(--t);
    } /*mS延时函数,晶振12M*/ void delay_ms(unsigned char t) { while(t--) { delay_2us(245); delay_2us(245); } } /*18b20初始化*/ bit DS18B20_init() { bit dat=0; DQ = 1; //DQ复位 delay_2us(5); //稍做延时 DQ = 0; //单片机将DQ拉低 delay_2us(200); //精确延时 大于 480us 小于960us delay_2us(200); DQ = 1; //拉高总线 delay_2us(50); //15~60us 后 接收60-240us的存在脉冲 dat=DQ; //如果x=0则初始化成功, x=1则初始化失败 delay_2us(25); //稍作延时返回 return dat; } /*读取一个字节*/ unsigned char DS18B20_read_byte() { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; // 给脉冲信号 dat >>= 1; DQ = 1; // 给脉冲信号 if(DQ) dat |= 0x80; delay_2us(25); } return dat; } /*写入一个字节*/ void DS18B20_write_byte(unsigned char dat) { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat & 0x01; delay_2us(25); DQ = 1; dat >>= 1; } delay_2us(25); } /*读取温度*/ unsigned int DS18B20_read_temp() { unsigned char a=0; unsigned int b=0; while(DS18B20_init()==1); DS18B20_write_byte(0xCC); // 跳过读序号列号的操作 DS18B20_write_byte(0x44); // 启动温度转换 delay_ms(10); while(DS18B20_init()==1); DS18B20_write_byte(0xCC); //跳过读序号列号的操作 DS18B20_write_byte(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=DS18B20_read_byte(); //低位 b=DS18B20_read_byte(); //高位 return (b << 8) + a; } 程序写到这里,如何将这个数据传回pc端,通过无线传输的方式,还有电脑端如何将接收的数据转换成正确的温度显示出来,可以加q联系,321266619 展开

参与评论

全部评论(3条)

  • caisi219 2013-10-27 00:00:00
    距离十五米内Z简单的就是用RF2401之类的无线数传模块,电脑端用一个同样的模块接收并输出数据至电脑串口,用Vb获得数据并显示温度。距离远点的话可用Gsm模块。

    赞(17)

    回复(0)

    评论

  • 航锥腊媒顿么 2013-10-28 00:00:00
    FC-211AP模块,串口输出直接连接电脑。单片机端也用这模块,实现透明传输。

    赞(19)

    回复(0)

    评论

  • 后来Live77 2018-05-17 00:00:00
    RF24L01有增强版的模块,传输距离据说可达2Km,其51驱动网上一大把,过程大概是这样:把读取的温度16进制数存到一个寄存器,把这个寄存器的内容发送给RF24L01,启动发送。电脑端也要搞一个单片机,驱动24L01,当收到信号,会产生中断,单片机把数据读出来,通过串口传给PC即可(推荐使用usb转串口的小板子,就几块钱,使用很方便,不需要给板子加max232了)。PC串口收到数据,在串口助手中勾选16进制显示,就是16进制的温度了,或者单片机把16进制的温度转化成字符串形式发到PC,这样串口助手不用勾选16进制显示,直接就能显示成温度。

    赞(20)

    回复(0)

    评论

热门问答

如何将单片机温度传感器采集到的数据通过无线传给pc
voiddelay_2us(unsignedchart){while(--t);}/*mS延时函数,晶振12M*/voiddelay_ms(unsignedchart){while(t--){delay_2us(245);delay_2us(245);}}/*18b20初始化*/bitDS18B20_init(){bi... void delay_2us(unsigned char t) {
while(--t);
} /*mS延时函数,晶振12M*/ void delay_ms(unsigned char t) { while(t--) { delay_2us(245); delay_2us(245); } } /*18b20初始化*/ bit DS18B20_init() { bit dat=0; DQ = 1; //DQ复位 delay_2us(5); //稍做延时 DQ = 0; //单片机将DQ拉低 delay_2us(200); //精确延时 大于 480us 小于960us delay_2us(200); DQ = 1; //拉高总线 delay_2us(50); //15~60us 后 接收60-240us的存在脉冲 dat=DQ; //如果x=0则初始化成功, x=1则初始化失败 delay_2us(25); //稍作延时返回 return dat; } /*读取一个字节*/ unsigned char DS18B20_read_byte() { unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; // 给脉冲信号 dat >>= 1; DQ = 1; // 给脉冲信号 if(DQ) dat |= 0x80; delay_2us(25); } return dat; } /*写入一个字节*/ void DS18B20_write_byte(unsigned char dat) { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat & 0x01; delay_2us(25); DQ = 1; dat >>= 1; } delay_2us(25); } /*读取温度*/ unsigned int DS18B20_read_temp() { unsigned char a=0; unsigned int b=0; while(DS18B20_init()==1); DS18B20_write_byte(0xCC); // 跳过读序号列号的操作 DS18B20_write_byte(0x44); // 启动温度转换 delay_ms(10); while(DS18B20_init()==1); DS18B20_write_byte(0xCC); //跳过读序号列号的操作 DS18B20_write_byte(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度 a=DS18B20_read_byte(); //低位 b=DS18B20_read_byte(); //高位 return (b << 8) + a; } 程序写到这里,如何将这个数据传回pc端,通过无线传输的方式,还有电脑端如何将接收的数据转换成正确的温度显示出来,可以加q联系,321266619 展开
2013-10-26 07:52:37 425 3
DHT11温湿度传感器怎么把采集到的温湿度数据传给单片机STC89C52
 
2018-12-01 04:59:08 458 0
霍尔传感器如何将速度转换成数据传给PLC处理
桶边均匀分布着四个磁钢。霍尔传感器来测速,开头程序是这样的。传感器一开始得到的数据是什么形式的?存在D100??DDIV那段的意思是 D1,D0除以100然后把数据存在D11,D10吗?为什么要用双字??
2016-11-18 04:20:11 502 1
如何将labview中的信号通过mydaq传给硬件电路
 
2017-05-18 00:28:13 356 1
温度传感器如何将数据传送给PLC
 
2013-10-13 00:25:13 392 1
SSI数据用单片机怎么采集?
 
2008-12-08 04:56:27 300 1
单片机如何接收数据采集模块传过来的数据并把数据传给GPRS模块
要实现这些功能需要编写哪些程序,有没有高手知道怎么做,望点拨一二.单片机用的是STC12C60S2,GPRS模块用的是SIM300,数据采集模块用的是EDA9033。邮箱:ztbiyesheji@126.com... 要实现这些功能需要编写哪些程序,有没有高手知道怎么做,望点拨一二.单片机用的是STC12C60S2,GPRS模块用的是SIM300,数据采集模块用的是EDA9033。邮箱:ztbiyesheji@126.com 展开
2018-11-28 13:27:36 328 0
温度传感器采集的数据怎么发给远程终端?
顺便告我下设计思路,选用的温度传感器的型号,发射端的设计,终端的设计。谢谢... 顺便告我下设计思路,选用的温度传感器的型号,发射端的设计,终端的设计。谢谢 展开
2014-04-08 01:19:52 414 2
DHT11温湿度传感器如何把温湿度数据传给单片机STC89C52
 
2016-06-14 16:12:20 509 2
STM32的内部温度传感器通过哪个AD采集
 
2016-12-16 11:00:48 304 1
如何将激光雷达的数据通过数传模块传输到PC端的ros系统中进行slam
 
2017-06-27 10:01:21 335 2
如何将激光雷达的数据通过数传模块传输到PC端的ros系统中进行slam
 
2017-09-16 15:41:02 466 1
如何将激光雷达的数据通过数传模块传输到PC端的ros系统中进行slam
 
2017-10-29 22:06:35 512 1
加速度传感器的数据怎样传给电脑
 
2018-11-27 21:51:04 396 0
如何将传感器采集的数据上传到web服务器中
 
2018-03-06 00:07:47 348 1
PC如何上传数据到 DCS上位机?
PC连接了设备,获取了设备反馈的信息,但同时其中部分信息要反馈给DCS上位机,如何在PC上把数据通过MODBUS协议发送给DCS上位机????
2016-11-16 09:05:42 420 1
水位传感器采集的数据信息如何传到单片机
 
2012-06-09 17:46:40 281 3
数据采集器如何采集传感器的数据?通过什么方式?
 
2018-11-14 22:18:50 413 0
火车头采集器采集到一半的数据怎么发布?
RT,采集到一半的时候因为某些原因自动停止查询了,点击暂停再运行也没用。请问这种情况下怎么把已经采集到的数据发布出来?... RT,采集到一半的时候因为某些原因自动停止查询了,点击暂停再运行也没用。请问这种情况下怎么把已经采集到的数据发布出来? 展开
2016-11-30 11:53:53 450 1
如何采用matlab对单片机采集的数据进行频谱分析?
我用单片机采集到电动机的振动信号,并通过ad转换器转换为数字信号。但是,这些数字信号如何移植到matlab中,进行频谱分析?
2012-09-14 15:50:27 545 3

12月突出贡献榜

推荐主页

最新话题