stm32-12864液晶-菜单设计

上传人:大米 文档编号:491009620 上传时间:2023-07-11 格式:DOCX 页数:21 大小:19.80KB
返回 下载 相关 举报
stm32-12864液晶-菜单设计_第1页
第1页 / 共21页
stm32-12864液晶-菜单设计_第2页
第2页 / 共21页
stm32-12864液晶-菜单设计_第3页
第3页 / 共21页
stm32-12864液晶-菜单设计_第4页
第4页 / 共21页
stm32-12864液晶-菜单设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《stm32-12864液晶-菜单设计》由会员分享,可在线阅读,更多相关《stm32-12864液晶-菜单设计(21页珍藏版)》请在金锄头文库上搜索。

1、/*enu.h*#ifndef _MENU_Hdefne _MU_H#nclde stm20xhinclue SyTi.hincde #inclue 12864.h#includ AdcDiplah#icue e.h#inlud spi_tm7705.h#lue eeprmhtypedf suctmenu/定义一种菜单 u8rage_fo,age_t; /目前显示的项开始及结束序号u8 itmCount;/项目总数 8 seeted;/目前选择项 u8 *menuItems17;/菜单项目 ruc enu *subMenu;/子菜单sruc meu parnt;/上级菜单 ,如果是顶级则为nl

2、vo (*fuc)();/选择相应项按拟定键后执行的函数Mnu;voi inDispay(oid);vd DisayMen(8 lie);vod fnc(void);voi Unitc(od);i Unth2(id);oid Uic3(vod);oiUnitc4(voi);void Diahage(vid);vi MChan(vo);u1umLoop(u16 u,u8 pm);u8 Chane(u8l,un8_* title);videnuInt(void);endf /* _MEU_H*/*mnu.h*/*meuc*/* * 文献名 :mnu.c* 描述 :液晶菜单函数库 实验平台: * 硬

3、件连接- * * * * -库版本:ST3.00*/#nudme.h菜单与AD成果显示变量,0为AD,1为菜单extenu8MenuD0;/typeef stuct menu/定义一种菜单/ u angfrom,range_t;/目前显示的项开始及结束序号/u8 itmCoun;/项目总数/ u8 sld;/目前选择项/ u8 *menuItems17;/菜单项目/ stuct menu *ubMnus;/子菜单/ tuc enu *parnt;/上级菜单 ,如果是顶级则为null/ id (*fc)();/选择相应项按拟定键后执行的函数/Mu;MeainMen /定义主菜单 0,3,4,0,

4、/默认显示03项,总共4项,目前选择第0项 单位设立 0,直径设立 x10, 模量设立 10, 有关 ;enuUnitMeu =/单位设立菜单 0,3,4,0, 应变量 , 锁模力KN, 锁模力Ton, 取消 ;u Unith;/单位选择,0为变形量,1为应变量,2为锁模力Meu Diaenu /单位设立菜单 0,0,1,0, 主99 mm ;MenuMeu= /模量设立菜单0,0,1,0, 主999 K2 ;8 DaVal;/直径数值u8 lal;/模量数值/菜单与AD成果显示变量,为AD,1为菜单 Menuis;/复位前指数u16BaseAD4;/横截面积u16 miani;/横截直径u1

5、6 zhijng;/模量u16 molang;/按键返回值u8 keval;unt_title1单位:;int8t ttle=单位:N/MM2;xtern u ADRut4;/存储成果的数组etern in16_tVtAdarTaNmfV;/epromenu *curentMenu;/目前的菜单void aispay(oid)if (MenD=0) AdUi();keyval=eyan();wic(keval)as 0:/什么都不干Dela_s(50);br;case 1:/向上i(Menuis=1)if(crrentMenu-selected= 0)/到了第一项 break;lsecrren

6、tMn-selct; DisplaMen(urrentMnu-sletd);bak;ase 2:/向下f(MenuDis=1)if(crntMen-secte = curreenuimCount1) eak; els curenenueleced+; iplMenu(crenMn-slected); ak;case 3:/确认 if(nis=0) 1;LCD_nit();DiplaMnu(currenMen-seleced); ese if(urntMenu-subMeusretMu-selcted !=NLL) D_Init(); ureMenu = rentMenusubncurrentM

7、nu-selecd; DispaMenu(urreMenu-slce); ese if(cretenufuncurrentenselected ! NULL) LCD_nit(); curentMeunccurrentMeu-selected();/执行相应的函数 curenMe-sleced=0; DisplayMen(urrentMenu-eleted);/返回后恢复本来的菜单状态 beak;cse 4:/取消if(MenDis=1)f(rreMenu-paret!=ULL)/父菜单不为空,将显示父菜单 LC_It(); crentMenu = cuentenu-pan;curentMen

8、u-select=0; DisplayMen(currentenu-selected); eseMeuDis=0;/urrntMnu=inMenu;currenteu-selectd=;LCD_Init();AdUi();Dela_ms(100);elsCl_Sc();eays(50);Wrie_Char(0,00);/关闭扩展指令/复位归零BaeD0=DResult0;BsD1=ADReult1;aeADReslt2;BasD3=ADRslt3;dU();bek;defat:break;/用于显示菜单项void DisplMeu(u lin)/显示菜单项并设立选中的项反白 int ;line = 3(crretMen-range_to-line); (i =0;ranefom); WhiteLieIit(); Whit_Line(ine,8);/反白显示指定行od u(voi)uit8_t* s=为人民服务;LCDre_Strin(1,0,s);Day_ms(00);vid itc1(oid)UnitC=0;LCD_In();rrentMnu = currenten-parent;crrnteu-seted=0;isayMenu(cuentMenslcte);void nih2(o)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号