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

📄 main.c

📁 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码 凌阳61单片机做的酒精控制器源码
💻 C
字号:
#include"SPCE061A.H"
#include"Uart.h"
#include"Key.h"
#include"Led.h"
#include"Main.h"

static unsigned char ucKeyValueTemp;
static unsigned char ucKeyValue;
static unsigned char ucSysState;

void main(void){	
	vSysInit();
	while(1){
		vHandleLed();
		vHandleKey();
		vHandleAlarm();
		vHandleUart();
		*Port_Watchdog_Clear = 0x01;
	}
}


void vSysInit(void){
	vAlarmSysInit();
	vDetectSysInit();
	vUartSysInit();
	vIsrSysInit();
	ucSysState = SYS_STATE_DISP;
}

void vHandleLed(void){
	unsigned int temp;
	if(SYS_STATE_DISP ==ucSysState){
		temp = unGetDetectValue();
		if(DETECT_DATA_VALUE_INVALIDATE != temp){
			vSetLedDispNum(temp);
			vLedDispNum();
		}
		return;
	}
	if(SYS_STATE_SET == ucSysState){
		vSetLedDispNum(temp);
		vLedDispNum(ucKeyValueTemp);
	}
}

void vHandleKey(void){
	unsigned char ucKeyTemp;
	ucKeyTemp = ucGetKey();
	if(KEY_VALUE_INVALIDATE != ucKeyTemp){
		if(SYS_STATE_DISP == ucSysState){
			if(KEY_VALUE_SET == ucKeyTemp){
				ucSysState = SYS_STATE_SET;
				return;
			}	
		}
		if(SYS_STATE_SET == ucSysState){
			switch(ucKeyTemp){
				case KEY_VALUE_SET:
					ucSysState = SYS_STATE_DISP;
					ucKeyValue = ucKeyValueTemp;
					break;
				case KEY_VALUE_CLEAR:
					ucKeyValueTemp /=10;
					break;
				default:
					if(ucKeyValueTemp < 1000){
						ucKeyValueTemp = 10 * ucKeyValueTemp + ucKeyTemp;
					}
					break;
			}
		}
	}
}	

void vHandleAlarm(void){
	unsigned int temp;
	temp = unGetDetectValue();
	if(DETECT_DATA_VALUE_INVALIDATE != temp){
		if(ucKeyValue <= temp){
			vAlarm();
		}else{
			vUnAlarm();
		}
	}
}


void vHandleUart(void){
	unsigned int temp;
	temp = unGetDetectValue();
	if(DETECT_DATA_VALUE_INVALIDATE != temp){
		vUartTx(&temp);
	}
}



⌨️ 快捷键说明

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