简单代码实现LCD菜单(C语言的实现方法---加强版 有视频教程)
单片机中 LCD实现菜单方法
我上篇BLOG《12864实现菜单(C51控制 原创) 》发表后有很多网友,来咨询我这方,面的问题。没办法了,回邮件很辛苦。千奇百怪的问题,很辛苦的哇!!
现在有在在发一会代码上去。并且有视屏教程。是我半年前写的,非常好的代码,大家可以清晰的看到:如何使用C语言去实现LCD 的菜单。
因为这个代码写了有段时间了,所以录制视频的是很不太顺。呵呵!不过凭你的聪明才智我想我已经,讲的非常非常之详细了。
注明:
这次代码,1个积分。基本上算是送无偿给大家了。1分就是看看有多少人下载咯!哈哈~~~~~
下面发一段简单的代码:(精华也是代码的一部分如果需要就去CSDN下载吧)
//=====================================================================
// 菜单指针指向的函数(既索引对应的功能体)
//=====================================================================
void Top_Menu(void)
{
Send_EnterKey();
Send_String("***************************/r/n");
Send_String("*******主菜单界面*********/r/n");
Send_String("***************************/r/n");
Send_String("***************************/r/n");
Send_String("建立时间:"__DATE__" /r/n");
Send_String(" "__TIME__" /r/n");
Send_String("左键: 进入菜单 /r/n");
Send_String("右键: 进入宝典 /r/n/r/n");
Send_String("%K1菜单% %K2宝典%/r/n");
Send_String("***************************/r/n");
Send_EnterKey();
LED1_ON();
}
void Menu_IN(void)
{
Send_EnterKey();
Send_String("***************************/r/n");
Send_String("*******进入菜单界面*********/r/n");
Send_String("***************************/r/n");
Send_String("短信 信息宝典 设置 /r/n");
Send_String("彩信相册 彩信 彩信帝国/r/n");
Send_String("互联网 电话本 播放器 /r/n");
Send_String("通话记录 闹钟 多媒体/r/n");
Send_String(" %K3返回%/r/n");
Send_String("***************************/r/n");
Send_EnterKey();
LED2_ON();
}
void baodian(void)
{
Send_EnterKey();
Send_String("***************************/r/n");
Send_String("*******进入宝典界面*********/r/n");
Send_String("***************************/r/n");
Send_String("1、新闻资讯/r/n");
Send_String("2、天气预报/r/n");
Send_String("3、聊天交友/r/n");
Send_String("4、无限游戏/r/n");
Send_String("5、笑话情趣/r/n");
Send_String("6、神机妙算/r/n");
Send_String("7、两性生活/r/n");
Send_String(" %K3返回%/r/n");
Send_String("***************************/r/n");
Send_EnterKey();
LED3_ON();
}
//=====================================================================
// 菜单的实现代码如下:
//=====================================================================
#define MENU_SIZE 18 //菜单长度
unsigned char KeyFuncIndex=0; //存放当前的菜单索引
void (*KeyFuncPtr)(); //定义按键功能指针
//定义类型
typedef struct
{
unsigned char KeyStateIndex; //当前的状态索引号
unsigned char KeyLiftState; //按下向左键时的状态索引号
unsigned char KeyRightState; //按下向右键时的状态索引号
unsigned char KeyReturnState; //按下返回键时的状态索引号
void (*CurrentOperate)(); //当前状态应该执行的功能操作
} StateTab;
//=====================================================================
//数据结构数组
StateTab code KeyTab[MENU_SIZE]=
{
{0,1,2,0, (*Top_Menu)}, //顶层
{1,1,1,0, (*Menu_IN)}, //菜单
{2,2,2,0, (*baodian)}, //宝典
};
//=====================================================================
void MenuOperate(void)
{
if(K1==0) //左键
{KeyFuncIndex=KeyTab[KeyFuncIndex].KeyLiftState;}
if(K2==0) //右键
{KeyFuncIndex=KeyTab[KeyFuncIndex].KeyRightState;}
if(K3==0) //返回键
{KeyFuncIndex=KeyTab[KeyFuncIndex].KeyReturnState;}
//此处添加按键错误代码
//下面是执行按键的操作
KeyFuncPtr=KeyTab[KeyFuncIndex].CurrentOperate;
(*KeyFuncPtr)(); //执行当前的按键操作
}
//======================================================================
// 菜单功能程序结束
//======================================================================
void main()
{
#ifdef Enable_UART_Debug //调用串口初始化程序
Init_Com();
#endif
MenuOperate();
while(1)
{
if(K1==0||K2==0||K3==0)
{LED_OFF();MenuOperate(); }
}
}
好好研究!你一定能成功!这篇博客只讲解代码精华部分。
代码思路可以移植到任何LCD.不管是彩色还是黑白,LED也行啊!
下载地址:http://download.csdn.net/source/1923194
简单代码实现LCD菜单(C语言的实现方法---加强版 有视频教程)相关推荐
- java代码中如何嵌入c语言,Android中Java代码与C的互相调用(JNI的简单使用)
引言 最近在做项目的时候,接触到JNI,想一想自己第一次接触这个东西的时候,还是好久之前,现在既然接触到了,那我就简单的跟大家讲一讲JNI的基本使用方法. JNI(Java Native Interf ...
- 【排序算法】简单选择排序及实例_C语言代码实现_Python代码实现
博客对您有所帮助的话,欢迎给个赞啦,你的鼓励是对我最大的支持! 有不足之处也请您评论指教 简单选择排序 简单选择排序是选择排序的一种. 问:那么什么是选择排序? 答:每趟从待排序的记录中选出关键字最小 ...
- 基于单片机的LCD菜单设计
在小型的单片机设备中,需要使用LCD菜单进行人机交互.对于这种交互的实现,一来无需像在手机上做APP一样,做出花哨的界面效果:二来这种小设备也不支持那样太消耗资源的界面系统.所以这种场合下,需要我们亲 ...
- 代码检查规则:Python语言案例详解
在之前的文章中代码检查规则:Java语言案例详解学习了Java的检查规则.我们今天将学习<代码检查规则:Python语言案例详解>,内容主要分为两个部分:Python的代码检查规则和Pyt ...
- 简述如何书写工程化的简单代码
在坛子里混了这么久,看了很多同学的代码,感觉到大家的代码,学校里面的书生气有点重,对于细节考虑不够,有时候,感觉和吃了颗苍蝇一样,确实很不舒服. 这里根据我个人的经验,给大家简述一下,工程化代码,以及 ...
- 数据结构——顺序栈和链式栈的简单实现和解析(C语言版)
摘自:数据结构学习--顺序栈和链式栈的简单实现和解析(C语言版) 作者:正弦定理 发布时间:2020-11-26 21:26:49 网址:https://blog.csdn.net/chineseko ...
- 简单的计算机程序代码,优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能...
优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能.编程语言中,数组是一个非常重要的概念,也是一种很常用的类型.本文中通过javascript语言的代码实例,展现编程中数组的魅力.在javasc ...
- Jquery简单的右侧浮动菜单
今天有空稍微看了下Jquery动画函数animate这个方法,发现可以用这个方法来做下简单的右侧浮动菜单 因为经常做淘宝页面时候会碰到这样的效果 以前都是用人家的javascript组件代码 发现老是 ...
- php js多语言切换,php简单实现多语言切换的方法_php技巧
本文实例讲述了php简单实现多语言切换的方法.分享给大家供大家参考,具体如下: 1.主程序代码: $value){ if($_SESSION["language"] == $val ...
- 简单的车票管理系统(c语言)
简单的车票管理系统(c语言) 前言 车票管理系统 管理员登陆 录入信息 查询信息(分为按车次和按终点站) 操作员登陆 查询信息 订票 退票 总结点击这里 最最重要的在这里 前言:(作者瞎比比,没耐心请 ...
最新文章
- Comment:研究微生物,只靠多组学根本不够
- 对第三方 SDK 依赖冲突,重新打个包试试
- Python 技术篇-读取文件,将内容保存dict字典中。去掉字符串中的指定字符方法,dict字典的遍历
- c++:opencv的安装和配置
- 《应届生求职面试全攻略》学习笔记(三)——面试题目分类讲解
- [Effective JavaScript 笔记]第29条:避免使用非标准的栈检查属性
- J2ME最佳实践之联网开发-编写反应灵敏的联网提示界面
- GC Blocks Lost等待事件
- 【原】 图片预览 Image preview
- python笔试题(一)
- linux ping 不通 arp incomplete,关于show arp表,显示Incomplete问题
- 企业园区网IPv6地址规划方案与应用
- USB3.0:VL817Q7-C0的LAYOUT指南(三)
- 产品经理面试必问5大问题 (六)
- python明文密文_「每日一练」Python实现明文和密文的输入
- 如何使用格式工厂将vtt文件格式字幕加在视频文件中
- 奉劝那些想涨工资的程序员,这些 IT 大神们都在用的网站,你越早知道越好(建议收藏)!!...
- 基于SSH的婴幼儿产品销售系统的开发与设计毕业设计论文
- 盘点Java技术在生活中的10大应用
- JAVA连接SQL2005