#ifndef _onewire_h
#define _onewire_h
#include "stc15f2k60s2.h"
#include "intrins.h"
#define ow_skip_rom 0xcc
#define ds18b20_convert 0x44
#define ds18b20_read 0xbe
//ic引腳定義
sbit dq = p1^4;
//函式宣告
void delay_onewire(unsigned int t);
void write_ds18b20(unsigned char dat);
bit init_ds18b20(void);
unsigned char read_ds18b20(void);
#endif
/*
程式說明: 單匯流排驅動程式
軟體環境: keil uvision 4.10
硬體環境: ct107微控制器綜合實訓平台
日 期: 2011-8-9
*/#include "onewire.h"
//單匯流排延時函式
void delay_onewire(unsigned int t)
//ds18b20晶元初始化
bit init_ds18b20(void)
//通過單匯流排向ds18b20寫乙個位元組
void write_ds18b20(unsigned char dat)
delay_onewire(5);
}//從ds18b20讀取乙個位元組
unsigned char read_ds18b20(void)
delay_onewire(5);
} return dat;
}
藍橋杯DS18B20官方驅動的修改
雖然我還沒有參加藍橋杯的比賽,但是聽很多人說比賽的時候官方會給出一些晶元的驅動程式,有ds18b20 ds1302 iic。藍橋杯官方給出的驅動可以用是可以但是並不是那麼完善,還是需要我們稍加修改的。下面我們看一下官方給的ds18b20的驅動程式 程式說明 單匯流排驅動程式 軟體環境 keil uv...
藍橋杯溫度DS18b20的驅動直觀理解
對於藍橋杯比賽,很多人對於比賽官方給出的三個驅動不知道怎麼具體使用。其實官方給出的驅動是在原有的晶元基礎上做出的驅動,但是後來比賽官方對比賽專用版ct107d上使用了iap1f2k61s2轉接板,驅動的一些位置都相應的做出了該變。首先對於驅動,我們的看法是去建立乙個存在主函式的c 檔案去呼叫這個驅動...
ds18b20驅動配置
初始化時序 void ds18b20 rst void 返回1 沒有檢測到ds18b20的存在返回0 存在 u8 ds18b20 check void if retry 200 return1 else retry 0 while ds18b20 dq in retry 240 if retry 2...