单片机源程序如下:
#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);
//
//
//
//
//
// }
}
……………………
上一篇:检测0~20MA电流传感器报警控制程序
下一篇:单片机+DHT11温湿度检测程序
推荐阅读最新更新时间:2024-10-24 04:17
设计资源 培训 开发板 精华推荐
- Stereo Mic and Speaker HAT:适用于 Raspberry Pi 的实用、多彩的即插即用音频 HAT
- STC15L2K60S2系统板
- 【航顺训练营】航顺MCU初探 copy
- LT5520、1.3GHz 至 2.3GHz 高线性度上变频混频器的典型应用
- 1111
- ADP2380-EVALZ,ADP2380 评估板,20V,4A,同步降压稳压器,低侧驱动器
- DC2008A,LTC1625IGN 演示板,4.5V = VIN = 28V,VOUT = 3.3V,15A
- LT1308BIS8 锂离子至 5V 升压转换器的典型应用电路提供 1A
- LT3990IMSE 2.5V 降压转换器的典型应用
- 智能燃气表/水表
- 科学家研发基于AI的身份验证工具 可保护车辆免受网络攻击威胁
- Microchip推出广泛的IGBT 7 功率器件组合,专为可持续发展、电动出行和数据中心应用而设计
- 面向未来驾驶体验 博世推出新型微电子技术
- 英飞凌与马瑞利合作 利用AURIX™ TC4x MCU系列推动区域控制单元创新
- 5C超充,该怎么卷?
- 《2025年度中国汽车十大技术趋势》正式揭晓!你最看好哪个?
- Microchip推出新型VelocityDRIVE™软件平台和车规级多千兆位以太网交换芯片,支持软件定义汽车
- 英特尔中国正式发布2023-2024企业社会责任报告
- can转485数据是如何对应的
- MCU今年的重点:NPU和64位