查看: 1028|回复: 0

Freescale MAPS 四色板K64使用02——方向按键控制液晶屏

[复制链接]

该用户从未签到

发表于 2015-5-4 20:23:42 | 显示全部楼层 |阅读模式
分享到:
今天做个相对来说有意思点的小东西
MAPS开发板上配备了GVDA液晶屏和五向按键,今天我们就使用五向按键控制液晶屏幕显示不同的内容


目的:使用五向按键控制液晶屏显示不同的图片内容


基本的硬件连接
1.首先介绍一下五向按键的硬件连接方式
五向按键是通过连接了一个下拉电阻接到了地,在配置MCU是需要将GPIO配置为上拉模式这样是GPIO采集到的信号更准确。



2.液晶屏是通过FLEXBUS连接到MCU的。



软件的配置方法
简要介绍一下软件的配置方法,首先MCU的给个引脚都是复用的方式,并且还有中断和GPIO,在这里我们是将引脚配置成了GPIO模式再读取IO的值进行判断按键是否有按下。
在使用GPIO时要配置一下寄存器

  • I/O模块时钟配置寄存器SCGC5[PORTx]
  • I/O的控制与中断寄存器PORTx
  • I/O控制寄存器n PORTx_PCRn
  • GPIO输入数据寄存器GPIOx_PDIR
  • GPIO设置方向寄存器GPIOx_PDDR
官方给出的库函数中可以有两个层面的选择,一个是HAL层,另一个是Driver层配置,
简单的理解HAL层的函数更贴近硬件函数简单功能单一,Driver层函数相对复杂,功能强大。
在本次实例中使用的是HAL层的函数配置的GPIO

  • 使用SIM_HAL_EnablePortClock使能对应硬件的端口
  • 使用PORT_HAL_SetMuxMode将引脚配置成GPIO模式
  • 使用GPIO_HAL_SetPinDir再将对应的引脚配置成输入模式
  • 使用PORT_HAL_SetPullCmd使能上下拉电阻模式
  • 使用PORT_HAL_SetPullMode配置上拉电阻模式
这样就配置好了GPIO的基本模式
接下来就可以使用GPIO_HAL_ReadPinInput读取引脚的值,
按键程序中还要添加消抖,和松手检测,这样才算是一个相对完整的按键程序,同时也提高了按键程序的稳定性。
另外LCD的显示比较复杂今天这里就不做介绍了
官方给出的库函数中给出了显示用的函数可以直接调用,简要介绍一下图片在LCD上的显示原理,图片在程序中是以数组的形式存在的,显示的时候是将数组中的每个像素点的值读出送给显示控制器,在屏幕上显示一个像素点,逐行逐列的显示就实现了一个画面,图片到数组的转化需要一些小工具,例如:Image2Lcd
将图片到工具中转化为数组添加到程序中,使用的时候直接调用就可以了,
我在这个例程中使用的是
初始化 显示 hello world
中间的按键显示ECBC 各个方向键显示各个方向的箭头。
下面是显示的照片。
初始化

中间按键

方向按键上

方向按键下

方向按键左

方向按键右

MAPS四色板专业评测
ECBC实战营Freescale四色板初体验
Freescale MAPS四色板K64使用01——旋转电位器控制LED亮度


本文为ECBC实战营独家授权爱板网经验频道发布,未经允许,谢绝转载。
ECBC实战营:以实际产品为切入点,通过实际产品解耦信号链各个节点中的重点技术、产品、设计思路,同时会在整个实战过程中锻炼每个学员的项目分割能力、团队协调能力、表达演讲能力等综合素养。借助三个月的高强度、快节奏的系统性实战训练,让真正热爱电子技术的学生、工程师、创客迅速积累真正优秀工程师和技术管理者应该具备的专业技能、全局思维、职业素养,不仅让学员走向实际工作岗位后迅速适应、迅速成为职场的中坚力量,更为学员未来成为技术型管理人才和技术型创业人才奠定必要、坚实的综合基础。
ECBC实战营二期详情
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-12-19 07:58 , Processed in 0.128625 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.