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

📄 main.c

📁 一个数码管与NTC的应用实例
💻 C
字号:
#include"pic.h"
#include"LED.h"
#include"Main.h"
__CONFIG (HS & PWRTDIS & LVPDIS & BORDIS & WDTDIS&DUNPROT);
extern const unsigned Tem_Table[100];
bank1 extern  unsigned char Time_data[10];
bank1 extern  unsigned char Temp_data[11];
bank1 extern unsigned char Display_data[24];
extern struct _Key_Inf_    Key_Inf;
extern unsigned Timer1;
extern unsigned Timer2,Timer3,Timer4;
extern unsigned char Timer2_PreScale_Counter;
extern unsigned Timer3_PreScale_Counter;
extern unsigned char Timer4_PreScale_Counter;
union _Task Task;
unsigned char Mode=0;
extern unsigned char Beep_Counter;
extern unsigned char Beep;
extern unsigned AD1_Value,AD0_Value;
bit AD_turn;
unsigned char	Timer2_Pross_Counter,Timer2_Pross;
void main(void)
{	TRISC=0;
	TRISB=0;
	PORTC=0;
	PORTB=0;
//	Data_INT();//开机做这步
//	Beep_Counter=eeprom_read(0);
	CPU_INT();
	while(1)
	{
		switch(Mode)
		{
			case Off:
					Off_Mode();
					break;
			case Setting:
					Setting_Mode();
					break;
			case Working:
					Work_Mode();
					break;
		}
/*		if((Key_Inf.Status==Press_Down)&&(Key_Inf.Response==1))
		{
			if(Key_Inf.KeyCode==10)
			{
				Display_data[0x00]=Time_data[9];
				Display_data[0x01]=Time_data[9];
				Display_data[0x02]=Time_data[9]+1;
				Display_data[0x03]=Time_data[9];
				Display_data[0x08]=Temp_data[8];
				Display_data[0x09]=Temp_data[10];
				Display_data[14]=Display_data[14]|0x80;
				Exposure_Time_Enlable=1;	
			}
			if(Key_Inf.KeyCode==5)
			{
				Display_data[0x04]=Time_data[9];
				Display_data[0x05]=Time_data[9];
				Display_data[0x06]=Time_data[9];
				Display_data[0x07]=Time_data[9];
				Exposure_Time_Enlable=1;	
			}
		}
		else if(Key_Inf.Status==Press_Hold)
		{
			
			
		}*/

/*		if((Key_Inf.Status==Press_Down)&&(Key_Inf.Response==1))
		{
			Display_data[0x00]=Time_data[Key_Inf.KeyCode];
			Key_Inf.Response=0;
		}
		else if(Key_Inf.Status==Press_Hold)
		{
			
			Display_data[0x00]=Time_data[(unsigned char)(j++)/25];
		}*/
	}
}
void interrupt IRQ(void)
{
	unsigned char i;
	if(TMR1IF)
	{
		
		TMR1=0x9e50;
		TMR1IF=0;
		if(Task.Flag.timer1_Enlable==1)
		{
			Timer1--;
		}
		if(Task.Flag.timer2_Enlable==1)
		{
			if(Timer2_PreScale_Counter==9)
			{
				Timer2--;
				Timer2_PreScale_Counter=0;
				Timer2_Pross_Counter++;
			}
			else
			{
				Timer2_PreScale_Counter++;
			}
			switch(Timer2_Pross)
			{
				case 0://7路高10S
					{
						if(Timer2_Pross_Counter==10)
						{
							Timer2_Pross_Counter=0;
							Timer2_Pross++;
						}
						else
						{
							Timer2_Control1=0;
							Timer2_Control2=1;
						}
						break;
					}
				case 2://8路高10S
					{
						if(Timer2_Pross_Counter==10)
						{
							Timer2_Pross_Counter=0;
							Timer2_Pross++;
						}
						else
						{
							Timer2_Control1=1;
							Timer2_Control2=0;
						}
						break;
					}
				default://2路低2S
					{
						if(Timer2_Pross_Counter==2)
						{
							Timer2_Pross_Counter=0;
							if(Timer2_Pross==3)
								Timer2_Pross=0;
							else
								Timer2_Pross++;
						}
						else
						{
							Timer2_Control1=1;
							Timer2_Control2=1;
						}
					}
			}
		}
		else
		{	Timer2_Control1=1;
			Timer2_Control2=1;
		}
		if(Task.Flag.timer3_Enlable==1)
		{
			if(Timer3_PreScale_Counter==599)
			{
				Timer3--;
				Timer3_PreScale_Counter=0;
			}
			else
			{
				Timer3_PreScale_Counter++;
			}
		}
		if(Task.Flag.timer4_Enlable==1)
		{
			if(Timer4_PreScale_Counter==9)
			{
				Timer4--;
				Timer4_PreScale_Counter=0;
			}
			else
			{
				Timer4_PreScale_Counter++;
			}
		}
		if(Beep_Counter>0)
		{
			Beep=1;
			Beep_Counter--;
		}
		else
		{
			Beep=0;
		}
		if(!ADGO)
		{
			if(AD_turn==0)
			{
				AD_turn=1;ADCON0=0b10001001;
				AD0_Value=(AD0_Value-AD0_Value/4)+(ADRESH*256+ADRESL)/4;
				
				ADCON0=0b10001101;
			}
			else
			{
				AD_turn=0;ADCON0=0b10000001;
				AD1_Value=(AD1_Value-AD1_Value/4)+(ADRESH*256+ADRESL)/4;	
				ADCON0=0b10000101;
			}
		}	
	}
	else if(T0IF)
	{		
		TMR0=0x0a;	
		Display();
		Key_Scan();
		T0IF=0;
		
	}
	
}

⌨️ 快捷键说明

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