单片机的人机界面设计_第1页
单片机的人机界面设计_第2页
单片机的人机界面设计_第3页
单片机的人机界面设计_第4页
单片机的人机界面设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于MSP430F149单片机的人机界面设计费文坤,陶维青(合肥工业大学电气与自动化工程学院,安徽省 合肥市 230009)The Design of Human Machine Interface Based on MSP430F149FEI Wen-kun,TAO Wei-qing(School of Electric and Automation Engineering ,Hefei University of Technology,Hefei 230009,Anhui Province ,China )摘要:本文分析MSP430F149的特点,介绍了该单片机芯片与图形点阵液晶显示模块连

2、接的硬件接口电路和如何在LCD液晶上实现多级菜单和多层屏幕,提出了一种利用数据结构,设计LCD液晶菜单通用方法,实现基于MSP430F149的液晶图形显示,并在此基础上实现简单易行的人机界面设计关键词: MSP430F149;液晶显示模块;人机界面中图分类号:TP334 文献标识码:BAbstract:This paper analyzes the characteristics of MSP430F149, introduces the hardware interface circuit between MCU and LCD and how to establish multilevel

3、 menu and multilayer screens.According to data construction,the method used to design LCD menu is presented.It also shows us LCD based on MSP430F149,so the goal of simple Human Machine Interface can be achieved.Key:MSP430F149;LCD;HMI0引言近年来,随着电子技术和集成电路制造工艺的飞速发展,越来越多的领域应用到以单片机为控制核心的现代智能仪器设备,如果在这些以单片机为

