onewire.c:
/*
程式說明: 單匯流排驅動程式
軟體環境: keil uvision 4.10
硬體環境: ct107微控制器綜合實訓平台(外部晶振12mhz) stc89c52rc微控制器
日 期: 2011-8-9
*/#include
"reg52.h"
sbit dq = p1^4;
//單匯流排介面
//單匯流排延時函式
void
delay_onewire
(unsigned
int t)
;//stc89c52rc
//通過單匯流排向ds18b20寫乙個位元組
void
write_ds18b20
(unsigned
char dat)
delay_onewire(5
);}//從ds18b20讀取乙個位元組
unsigned
char
read_ds18b20
(void
)delay_onewire(5
);}return dat;
}//ds18b20裝置初始化
bit init_ds18b20
(void
)void
delay_onewire
(unsigned
int t)
//stc89c52rc
float
read_temp
(void
)
common.c
#include
uchar dsp_code=
;uchar dsp_show[8]
;uchar temp;
uint remain_time;
uint level=0;
uint temp_flag=0;
uint mode=1;
uint count_temp=0;
//用來計時
uchar l1,l2,l3;
uchar pwm_duty;
uint count_sec=0;
uint count_key=0;
void
system_init
(void
)void
timer0init
(void
)//100微秒@11.0592mhz
void
tm0(
void
) interrupt 1
count_temp++
;//計時用於溫度
count_sec++
;//計時用於1s
count_key++
;//為了按鍵防抖
}void
scan_button
(void)}
case2:
if(key_val==
0) key_stat=0;
}}
main.c
#include
extern uchar dsp_code;
extern uchar dsp_show[8]
;extern uchar temp;
extern uint remain_time;
extern uint level;
extern uint temp_flag;
extern uint mode;
extern uint count_temp;
//用來計時
extern uchar l1,l2,l3;
extern uchar pwm_duty;
extern uint count_sec;
extern uint count_key;
void
main()
dsp_show[0]
=dsp_code[11]
;//-
dsp_show[1]
=dsp_code[4]
;//4
dsp_show[2]
=dsp_code[11]
;//-
dsp_show[3]
=dsp_code[10]
;//熄滅
dsp_show[4]
=dsp_code[10]
;//熄滅
dsp_show[5]
=dsp_code[temp/10]
;//溫度
dsp_show[6]
=dsp_code[temp%10]
; dsp_show[7]
=0xc6
;//c
}else
if(remain_time==0)
//當前remain_time為0
else
//訊號頻率為1khz,則時間中斷為100微妙,100微妙*10=1ms
else
if(mode==2)
else
if(mode==3)
}if(count_key>99)
//10ms執行一次scan_button
}}
藍橋杯 第七屆省賽 模擬風扇控制系統
實驗平台 ct107d 實驗晶元 stc15f2k60s2 實驗現象 完成題目要求 如下 include stc15f2k60s2.h sbit dq p1 4 單匯流排介面 單匯流排延時函式 void delay onewire unsigned int t stc89c52rc 通過單匯流排向d...
藍橋杯第七屆省賽試題 「模擬風扇控制系統」
功能簡述 模擬風扇控制系統 能夠模擬電風扇工作,通過按鍵控制風扇的轉動速度和定時時間,數碼管實時顯示風扇的工作模式,動態倒計時顯示剩餘的定時時間,系統主要由數碼管顯示 微控制器最小系統 按鍵輸入和電機控制保護電路組成,系統框圖如圖 1 所示 單匯流排驅動程式 ct107d 微控制器考試平台電路原理圖...
藍橋杯第七屆省賽 風扇模擬系統
冉冰的成長日記001 include include onewire.h unsigned char led 定義數碼管 unsigned char ledbuff 數碼管緩衝區 sbit s7 p3 0 sbit s6 p3 1 sbit s5 p3 2 sbit s4 p3 3 unsigned...