📄 back_prc.c
字号:
/***********************************************************/
/* */
/* CPU:AT89c55 20MHZ */
/* Copyright 2004.09 Comelit */
/* AUTHOR: LV_XIAO_LU */
/* */
/***********************************************************/
#include "reg52.h"
#include "define.h"
#include "variable.h"
#include "typedef.h"
#include "function.h"
#define TM60S 600
#define TM1MIN 60
#define TM12HOUR 12
/*******************************************************/
/*******************************************************/
void Backup_hd(void);
void Backup_prc(void);
void Backup_time_prc(void);
//void Backup_var(void);
void Backup_mes_control(void);
void Mes_list_disp(void);
/*******************************************************/
/*******************************************************/
/*void (*const code Backup[])(void) =
{
Backup_var,
Backup_mes_control
};*/
/*******************************************************/
/* 该函数10MS处理一次
/*******************************************************/
void Backup_hd(void)
{
if((backup_prc_F == 1)&&(write_F == 0))
{
write_F = 1;
// Backup[backup_step]();
Backup_mes_control();
}
}
/*******************************************************/
/*******************************************************/
void Backup_prc(void)
{
Backup_time_prc();
}
/*******************************************************/
/* 50ms处理一次 */
/*******************************************************/
void Backup_time_prc(void)
{
if(backup_sec_time < TM60S)
backup_sec_time++;
else
{
backup_sec_time = 0;
backup_min_time++;
if(backup_min_time >= TM1MIN) //#define TM1MIN 60
// if(backup_min_time >= 2) //test backup
{
backup_min_time = 0;
backup_hour_time++;
if(backup_hour_time >= TM12HOUR) // #define TM12HOUR 12
// if(backup_hour_time >= 2) // test backup
{
backup_hour_time = 0;
backup_prc_F = 1;
// backup_step = 0;
}
}
}
}
/*******************************************************/
/*******************************************************/
/*void Backup_var(void)
{
Write_sector((unsigned char xdata*)(0x1000),(unsigned char xdata*)0x00);
write_delay_time = TM20MS;
backup_step++;
}*/
/*******************************************************/
/*******************************************************/
void Backup_mes_control(void)
{
if(backup_mes_control_no < 8)
{
Write_sector((unsigned char xdata*)(0x1100 + backup_mes_control_no*256),(unsigned char xdata*)(0x100+backup_mes_control_no *256));
write_delay_time = TM20MS;
backup_mes_control_no++;
}
else //备份工作结束
{
backup_mes_control_no = 0 ;
// backup_step = 0;
backup_prc_F = 0;
}
}
/*******************************************************/
/*******************************************************/
/***********************************************************/
/***********************************************************/
void Mes_list_disp(void)
{
unsigned char i;
/*无信息时的菜单处理*/
if(scr_mes_num == 0)
{
/*第三行第1列显示"无信息请返回"*/
// mes_moment = second_menu[4] ;
Disp_str("无列表信息",3,2,3,7,CHA_COLOR_WHITE,0);
if(mes_list != disp_tcb_list)
{
if(select_position == 0)
at_label = 1;
else
at_label = 0;
Disp_str("上页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
// Disp_str("LA",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label);
if(select_position == 1)
at_label = 1;
else
at_label = 0;
Disp_str("返回",7,7,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
}
/*最后一行中间位置显示带标签的"返回"*/
else
{
at_label = 1;
Disp_str("返回",7,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
// Disp_str("RT",7,8,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label);
}
mes_list_F = 0;
return;
}
/*有信息时菜单处理*/
else
{
Disp_str("信息浏览",0,3,3,BACK_COLOR_WHITE,CHA_COLOR_WHITE,0);
/*最多一屏只能提示五条信息*/
if(mes_list_F == 1)
{ for(i=0;i<scr_mes_num;i++)
{
if(mes_list_old->new_old_F == NEW)
Disp_str("*",i+1,2,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
mes_list_old = mes_list_old->next;
list_num++;
Get_list_str(list_num);
if(select_position == i)
at_label = 1;
else
at_label = 0;
Disp_str(list_str,i+1,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
}
mes_list_F = 0;
}
else
{
switch(select_position)
{
case 0x00:
if(scr_mes_num >= 1)
{
Get_list_str(list_num-scr_mes_num+1);
Disp_str(list_str,1,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
}
break;
case 0x01:
if(scr_mes_num >=1)
{ Get_list_str(list_num-scr_mes_num+1);
Disp_str(list_str,1,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
}
if(scr_mes_num >=2)
{
Get_list_str(list_num-scr_mes_num+2);
Disp_str(list_str,2,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
}
break;
case 0x02:
if(scr_mes_num >= 2)
{
Get_list_str(list_num-scr_mes_num+2);
Disp_str(list_str,2,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
}
if(scr_mes_num>=3)
{
Get_list_str(list_num-scr_mes_num+3);
Disp_str(list_str,3,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
}
break;
case 0x03:
if(scr_mes_num >= 3)
{
Get_list_str(list_num-scr_mes_num+3);
Disp_str(list_str,3,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
}
if(scr_mes_num >= 4)
{
Get_list_str(list_num-scr_mes_num+4);
Disp_str(list_str,4,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
}
break;
case 0x04:
if(scr_mes_num >= 4)
{
Get_list_str(list_num-scr_mes_num+4);
Disp_str(list_str,4,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
}
if(scr_mes_num>=5)
{
Get_list_str(list_num-scr_mes_num+5);
Disp_str(list_str,5,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,1);
}
break;
default:
if(scr_mes_num>=5)
{
Get_list_str(list_num-scr_mes_num+5);
Disp_str(list_str,5,3,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,0);
}
break;
}
}
if(select_position == scr_mes_num)
at_label = 1;
else
at_label = 0 ;
if(list_num > 5)
// Disp_str("上页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
Disp_str("上页",7,1,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
else if(list_num == 5)
// Disp_str("下页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
Disp_str("下页",7,0,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
else
Disp_str("返回",7,4,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label);
/*如果提示不足五条,不显示'下页'*/
if(scr_mes_num == 5)
{
if(select_position == 6)
at_label = 1;
else
at_label = 0;
// Disp_str("下页",7,4,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
if(list_num>5)
{
Disp_str("下页",7,4,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
if(select_position == 7)
at_label = 1;
else
at_label = 0;
// Disp_str("返回",7,8,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
Disp_str("返回",7,7,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
}
else
{
if(select_position == 6)
at_label = 1;
else
at_label = 0;
Disp_str("返回",7,7,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
}
}
else //不足五条信息列表
{
if(select_position == (scr_mes_num+1))
at_label = 1;
else
at_label = 0;
if(list_num>=5)
// Disp_str("返回",7,8,3,BACK_COLOR_BLACK,CHA_COLOR_RED,at_label) ;
Disp_str("返回",7,7,3,BACK_COLOR_BLACK,CHA_COLOR_WHITE,at_label) ;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -