#include".\XQG.h"
#include".\Disp.h"
#include".\Key.h"
#include".\EEPROM.h"
//-------------------------------------------
unsigned char gvc_counter_i,gvc_counter_j,gvc_counter_h;
unsigned char gvc_menu_point; //the point of the menu. save the menu menber
unsigned char gvc_pulse_wide_point;
unsigned char gvc_pulse_gap_point;
unsigned char gvc_current_point;
unsigned char gvc_speed_point;
unsigned char gvc_voltage_point;
unsigned char gvc_load_flg;
unsigned char gvc_tmp;
bit gvb_speed_flg;
bit gvb_speed_time_flg=0;
bit gvb_dop=0;
//--------------------------------------------
bit gvb_key_get_flg; //the flag mark the mcu get the valid key
unsigned char code gcc_default_value[8][8]={
{0,2,0,3,0,10,0,0},
{1,2,0,3,0,10,0,0},
{2,2,0,3,0,10,0,0},
{3,2,0,3,0,10,0,0},
{4,2,0,3,0,10,0,0},
{5,2,0,3,0,10,0,0},
{6,2,0,3,0,10,0,0},
{7,2,0,3,0,10,0,0}
};
unsigned char code gcc_pulse_wide[7]={2,4,8,16,32,64,128};
//unsigned char code gcc_pulse_wide[7]={15,3,6,12,24,48,96};
unsigned char code gcc_pulse_gap[6]={9,4,5,6,7,8};
unsigned char code gcc_speed[7]={10,15,20,25,30,40,50};
//unsigned char code gcc_speed[7]={5,10,15,20,25,30,50};
unsigned int code gcc_menu_addr[8]={SECTOR1,SECTOR2,SECTOR3,SECTOR4,SECTOR5,SECTOR6,SECTOR7,SECTOR8};
extern unsigned int gvi_com_counter;
extern bit gvb_time_ok_flg;
void main()
{
TMOD=0X25; //定时器1工作方式1
SCON=0X50; //串口方式1,8位UART ,波特率可变
PCON=0x00;
TH1=0xfa; //波特率=振荡器频率/[32*12(256-TH1)]
TL1=0xfa; //9600=11059200/[32*12*(256-TH1)] 22118400
T2CON=T2CON_VALUE;
RCAP2H=RCAP2H_VALUE;
RCAP2L=RCAP2L_VALUE;
IE=0X00; //关中断
IT0=SET;
IT1=SET;
EX1=CLEAR;
EX0=CLEAR;
ES=CLEAR;
TR1=CLEAR;
TR2=SET;
TR0=CLEAR;
ET2=SET;
ET0=CLEAR;
ET1=CLEAR;
WDT_CONTR=0x3b;
EA=SET;
//---------------------------------------
//------------------------------------------------
gvc_load_flg=byte_read(EEPROM_MENU);
// gvc_load_flg=0;
if(gvc_load_flg==EEPROM_VALUE)
{
for(gvc_counter_h=0;gvc_counter_h<8;gvc_counter_h++)
for(gvc_counter_j=0;gvc_counter_j<8;gvc_counter_j++)
gvu_Menu_buffer[gvc_counter_h].gvc_arr[gvc_counter_j]=byte_read(gcc_menu_addr[gvc_counter_h]+gvc_counter_j);
}
else
{
for(gvc_counter_h=0;gvc_counter_h<8;gvc_counter_h++)
Sector_eraser(gcc_menu_addr[gvc_counter_h]);
for(gvc_counter_i=0;gvc_counter_i<8;gvc_counter_i++)
{
for(gvc_counter_j=0;gvc_counter_j<8;gvc_counter_j++)
{
gvu_Menu_buffer[gvc_counter_i].gvc_arr[gvc_counter_j]=gcc_default_value[gvc_counter_i][gvc_counter_j];
byte_write((gcc_menu_addr[gvc_counter_i]+gvc_counter_j), gcc_default_value[gvc_counter_i][gvc_counter_j]);
//byte_write(gcc_menu_addr[gvc_counter_i]+gvc_counter_j,gcc_default_value[gvc_counter_i][gvc_counter_j]);
}
}
gvc_tmp=1;
Sector_eraser(EEPROM_MENU);
byte_write(EEPROM_MENU, EEPROM_VALUE);
}
gvc_menu_point=0;
#if 0
for(gvc_counter_i=0;gvc_counter_i<8;gvc_counter_i++)
{
// erasure_sector(gcc_menu_addr[gvc_counter_i]);
for(gvc_counter_j=0;gvc_counter_j<8;gvc_counter_j++)
{
gvu_Menu_buffer[gvc_counter_i].gvc_arr[gvc_counter_j]=gcc_default_value[gvc_counter_i][gvc_counter_j];
// byte_write(gcc_menu_addr[gvc_counter_i]+gvc_counter_j, gcc_default_value[gvc_counter_i][gvc_counter_j]);
}
}
#endif
#if 0
for(gvc_counter_i=0;gvc_counter_i<8;gvc_counter_i++)
{
gvu_Menu_buffer[0].gvc_arr[gvc_counter_i]=byte_read(0x8000+gvc_counter_i);
//gvu_Menu_buffer[0].gvc_arr[gvc_counter_i]=1;
}
Sector_eraser(0x8000);
for(gvc_counter_i=0;gvc_counter_i<8;gvc_counter_i++)
{
byte_write(0x8000+gvc_counter_i, 3);
}
#endif
//-----------------------------------------------------
gvc_menu_point=0;
Fill_disp_buff(gvc_menu_point);
//-------------------------------------------------
while(1)
{
/*
F_A=1;
F_B=0;
F_C=1;
*/
WDT_CONTR=0x3b;
//---------------------------------------------------------------
if(gvb_key_scan_flg)
{
gvb_key_scan_flg=0;
gvb_key_get_flg=Key_get();
gvb_com_flg=Commad_Get();
}
//---------------------------------------------------------------
if(gvb_key_get_flg&&(!gvc_com_out))
//if(gvb_key_get_flg)
{
// gvb_com_flg=1;
gvb_key_get_flg=0;
// VOLTAGE=!VOLTAGE;
switch(gvc_key_out)
{
case KEY1_UP:
Sector_eraser(gcc_menu_addr[gvc_menu_point]);
for(gvc_counter_i=0;gvc_counter_i<8;gvc_counter_i++)
{
byte_write(gcc_menu_addr[gvc_menu_point]+gvc_counter_i, gvu_Menu_buffer[gvc_menu_point].gvc_arr[gvc_counter_i]);
}
gvc_menu_point++; //add the menu
if(gvc_menu_point>7)
gvc_menu_point=0;
//refresh the display
break;
case KEY1_DOWN:
Sector_eraser(gcc_menu_addr[gvc_menu_point]);
for(gvc_counter_i=0;gvc_counter_i<8;gvc_counter_i++)
{
byte_write(gcc_menu_addr[gvc_menu_point]+gvc_counter_i, gvu_Menu_buffer[gvc_menu_point].gvc_arr[gvc_counter_i]);
}
if(gvc_menu_point>0)
gvc_menu_point-=1;
else
gvc_menu_point=7;
break;
//------------------------------------------------------------
case KEY2_UP:
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value++;
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value>6)
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value=0;
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide=
gcc_pulse_wide[gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value];
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value==0)
gvb_dop=0;
else
gvb_dop=1;
break;
case KEY2_DOWN:
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value>0)
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value--;
else
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value=6;
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide=
gcc_pulse_wide[gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value];
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Wide_Value==0)
gvb_dop=0;
else
gvb_dop=1;
break;
//-------------------------------------------------------------------
case KEY3_UP:
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Gap++;
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Gap>9)
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Gap=4;
break;
case KEY3_DOWN:
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Gap>4)
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Gap--;
else
gvu_Menu_buffer[gvc_menu_point].menu.S_Pulse_Gap=9;
break;
//--------------------------------------------------------------------
case KEY4_UP:
gvu_Menu_buffer[gvc_menu_point].menu.S_Current++;
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Current>7)
gvu_Menu_buffer[gvc_menu_point].menu.S_Current=0;
break;
case KEY4_DOWN:
if(gvu_Menu_buffer[gvc_menu_point].menu.S_Current>0)
gvu_Menu_buffer[gvc_menu_point].menu.S_Current--;
else
gvu_Menu_buffer[gvc_menu_point].menu.S_Current=7;
break;
//-------------------------------------------------------------------------
case KEY5_UP:
gvu_Menu_buffer[gvc_menu_point].menu.S_Speed_Value++;
if(gvu_Men
寒泊
- 粉丝: 32
- 资源: 1万+
会员权益专享
最新资源
- 第4次作业_计算税后工资.cpp
- 校园管理 - 学生管理系统源码
- 1047538782469312MOJiRead_channel_google_code_1.5.5_60_20230314182834_NO-HW_release.apk
- stm32的nucleo开发板点亮LED的汇编程序
- WPSOffice-v17.3.2(1394)-v8a,v7a-Balatan.apk
- python练习题代码参考-职工管理系统
- python读取某文件夹下的所有文件名将读出的文件名输出到CSV文件
- Sparse_Identification_Part2.mlx
- python斐波那契数列
- python非递归方式计算阶乘(循环)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


