process.h文件:
/*------------------------------------
名称:菜单处理模块
编写:YuMin_Dong
时间:2013.01.24
------------------------------------*/
#ifndef _PROCESS_H_
#define _PROCESS_H_
bit Menu_Flag;//设置画面显示标志
bit FanHui1;//是否退出主菜单标签
bit Refresh_SetTime; //设置了时间需要刷新显示置位改表现
bit Menu1,Menu2,Menu3,Menu4,Menu5,Menu6,Enter_Menu; //Menu0定义在LCD12864.H中了,因为显示时间函数重复利用了.
//UINT8 MenuKey_Count; //菜单键按下的次数
//UINT8 fen,shi,miao;//秒表功能用
bit Again; //为了静态显示定义该标志,在子菜单下,第一次进入显示一次界面然后在不修改前不会去刷新它
//bit Speaker_Flag; //按键音标志
bit Set_Bright,Set_Speaker; //亮灭背景光和按键音开关选项标志
bit Bell_Flag;
bit Menu1_Flag,Menu2_Flag;
/*------------------------------------
按键控制位定义
------------------------------------*/
sbit KEY_MENU=P3^2; //选择键,调用中断,及时性
sbit KEY_UP=P0^0; //上调
sbit KEY_DOWN=P0^1; //下调
sbit KEY_ENTER=P0^2; //确定
sbit SPEAKER=P2^7; //驱动喇叭位
sbit BRIGHT=P0^7; //背光控制位
/*------------------------------------
主界面处理
------------------------------------*/
void MainMenu_Pro()
{
if(guide!=guide_old) //箭头位和之前的不同的话证明按键了,刷新显示
{
LCD_RefreshMenu(); //刷新菜单显示
guide_old=guide; //LCD静态显示,不然快速刷屏不好看
LCD_WriteCommand(0x30); //修正回一般指令模式
LCD_WriteCommand(0x82);
LCD_SendString("功能菜单");//菜单标题
}
if(!KEY_DOWN) //
{
DelayMs(10);
if(!KEY_DOWN)
{
TR1=1;
while(!KEY_DOWN)
;
if(guide<MENU_NUM-1)
guide++;
TR1=0;
}
}
else if(!KEY_UP)