微控制器藍橋杯準備 溫度模組

2021-08-17 19:26:10 字數 1673 閱讀 3346

51微控制器的溫度模組:

main.c:

#include"reg52.h"    //標頭檔案

#include"ds18b20.h"    //        溫度模組驅動

#include"intrins.h"    //移位操作標頭檔案

sfr auxr=0x8e;

unsigned char discode=;    //數碼管顯示位元組碼

unsigned char disbuff=;    //位元組碼指標

unsigned char bitcom=0;    //    位選指標

unsigned char temp=0;    //設定溫度變數

void timer0init();    //初始化定時器

void initsystem()    //初始化系統

void display()    //數碼管顯示

unsigned char readtemp()    //溫度讀取

void main()

}void f1() interrupt 1

void timer0init(void) //1毫秒@11.0592mhz

比賽提供的驅動:

ds18b20.h:

#ifndef __ds18b20__h_

#define __ds18b20__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(void);

unsigned char read_ds18b20(void);

unsigned char rd_temperature(void);

#endif

ds18b20.c:

/*

程式說明: 單匯流排驅動程式

軟體環境: keil uvision 4.10

硬體環境: ct107微控制器綜合實訓平台

日 期: 2011-8-9

*/#include "ds18b20.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;

}unsigned char rd_wendu()

基於15微控制器簡易溫度採集 藍橋杯

在乙個寒假的準備中,15微控制器各個模組應經有了乙個充分的認識,對其內部原理以及程式控制已經熟練掌握,在距離省賽藍橋杯不到10天的時間裡,每天練習一套省賽模擬題,來提高各個模組的綜合應用。此次省賽試題中主要使用了ds1302和ds18b20兩個模組,整套題難度算中上吧。本題難度在於溫度採集時間設定和...

關於微控制器藍橋杯 EEPROM

eeprom運用了iic協議,我們在藍橋杯上寫eeprom時,應該注意他給的延時是不是15個 nop 然後,在他給的iic協議的基礎上,我們自己新增兩個eeprom write與eeprom read兩個讀寫函式 void eeprom write uchar add,uchar dat iic s...

藍橋杯 微控制器 中斷程式設計

使用程式前,將跳線j5調整為btn模式 2 3引腳短接使第一列按鍵一端接地 將跳線j13調整為io模式 2 3引腳短接使u25或非門輸入訊號wr接地 按下p32 int0引腳對應的按鍵s5,l1狀態翻轉 按下p33 int1引腳對應的按鍵s4,l2狀態翻轉 include reg52.h unsig...