- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌
入
式
实
习
报
告
指导老师:刘庆华
组长:***
组员:*** ***
时间:2015.6.8—2015.6.26
一、实习目的
为了提升物联网专业同学的嵌入式水平以及针对KL25的入门。
二、实习基础
软件
本次实习软件方面是基于C语言在飞思卡尔专用编辑器Code Warrior的环境下烧写程序的。
连接方法是USBDM模式
使用KL25Z128M4型的芯片
Build后将生成的elf文件烧写入KL25中
这里是具体对烧写模式的具体编辑方法,我们使用的是PE的模式惊醒烧写,通过KL25Z的OPENSDA端口烧入
对于软件方面,同学们需要一定的C语言基础,单片机控制基础,还需要提前预习一些嵌入式的知识
。
硬件
本次实习硬件我们不采用纯杜邦线连接的方法进行主板与各模块的链接,因为嵌入式都是要拿出成型的小板子的,而且杜邦线连接不论是制作的人还是后来使用的人看起来非常的乱,而且每次用都要重新接线。而使用焊锡走线的方法,将各个排针与槽口连接起来,并且将复杂的走线交给制作的人,而使用者只需在正面进行简单的插拔,便可以轻松使用该设计作品。
除主板以外,硬件方面我们使用了洞洞板,0.6mm焊锡,飞线,电位器,按键模块,LCD1602模块
最终焊接成果如下图
飞线略短,所以好多端口都是用多条线焊起来接的,因此看起来复杂了点
三、实习内容
实验一、LED三色灯的显示
实验二、LCD显示
实验三、按键中断显示
实验四、MMA8451重力加速度传感器实验
四、整体架构
我们把前三个实验整合到了一个代码里面去,即通过按键中断来实现LED闪烁、LCD显示、以及常规按键中断相应。
而最后一个实验单独拿出来将感应到的数据通过LCD显示出来。
五、组员分工
LCD:宋萍
键盘:燕子上
三色灯:吴泽宇
I2C:米雪艳
焊接板子:狄浩南
六、实现原理
按键中断通过扫描函数获取按键中断后,进行switch case来匹配实现。
而我们将LED和LCD功能写在了某一个case中
计时器
LED闪烁
通过采集到的不同的数据来显示当前板子的放置方向同时根据不同的方向LCD灯会闪烁不同的颜色
六、实现方法
按键中断系列实验
main函数外围进行初始化,将按键中断及显示放在while(1)循环内
display函数,首先采集按键中断,如果没有按键按下(num1=oxff)则直接跳出switch然后主函数while(1)循环后再次检测,如还是如此则同理。若不为oxff将进入不同的case语句中,若按下的按键位3~16号按键(3~16没有分配功能)显示BUTTON DOWN N(N为3~F,0中)的某一个数。
若按下按键为2,即num1= 0xde。则进入计时器显示功能
因为我们是从00:00:00开始计时,所以讲显示时分秒的6个变量置0。
然后清屏将FLAG置1(为了让计时器加一循环,除非按下其他按键将其置0才跳出),然后静态量TIME显示在第一行。
中间的循环体就是加一进位(有些是逢10进位,有些是逢6,如果计时到达24:00:00会置0)并一秒延迟的循环。
在循环的结尾再次按键扫描,若没有按下任何一个按键,将不把FLAG置为0,继续1秒的加一进位循环。若扫描到有按键按下则清屏退出。
若按下按键为1,即num1= 0xee。则进入LED三色灯显示功能
我们通过GPIO_SET函数来把LED灯对应的管脚拉高拉低,来实现颜色的变化。程序的初始化与使能控制与上述同理。
MMA8451重力加速度传感器响应
首先将LED初始化并置1关闭,然后对LCD显示初始化,静态(DIRECTION SENOR)显示,I2C初始化。
while循环中
通过to_active_mode()函数,MMA8451获取的XYZ轴数据,存放在resultx,y,z中,我们将这三个数据进行判断,然后显示出6个方向(UP,DOWN,FRONT,BEHIND,LEFT,RIGHT),同时每个方向都有自己的三色灯颜色显示,因此观察十分明显
七、心得与总结
虽然我现在正在做智能车,但是焊电路板(洞洞板)确实第一次焊接。以前都是用AD14画好电路然后给厂家烧出成品的铜板,自己只是在上面焊一些小元器件。这次完全由自己绘板,布局,焊板,走线,着实学会了好多。我感觉我自己的硬件水平又提升了。
文档评论(0)