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
如何将单片机温度传感器采集到的数据通过无线传给pc
电脑端也要搞一个单片机,驱动24L01,当收到信号,会产生中断,单片机把数据读出来,通过串口传给PC即可(推荐使用usb转串口的小板子,就几块钱,使用很方便,不需要给板子加max232了)。PC串口收到数据,在串口助手中勾选16进制显示,就是16进制的温度了,或者单片机把16进制的温度转化成字符串形式发到...
如何将温度传输到电脑上
首先需要一支Pt100的温度传感器,然后接入一块数显变送仪表,通过通讯485通讯(通讯协议可选一般MODBUS-RTU)将信号在组态好的软件里显示。当然了数显仪表也可以换成带通讯功能的采集卡,组态可以随便选择,根据个人习惯,你用个简单点就可以,还需加485-232转换头一个。如有需要可以和我讲。
温度传感器获得的数据如何处理才能在电脑中显示并画出温度时间曲线
1、如果是常规的温度传感器(如PT100)需要将传感器的信号,以电信号形式输出,以便单片机或者PLC接受,2、单片机或者PLC处理来自传感器的数据 3、单片机和电脑通信(常用串行通信),将数据传给电脑;4、电脑上有专门的软件(VC或者VB编写的小软件,网上一把一把的),处理接受到的数据,并使其以曲线形式...
热电偶温度怎么在电脑上显示
如果是无线传输,可以选用数字温度传感器直接将测到的温度信号传给单片机,经无线发射模块发射,再由配套的无线接收模块接受,将接收的信号传给单片机,然后由单片机控制经串口线RS-232传送至监控端即电脑,监控端需要用VB或VC或Labview搭建平台然后才能将数据显示在电脑上。如果是有线传输,可以直接将数字温度...
单片机里I2C温度传感器采集的温度如何传到上位机?上位机怎么处理数据...
1、利用串口通讯将单片机采集的温度数据传给上位机,譬如上位机可以用VC++开发 2、上位机在串口接收数据事件中,可参考如下代码:void CSCommTestDlg::OnComm(){ \/\/ TODO: Add your control notification handler code here VARIANT variant_inp;COleSafeArray safearray_inp;LONG len,k;BYTE rxdata[...
你好!上次关于单片机和PC 无线通信还有些问题,
1、PC与RX端通信,就通过CH372芯片(USB芯片)来操作,PC端沁恒公司网站上可以下一个别人已经编写好的上位机控制程序,你只需要往里面填数据就行了。2、单片机接收到了PC上面传下来的数据之后就通过无线模块传给TX端,TX端通过接收无线模块数据之后经过单片机处理你自己想要做的事情就行了。TX端和RX端...
怎么从传感器中获取数据 比如获取温度传感器中的温度
我估计你的传感器是模拟信号的,那么你确认好传感器的输出信号,然后买一个数显表或者二次表,带485或者232接口的,大概200多,然后让厂家配一个软件(可能能免费),如果你自己编程序,那么厂家会提供给你通讯协议。你自己编写程序就可以了。
怎么才能把温度传感器输出的电压信号经过PC显示出温度数据
采用单片机串口通信,成熟的产品就叫采集卡
用两个hc05(已配对),实现两个单片机实时无线动态数据传送?求程序...
HC05需要设置成一个上从机,一个是主机。接有温度传感器的那块设置成从机,接有数码管显示的设置成主机,从机采集到数据向主机发送。实现的步骤如下:1、两边设置好串口通信的波特率等。2、把从机设置成发送状态。把主机设置成接收状态。3、发送的程序如下:SBUF = content; \/\/content就是温度的数值...
用温度传感器和烟雾传感器来设置报警装置的话,怎样用单片机无线发送呢...
将串口输出接到一个无线收发模块上即可。如有帮助请采纳,手机则点击右上角的满意,谢谢!!