⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainc.c

📁 某种型号的取暖器的控制软件,包括高压打火,气体检测
💻 C
字号:
#include "externh.h"

//#define SetOSC(1)	(ClrBit(PORTD,0))
//#define SetOSC(0)    (SetBit(PORTD,0))
GOB g;
U16 us[5];


void SetMode(U8);
void SetOSC(U8 os);

int main(void)
{
	SystemInit();
    g.State=0;
	IntEn();
	Delay(2);
//	PowerOn();
	wdt_enable(WDTO_250MS);
    while(1){
	    wdt_reset();
	    if(g.Flag.ms10){
	    	g.Flag.ms10=0;
	    	KeyScan();
	    }
        switch(g.State){
        	case 0:
        		GetKey();
        		if(ONOFF==Key.hz){
        			PowerOn();
        			g.State=1;
        		}
        		break;
        	case 1:
        		SetOSC(1);
        		SetMode(1);
        		DianTimer=1000;
        		g.State=2;
        		break;
        	case 2:
        		GetKey();
        		if(ONOFF==Key.hz){
        			SetMode(0);
        			PowerOff();
        			break;
        		}
        		if(DianTimer){
        			if(ChkBit(PINB,0)){
        				SetOSC(0);
        				g.State=3;
        			}
        			break;
        		}
   				SetOSC(0);
   				PowerOff();
        		g.State=0;
        		break;
        	case 3:
        		GetKey();
        		if(!ChkBit(PINB,0)){
        			PowerOff();
        			g.State=0;
        		}
        		if(ONOFF==Key.hz){
        			SetMode(0);
        			PowerOff();
        			break;
        		}
        		if(BIG==Key.hz){
        			SetMode(2);
        			break;
        		}
        		if(SMALL==Key.hz){
        			SetMode(1);
        			break;
        		}
        		break;
        }
//        g.Flag.ms10=0;
    }
}
void SetOSC(U8 os)
{
	if(os){
		SetBit(TCCR0A,COM0A0);
		ClrBit(TCCR0A,COM0A1);
		ClrBit(PORTD,0);
	}else{
		ClrBit(TCCR0A,COM0A0);
		SetBit(TCCR0A,COM0A1);
		SetBit(PORTD,0);
	}
}
void SetMode(U8 ch)
{
	switch(ch){
		case 0:
			SetBit(BIG_1S_P,BIG_1S);
			SetBit(BIG_H_P,BIG_H);
			ClrBit(LED_BIG_P,LED_BIG);
			SetBit(SMALL_1S_P,SMALL_1S);
			SetBit(SMALL_H_P,SMALL_H);
			ClrBit(LED_SMALL_P,LED_SMALL);
//			Delay(100);
			break;
		case 1:
			ClrBit(SMALL_1S_P,SMALL_1S);
			ClrBit(SMALL_H_P,SMALL_H);
			SetBit(LED_SMALL_P,LED_SMALL);
			Delay(20);
			SetBit(BIG_1S_P,BIG_1S);
			SetBit(BIG_H_P,BIG_H);
			ClrBit(LED_BIG_P,LED_BIG);
			Delay(30);
			SetBit(SMALL_1S_P,SMALL_1S);				
			break;
		case 2:
			ClrBit(BIG_1S_P,BIG_1S);
			ClrBit(BIG_H_P,BIG_H);
			SetBit(LED_BIG_P,LED_BIG);
			Delay(20);
			SetBit(SMALL_1S_P,SMALL_1S);
			SetBit(SMALL_H_P,SMALL_H);
			ClrBit(LED_SMALL_P,LED_SMALL);
			Delay(30);
			SetBit(BIG_1S_P,BIG_1S);
			break;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -