原创 简单人机界面设计计划01

2009-10-9 21:57 3192 8 8 分类: MCU/ 嵌入式

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2009109星期五21:27:16<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


人机接口程序的编制计划01


0、前言


对于一个嵌入式系统来说,人机界面和人机接口是很重要的。我手边的这块智林STM32开发板上,有七个按键,一个160*128的彩色液晶显示屏,我准备来实现一些简单的人机接口程序。


1、要达到的目标。


1)将按键信息转换为字符输入,在液晶屏上显示。


2)能够实现简单的格式化输入,比如退格、自动换行等的处理。


2、程序框架设计


1)该程序以ucos操作系统为基础,操作系统提供了良好的多任务机制、时间管理机制和任务通信机制,使应用程序的设计大为简化。


2)任务设计:总共需要四个用户任务,在Main程序中初始化基本硬件、初始化程序中用到的外围接口、创建所要用到的消息队列、邮箱和信号量等资源创建起动任务。


3)起动任务:开启系统定时器、初始化统计任务、创建其它三个用户程序:键盘扫描程序,键盘消息队列处理程序,字符消息队列处理和显示程序。


4键盘扫描任务:就是我在前面的智林STM32键盘篇最后的总结程序。输出7个按键消息


5)键盘消息队列处理程序:就是根据队列里的按键消息控制输入模式、并将特定的按键翻译成ascii码,然后发送到显示消息队列。


6)显示任务调用LCD显示字符的函数,将字符显示到液晶屏上


3、设计的关键问题一:键盘的映射问题


1)初步设计:七个键摇杆的五个键用于字符输入,PB2用于模式切换,PB3表示ENTER


五个键的上右左下种分别为12345号键:对应26个字母和四个常用标点、控制键(空格、退格、逗号和句号)。


2)字符输入需要六个模式、每个模式对应5ascii码,由PB2进行切换。下面是我初步设计的映射表


 


模式0  a b c d 空格


模式1  e f g h 退格


模式2  i j k l  逗号


模式3  m n o p 句号


模式4  q r s t u


模式5  v w x y z


 


4、设计的关键问题二:显示程序


1首先在液晶屏上留出一行用于显示系统信息,其它的用于按键输入


2)设置两个全局变量指示光标在屏幕上的位置,编写LCD_PrintChar函数,使位置参数自动变化,并实现自动换行,到达屏幕结束时,能自动清屏并回到用户区开始位置。能够识别退格键和换行键,并进行正确的处理。

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条