發布日期:2022-10-09 點擊率:67
1 理論分析
1.1概述
DS18B20 是 DALLAS 最新單線數字溫度傳感器,新的"一線器件"體積更小、適用電壓更寬、更經濟。Dallas 半導體公司的數字化溫度傳感器 DS1820 是世界上第一片支持 "一線總線"接口的溫度傳感器。一線總線獨特而且經濟的特點,使用戶可輕松地組建傳感器網絡,為測量系統的構建引入全新概念。DS18B20、 DS1822 "一線總線"數字化溫度傳感器同 DS1820 一樣,DS18B20 也支持"一線總線"接口,測量溫度范圍為 -55°C+125°C,在-10+85°C 范圍內,精度為±0.5°C。DS1822 的精度較差為± 2°C 。現場溫度直接以"一線總線"的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環境的現場溫度測量,如:環境控制、設備或過程控制、測溫類消費電子產品等。與前一代產品不同,新的產品支持 3V~5.5V 的電壓范圍,使系統設計更靈活、方便。而且新一代產品更便宜,體積更小。 DS18B20、 DS1822 的特性 DS18B20 可以程序設定 9~12 位的分辨率,精度為±0.5°C。可選更小的封裝方式,更寬的電壓適用范圍。分辨率設定,及用戶設定的報警溫度存儲在 EEPROM 中,掉電后依然保存。DS18B20 的性能是新一代產品中最好的。性能價格比也非常出色。 DS1822 與 DS18B20 軟件兼容,是 DS18B20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數的 EEPROM,精度降低為±2°C,適用于對性能要求不高,成本控制嚴格的應用,是經濟型產品。繼"一線總線"的早期產品后,DS1820 開辟了溫度傳感器技術的新概念。DS18B20 和 DS
@基于CC2530單片機獲取溫度傳感器
基于CC2530單片機獲取溫度傳感器
cc2530單片機是目前Ztack主流的一款產品,它與普通51的單片機不同于需要對各個IO口配置比如(設置io口的方向或輸出還是輸入),廢話不多說上代碼
獲取溫度的底層驅動代碼
端口配置就不講解,俺相信各位都是大神對于你們來說都是小意思。
ds18b20.c文件
#include "ds18b20.h"
#define Ds18b20IO P0_7 //溫度傳感器引腳
void Ds18b20Delay(unsi
【實例簡介】基于C語言與CC2530設備使用DHT11采集溫濕度數據并輸出
【實例截圖】
【核心代碼】
#include
for (i=0; i<msec; i="" )="" for="" (j="0;" j<1070;="" j="" );="" }="" void="" inituart(void)="" {="" percfg="0x00;" 外設控制寄存器="" usart="" 0的io位置:0為p0口位置1="" p0sel="0x0c;" p0_2,p0_3用作串口(外設功能)="" p2dir="" &="~0xC0;" p0優先作為uart0="" u0csr="" |="0x80;" 設置為uart方式="" u0gcr="" u0baud="" 波特率設為="" utx0if="0;" uart0="" tx中斷標志初始置位0="" uartsendstring(char="" *data,="" int="" len)="" uint="" i;="" for(i="0;" i<len;="" u0dbuf="*Data" ;="" while(utx0if="=0);" main(void)="" clkconcmd="" 設置系統時鐘源為32mhz晶振="" while(clkconsta="" 0x40);="" 等待晶振穩定為32m="" 設置系統主時鐘頻率為32mhz="" inituart();="" 調置串口相關寄存器="" initlcd();="" memset(txdata,="" 0,="" tx_size);="" 數據清0="" txdata[0]="48;" memcpy(txdata,="" tx_string,="" sizeof(tx_string));="" 復制發送字符串到txdata="" while(1)="" uartsendstring(txdata,="" 串口發送數據="" dht11();="" uartsendstring("當前溫度值是:",="" 14);="" 48;="" txdata[1]="(char)wendu_ge" 2);="" uartsendstring(" ="" ",="" lcd_write_english_string(0,0,txdata);="" delayms(1000);="" 延時=""
DHT11+CC2530 濕度傳感器(裸機)工程源代碼
單片機源程序:
#include
Uart_Send_String(temp1,5);
Uart_Send_String(temp,2);
Uart_Send_String("
",1);
Uart_Send_String(humidity1,9);
Uart_Send_String(hum,2);
Uart_Send_String("
",1);
Delay_ms(2000); //延時,使周期性2S讀取1次
}
}
…………限于本文篇幅 余下代碼請從51黑下載附件…………復制代碼
#include
下一篇: PLC、DCS、FCS三大控
上一篇: 電氣控制線路圖控制原