基于蓝桥杯单片机第七届省赛模拟风扇系统源码

由于涉及到的外设较少,工程也较简单,主要逻辑代码(main函数)如下。


main.c

#include  "sys.h"

u16 smgtime=0;
u8 keytime=0;
u8 s=0;
u16 sytime=0;
u16 time=0;
u8 cmode=1;//工作模式 1:睡眠风 2:自然风 3:常风
u8 UIC=1;//界面选择
u8 DX=0;
u8 temp=0;//读取到的温度数据
u8 PwmTime=0;//计时
u8 HPwm=0;
u8 PWMFLAG=0;
void PwmSetting(){
	
	if(sytime==0){
		
		P34=0;
		return ;
		
	}
	
		if(cmode==1) HPwm=2;
		else if(cmode==2) HPwm=3;
		else if(cmode==3)HPwm=7;
		
	if(HPwm>PwmTime&&PWMFLAG==1){
		P34=1;
		PWMFLAG=2;
	}
	else if(HPwm<=PwmTime&&PWMFLAG==2){
		P34=0;
		PWMFLAG=3;
	}
	if(PwmTime==10){
		PwmTime=0;
		PWMFLAG=1;
	}
	
	
}
void LedSetting(){
	u8 leds=0;
	if(!sytime)leds=8;
	else if(cmode==1)leds=0;
	else if(cmode==2)leds=1;
	else if(cmode==3) leds=2;
	
	P0=0xff;
	P2=P2&0x1f|0x80;
	if(leds!=8)
	P0=~(1<7)s=0;
	
	if(sytime!=0){
		time++;
		if(time==1000){
			time=0;
			sytime--;
	}
}
	
}
void time1() interrupt 3{
	
	if(sytime!=0){
	PwmTime++;
	 
	}
	
	
}

附上百度网盘链接提供参考:

链接:https://pan.baidu.com/s/1EksLtBSP15IY9bsw1zK80w 
提取码:yzh1

你可能感兴趣的:(单片机,单片机,蓝桥杯,c语言)