您当前的位置:首页 > 公司动态

基于MSP430F149单片机的人机界面设计

时间:2015-04-13  来源:扁平线圈电感厂家  点击:
一体电感器项过多,多屏显示此菜单目录。通过分级,使操作人员能很直观快速找到自己当前需要的菜单项,液晶屏菜单界面设置如图2所示。


2一体电感器.2.2建表

字符或数字在点阵液晶中的显示是通过写相应的内码(1点亮,0灭)实现的,结合整个菜单设计,需要显示的文字并不多,可以先做好码表,把用到的汉字对应的内码保存在一个名为HZ_TAB的表中,每个16xl6点阵的字符需要32个byte表示;把要用到的数字0~9和字母对应的16x8点阵内码保存在一个名NUM_JAB的表中,每个需要16个byte表示;把图片保存在PIC_TAB表中,需要byte数根据大小而定。16x16点阵汉字和16x8点阵数字、字母和任意大小黑白图片字模数据库可由专门的字模提取软件提取字模建立。
菜单一般由西文字符和中文汉字组合而成,每一条菜单项定义一个数组Menu_string,格式如下:{菜单项字符数,第一个字符在字库中的序号,第二个字符,....}。需要注意的是, 在自建西文字库NUM_TAB 和小汉字库HZ_TAB 时,每个中西文字符都是各自编号的。由于中西文显示调用同一个函数,为区别中西文字符,在菜单数组编号时可以在汉字在HZ_TAB库中的编码前加128(0X80)作为标识, LCD在显示内容时,需要判断编号的值, 确定当前位内容是汉字还是西文,然后做调用相应的处理。菜单项的反亮显示采取的办法是将显示内容的所有字模数据按字节取反后再进行常规显示即可。图3为某一项中西文菜单混合显示流程,其中m=1表示该位为汉字, m=0表示该位为ASCII字符.


2.2.3数据结构
本系统采用8个按钮来接受用户输入,8个按钮为上、下、左、右、回车、退回、加、减。为方便数据显示和处理。需要首先建立一个菜单窗口结构体并定义一个结构变量WinStruct,该结构中共有11个结构元素,分别是10个字符型和1个指针变量,指针变量指向需执行函数。 Typedef struct{ uchar Menulndex;//当前菜单索引号 uchar BackWinlndex;//当前窗口的上一窗口索引号 uchar NextDnlndex;//下一个菜单索引号,按下“上插件电感器,下”键时当前菜单项上下一体成型电感器移动 uchar NextUplndex;//或可修改参数数值向上下循环变化 uchar NextLIndex; //下一个菜单索引号,按下“左,右”键时当前菜单项左右移动 uchar NextRtlndex;//或在可修改参数位置上左右移动 uchar Key CrState; //按下“回车”键时用户选择确认或参数输入确定 uchar KeyBackState; //按下“退回”键时用户退出当前窗口,返回上一窗口 uchar KeyPlus; 插件电感/ / 按下“加”键,可叠层片式电感器修改参数加1;uchar KeyMinus; / / 按下“减”键,可修改参数减1;void( CurrentOperate)();//当前状态应该执行的功能操作 }WinStruct; 菜单项在LCD上显示,通过建立菜单项结构体,定义一个结构变量 MenuStruct。如下: Typedef struct{ uchar Menulndex; //当前菜单索引号 uchar NextWinlndex;//下一窗口索引号 uchar cursor_page ://菜单项起始页位置 uchar cursor_col; / / 菜单项起始行位置 uchar type ; / / 菜单项显示的数据类型,16x16或16x8点阵等 uchar *data; / / 指向显示数据区 uchar dataNum;/ / 需要显示的数据的个数 uchar black; / / 是否反显菜单项 uchar modify ; / / 数据是否需要修改 } MenuStruct;
2.3 人机界面设计
人机交互设计的重点在于界面的显示、滚屏、光标的管理及参数的显示、修改和保存。系统在内存中特定区域开辟了1个LCD显示缓冲区,将要显示的整个窗口的点阵数据存放在此区间。LCD的显示程序从此区间中读取数据到LCD点阵数据存储区,借此,LCD显示程序可管理用户交互界面。用户可以用8个按键(向上、向下、向左、向右、确定、返回、加、减)在菜单方式下实现人机交互。
参数的输入、输出显示和保存是人机交互界面设计的重要环节。
下面以第二级菜单中的参数设置为例,进行详细介绍。在主菜单下,将光标移到“参数设置”,按下“确定”键,进入“参数设置”菜单。显示的内容有:设备参数,投切条件,保护定值,电容参数,时钟校准,通讯参数,等等。
装置出厂前已经对各参数进行初始化,存储在二维数组Array[19][5]中,每个参数一行,参数每一位的值都对应存储在数组中的相应位置。定义一个指针P指向Array,表示光标的位置,当然,进入“参数设置”菜单时P=Array[0][0],光标在首行的第一个X的位置,表示选中该参数位。按下“向上”、“向下”、“向左”、“向右”四个方向键来移动光标到待修改的那一位数字上时,P=Array[i][j]则根据按下的键不同而作相应的修改,一般如下:向上,i-1;向下,i +1;向左,j-1;向右,j+1。当然,首先要对原来的i,进行判断。遇到特殊情况要特殊处理。如光标原在某行的第一个参数位上,j= 0,按下向左的键则不改变光标。

大电流电感

BUCK,BOOST,BUCK-BOOST电感问题请问各位高手,BUCK,BOOST,BUCK-BOOST这几种变换器设计时是否必须让电感电流处于连续状态?取电感量时应该注意那些方面?自己顶一下,请各位高手不惜赐教怎么没人回呀,再顶看你

saber仿真错误问题 我用saber仿真了一个反激的开关电源,提示找不到直流工作点:如下:


> tr (monitor 100,tend 1m,tstep 10n*** ERROR "CLASS_IP_NOT_FOUND" *** The initial point "dc" is n

单芯片嵌入式网关在煤井下人员定位中的应用随着Internet技术的飞速发展,煤矿井下光纤环网是近年来研究与应用的热点,它在煤矿井下安全监控中起着越来越重要的作用。本文在煤矿井下光纤环网的框架下,设计了光纤以太网转工业RS 485总线的网关,

注塑加工厂


上一篇基于USB接口设备的固件程序设计

下一篇基于CAN总线的并联逆变电源通信监控系统研究


  
  温馨提示
网站首页 | 产品展示 | 科技前沿 | 行业资讯
本公司专业研发、设计、生产、销售贴片电感、插件电感、功率电感、大电流电感、扁平线圈电感、一体成型电感。
专业电感生产制造商,品质优异、交期快。
在线客服
热线电话