移植傻孩子大侠的菜单成功了(51+1602),需要的参考下。

2020-01-20 18:57发布

未命名.jpg (81.37 KB, 下载次数: 14) 下载附件 2012-4-4 18:32 上传 新建文件夹 (2).rar (139.23 KB, 下载次数: 2264) 2012-4-4 18:31 上传 点击文件名下载附件
仿真+程序



还有些功能想加上去,不知道咋加了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
69条回答
mafeimafei
2020-01-26 00:54
显示函数中:显示条目数,大于,一屏可显示条目或小于时;好像没有什么区别?不明白。
//*------------------------------------------------------------------------------
//*显示函数
//*------------------------------------------------------------------------------
void        ShowMenu(void)
{
                unsigned char i = 0;
                MaxItems = MenuPoint[0].MenuCount;        //获取当前菜单的条目数
                DisplayPoint = DisplayStart;
                if (MaxItems > LCD1602MaxDisplaYLinE){          //如果大于能显示的菜单数做处理
                        for (i = 0;i < LCD1602MaxDisplaYLinE;i++){
                                        LCD1602wRITESTring(i,1,MenuPoint[DisplayPoint].DisplayString);
                                        if ((DisplayPoint) == (UserChoose)){
                                                        LCD1602SetWZ(0,0,0x7e);   //写小箭头
                                                }
                                        else{
                                                        LCD1602SetWZ(i,0,' ');          //写空格
                                                }
                                        DisplayPoint += 1;   //字符串偏移量+1
                                        if ((DisplayPoint) == (MaxItems)){
                                                        DisplayPoint = 0;
                                                }       
                                }
                        }
                else{
                        for (i = 0;i < LCD1602MaxDisplaYLinE;i++){
                                          LCD1602wRITESTring(i,1,MenuPoint[DisplayPoint].DisplayString);
                                        if ((DisplayPoint) == (UserChoose)){
                                                        LCD1602SetWZ(0,0,0x7e);          //写小箭头
                                                }
                                        else{
                                                        LCD1602SetWZ(i,0,' ');    //写空格
                                                }
                                        DisplayPoint += 1;        //字符串偏移量+1
                                        if ((DisplayPoint) == (MaxItems)){
                                                        DisplayPoint = 0;
                                                }
                                }
                        }
}

一周热门 更多>