藍橋杯微控制器ctd107 ds18b20
比賽時官方提供用驅動函式,但是不完整,需要修改相應的.c和.**件,
第一步:修改單匯流排延時函式,只需要在延時函式中新增一行即可
void delay_onewire(unsigned int t)
第二步:修改.**件,將#include "reg52.h"改為#include 「common.h」
第三步:新增讀取溫度函式;uint16 read_temperature(); 讀取溫度分三步,1.啟動溫度轉換,2.讀取暫存器溫度值,3.計算溫度值
uint16 read_temperature()
以下為完整的.**件
#ifndef _onewire_h
#define _onewire_h
**#include "common.h"//#include "reg52.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();
unsigned char read_ds18b20();
**uint16 read_temperature();**
#endif
以下為完整的.c檔案
#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;
}uint16 read_temperature()
工程模板: 藍橋杯微控制器CT107D ds1302驅動
藍橋杯微控制器ctd107 ds13020 比賽時官方提供用驅動函式,但是不能直接使用,需要修改相應的.c和.件,第一步 修改包含的標頭檔案 將.c檔案包含的標頭檔案 include 和 include 改為 include ds1302.h 在.件新增 include common.h 第二步 新...
藍橋杯微控制器CT107D ADC
adc轉換需要寫入pcf8591三個位元組 1 0x90,器件位址及寫控制位 2 0x01光敏電阻 0x03電位器 選擇輸入控制位 3 0x91,器件位址及讀控制位 固定位址部分為 1001 可程式設計位址部分為a2 a1 a0為 000 位址 讀 1001 0001 即 0x91 位址 寫 100...
藍橋杯微控制器CT107D 底層驅動基礎
這兩個 檔案是其他底層驅動 的基礎 包含了控制138573 間接控制數碼管led和蜂鳴器等 delay延時函式 ct107開發板上點初始化 基礎 ct107.h 標頭檔案 ifndef ct107 h define ct107 h include define uint unsigned int d...