简单菜单系统Proteuspg液晶.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mega16单片机 程序 interface.h /* 移植时要实现以下函数: LcdClrScrn(); ????????? //清屏 ShowARROW(SysSclt);???????? //在某一行显示箭头 DisShowARROW(SysSclt);????? //在某一行不显示箭头 ShowLine(0, Copy Right); //在某一行显示字符串 uchar GetKey();???? //按键检测函数。 ???? ??? 返回Key_Up?? Key_Down Key_Right Key_Left */ #ifndef __INTERFACE_H__ #define __INTERFACE_H__ ??? #include KEY.h ??? //extern void Interface(void); ?? #define???? GOTO_CHILD?? 0XFC #define???? FROM_FATHER 0XFC ??? #define???? GOTO_FATHER 0XFD //之前设置为0xff 不对,有问题,子界面返回时,不刷新 #define???? FROM_CHILD?? 0XFD //########################################################## #define INT8U unsigned char INT8U Key;????? //系统按键. INT8U KeyDir = FROM_FATHER;?? //用来各个界面之间的切换时传递参数. //============================================================== //系统界面函数声明区.(一定要声明!) 有几个不同的界面就有几个函数 void UI_Idle(void); void UI_Help(void); void UI_Time(); void UI_Temperature(); void UI_Play(); void UI_Set(); void (*pUI)()=UI_Idle; //界面指针初始化为IDLE函数. 函数指针 ?????????? //pUI();为当前while()大循环下执行的函数 #define?? UI_GOTO(index)???? {pUI=(index);}??? #define?? UI_GOTO_CHILD(index)?? {pUI=(index); KeyDir=GOTO_CHILD;} #define?? UI_GOTO_FATHER(index)?? {pUI=(index); KeyDir=GOTO_FATHER;} //======================================================================== //以下是各个界面的函数实现.每个函数都要在上面声明! //空闲状态下的循环. void UI_Idle() { static INT8U SysSclt=0;?? //当前选中的是哪一项 switch(Key) { ?? //进入菜单. ?? case FROM_FATHER: ?? case FROM_CHILD: ?? //case GOTO_FATHER: ??? LcdClrScrn(); ???? ?????? // 0 1 2 3 4 ?? #define?? IDLE_MENU_MAX 4?? ??? ShowLine(0,1.Temperature); ??? ShowLine(1,2.Time); ??? ShowLine(2,3.Play Games); ??? ShowLine(3,4.Set ); ??? ShowLine(4,5.Help); ??? ShowLine(7, ???????? select); ??? ShowARROW(SysSclt); ??? break; ?? //箭头上移 ?? case Key_Up: ??? DisShowARROW(SysSclt); ??? if(SysSclt==0)SysSclt=IDLE_MENU_MAX; ??? else SysSclt--; ??? ShowARROW(SysSclt); ??? break; ?? //箭头下移 ?? case Key_Down: ????? ??? DisShowARROW(SysSclt); ??? SysSclt++; ??? if(SysScltIDLE_MENU_MAX)SysSclt=0; ??? ShowARROW(S

文档评论(0)

ipad0b + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档