4、核心的控制系统中配上人机交互界面,通过液晶显示器和按键配合操作可更方便有效地完成各种功能选择、参数设置和分析结果显示,采用汉字显示菜单,界面友好且直观。随着液晶显示技术的进步,高质量的点阵液晶显示模块由于具有显示信息丰富、功耗低、体积小、质量小、无辐射以及使用寿命长等优点被日趋广泛地应用于各种嵌入式系统中,同时低功耗特性也贯穿于中文人机界面的设计始终。现以电力系统配电变压器监测终端(TTU的人机交互部分为例,介绍一种使用OCM12864-3型图形点阵液晶显示模块实现中文窗口菜单界面的方法。1 系统的硬件结构11 MSP430F14X微控制器简介MSP430F14X微控制器是德州仪器公司新开发的

5、一类具16位总线的单片机,它基于真正的正交16位RISCCPU内核,具有16个可单周期全寻址的16位寄存器,仅27条的精简指令以及7种均采用双重取数据技术(DDFT的一致性寻址方式。DDFT技术利用每个时钟脉冲对存储器进行两次数据存取操作,从而不再需要复杂的时钟乘法和指令流水线方案。MSP430F14X系列MCU具有丰富的片上外围模块,片内包括有精密硬件乘法器、多达60KB的FLASH,2KB的RAM、1个看门狗、6个P口(P1和P2还具有中断功能、12位AD转换器、2个16位定时器、高精度比较器、高速的USART通信端口,1个DCO内部振荡器和2个外部时钟等常用资源,可实现对液晶显示器的检测

6、、解调和显示。与现代程序设计技术以及高级语言(如C语言结合使用,使得MSP430的体系结构更加高效,从而在工程技术,特别是PDA产品开发中得以广泛应用1。12 OCM12864-3型液晶显示模块简介OCM12864是一种128×64点阵(EL背光的液晶显示器。它由两片带控制器的列驱动电路KS0108和一片行驱动电路KS0107组成主要硬件电路,KS0108将控制显示屏分为左右半屏,通过CS1,CS2选择。整个屏从上到下64行分为8页,每列8行页地址范围为B8H-BFH,列地址范围为40H-7FH,数据为纵向读写,即每页的第一行对应D0,第八行对应D7。每个驱动芯片带有64×

7、64位(512 B的RAM缓冲区,其中存储的数据即为被显示内容的点阵信息。通过选择对应的RAM 页地址和列地址,微控制器可以访问全部RAM 字节。显示RAM 的每一位对应显示屏上的一个点。显示的实现,就是显示RAM 内容中相应位为1,该点阵亮,相应位为0,该点阵无显示。对存储器的读取是从头至尾的,但在屏幕上显示的位置是可以设置的,通过对显示起始行的设定来设定显示位置2。13 硬件接口电路由于该款液晶显示屏将接口电路直接引出,因此对于用户而言,整体设计大大简化,只需考虑单片机与接口电路间的连接即可。MSP430F149与OCM12864 的线路连接如图1所示。该款液晶显示模块有13条信号线:(1

8、DB0一DB7:数据总线。(2CS:片选信号,低电平有效。当单片机访问OCM-12864时,将其置低。(3 RS:数据指令选择信号,高电平:数据D0-D7将送入显示RAM ;低电平:数据D0-D7将送入指令寄存器执行。(4R/W:读写选择信号,高电平:读数据;低电平:写数据。 (5)E:读写使能信号,高电平有效,下降沿锁定数据。(6RET:复位信号,低电平有效3。 图1 人机界面硬件接口电路 图2 液晶屏菜单界面设置 由于MSP430的I/O口都是复用端口,因此必须将用到的引脚设为输入/输出口。此外,MSP430是3.3供电,而LCD是5V驱动的,我们可以在MSP430的输出口对地接3.6V的

9、嵌位二极管,在保证MSP的端口电压不超过极限值的前提下,实现MSP430到LCD的电平转换. 2 系统的软件设计21基本驱动函数编写首先使用C语言在头文件中对OCM12864控制线进行定义,然后编写LCD驱动函数,这些函数包括模块初始化、写指令代码、写显示数据、读显示数据、写菜单项、清屏、清页等函数。22 LCD显示菜单设计221菜单界面设计本系统应用于无功补偿控制器,要求显示电网三相电压、电流值,无功功率、有功功率、无功因数,20次的电压谐波含量,无功补偿控制方式自动手动选择,参数设置等。针对显示要求把整个系统设计成多级屏幕(窗口,又设计成多级主菜单,类似的功能放在一个主菜单菜单项下构成子菜

10、单目录。如果菜单目录项过多,多屏显示此菜单目录。通过分级,使操作人员能很直观快速找到自己当前需要的菜单项,液晶屏菜单界面设置如图2所示。222 建表字符或数字在点阵液晶中的显示是通过写相应的内码(1点亮,0灭实现的,结合整个菜单设计,需要显示的文字并不多,可以先做好码表,把用到的汉字对应的内码保存在一个名为HZ_TAB的表中,每个16xl6点阵的字符需要32个byte表示;把要用到的数字09和字母对应的16x8点阵内码保存在一个名NUM_JAB的表中,每个需要16个byte表示;把图片保存在PIC_TAB表中,需要byte数根据大小而定。16x16点阵汉字和16x8点阵数字、字母和任意大小黑白

11、图片字模数据库可由专门的字模提取软件提取字模建立。菜单一般由西文字符和中文汉字组合而成,每一条菜单项定义一个数组Menu_string,格式如下:菜单项字符数,第一个字符在字库中的序号, 第二个字符,.。需要注意的是, 在自建西文字库NUM_TAB 和小汉字库HZ_TAB 时,每个中西文字符都是各自编号的。由于中西文显示调用同一个函数,为区别中西文字符,在菜单数组编号时可以在汉字在HZ_TAB库中的编码前加128(0X80)作为标识, LCD在显示内容时,需要判断编号的值, 确定当前位内容是汉字还是西文,然后做调用相应的处理。菜单项的反亮显示采取的办法是将显示内容的所有字模数据按字节取反后再进

12、行常规显示即可。图3为某一项中西文菜单混合显示流程,其中m=1表示该位为汉字, m=0表示该位为ASCII字符. 图3 某一项中西文菜单混合显示流程223数据结构本系统采用8个按钮来接受用户输入,8个按钮为上、下、左、右、回车、退回、加、减。为方便数据显示和处理。需要首先建立一个菜单窗口结构体并定义一个结构变量WinStruct,该结构中共有11个结构元素,分别是10个字符型和1个指针变量,指针变量指向需执行函数。 Typedef structuchar Menulndex;/当前菜单索引号uchar BackWinlndex;当前窗口的上一窗口索引号uchar NextDnlndex;下一个

13、菜单索引号,按下“上,下”键时当前菜单项上下移动 uchar NextUplndex;或可修改参数数值向上下循环变化uchar NextLIndex; 下一个菜单索引号,按下“左,右”键时当前菜单项左右移动 uchar NextRtlndex;或在可修改参数位置上左右移动uchar Key CrState; 按下“回车”键时用户选择确认或参数输入确定uchar KeyBackState; 按下“退回”键时用户退出当前窗口,返回上一窗口 uchar KeyPlus; / / 按下“加”键,可修改参数加1;uchar KeyMinus; / / 按下“减”键,可修改参数减1;void( Curre

14、ntOperate();当前状态应该执行的功能操作WinStruct;菜单项在LCD上显示,通过建立菜单项结构体,定义一个结构变量MenuStruct。如下:Typedef structuchar Menulndex; 当前菜单索引号uchar NextWinlndex;下一窗口索引号uchar cursor_page :菜单项起始页位置uchar cursor_col; / / 菜单项起始行位置uchar type ; / / 菜单项显示的数据类型,16x16或16x8点阵等uchar *data; / / 指向显示数据区uchar dataNum;/ / 需要显示的数据的个数uchar b

15、lack; / / 是否反显菜单项uchar modify ; / / 数据是否需要修改 MenuStruct;23 人机界面设计人机交互设计的重点在于界面的显示、滚屏、光标的管理及参数的显示、修改和保存。系统在内存中特定区域开辟了1个LCD显示缓冲区,将要显示的整个窗口的点阵数据存放在此区间。LCD的显示程序从此区间中读取数据到LCD点阵数据存储区,借此,LCD显示程序可管理用户交互界面。用户可以用8个按键(向上、向下、向左、向右、确定、返回、加、减在菜单方式下实现人机交互。参数的输入、输出显示和保存是人机交互界面设计的重要环节。下面以第二级菜单中的参数设置为例,进行详细介绍。在主菜单下,将

16、光标移到“参数设置”,按下“确定”键,进入“参数设置”菜单。显示的内容有:设备参数,投切条件,保护定值,电容参数,时钟校准,通讯参数,等等。装置出厂前已经对各参数进行初始化,存储在二维数组Array195中,每个参数一行,参数每一位的值都对应存储在数组中的相应位置。定义一个指针P指向Array,表示光标的位置,当然,进入“参数设置”菜单时P=Array00,光标在首行的第一个X的位置,表示选中该参数位。按下“向上”、“向下”、“向左”、“向右”四个方向键来移动光标到待修改的那一位数字上时,P=Arrayij则根据按下的键不同而作相应的修改,一般如下:向上,i-1;向下,i +1;向左,j-1;

17、向右,j+1。当然,首先要对原来的i,进行判断。遇到特殊情况要特殊处理。如光标原在某行的第一个参数位上,j= 0,按下向左的键则不改变光标。选定待修改的那一位参数后,按“修改”键进行参数值的修改。过程如下:读取光标所在的那一位数字的值,每按一次加键,该值加1(在09之间循环,每按一次减键,该值减1(在09之间循环。修改完一位后,把改值写入Arrayij,移动光标继续修改其他的参数。一行参数修改完,经核对无误后按“确定”键(每按一次“确定”确认一行,新的参数值被修改存入机内对应的EEPROM 地址中。参数全部修改完后需要重新开机,否则修改无效。 3 结束语本文构建了基于MSP430F149、OC

18、M12864图形点阵液晶模块和键盘的中文人机交互界面,实现了中文菜单显示及参数的输入、显示、修改和保存等功能,完成了系统所要求的显示任务。此方法也同样适应用于ARM7与DSP其他微控制器LCD液晶人机界面上。本文创新点:充分利用了OCM12864的硬件资源,实现了友好的人机界面,并且文中介绍的方法具有非常好的灵活性和良好的可维护性,程序员可以在需要的时候很方便地修改菜单和增加子菜单,而不至于影响系统软件原有的结构,而且在此菜单编程方法基础上进行改进,还可增加滚屏,自动翻页等功能。参考文献 1 沈建华、杨艳琴、翟晓曙MSP430系列16位超低功耗单片机原理与应用北京:清华大学出版社20042李维

19、谩,郭强液晶显示器件应用技术M北京:电子工业出版社,2000 3 OCM12864系列图形点阵液晶显示模块使用说明书Z广东金鹏电子有限公司4朱志伟,周志光,刘定良设计基于TMS320LF2407的低功耗中文人机界面J微计算机信息,2006, 4-2:124-126.5王君立,壮凌,檀慧明液晶显示控制器的应用J液晶与显示,2003,18(1:31346黄锡珉液晶显示技术的开发和产业化J液晶与显示,2002,17(6:4034157王君立,壮凌,檀慧明液晶显示控制器的应用J液晶与显示,2003,18(1:31348魏小龙MSP430系列单片机接口技术及系统设计实例M北京:北京航空航天大学出版社,20029何为民低功耗单片微机系统设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论