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:
ds18b20.c:#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
/*
程式說明: 單匯流排驅動程式
軟體環境: 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...