藍橋杯STC基礎代碼-溫度傳感器

上一章-藍橋杯STC基礎代碼-時鐘芯片

文章地址

溫度傳感器-DS18B20

原理圖

這裏是引用

可以看到我們用 P14一個IO口控制整個傳感器。

重要操作

1.跳過ROM

這裏是引用
根據芯片手冊 命令爲 0xcc

2.轉換溫度

這裏是引用

3.讀暫存器

這裏是引用

讀取溫度流程

初始化傳感器
跳過ROM-0xcc
轉換溫度-0x44
初始化傳感器
跳過ROM-0xcc
讀暫存器-0xbe
先讀低位再讀高位

利用好賽方給的函數,記住要用到的命令,讀取溫度就沒有太大的問題了。
上面寫的初始化函數還有寫命令讀數據是比賽方已經給了的。
onewire.h

代碼

u16 ds_tempeture;

u16 Read_tempeture(void)
{
	u8 low,high;

	init_ds18b20();
	Write_DS18B20(0xcc);
	Write_DS18B20(0x44);
	
	
	init_ds18b20();
	Write_DS18B20(0xcc);
	Write_DS18B20(0xbe);	
	
	low = Read_DS18B20();
	high = Read_DS18B20();
	
	ds_tempeture = ( high << 8) | low ;
	ds_tempeture = ds_tempeture / 16;   //向右 移動四位
	
	return ds_tempeture;
}

這份代碼我通常是放在100ms時間軸裏面,已經夠了。

下一章-藍橋杯STC基礎代碼-EEPROM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章