📄 mainc.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 + -