单片机源程序如下:
#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-11-17 00:45
设计资源 培训 开发板 精华推荐
- 使用 Microchip Technology 的 MIC5333-2.5/1.2YMT 的参考设计
- NHS3152THADADK: NHS3152治疗依从性入门套件
- LT1171HVCQ、12V/2.5A 负至正降压-升压转换器的典型应用
- 家庭巡查车
- AM1G-1218DH30Z ±18V 1 瓦 DC-DC 转换器的典型应用
- LT1307CS8 恒流镍镉电池充电器的典型应用电路,具有用于应答寻呼机的过压保护
- LTC1286 ADC 参考电压的典型用途
- 使用 ROHM Semiconductor 的 BD48K35G-TL 的参考设计
- AM6TW-2415SZ 15V 6 瓦单路输出 DC-DC 转换器的典型应用
- AR0234CSSM00SUKAH3-GEVB:带有 2MP 单声道 0deg 全局快门 CMOS 图像传感器的 2.3MP 评估板
- 睿瀚医疗万斌:“脑机接口+AI+机器人”是康复赛道的未来
- 希润医疗孟铭强:手功能软体机器人,让脑卒中患者重获新生
- 柔灵科技陈涵:将小型、柔性的脑机接口睡眠设备,做到千家万户
- 微灵医疗李骁健:脑机接口技术正在开启意识与AI融合的新纪元
- USB Type-C® 和 USB Power Delivery:专为扩展功率范围和电池供电型系统而设计
- 景昱医疗耿东:脑机接口DBS治疗技术已实现国产替代
- 首都医科大学王长明:针对癫痫的数字疗法已进入使用阶段
- 非常见问题解答第223期:如何在没有软启动方程的情况下测量和确定软启动时序?
- 兆易创新GD25/55全系列车规级SPI NOR Flash荣获ISO 26262 ASIL D功能安全认证证书
- 新型IsoVu™ 隔离电流探头:为电流测量带来全新维度