熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機4個按鍵菜單

單片機4個按鍵菜單

作者: 時間:2016-11-13 來源:網絡 收藏
#include "main.h"

void PWM_Ctrl(signed char i) //脈沖寬度設置
{
}

本文引用地址:http://www.bjwjmy.cn/article/201611/316565.htm

void OpenTime_Ctrl(signed char i) //開時間設置
{
}

void CloseTime_Ctrl(signed char i) //關時間設置
{
}

void ClearData(signed char i) //清除數據
{
}


void NullMenu(signed char i) //空操作
{
;
}

struct MenuItem
{
void (*Display)(void); //顯示函數
void (*Subs)(signed char i); //節(jié)點函數
struct MenuItem *ChildrenMenus; //子菜單
struct MenuItem *ParentMenus; //母菜單
};

//本文共計2級菜單

struct MenuItem SetMenu[4]; //設置鍵子菜單
struct MenuItem StartMenu; //開始菜單
struct MenuItem (*MenuPoint) = &StartMenu;
struct MenuItem (*last_MenuPoint) = &StartMenu;

struct MenuItem SetMenu[4] =
{ // Display Subs ChildrenMenus ParentMenus
{ Display_S0, PWM_Ctrl, &SetMenu[1], &StartMenu},
{ Display_S1, OpenTime_Ctrl, &SetMenu[2], &StartMenu},
{ Display_S2, CloseTime_Ctrl, &SetMenu[3], &StartMenu},
{ Display_S3, ClearData, &StartMenu, &StartMenu},
};

struct MenuItem StartMenu =
{
Display_Count, NullMenu, &SetMenu[0], &StartMenu
};


void Data_manage(void)
{
;

}


void Key_Handle(void)
{
unsigned char key;
signed char i = 0;

if (key_value == 0)
{
return;
}
key = key_value;
key_value = 0;

switch (key)
{
case KEY_START:
MenuPoint = (*MenuPoint).ParentMenus;
break;
case KEY_SET:
MenuPoint = (*MenuPoint).ChildrenMenus;
pause_flag = 1; //暫停計數
break;
case KEY_UP:
i = 1;
break;
case KEY_DOWN:
i = -1;
break;
default:
break;
}

Data_manage();
(*(*MenuPoint).Subs)(i);
(*(*MenuPoint).Display)();

Refresh_flash();
}

void Display(void)
{
if (time_1s_flag == 1)
{
time_1s_flag = 0;
(*(*MenuPoint).Display)();
}
}



關鍵詞: 單片機按鍵菜

評論


技術專區(qū)

關閉