单片机LCD12864无限扩展多级菜单源码

发布者:JoyfulSpirit5最新更新时间:2019-11-18 来源: 51hei关键字:单片机  LCD12864  多级菜单 手机看文章 扫描二维码
随时随地手机看文章

单片机源程序如下:

#include "delay.h"

#include "12864.h"

#include "fun.h"

#include "key.h"

#include "wakeup.h"

u8  func_index=0;


void (*current_operation_index)(); //执行当前显示函数

typedef struct

   {

        u8 current;        //当前状态号

        u8  up;//向上翻索引号

        u8 down;//向下翻索引号

        u8 enter;//确认索引号

        u8 num_ent;//编码器确认键

        void (*current_operation)(); //要执行的函数

        } key_table;


         key_table table[21]=

{

  {0,3,1,4,15,(*fun1)},//运行状态

         {1,0,2,6,1,(*fun2)}, //历史记录

        {2,1,3,10,2,(*fun3)},//版本信息

        {3,2,0,11,3,(*fun4)},//功能设置

        {4,5,5,15,4,(*fun5)},//运行参数

        {5,4,4,0,5,(*fun6)}, //运行时间

         {6,9,7,0,1,(*fun7)},//故障记录

        {7,6,8,0,1,(*fun8)},//7天记录

        {8,7,9,0,1,(*fun9)},//今年记录

        {9,8,6,0,1,(*fun10)}, //往年记录

         {10,0,0,0,2,(*fun11)},//版本信息

        {11,14,12,19,3,(*fun12)},//设置通讯地址

        {12,11,13,0,3,(*fun13)},//设置语言

        {13,12,14,0,3,(*fun14)}, //设置时间

         {14,13,11,0,3,(*fun15)},//更多

        {15,18,16,0,15,(*fun16)},//主画面

        {16,15,17,0,15,(*fun17)},//输入数据

        {17,16,18,0,15,(*fun18)}, //输出数据

         {18,17,15,0,15,(*fun19)},//功率参数

        {19,17,15,0,11,(*fun20)},//通讯地址

};

        

        int main(void)

