如何将单片机温度传感器采集到的数据通过无线传给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 展开
全部评论(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 展开
- DHT11温湿度传感器怎么把采集到的温湿度数据传给单片机STC89C52
- 霍尔传感器如何将速度转换成数据传给PLC处理
- 桶边均匀分布着四个磁钢。霍尔传感器来测速,开头程序是这样的。传感器一开始得到的数据是什么形式的?存在D100??DDIV那段的意思是 D1,D0除以100然后把数据存在D11,D10吗?为什么要用双字??
- 如何将labview中的信号通过mydaq传给硬件电路
- 温度传感器如何将数据传送给PLC
- SSI数据用单片机怎么采集?
- 单片机如何接收数据采集模块传过来的数据并把数据传给GPRS模块
- 要实现这些功能需要编写哪些程序,有没有高手知道怎么做,望点拨一二.单片机用的是STC12C60S2,GPRS模块用的是SIM300,数据采集模块用的是EDA9033。邮箱:ztbiyesheji@126.com... 要实现这些功能需要编写哪些程序,有没有高手知道怎么做,望点拨一二.单片机用的是STC12C60S2,GPRS模块用的是SIM300,数据采集模块用的是EDA9033。邮箱:ztbiyesheji@126.com 展开
- 温度传感器采集的数据怎么发给远程终端?
- 顺便告我下设计思路,选用的温度传感器的型号,发射端的设计,终端的设计。谢谢... 顺便告我下设计思路,选用的温度传感器的型号,发射端的设计,终端的设计。谢谢 展开
- DHT11温湿度传感器如何把温湿度数据传给单片机STC89C52
- STM32的内部温度传感器通过哪个AD采集
- 如何将激光雷达的数据通过数传模块传输到PC端的ros系统中进行slam
- 如何将激光雷达的数据通过数传模块传输到PC端的ros系统中进行slam
- 如何将激光雷达的数据通过数传模块传输到PC端的ros系统中进行slam
- 加速度传感器的数据怎样传给电脑
- 如何将传感器采集的数据上传到web服务器中
- PC如何上传数据到 DCS上位机?
- PC连接了设备,获取了设备反馈的信息,但同时其中部分信息要反馈给DCS上位机,如何在PC上把数据通过MODBUS协议发送给DCS上位机????
- 水位传感器采集的数据信息如何传到单片机
- 数据采集器如何采集传感器的数据?通过什么方式?
- 火车头采集器采集到一半的数据怎么发布?
- RT,采集到一半的时候因为某些原因自动停止查询了,点击暂停再运行也没用。请问这种情况下怎么把已经采集到的数据发布出来?... RT,采集到一半的时候因为某些原因自动停止查询了,点击暂停再运行也没用。请问这种情况下怎么把已经采集到的数据发布出来? 展开
- 如何采用matlab对单片机采集的数据进行频谱分析?
- 我用单片机采集到电动机的振动信号,并通过ad转换器转换为数字信号。但是,这些数字信号如何移植到matlab中,进行频谱分析?
12月突出贡献榜
推荐主页
最新话题
-
- #八一建军节——科技铸盾,仪器护航#
- 如何选择到合适的磷青铜绞线?磷青铜绞线的质量...如何选择到合适的磷青铜绞线?磷青铜绞线的质量解析和如何选择到合适的绞线?磷青铜绞线是一种特殊的铜合金导线,由铜、锡和磷等元素组成,具有很好的机械性能、电气性能和耐腐蚀性。磷青铜绞线基本定义与特性:磷青铜是铜与锡、磷的合金,质地坚硬,可制弹簧。典型成分为铜(90%)、锡(6-9%)及磷(0.03-0.6%)锡元素提升合金的强度和耐腐蚀性,磷则细化晶粒、增强耐磨性铸造性能。耐磨性:表面氧化层使其在特殊环境下耐腐蚀,使用寿命长导电性:保持铜很好导电性能的同时有化电子传输路径非铁磁性:不含铁元素,避免在强磁场环境中产生额外能量损耗弹性:受到外力作用时能迅速恢复原状
- 八一建军节 铁血铸军魂













参与评论
登录后参与评论