📄 pt6911chmodelok.c
字号:
PORTE&=!_BV(PE3);
m1=100;
m0=100;
MD_Key_Flag=1;
}
}
if(m0==90)
m0=0;
}
/* for(m0=0;m0<=100;m0++)
{
Key4= PIND;
Key4 = Key4 & 0x1F;
DelayMs(20);
Key5 = PIND;
Key5 = Key5 & 0x1F;
if((Key4==Key5)&&(Key4==0x1F))
{
Turn_Display_Flag++;
break;
}
if(m0==90)
m0=0;
}*/
}
void Save_Fre_CH_Model(void)
{
if(Display_Dir_Model_Flag==1)
{
Save_Dir_Model();
Save_to_EEprom();
}
if(Display_Fre_Model_Flag==1)
{
Save_Fre_Model(); //此时保存的的数字实际是以前已经保存的的数据只是把频率覆盖了通道不变
Save_to_EEprom();
}
}
void Save_CH_fugai_EEprom(void) //覆盖频率
{
i=0;
for(i1=Display_Ch_Model_Temp_Adress;i1<=(15+Display_Ch_Model_Temp_Adress);i1++)
{
cli();
eeprom_is_ready();
eeprom_busy_wait();
eeprom_write_word(i1,Save_Fre_Channel[i]); // 把此时的数据保存到不为空的那个地址中
//eeprom_is_ready();
//eeprom_busy_wait();
eeprom_write_word(i,Save_Fre_Channel[i]); // 并且保存到第一个地址中,保证开机可以找到最后保存的那个数据
i++;
sei();
}
}
void Save_CH_Model(void)
{
Save_Channel_Model();
Save_CH_fugai_EEprom();
}
void Turn_Display_CH_Flash(void)
{
//uint8_t Fre_No_enable_Timess;
if(Ch_model_sto_enable==0)
{
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x43;
Display_Ch_Model_Temp_CH[5]=0x48;
LCD_Display(Display_Ch_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x20; //CH Flash.F No Flash.
Display_Ch_Model_Temp_CH[5]=0x20;
LCD_Display(Display_Ch_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
}
if(Ch_model_sto_enable==1)
{
}
/* for(Fre_No_enable_Timess=1;Fre_No_enable_Timess<=6;Fre_No_enable_Timess++)
{
if(Fre_No_enbale==1)
{
//Caiji_shuju();
if(Switch_in==0)
break;
}
}
LCD_Display(Display_Channel_Data,2);
Key=Key_Scan();
DelayMs(10);
if((Key==3)&&(Key!=0))
{
j=0;
Display_Frequency_Data[3]=0x46;
Display_Frequency_Data[4]=0x43;
Display_Frequency_Data[5]=0x48;
LCD_Display(Display_Ch_Model_Temp_Fre,1);
LCD_Display(Display_Channel_Data,2);
Save_CH_Model();
//Save_CH_fugai_EEprom();
DelayMs(600);
Display_Ch_Model_Flag=1;
break;
}
if(i==90)
i=0;
}*/
}
void Ch_temp_time(void)
{
uint8_t temp1_dengyu=0;
uint8_t e;
uint8_t f;
for(Channel_Temp_Count=0;Channel_Temp_Count<=99;Channel_Temp_Count++)
{
//Display_Channel_Yunsuan1(Channel_Temp_Count);
temp1_dengyu=0;
for(i=0;i<=7;i++)
{
e=Display_Ch_Model_Temp_CH[i];
f=Display_Channel_Temp_Count[i];
if(e==f)
{
temp1_dengyu++;
}
if(temp1_dengyu==8)
{
Channel_Count=Channel_Temp_Count;
Channel_Temp_Count=99;
break;
}
//if(e!=f)
//break;
}
}
}
void Bijiao_Daxiao(void)
{
uint8_t n10,n11,n12,n13;
//bits=0;
for(n10=0;n10<=CH_temp_Count_Time*32;)
{
for(n11=0;n11<=7;n11++)
{
eeprom_is_ready(); //忙监测
eeprom_busy_wait(); //等待EEPROM 读写就绪
Read_Fre_Channel[n11]=eeprom_read_word(n10+n11);
if(n11==6)
{
n12=eeprom_read_word(n10+6);
}
if(n11==7)
{
n13=eeprom_read_word(n10+7);
}
}
n11=0;
n11=((n12-0x30)*10+(n13-0x30)); //EEPROM保存对应的通道数目
if(Channel_Count!=n11)
{
n10=n10+32; //没有找到找下一个
}
if(n11==Channel_Count)
{
Is_F_Flag=1;
break;
//n0=3168;
}
if((n10>CH_temp_Count_Time*32)&&(n11!=Channel_Count))
{
Is_F_Flag=0;
break;
}//n0=n0+32;
}
}
////////////////////////////////////////////////////////////
void Read_temp_CH_time(void)
{
uint8_t n0,n14,n2,n3;
for(n0=0;n0<=7;n0++)
{
if(n0==6)
n14=Display_Ch_Model_Temp_CH[6];
if(n0==7)
{
n2=Display_Ch_Model_Temp_CH[7];
n3=((n14-0x30)*10+(n2-0x30));
Channel_Count=n3;//((j-0x30)*10+(k-0x30));
}
}
}
void Turn_Display_Dir_Flash (void)
{
uint8_t t1;
uint8_t yanshi_sishu=0;
LCD_Display(Display_Dir_Model_Temp_Fre,1);
for(i=0;i<=100;i++)
{
//Channel_Count=Channel_Temp_Count;//**************************************
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x43;
Display_Ch_Model_Temp_CH[5]=0x48;
LCD_Display(Display_Dir_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x20; //CH Flash.F No Flash.
Display_Ch_Model_Temp_CH[5]=0x20;
LCD_Display(Display_Dir_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
//Display_Channel_Count(Channel_Count);
//Display_Channel_Yunsuan(Channel_Count);
Read_temp_CH_time();
//Display_Channel0();
for(yanshi_sishu=0;yanshi_sishu<=10;yanshi_sishu++)
{
Bijiao_Daxiao();
}
if(Is_F_Flag==1)
Display_Ch_Model_Temp_CH[3]=0x46;
if(Is_F_Flag==0)
Display_Ch_Model_Temp_CH[3]=0x20;
//Display_Channel();
for(t1=0;t1<=7;t1++)
{
Display_Ch_Model_Temp_CH[t1]=Display_Channel_Data[t1];
}
LCD_Display(Display_Dir_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
Key=Key_Scan();
DelayMs(10);
if(Key==3)
{
j=0;
for(j1=0;j1<=100;j1++)
{
Key=Key_Scan();
if(Key==0)
{
Display_Ch_Model_Temp_CH[3]=0x20;
Display_Ch_Model_Temp_CH[4]=0x43;
Display_Ch_Model_Temp_CH[5]=0x48;
LCD_Display(Display_Ch_Model_Temp_CH,2);
k=0;
//如果没有采集数据那么显示第一个数据
for(i=0;i<8;)
{
Save_Fre_Channel[k]=Display_Ch_Model_Temp_CH[i]; //通道在Save_Fre_Channel数组的地位
i++;
k++;
}
for(j=0;j<8;)
{
k=8+j;
Save_Fre_Channel[k]=Display_Dir_Model_Temp_Fre[j]; //通道在Save_Fre_Channel数组的高位
j++;
}
for(yanshi_sishu=0;yanshi_sishu<=10;yanshi_sishu++)
{
if(Time_jiesheng_flag==1)
Save_to_EEprom();
}
yanshi_sishu=0;
Dir_model_sto_enable=0;
Display_Dir_Model_Flag=0;
Display_Fre_Model_Flag=0;
Display_Ch_Model_Flag=1;
//Channel_Count=0;
Display_Eeprom0_address(0);
LCD_Write(0x01,0);
DelayMs(600);
i=100;
j1=100;
break;
}
}
}
if(i==90)
i=0;
}
}
//////////////////////////////////////////////////////////
void Turn_Display_Fre_Flash(void)
//void sudu_moshi1_Fre_model (void)
{
uint8_t t1;
LCD_Display(Display_Fre_Model_Temp_Fre,1);
for(i=0;i<=100;i++)
{
//Channel_Count=Channel_Temp_Count;//**************************************
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x43;
Display_Ch_Model_Temp_CH[5]=0x48;
LCD_Display(Display_Fre_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x20; //CH Flash.F No Flash.
Display_Ch_Model_Temp_CH[5]=0x20;
LCD_Display(Display_Fre_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
//Display_Channel_Count(Channel_Count);
//Display_Channel_Yunsuan(Channel_Count);
Read_temp_CH_time();
//Display_Channel0();
for(yanshi_sishu=0;yanshi_sishu<=10;yanshi_sishu++)
{
Bijiao_Daxiao();
}
if(Is_F_Flag==1)
Display_Ch_Model_Temp_CH[3]=0x46;
if(Is_F_Flag==0)
Display_Ch_Model_Temp_CH[3]=0x20;
for(t1=0;t1<=7;t1++)
{
Display_Ch_Model_Temp_CH[t1]=Display_Channel_Data[t1];
}
if(Display_Fre_Model_Flag==1)
{
LCD_Display(Display_Fre_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
Key=Key_Scan();
//DelayMs(10);
if(Key==3)
{
Display_Channel_Data[3]=0x20;
Display_Channel_Data[4]=0x43;
Display_Channel_Data[5]=0x48;
LCD_Display(Display_Channel_Data,2);
k=0;
//如果没有采集数据那么显示第一个数据
Save_to_EEprom();
DelayMs(600);
i=100;
j1=100;
break;
}
if(i==90)
i=0;
}
}
void Read_Eprom_Address(unsigned int Eprom_Temp_Adress)
{
unsigned char CH_low=0;
unsigned char CH_high=0;
j=0;
for(i=Eprom_Temp_Adress;i<=Eprom_Temp_Adress+15;i++) //读EEPROM中的数据
{
eeprom_is_ready();
eeprom_busy_wait();
Temp_Fre_Channel_Place[j]=eeprom_read_word(Eprom_Temp_Adress+j);
j++;
}
j=0;
for(i=0;i<=15;i++) //变成可以显示的通道频率
{
if(i<=7)
{
Main_Display_CH[i]=Temp_Fre_Channel_Place[i]; //显示通道
}
if(i>=8)
{
Main_Display_Fre[j]=Temp_Fre_Channel_Place[i]; //显示频率
j++;
}
}
for(i=0;i<=7;i++)
{
Display_Ch_Model_Temp_Fre[i]=Main_Display_Fre[i]; //保存临时频率
Display_Ch_Model_Temp_CH[i]=Main_Display_CH[i]; //保存临时通道
if(i==6)
CH_high=Main_Display_CH[6];
if(i==7)
CH_low=Main_Display_CH[7];
Eprom_temp_Times=((CH_low-0x30)+(CH_high-0x30)*10); //保存临时通道次数
}
}
void In_Fre_Frans(void)
{
//uint8_t t5;
// Channel_Count=Channel_Temp_Count;
uint8_t t4;
LCD_Display(Dir_Frequency_Temp,2);
LCD_Display(Display_Dir_Model_Temp_Fre,1);
//Freq_Count=Freq_Count0;
for(i=0;i<=100;i++)
{
Key=Key_Scan();
if((Key==2)&&(Jiaohuan_flag==0))
{
Key=Key_Scan();
if(Key==0)
{
LCD_Display(Dir_Frequency_Temp,1);
LCD_Display(Display_Dir_Model_Temp_Fre,2);
Jiaohuan_flag=1;
}
}
if((Key==2)&&(Jiaohuan_flag==1))
{
Key=Key_Scan();
if(Key==0)
{
LCD_Display(Dir_Frequency_Temp,2);
LCD_Display(Display_Dir_Model_Temp_Fre,1);
Jiaohuan_flag=0;
}
}
if(Key==3)
{
Key=0;
for(j1=0;j1<=100;j1++)
{
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x43;
Display_Ch_Model_Temp_CH[5]=0x48;
//LCD_Display(Display_Dir_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
for(j=1;j<=CH_Flash_Times;j++)
{
if(Delay_300ms==1)
{
Display_Ch_Model_Temp_CH[4]=0x20; //CH Flash.F No Flash.
Display_Ch_Model_Temp_CH[5]=0x20;
//LCD_Display(Display_Dir_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
}
}
Read_temp_CH_time();
//Display_Channel0();
for(yanshi_sishu=0;yanshi_sishu<=10;yanshi_sishu++)
{
Bijiao_Daxiao();
}
if(Is_F_Flag==1)
Display_Ch_Model_Temp_CH[3]=0x46;
if(Is_F_Flag==0)
Display_Ch_Model_Temp_CH[3]=0x20;
for(t4=0;t4<=7;t4++)
{
Display_Ch_Model_Temp_CH[t4]=Display_Channel_Data[t4];
}
//if(Is_F_Flag==1)
//Display_Ch_Model_Temp_CH[3]=0x46;
//if(Is_F_Flag==0)
Display_Ch_Model_Temp_CH[3]=0x20;
LCD_Display(Display_Dir_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
Key=Key_Scan();
if(Key==3)
{
Key=Key_Scan();
if(Key==0)
{
j=0;
Display_Ch_Model_Temp_CH[3]=0x20;
Display_Ch_Model_Temp_CH[4]=0x43;
Display_Ch_Model_Temp_CH[5]=0x48;
LCD_Display(Display_Dir_Model_Temp_Fre,1);
LCD_Display(Display_Ch_Model_Temp_CH,2);
k=0;
//如果没有采集数据那么显示第一个数据
for(i=0;i<8;)
{
Save_Fre_Channel[k]=Display_Ch_Model_Temp_CH[i]; //通道在Save_Fre_Channel数组的地位
i++;
k++;
}
for(j=0;j<8;)
{
k=8+j;
Save_Fre_Channel[k]=Display_Dir_Model_Temp_Fre[j]; //通道在Save_Fre_Channel数组的高位
j++;
}
Save_to_EEprom();
Read_Eprom_Address(0);
DelayMs(600);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -