X
首页
技术
模拟电子
单片机
半导体
电源管理
嵌入式
传感器
最能打国产芯
应用
汽车电子
工业控制
家用电子
手机便携
安防电子
医疗电子
网络通信
测试测量
物联网
最能打国产芯
大学堂
首页
直播
专题
TI 培训
论坛
汽车电子
国产芯片
电机驱动控制
电源技术
单片机
模拟电子
PCB设计
电子竞赛
DIY/开源
嵌入式系统
医疗电子
颁奖专区
【厂商专区】
【电子技术】
【创意与实践】
【行业应用】
【休息一下】
最能打国产芯
活动中心
直播
发现活动
颁奖区
电子头条
参考设计
下载中心
分类资源
文集
排行榜
电路图
Datasheet
最能打国产芯
嵌入式系统
[讨论] 原创〕数字编辑输入功能的实现(LPC2292控制MzLH06模块)
mzdesign
2008-12-2 15:55
楼主
1
MzLH06_LPC22XX_EditDemo
基本功能描述
本工程范例演示了
MzLH06
模块
Edit
控件的数字输入编辑功能,需要在用户的系统中配备至少
4
个按键,这样才能进行数字的输入编辑操作。用户在使用
MzLH06
模块的
Edit
控件时,只需要对其进行创建、初始化,之后检测自己系统中的按键,有按键按下时,将定义的模块指定的键盘消息编码发送经模块,模块会自动进行控件中的数据调整并且实时的显示出来,而到最后确认数据后,需要调用读取函数将设置好的数据读出即可。
2 例程硬件连接简图
本工程范例使用了MzLH06模块的Edit控件功能,而并没有控制模块的复位,所以模块的RST引脚是不连接的,但与前两个范例不一样的
是RD(Ready引脚)和MISO引脚需要连接。如下图所示:
需要外接4个按键于Port1.22~25端口上,LPC2292的端口具备上拉,所以图中没有再加上外部的上拉电阻。
本例程使用GPIO来模拟SPI时序,如用户使用硬件SPI端口,请参考MzLH06模块的端口进行连接和编程。上图的模块为3.3V的模块,有关
LPC2292的其它电路不在图中画出,请用户具体参考其它的开发板文档进行了解。
3 例程软件设置相关说明
每一个Edit控件在使用前,均需要进行创建和初始化,如下代码:
而控件在进行完成初始化之后,是不会进行重绘显示的,只是表明其已存在于模块内部的Edit控件管理模块之中,需要用户调用模块提
供的设置控件Active状态的函数对其Active状态进行置1,使得这些控件得以显示,如下:
而在键盘的按键消息分支处理程序当中,按不同的按键的定义将模块所规定的键盘消息发送给模块,以便模块获取键盘消息并对其进行
响应处理,如下面的代码:
Key_Dat变量保存有本例按键信息,当无按键按下时,该值为0,而分别对应于Key1、Key2、Key3和Key4,其值分别为1、2、3、4,而长
按Key1键时将为5;如上图的处理,分别定义四个按键短按下时的意义为:
Key1:向上按键,可以对当前活动的Edit控件中所选择的编辑位进行加1的操作;
Key2:向下键,可以对当前活动着的Edit控件中所选择的编辑位进行减1的操作;
Key3:TAB键,又可称为切换键,可循环切换当前模块中处于活动状态的Edit控件;
Key4:向右键,可以移动Edit控件中的被选择的编辑位。
而为了让用户能够观察到Edit控件中的数值,在此将Key1键长按下时,返回一个5的键值,程序会去读取模块中已经创建的三个控件的
数值,用户可以在仿真调试时,通过变量来观察。
4 操作演示说明
工程运行后,如连接无误,以及硬件工作都正常,将会出现如下图所示的显示:
图中最下方的Edit控件是最后一个设置Active状态为1的,这里它将处于当前活动状态,用户程序中传递到模块中的键值编码(除TAB键
之外)将会传到该控件进行响应。
处于活动状态的控件将会有一个选择指示在闪动,以表明该控件处于活动状态,并指示当前选择编辑的数据位。当按下Key3键(TAB键
),Edit控件管理器将会切换处于活动状态下的Edit控件,如下图,会将最上方一个控件置为活动状态:
此时,按下Key1键,会对当前活动状态的Edit控件的处于选择状态下的编辑位进行加1操作,如下图所示:
可以看到,当前活动状态的Edit控件的数值变为了3387;然后再连续按下三次Key4(向右键),则该Edit控件将会移动控件内处于选择
状态下的编辑位,如下几个图像所示:
该控件中处于被选择的编辑位已经指向了最低位了,如果此时再按下一次Key4,则如下图所示,该控件将会向低位扩展:
再按下Key1(向上键),则会调整当前控件中的十进制位数,即使得该控件内的数据增加一个十进制位,数据变成了33870,如下图所
示:
前面的多个图像展示了Edit控件的数字输入编辑功能,因为用户操作还有可能会有很多种,所以在此不便一一详述,用户可以自行体会
。
点赞
回复评论
暂无评论,赶紧抢沙发吧
最新活动
报名直播赢【双肩包、京东卡、水杯】| 高可靠性IGBT的新选择——安世半导体650V IGBT
30套RV1106 Linux开发板(带摄像头),邀您动手挑战边缘AI~
安世半导体理想二极管与负载开关,保障物联网应用的稳健高效运行
免费申请 | 上百份MPS MIE模块,免费试用还有礼!
PI 电源小课堂|无 DC-DC 变换实现多路高精度输出反激电源
2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中
随便看看
基于51单片机的采用cs5463芯片的电参数测量仪
LCD背光关闭后,再点屏,屏亮,但此次点击无效,如何做比较好。
新手起步疑点
iPhone4移动电源
新手报到
Keil C中到底怎样使用bootload?
学习Hercules 基础了解
Sensor Tile的定时器中断及数据解算
2010年全国有哪些电子设计竞赛?
历年竞赛元件清单
CC3200与uniflash无法连接,TI社区找了好久也没答案
CC1101如何用信号发生器测接收灵敏度
寻 LMZ13608H/LMZ23608H
关于Qtopia-free的安装问题
.c与.h联系区别
MOS型号推荐
大家没有吃过看起来很恶心但是吃起来很美味的东西
51单片机电子教程(PPT)
QEMU模拟FriendlyArm的Mini2440开发板(转)
功率因数校正控制器UC3854的建模与应用
电子工程世界版权所有
京B2-20211791
京ICP备10001474号-1
京公网安备 11010802033920号
回复
写回复
收藏
回复