藍橋杯微控制器CT107D ds18b20驅動

2021-09-11 02:56:45 字數 1384 閱讀 1916

藍橋杯微控制器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...