{

        u8 num;

        SystemInit();                //系统初始化

        delay_init(72);             //延时初始化

        LCD12864_InitPort(); //端口初始化

        LCD12864_Init();         //液晶初始化

  Key_Init();//按键初始化

        

        

//  LCD12864_Pos(3,5);

        LCD12684_Wdat(0x35);


                while(1)

         {

                 num=KEY_Scan();//得到键值

                if(num==3)


//                {

//                switch(num)

//                        { 

//                                case 1:

//                                func_index=table[func_index].up;  break;  //向上翻

//                                case 2:

//                                func_index=table[func_index].down; break;   //向下翻

//                                case 3:

//                                func_index=table[func_index].enter; break;   //确认

//                                case 4:

//                                func_index=table[func_index].num_ent; break; 

//                                }           

//         LCD12864_Clr();    //clear all dots

//                 }                                

//                current_operation_index=table[func_index].current_operation;

//                (*current_operation_index)();//执行当前操作函数

//   }

        { 

                 delay_ms(500);

                Sys_Enter_Standby();

        }

         

//         if(KEY_Scan()==1)

//         {

//                RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);

//                 

//         

//         

//         

//         

//         }

  }


……………………



关键字:单片机  LCD12864  多级菜单 引用地址:单片机LCD12864无限扩展多级菜单源码

上一篇:检测0~20MA电流传感器报警控制程序
下一篇:单片机+DHT11温湿度检测程序

推荐阅读最新更新时间:2024-10-24 04:17

单片机LCD12864无限扩展多级菜单源码
单片机源程序如下: #include delay.h #include 12864.h #include fun.h #include key.h #include wakeup.h u8 func_index=0; void (*current_operation_index)(); //执行当前显示函数 typedef struct { u8 current; //当前状态号 u8 up;//向上翻索引号 u8 down;//向下翻索引号 u8 enter;//确认索引号 u8 num_ent;//编码器确认键 void (*current_operat
[单片机]
一个轻量级的单片机多级菜单实现方法
在 单片机 设计中,往往需要在显示屏上显示多级操作菜单,每级菜单都有一些菜单项和对应的按键操作,以及为响应各种操作而执行的后续处理程序。参考文献以函数指针为结构元素,把整个菜单结构拉伸成一个结构数组,内部包含了全部菜单项。这种方法没有将菜单项数据与功能函数分开设计,而把菜单项数据写在功能函数中,当菜单项数据需要改变时,必须修改功能函数,这在很大程度上限制了程序的通用性,不利于程序的维护。参考文献在前者的基础上略加改进,在原结构体中增加了菜单项显示文字和按键复用标识,这使得结构体较为庞大,且菜单项的文字内容非常固定,保存在EEPROM中,无法灵活改变显示内容和位置。参考文献引入Windows系统下的窗口和消息机制实现多级菜单设计
[单片机]
一个轻量级的<font color='red'>单片机</font><font color='red'>多级菜单</font>实现方法
单片机C语言下LCD多级菜单的一种实现方法
0  引言 由于C 语言的结构性和模块化,采用C 语言编写的程序容易阅读和维护,还有很好的可移植性。本文介绍一种用C 语言实现的LCD 多级菜单的方法,该方法已成功应用在煤矿安全监测设备上。 1  硬件环境及LCD 菜单实现的功能 图形点阵式液晶可显示用户自定义的任意符号和图形,并可卷动显示。它作为单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中,例如手机上的显示屏就是图形点阵液晶。 采用图形点阵式液晶显示较之其它显示方式主要有以下优点: (1) 工作电压低、功耗极低。工作电压仅为3~5 V ,工作电流 10 A/ cm2 ,特别适用于低功耗的仪器仪表中。 (2) 液晶显示属被动显示,
[单片机]
一种单片机多级菜单的模块化设计方法
引言     在单片机设计中,往往需要在显示屏上显示多级操作菜单,每级菜单都有一些菜单项和对应的按键操作,以及为响应各种操作而执行的后续处理程序。参考文献以函数指针为结构元素,把整个菜单结构拉伸成一个结构数组,内部包含了全部菜单项。这种方法没有将菜单项数据与功能函数分开设计,而把菜单项数据写在功能函数中,当菜单项数据需要改变时,必须修改功能函数,这在很大程度上限制了程序的通用性,不利于程序的维护。参考文献在前者的基础上略加改进,在原结构体中增加了菜单项显示文字和按键复用标识,这使得结构体较为庞大,且菜单项的文字内容非常固定,保存在EEPROM中,无法灵活改变显示内容和位置。参考文献引入Windows系统下的窗口和消息机制实现多级菜
[单片机]
一种<font color='red'>单片机</font><font color='red'>多级菜单</font>的模块化设计方法
51单片机学习:LCD12864液晶显示实验
实验名称:LCD12864液晶显示实验(带字库) 接线说明: 实验现象:下载程序后,LCD12864上显示汉字字符信息 注意事项: ***************************************************************************************/ #include public.h #include lcd12864.h /******************************************************************************* * 函 数 名 : main * 函数功能 : 主函数 * 输 入 : 无 * 输 出
[单片机]
单片机万年历(LCD12864、DS18B20、DS1302)
一、简介 此电路由AT89C51最小电路板和LCD12864显示模块、DS18B20温度模块、DS1302时钟模块组成。 主要的功能是:显示实时的时间和当前的温度。 二、运行效果 三、部分代码 /*想要更多项目私wo!!!*/ #include reg51.h #include DS18B20.H #include DS1302.H #include LCD12864.H unsigned char j ; sbit KEY1=P3^2; sbit KEY2=P3^3; sbit KEY3=P3^4; sbit LED1=P3^5; sbit LED2=P3^6; sbit LED3=P3^7; ucha
[单片机]
<font color='red'>单片机</font>万年历(<font color='red'>LCD12864</font>、DS18B20、DS1302)
单片机_LCD12864显示自己制作的图片(时钟为例)
显示屏上显示自己想要的背景图,然后再在背景图上增加相应的功能,应用ps可以很方便的修改图片为自己想要的。 准备软件: phtotshop cs3 自用的一款,小巧非专业实用的ps软件,下载地址如下, 链接:https://pan.baidu.com/s/1R2ydl_TXEP7pWUv8VFlMbA 提取码:a1rz 字模提取软件 链接:https://pan.baidu.com/s/1aHq8Noin0VTgdnHIhhSGfQ 提取码:uiqg 1.用ps(Photoshop)新建一个 注意宽度和高度要和12864的一样,选择位图,为一位。 2,为了方便调整图片,我们选择图像模式为灰度,(
[单片机]
<font color='red'>单片机</font>_<font color='red'>LCD12864</font>显示自己制作的图片(时钟为例)
51单片机 LCD12864 驱动程序 C语言 ST7920
main.c #include reg52.h #include intrins.h #include string.h #include stdio.h #include stdlib.h #include LCD12864.h void main( void ) { Ini_Lcd(); Lcd_WriteStr(0,0, QQ137712826 ); while ( 1 ) { } } lcd12864.h #include reg52.h #include intrins.h sbit RS = P2 ^ 0; sbit R
[单片机]
51<font color='red'>单片机</font> <font color='red'>LCD12864</font> 驱动程序 C语言 ST7920
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved