1、 * 组长:* 组员:* * 时间:2015.6.82015.6.26一、实习目的 为了提升物联网专业同学的嵌入式水平以及针对KL25的入门认识。二、实习基础 2.1软件 本次实习软件方面是基于C语言并在飞思卡尔专用编辑器Code Warrior的环境下烧写程序的。连接方法是USBDM模式使用KL25Z128M4型的芯片Build后将生成的elf文件烧写入KL25中这里是具体对烧写模式的具体编辑方法,我们使用的是P&E的模式惊醒烧写,通过KL25Z的OPENSDA端口烧入对于软件方面,同学们需要一定的C语言基础,单片机控制基础,还需要提前预习一些嵌入式的知识。2.2硬件 本次实习硬件我们不采用
2、纯杜邦线连接的方法进行主板与各模块的链接,因为嵌入式都是要拿出成型的小板子的,而且杜邦线连接不论是制作的人还是后来使用的人看起来非常的乱,而且每次用都要重新接线。而使用焊锡走线的方法,将各个排针与槽口连接起来,并且将复杂的走线交给制作的人,而使用者只需在正面进行简单的插拔,便可以轻松使用该设计作品。除主板以外,硬件方面我们使用了洞洞板,0.6mm焊锡,飞线,电位器,按键模块,LCD1602模块最终焊接成果如下图飞线略短,所以好多端口都是用多条线焊起来接的,因此看起来复杂了点三、实习内容实验一、LED三色灯的显示实验二、LCD显示实验三、按键中断显示实验四、MMA8451重力加速度传感器实验四、
3、整体架构我们把前三个实验整合到了一个代码里面去,即通过按键中断来实现LED闪烁、LCD显示、以及常规按键中断相应。而最后一个实验单独拿出来将感应到的数据通过LCD显示出来。五、组员分工六、实现原理按键中断通过扫描函数获取按键中断后,进行switch case来匹配实现。而我们将LED和LCD功能写在了某一个case中计时器LED闪烁通过采集到的不同的数据来显示当前板子的放置方向同时根据不同的方向LCD灯会闪烁不同的颜色六、实现方法按键中断系列实验main函数外围进行初始化,将按键中断及显示放在while(1)循环内display函数,首先采集按键中断,如果没有按键按下(num1=oxff)则直
4、接跳出switch然后主函数while(1)循环后再次检测,如还是如此则同理。若不为oxff将进入不同的case语句中,若按下的按键位316号按键(316没有分配功能)显示BUTTON DOWN N(N为3F,0中)的某一个数。若按下按键为2,即num1= 0xde。则进入计时器显示功能因为我们是从00:00:00开始计时,所以讲显示时分秒的6个变量置0。然后清屏将FLAG置1(为了让计时器加一循环,除非按下其他按键将其置0才跳出),然后静态量TIME显示在第一行。中间的循环体就是加一进位(有些是逢10进位,有些是逢6,如果计时到达24:00会置0)并一秒延迟的循环。在循环的结尾再次按键扫描,
5、若没有按下任何一个按键,将不把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画好电路然后给厂家烧出成品的铜板,自己只是在上面焊一些小元器件。这次完全由自己绘板,布局,焊板,走线,着实学会了好多。我感觉我自己的硬件水平又提升了。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2