藍橋杯 第七屆省賽 模擬風扇控制系統

2021-10-02 16:03:09 字數 2944 閱讀 5805

實驗平台:ct107d

實驗晶元:stc15f2k60s2

實驗現象:完成題目要求

**如下

#include

"stc15f2k60s2.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

)unsigned

intduwendu()

#ifndef __onewire_h

#define __onewire_h

unsigned

char

rd_temperature

(void);

//; ;

unsigned

intread_temp()

;#endif

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit buzz = p0^6;

sbit led1 = p0^0;

sbit led2 = p0^1;

sbit led3 = p0^2;

sbit led8 = p0^7;

bit open_flag =0;

bit pwm_flag =0;

bit s7_flag =0;

bit temp_flag =0;

sbit key_in1 = p3^0;

sbit key_in2 = p3^1;

sbit key_in3 = p3^2;

sbit key_in4 = p3^3;

uchar code duan=

;uchar keysta=

;uchar keymap=

;uchar disbuff[8]

;uchar mode=1;

uchar pwm;

uchar time;

uchar temp =10;

uchar pwm_count;

void

led()if

(pwm_flag ==0)

if(mode ==1)

if(mode ==2)

if(mode ==3)

}void

close_buzz()

void

display()

void

show_num()

else

}void

keyscan()

; uchar j;

keybuff[0]

= keybuff[0]

<<

1|key_in1;

keybuff[1]

= keybuff[1]

<<

1|key_in2;

keybuff[2]

= keybuff[2]

<<

1|key_in3;

keybuff[3]

= keybuff[3]

<<

1|key_in4;

for(j=

0;j<

4;j++

)elseif(

(keybuff[j]

&0x0f)==

0x0f)}

}void

keyfun

(uchar key)

if(s5_count ==0)

if(s5_count ==1)

if(s5_count ==2)

open_flag =1;

break

;case4:

if(++mode ==

4) mode =1;

break;}

}void

keydrive()

; uchar i;

for(i=

0;i<

4;i++

) keyback[i]

= keysta[i];}

}}void

pwm_set()

if(mode ==2)

if(mode ==3)

}void

timer0init

(void

)//100微秒@11.0592mhz

void

time1

() interrupt 1

if(open_flag ==1)

}if(++sec_count ==

10000)if

(time ==0)

}led()

;}void

main()

}}

藍橋杯第七屆省賽試題 「模擬風扇控制系統」

功能簡述 模擬風扇控制系統 能夠模擬電風扇工作,通過按鍵控制風扇的轉動速度和定時時間,數碼管實時顯示風扇的工作模式,動態倒計時顯示剩餘的定時時間,系統主要由數碼管顯示 微控制器最小系統 按鍵輸入和電機控制保護電路組成,系統框圖如圖 1 所示 單匯流排驅動程式 ct107d 微控制器考試平台電路原理圖...

藍橋杯第七屆省賽 模擬風扇控制系統 by YYC

onewire.c 程式說明 單匯流排驅動程式 軟體環境 keil uvision 4.10 硬體環境 ct107微控制器綜合實訓平台 外部晶振12mhz stc89c52rc微控制器 日 期 2011 8 9 include reg52.h sbit dq p1 4 單匯流排介面 單匯流排延時函式...

藍橋杯第七屆省賽 風扇模擬系統

冉冰的成長日記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...