嵌入式实习 报告.docx
《嵌入式实习 报告.docx》由会员分享,可在线阅读,更多相关《嵌入式实习 报告.docx(15页珍藏版)》请在冰点文库上搜索。
![嵌入式实习 报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/2c59b1d6-fbf7-4726-a62b-f74b46ee7b7e/2c59b1d6-fbf7-4726-a62b-f74b46ee7b7e1.gif)
嵌入式实习报告
嵌
入
式
实
习
报
告
*******
组长:
***
组员:
******
时间:
2015.6.8—2015.6.26
一、实习目的
为了提升物联网专业同学的嵌入式水平以及针对KL25的入门认识。
二、实习基础
2.1软件
本次实习软件方面是基于C语言并在飞思卡尔专用编辑器CodeWarrior的环境下烧写程序的。
连接方法是USBDM模式
使用KL25Z128M4型的芯片
Build后将生成的elf文件烧写入KL25中
这里是具体对烧写模式的具体编辑方法,我们使用的是P&E的模式惊醒烧写,通过KL25Z的OPENSDA端口烧入
对于软件方面,同学们需要一定的C语言基础,单片机控制基础,还需要提前预习一些嵌入式的知识。
2.2硬件
本次实习硬件我们不采用纯杜邦线连接的方法进行主板与各模块的链接,因为嵌入式都是要拿出成型的小板子的,而且杜邦线连接不论是制作的人还是后来使用的人看起来非常的乱,而且每次用都要重新接线。
而使用焊锡走线的方法,将各个排针与槽口连接起来,并且将复杂的走线交给制作的人,而使用者只需在正面进行简单的插拔,便可以轻松使用该设计作品。
除主板以外,硬件方面我们使用了洞洞板,0.6mm焊锡,飞线,电位器,按键模块,LCD1602模块
最终焊接成果如下图
飞线略短,所以好多端口都是用多条线焊起来接的,因此看起来复杂了点
三、实习内容
实验一、LED三色灯的显示
实验二、LCD显示
实验三、按键中断显示
实验四、MMA8451重力加速度传感器实验
四、整体架构
我们把前三个实验整合到了一个代码里面去,即通过按键中断来实现LED闪烁、LCD显示、以及常规按键中断相应。
而最后一个实验单独拿出来将感应到的数据通过LCD显示出来。
五、组员分工
六、实现原理
按键中断通过扫描函数
获取按键中断后,进行switchcase来匹配实现。
而我们将LED和LCD功能写在了某一个case中
计时器
LED闪烁
通过采集到的不同的数据来显示当前板子的放置方向同时根据不同的方向LCD灯会闪烁不同的颜色
六、实现方法
按键中断系列实验
main函数外围进行初始化,将按键中断及显示放在while
(1)循环内
display函数,首先采集按键中断,如果没有按键按下(num1=oxff)则直接跳出switch然后主函数while
(1)循环后再次检测,如还是如此则同理。
若不为oxff将进入不同的case语句中,若按下的按键位3~16号按键(3~16没有分配功能)显示BUTTONDOWNN(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显示初始化,静态("DIRECTIONSENOR")显示,I2C初始化。
while循环中
通过to_active_mode()函数,MMA8451获取的XYZ轴数据,存放在resultx,y,z中,我们将这三个数据进行判断,然后显示出6个方向(UP,DOWN,FRONT,BEHIND,LEFT,RIGHT),同时每个方向都有自己的三色灯颜色显示,因此观察十分明显
七、心得与总结
虽然我现在正在做智能车,但是焊电路板(洞洞板)确实第一次焊接。
以前都是用AD14画好电路然后给厂家烧出成品的铜板,自己只是在上面焊一些小元器件。
这次完全由自己绘板,布局,焊板,走线,着实学会了好多。
我感觉我自己的硬件水平又提升了。