»ùÓÚSTC89c52RCµ¥Æ¬»úµÄÖÇÄÜ·çÉÈÉè¼Æ ÏÂÔØ±¾ÎÄ

¹âµçÐÅϢЭ»áµç×ÓÉè¼Æ¾ºÈü ÖÓÅàÎÄС×é

{

change_speed(); change_mode(); }

void stop(void) {

p=0;PWM_ON=0; run_flag=0; r_flag=0; Init_all(); i=0,j=0,a=0; mode2_flag=0; mode3_flag=0; timing_flag=0; tim=0; timing_run=0; timing_on=0;

write_string(11,1,\ \}

void change_speed(void) { switch(i) {

case 1: PWM_ON=2;led(1,0);break; case 2: PWM_ON=4;led(2,0);break; case 3: PWM_ON=8;led(3,0);break; } }

//ģʽÇл»

//ËÙ¶ÈÇл»

//ֹͣϵͳ

21

¹âµçÐÅϢЭ»áµç×ÓÉè¼Æ¾ºÈü ÖÓÅàÎÄС×é

void change_mode(void) { switch(j) {

case 1: led(0,1);fan_normal();break; case 2: led(0,2);fan_natural();break; case 3: led(0,3);fan_sleep();break; } }

//.....................................led¿ØÖƺ¯Êý void led(uchar o,uchar p) { switch(o) {

case 0: break;

case 1: led1=0;led2=1;led3=1;break; case 2: led1=1;led2=0;led3=1;break; case 3: led1=1;led2=1;led3=0;break; case 4: led1=1;led2=1;led3=1;break; } switch(p) {

case 0: break;

case 1: led4=0;led5=1;led6=1;break; case 2: led4=1;led5=0;led6=1;break; case 3: led4=1;led5=1;led6=0;break; case 4: led4=1;led5=1;led6=1;break; } }

/* ģʽº¯Êý

*/

22

¹âµçÐÅϢЭ»áµç×ÓÉè¼Æ¾ºÈü ÖÓÅàÎÄС×é

void fan_normal(void) { p=1; }

void fan_natural(void) {

if(mode2_flag==0) { time1=0; p=1; mode2_flag=1; }

if(time1==4)

{ p=0; } if(time1==12) { p=1; time1=0; } }

void fan_sleep(void) {

if(mode3_flag==0)

{ i=1; time1=0; p=1;

mode3_flag=1; }

23

¹âµçÐÅϢЭ»áµç×ÓÉè¼Æ¾ºÈü ÖÓÅàÎÄС×é

if(time1==8) { p=0; }

if(time1==16) { p=1; time1=0; } }

/* ģʽº¯Êý void Delayus(uint t) { while(--t); }

void Delayms(uint n) {

while(--n) {

Delayus(245); Delayus(245); } }

*/

/*.........................³õʼ»¯¶¨Ê±Æ÷ ................................ */ void Init_timer(void) {

TMOD=0x11; TH1=0X00; TL1=0X00;

TH0=(65536-50000)/256; TL0=(65536-50000)%6;

24