第一篇:飞思卡尔总结—电磁组
飞思卡尔赛后心得
通过近四个月的努力学习和制作,我们组的作品最后在第六届全国大学生“飞思卡尔”杯华东赛区取得电磁组三等奖的成绩,虽为未能取得二等奖以上而遗憾,但我们从中学到了很多在课堂上学不到的知识和经验,使我们的动手能力有了很大的提高。
两天紧张的比赛结束了,第六届“飞思卡尔”智能车竞赛华东赛区的全部比赛也到结束了,在长沙,我们体验了西湖风景的美丽,也体会了各院校在“飞思卡尔”项目上的强大。
最终三等奖的成绩,可喜可忧,喜在能在众多高手中,获得此成绩实属不易,忧的是下一步如何提升自己,如何可以使我们的电磁车跑到更快。现在确实发现在“飞思卡尔”上我们所不懂的知识实在太多太多,尤其是在机械上,车辆的机械改造对于我们是一个陌生的一块,如何通过改造,将模型车的性能更好的发挥出来,还是我们的短板。像四轮定位、重心选择、舵机安置等方面几乎是空白,这是我们下一步尤其要努力的地方。
这四个多月的竞赛准备中,暴露了很多问题,前期不够重视,投入时间太少,以至于很多任务被推到最后一个月去解决,这也是我们止步三等奖的主要原因。而这些一定以及肯定要在下一届“飞思卡尔”比赛中去解决。
比赛结束了,我们的心却久久不能平静,回想过去几个月的学习和制作,我们觉得很多东西需要写出来,算是对自己这几个月的总结和反思吧,也是为下届参加飞思卡尔小组提供一些参考。
1、前瞻过短。这是直接影响车速的问题所在,我们在制作由于前瞻过短,导致小车在判断弯道时,反应时间过短,车速一快,小车就直接传感器就丢失信号。因此也就注定,小车无法高速行驶。在下届的比赛中,一定要记住这个教训,在加长前瞻的同时,最好想办法使前瞻大小可调,方便测试时调整。
2、电机驱动模块过热问题。比赛中我们使用的IRF4905与IRF3205构成桥式驱动电路,并采用双并联方式分流作用,解决过热问题,但未达到理想效果。下届,要在小车的硬件构建时,一定要充分多实验,选择最佳方案。
3、“做智能小车,不是做电子设计”,这是我和杭电的一位同学交流时,他说的一句话。其实意思就是制作智能车电路,要尽量简洁,尽可能做PCB板,这不仅体现做智能小车的心态,也可以减小信号在线路中的相互干扰。
4、车辆机械改造问题。在比赛中,印象最深是杭电的电磁车,由于后一名就是杭电选手,我得幸能近距离观察他们的车。他们的车采用三舵机控制,一个控制车辆转向,一个控制前方探头,就是“摇头”检测,另一个调整车子的转弯性能。前两个,大家都可以理解,最后一个,或许有点难理解。第三个舵机通过两个减震弹簧与底盘相接,倘若车子向左转弯,此时舵机就向左转,压迫左侧弹簧,同时拉升右侧弹簧,使车子的重心向内侧偏移,这样车子的转弯性能就能提上去。
我们队在做车中结下了深厚的友谊。是他们的真诚让我们知道了友情是多么的重要,是他们的鼓励使我们有了坚持下去的勇气,是他们的行动指引我们走到了比赛现场,有太多的事值得我们终生记忆。探索者2队 电磁组 2011年7月25日
第二篇:飞思卡尔实验报告
中南大学
Central South University
飞思卡尔实验报告
学生姓名:叶吉东
指导老师:王击
学院:信息科学与工程学院
专业班级:自动化1204班
完成日期:2014年09月21日
目录
实验1.1 流水灯………………………………..………………………………...3 实验1.2 拨码开关控LED 灯…………………....…………………………........4 实验1.3 动态数码管显示…………………………….………………………....5 实验1.4 矩阵键盘……………………………………………………………....6 实验1.5 LCD(0802)显示………………………………………………………..8 实验1.6 LCD(12864)显示…………………………………….………………..10 实验1.7 蜂鸣器驱动………………………………………………………..….11 实验1.8 继电器驱动…………………………………..……………………….12
实验1.1 流水灯
一、实验目的:
1、掌握GPIO 口基本寄存器的使用,掌握如何将GPIO 作为输出口。
2、初步了解如何使用C 语言编写飞思卡尔单片机程序。
二、实验内容
利用PORTB 口的低4 位驱动4 位LED 灯,实现4 位LED 灯明灯流水操作。
三、实验电路图
四、实验说明
1、PORTB 口寄存器初始化。
2、送数据给PORTB 口显示,并延时一定时间。
3、改变数据,重复2。
五、实验方法及步骤
1、接线说明:
本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB3 的跳线即可。
2、运行程序,观察LED 灯亮灭情况。
六、心得体会
这是我利用单片机进行的第一次实验,之前也没有接触过单片机,通过这次实验我大概了解了单片机的编程方法。它跟我们上个学期学过的微机原理很像,编程方法非常类似,这使得我也很容易看懂这个程序。最后我还做了课后思考题,发现只要延时时间缩短就可以达到闪烁的效果了。通过这一次实验让我对单片机有了初步的了解。为接下来的实验打下了基础。实验1.2 拨码开关控LED 灯
一、实验目的:
1、掌握GPIO 口的读写操作。
2、进一步了解C 语言在飞思卡尔单片机中的编程规范及技巧。
二、实验内容:
读取PORTB 口高4 位连接的4 位拨码开关状态,将读取到的拨码开关状态用 PORTB 口低4 位连接的LED 灯显示。
三、实验电路图:
四、实验说明:
1、PORTB 口寄存器初始化;
2、读取PORTB 数据,将数据右移4 位;送PORTB 口显示;
3、重复2。
五、实验方法及步骤:
1、接线说明:
本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB7 的跳线即可。
2、运行程序,改变拨码开关的状态,观察LED 灯的显示变化。
六、心得体会
这一次的实验跟第一次的实验基本类似,知识这次所需要连的线要多一些而已。通过这一次的实验,进一步了解GPIO 口的读写操作。进一步了解C 语言在飞思卡尔单片机中的编程规范及技巧。
实验1.3 动态数码管显示
一、实验目的:
1、了解数码管动态显示的方法。
2、掌握2803 的驱动原理。
二、实验内容:
系统上电后首先单8 左移显示,然后0-7 顺次左移显示,紧接着7-0 顺次 右移显示,再 0-7 全部闪烁显示,并重复以上动作。
三、实验电路图:
四、实验说明:
1、GPIO 相关寄存器初始化;
2、选中数码管第一位,送段码显示第一个数据;
3、移动位码,送下个数据的段码,以此类推,实现移位显示与动态显示。
五、实验方法及步骤:
1、接线说明: 实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)
六、心得体会:
这次的实验连线比较复杂,这使得我第一次的连线并没有连正确,演示的时候出来的是乱码。然后我就慢慢检查,终于发现了错误所在,是我并没有看清实验指导书连线而是凭着自己的感觉经验然后连线的,结果就出错了,所以我们做实验额时候一定得细心,要不然就会容易出错。看着实验箱上的实验结果,就联想到了我们日常生活中到处可见的LED灯。这让我越来越觉得单片机实现的功能在生活中到处可见。
实验1.4 矩阵键盘
一、实验目的:
1、了解矩阵键盘扫描原理。
2、掌握矩阵键盘编程方法。
二、实验内容:
编写键盘扫描程序,当矩阵键盘模块有按键按下时,读取键值,并利用数码 管显示键值。系统上电后8 位数码管以5-4-3-2-1 倒计数显示,待显示值为1 后,数码管清除显示,此时按下矩阵键盘按键,数码管显示对应键值。
三、实验电路图:
四、实验说明:
1、GPIO 相关寄存器的初始化。2、8 位数码管以5-4-3-2-1 倒计数显示。
3、扫描按键,键值送数码管显示。
4、重复操作3。
五、实验方法及步骤:
1、接线说明:
实验系统底板的4x4 矩阵键盘接线说明: J_Key-1(R0)-----IO092(PS0)J_Key-2(R1)-----IO091(PS1)J_Key-3(R2)-----IO094(PS2)J_Key-4(R3)-----IO093(PS3)J_Key-5(C0)-----IO096(PS4)J_Key-6(C1)-----IO095(PS5)J_Key-7(C2)-----IO098(PS6)J_Key-8(C3)-----IO097(PS7)实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)
2、运行程序,观察数码管显示变化。按下按键,观察数码管显示变化。
六、心得体会:
这次做的是矩阵键盘的实验,通过前几次实验,对单片机实验有了一定的了解,所以我这次并没有一开始就连线,我先打开程序然后花了好长一段时间了解矩阵键盘扫描原理,发现程序是通过不断循环扫描的方法来检测按键是否按下。通过这次试验我基本了解矩阵键盘的编程方法。
实验1.5 LCD(0802)显示
一、实验目的:
1、掌握GPIO 口控制外设的方法。
2、熟悉LCD(0802)的指令系统。
二、实验内容: 利用LCD(0802)液晶显示器,显示两排数字。
三、实验电路图:
四、实验说明:
1、驱动LCD(0802)GPIO 口相关寄存器初始化;
2、LCD(0802)初始化;
3、在LCD 屏上分行显示“01234567”和“ABCDEFGH”。
五、实验方法及步骤:
1、接线说明:
实验系统底板0802 液晶模块的LCD 数据口信号接线说明: J_0802B_1-5(DB0)----IO065(PA0)J_0802B_1-6(DB1)----IO066(PA1)J_0802B_1-7(DB2)----IO067(PA2)J_0802B_1-8(DB3)----IO068(PA3)J_0802B_1-9(DB4)----IO069(PA4)J_0802B_1-10(DB5)----IO070(PA5)J_0802B_1-11(DB6)----IO071(PA6)J_0802B_1-12(DB7)----IO072(PA7)
实验系统底板0802 液晶模块的LCD 控制口信号接线说明: J_0802B_1-1(RS)-----IO013(PK5)J_0802B_1-2(R/W)----IO014(PK4)J_0802B_1-3(EN)-----IO015(PK3)
2、运行程序,观察实验现象。
六、心得体会:
这次实验我还是像上次一样,先把实验内容看一下,然后就直接看程序。刚开始的程序是LCD(0802)GPIO 口相关寄存器初始化和LCD(0802)初始化,看了半个多小时也是似懂非懂,接下来看的是LCD显示“01234567”和“ABCDEFGH”的程序,这些程序应该都是应该查表得出来的,我也没有必要看懂,所以我就连线进行实验了,通过这次试验我还是能够初步掌握GPIO 口控制外设的方法和熟悉LCD(0802)的指令系统。
实验1.6 LCD(12864)显示
一、实验目的:
1、掌握GPIO 口控制外设的方法。
2、熟悉LCD(12864)的指令系统。
二、实验内容:
使用OCM12864-2 液晶显示器,显示汉字。
三、实验电路图:
四、实验说明:
1、驱动LCD(12864)的GPIO 相关寄存器初始化;
2、LCD(12864)控制器的初始化,延时及清屏;
3、在LCD 屏上显示“欢迎使用”。
五、实验方法及步骤:
1、接线:
实验系统底板128x64 液晶模块的液晶数据口信号接线说明: J_12864-4(DB0)-----IO065(PA0)J_12864-5(DB1)-----IO066(PA1)J_12864-6(DB2)-----IO067(PA2)J_12864-7(DB3)-----IO068(PA3)J_12864-8(DB4)-----IO069(PA4)J_12864-9(DB5)----IO070(PA5)J_12864-10(DB6)---IO071(PA6)J_12864-11(DB7)---IO072(PA7)实验系统底板128x64 液晶模块的液晶控制口信号接线说明: J_12864-1(D/I)-----IO011(PK6)J_12864-2(R/W)-----IO013(PK5)J_12864-3(E)-------IO014(PK4)J_12864-12(CS1)----IO015(PK3)J_12864-13(CS2)----IO016(PK2)实验1.7 蜂鸣器驱动
一、实验目的:
了解蜂鸣器的使用和驱动方法。
二、实验内容:
利用GPIO 端口中的某一位驱动蜂鸣器。
三、实验电路图:
四、实验说明:
1、相应端口寄存器初始化;
2、送数据到相应I/O 口,间断驱动蜂鸣器。
五、实验方法及步骤:
1、接线说明:
实验系统底板的蜂鸣器控制模块区域的蜂鸣器控制端接线说明: J_ Beep(Beep)----IO061(PE3)
2、运行程序,观察现象。
六、心得体会:
通过本次实验,熟悉了实验板中蜂鸣器工作原理,掌握编程控制蜂鸣器播 放音乐。掌握单片机编程控制蜂鸣器发出不同频率声音的方法;虽然在本次试验中遇到了的问题,都在同学和老师的帮助下解决了,同时还进一步了解了单片机方面的有关知识。
实验1.8 继电器驱动
一、实验目的:
了解继电器的使用和驱动方法。
二、实验内容:
利用GPIO 端口中的某一位驱动蜂鸣器。
三、实验电路图:
四、实验说明:
1、相应端口寄存器初始化;
2、送数据到相应I/O 口,驱动继电器间歇动作。
五、实验方法及步骤:
1、接线说明:
实验系统底板的继电器控制模块的继电器控制端接线说明: J_Relay(Relay)----IO061(PE3)使用跳线帽短接实验系统底板继电器控制模块JP_LED 处的跳线。使用跳线帽短接实验系统底板继电器控制模块JP_Power 处的跳线。
2、运行程序,观察现象。
六、心得体会:
通过这八天的实验和八次实验,让我学会了很多新的知识。能够利用该软件熟练地编译下载程序。通过这几天的学习,让我对飞思卡尔试验箱也有了一定的了解,而且这八个实验做下来也感觉很有意思,每次对代码进行一些小的改动出来效果以后,都感觉挺有趣的。不过在这几天的学习,我也发现了一些问题,那就是才编程方面的缺陷,有些以前的知识都已经忘了,有些程序都看不太懂了,我觉得以后我应该好好复习一下,把以前学的知识都拿回来。
第三篇:飞思卡尔智能车总结
关于飞思卡尔智能车寻迹
飞思卡尔智能车竞赛是飞思卡尔公司赞助的由全国本科院校共同参与的一项大学生科技竞赛。今年安徽省作为第一届省级赛区,很荣幸我们专科院校也有机会共同参与。因为专业知识的匹配我们系在我们专业选拔了一些同学,我很高兴能和我的队员们并肩作战。由于我们学校是第一参加一点经验都没有,指导老师也是和我们一步步探索。我们这次使用B型车做的是光电寻迹。根据需要老师把这次任务划分为几个模块(寻迹模块、电源模块、驱动模块、测速模块)我的任务是做好寻迹模块。刚开始对于黑白寻迹,我唯一的感觉就是“神奇”。后来查阅资料,通过老师的讲解,知道了它的寻迹原理。所谓的寻迹就是根据黑白颜色的反光程度不一样(白色全部反射,黑色全部吸收),来判别黑白线。
对于我们来说没有学过传感器的知识,在这方面还是有点含糊,所以自己专门花了一段时间来学习传感器,通过自己的学习懂得了传感器在电路中的作用。之后的一段时间就是对材料的选取,市场上的光电管品类繁多,每个学校用的也不一样,我们要的是一款适合自己车的光电管,刚开始我在网上找了一些电路图,并在南京买进了一些光电管,焊接好电路候发现跟本没有达到自己想要的那种结果,之前一直以为是光电管的原因,后来又把光电发射与接受一体管改上去还是不行。那段时间一直耗在那个电路上停滞不前,一直想不通是什么原因。也许是灵感的,也许是出于好玩我改变了和接收管串联的电阻阻值(把
原
来的10K
改
为
100K)得到了意想不到的效果——在不加套管的情况下接收距离提高到了十几厘米。但是对于这样的结果还是有些不理想因为为防止光电管之间互相的影响每个光电管得加上套管,在这种情况下我们买的光电管达不到要求。通过上网查询,翻阅资料,和一次次的实验我们最后选用了合肥一家的光电管(型号)。在这里我想说的是别人的经验可以做参考但是不一定能做为自己的,就像我前面选择光电管的电路图,那也许对有些场合适用。作为探索阶段一步步的实验永远是最关键的。
选好光电管之后就是焊接电路,通过借鉴其他学校的经验,我们的初定方案是用14对光电管。由于条件的限制我们采用的是普通的面包板焊接电路,普通的板子最大的缺点就是长度和宽度不够,而且布局也不自由,通过决定我们用两块板子拼接在一起,多用外接电路线来搭接电路。因为我们学校提倡的是动手能力,焊接这样普通的板子我们每个同学都能很好的完成,唯一的区别就是走线比较多那就要看每个人设计和审美观。
把板子焊好后我制作的硬件就告一段落。
第四篇:飞思卡尔实习报告
中南大学
Central South University
飞思卡尔实验报告
学生姓名:应晓伟 指导老师:李志民 学院:信息科学与工程学院 专业班级:自动化1106班 完成日期:2013年9月12日
目录
一、实验目的………………………………………………………..2
二、实验内容………………………………………………………..2
三、实验电路图…………………………………………………….3
四、实验说明………………………………………………………..6
五、实验方法及步骤…………………………………………....7
六、实验总结……………………………………………………….10
一、实习目的
1、熟悉飞思卡尔试验箱的操作。
2、掌握codewarrierr软件的使用方法。
3、初步了解如何使用c语言编写飞思卡尔单片机程序。
二、实验内容
实验1.1
流水灯
利用PORTB 口的低4 位驱动4 位LED 灯,实现4 位LED 灯明灯流水操作。
实验1.2
拨码开关控LED 灯
读取PORTB 口高4 位连接的4 位拨码开关状态,将读取到的拨码开关状态用 PORTB 口低4 位连接的LED 灯显示。
实验1.3
动态数码管显示
系统上电后首先单8 左移显示,然后0-7 顺次左移显示,紧接着7-0 顺次 右移显示,再 0-7 全部闪烁显示,并重复以上动作。
实验1.4 矩阵键盘
编写键盘扫描程序,当矩阵键盘模块有按键按下时,读取键值,并利用数码 管显示键值。系统上电后8 位数码管以5-4-3-2-1 倒计数显示,待显示值为1 后,数码管清除显示,此时按下矩阵键盘按键,数码管显示对应键值。
实验1.5 LCD(0802)显示
利用LCD(0802)液晶显示器,显示两排数字。
实验1.6 LCD(12864)显示
使用OCM12864-2 液晶显示器,显示汉字。
实验1.7 蜂鸣器驱动
利用GPIO 端口中的某一位驱动蜂鸣器。
实验1.8 继电器驱动
利用GPIO 端口中的某一位驱动继电器。
三、实验电路图
实验1.1 流水灯
实验1.2 拨码开关控LED 灯
实验1.3 动态数码管显示
实验1.4 矩阵键盘
实验1.5 LCD(0802)显示
实验1.6 LCD(12864)显示
实验1.7 蜂鸣器驱动
实验1.8 继电器驱动
四、实验说明
实验1.1 流水灯
1、PORTB 口寄存器初始化。
2、送数据给PORTB 口显示,并延时一定时间。
3、改变数据,重复2。
实验1.2 拨码开关控LED 灯
1、PORTB 口寄存器初始化;
2、读取PORTB 数据,将数据右移4 位;送PORTB 口显示;
3、重复2。
实验1.3 动态数码管显示
1、GPIO 相关寄存器初始化;
2、选中数码管第一位,送段码显示第一个数据;
3、移动位码,送下个数据的段码,以此类推,实现移位显示与动态显示。
实验1.4 矩阵键盘
1、GPIO 相关寄存器的初始化。2、8 位数码管以5-4-3-2-1 倒计数显示。
3、扫描按键,键值送数码管显示。
4、重复操作3。
实验1.5 LCD(0802)显示
1、驱动LCD(0802)GPIO 口相关寄存器初始化;
2、LCD(0802)初始化;
3、在LCD 屏上分行显示“01234567”和“ABCDEFGH”。
实验1.6 LCD(12864)显示
1、驱动LCD(12864)的GPIO 相关寄存器初始化;
2、LCD(12864)控制器的初始化,延时及清屏;
3、在LCD 屏上显示“欢迎使用”。
实验1.7 蜂鸣器驱动
1、相应端口寄存器初始化;
2、送数据到相应I/O 口,间断驱动蜂鸣器。
实验1.8 继电器驱动
1、相应端口寄存器初始化;
2、送数据到相应I/O 口,驱动继电器间歇动作。
五、实验步骤与方法
实验1.1 流水灯
1、接线说明:
本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB3 的跳线即可。
2、运行程序,观察LED 灯亮灭情况。
实验1.2 拨码开关控LED 灯
1、接线说明:
本实验无需外部接线,只需要使用跳线帽短接核心板上JP_1 处标号为PB0~ PB7 的跳线即可。
2、运行程序,改变拨码开关的状态,观察LED 灯的显示变化。
实验1.3 动态数码管显示
实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)* 注1:J_SEG-1 表示插座的标识名称,后面括号中的A 表示该引脚的作用,后文均使用该方法描述,就不再重复说明了。
*注2:IO065 后括号中的PA0 表示当HF-ExBoard 实验系统使用 HF-MC9S12XS128EVB-A 核心板时,实验系统底板 的IO065 接口对应 MC9S12XS128EVB 的PA0,后文均使用该方法描述,就不再重复说明了。8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)*注3:IO051(PH7)对应的COM0 为8 位数码管中最左边第一位。
2、运行程序,观察数码管的显示。
实验1.4 矩阵键盘
实验系统底板的4x4 矩阵键盘接线说明: J_Key-1(R0)-----IO092(PS0)J_Key-2(R1)-----IO091(PS1)J_Key-3(R2)-----IO094(PS2)J_Key-4(R3)-----IO093(PS3)J_Key-5(C0)-----IO096(PS4)J_Key-6(C1)-----IO095(PS5)J_Key-7(C2)-----IO098(PS6)J_Key-8(C3)-----IO097(PS7)实验系统底板的8 位8 段数码管模块的段码接线说明: J_SEG-1(A)----IO065(PA0)J_SEG-2(B)----IO066(PA1)J_SEG-3(C)----IO067(PA2)J_SEG-4(D)----IO068(PA3)J_SEG-5(E)----IO069(PA4)J_SEG-6(F)----IO070(PA5)J_SEG-7(G)----IO071(PA6)J_SEG-8(DP)----IO072(PA7)8 位8 段数码管模块的位码接线说明: J_DIG-1(COM0)----IO046(PH7)J_DIG-2(COM1)----IO045(PH6)J_DIG-3(COM2)----IO048(PH5)J_DIG-4(COM3)----IO047(PH4)J_DIG-5(COM4)----IO050(PH3)J_DIG-6(COM5)----IO049(PH2)J_DIG-7(COM6)----IO052(PH1)J_DIG-8(COM7)----IO051(PH0)
2、运行程序,观察数码管显示变化。按下按键,观察数码管显示变化。
实验1.5 LCD(0802)显示
实验系统底板0802 液晶模块的LCD 数据口信号接线说明: J_0802B_1-5(DB0)----IO065(PA0)J_0802B_1-6(DB1)----IO066(PA1)J_0802B_1-7(DB2)----IO067(PA2)J_0802B_1-8(DB3)----IO068(PA3)J_0802B_1-9(DB4)----IO069(PA4)J_0802B_1-10(DB5)----IO070(PA5)J_0802B_1-11(DB6)----IO071(PA6)J_0802B_1-12(DB7)----IO072(PA7)实验系统底板0802 液晶模块的LCD 控制口信号接线说明: J_0802B_1-1(RS)-----IO013(PK5)J_0802B_1-2(R/W)----IO014(PK4)J_0802B_1-3(EN)-----IO015(PK3)
2、运行程序,观察实验现象。
实验1.6 LCD(12864)显示 实验系统底板128x64 液晶模块的液晶数据口信号接线说明: J_12864-4(DB0)-----IO065(PA0)J_12864-5(DB1)-----IO066(PA1)J_12864-6(DB2)-----IO067(PA2)J_12864-7(DB3)-----IO068(PA3)J_12864-8(DB4)-----IO069(PA4)J_12864-9(DB5)----IO070(PA5)J_12864-10(DB6)---IO071(PA6)J_12864-11(DB7)---IO072(PA7)实验系统底板128x64 液晶模块的液晶控制口信号接线说明: J_12864-1(D/I)-----IO011(PK6)J_12864-2(R/W)-----IO013(PK5)J_12864-3(E)-------IO014(PK4)J_12864-12(CS1)----IO015(PK3)J_12864-13(CS2)----IO016(PK2)注:实验指导书提供的接线说明根据金鹏OCM12864-2 型液晶编写,如果 使用其它型号的12864 液晶模块,可能液晶模块的引脚定义有差异,只需要依据
具体使用的液晶引脚修改接线即可完成该实验。
2、运行程序,观察实验现象。
实验1.7 蜂鸣器驱动
实验系统底板的蜂鸣器控制模块区域的蜂鸣器控制端接线说明: J_ Beep(Beep)----IO061(PE3)
2、运行程序,观察现象。
实验1.8 继电器驱动
实验系统底板的继电器控制模块的继电器控制端接线说明: J_Relay(Relay)----IO061(PE3)使用跳线帽短接实验系统底板继电器控制模块JP_LED 处的跳线。使用跳线帽短接实验系统底板继电器控制模块JP_Power 处的跳线。
2、运行程序,观察现象。
六、实验总结
通过这几天的上机实验,让我学会了很多新的知识。基本掌握了codewarrierr的使用方法,能够利用该软件熟练地编译下载程序。通过这几天的学习,让我对飞思卡尔试验箱也有了一定的了解,而且这八个实验做下来也感觉很有意思,每次对代码进行一些小的改动出来效果以后,都感觉挺有趣的。不过在这几天的学习,我也发现了一些问题,那就是才编程方面的缺陷,有些以前的知识都已经忘了,有些程序都看不太懂了,我觉得以后我应该好好复习一下,把以前学的知识都拿回来。
第五篇:单片机(飞思卡尔)课程设计报告
2011年 6 月
1设计要求:
LCD的第一行显示运算式,第二行显示运算结果。比如要计算机12+34,在键盘上按下相应键后,LCD的第一行显示“12+34”,按下“=”号后,LCD的第二行显示“=46”。其他功能参考普通计算器。
扩展功能:负数、小数运算、复合运算。连续运算、2进制、8进制运算。
亦可直接在LCD上显示一个计算器,用触摸屏操作。
2设计思路
在LCD上显示一个与键盘功能相同的计算器,可实现用键盘、触摸屏混合操作。
1、在LCD显示屏上按下某一个符号或者在键盘上某一个按键符号时,将相应字符存入数组中
并显示在LCD上。
2按下“=”就运算处理并在第二行显示计算结果。
3、按下“C”就进行退格操作。
4、按下“=”后显示结果,并且能连续运算,其中,将操作数和操作码全部显示在第一行,第二行显示当前计算结果。
5、当出现连续按两个操作符、按等号前一个字符为操作符、最开始按下的不是操作数等非法输
入时,自动在LCD屏幕上报错并实现清屏重启计算器。
3设计步骤
1、添加基本计算器的+、-、*、/ 四则运算和退格功能;
2、在1的基础上实现复合运算和连续操作;
3、在LCD上通过调用函数在下方画出计算器的按键图画并实现与键盘同等的功能;
4、综合调试并进行优化。
4程序流程(含流程图及详细步骤解释)
详细步骤解释
程序运行时即进行初始化,在LCD显示屏上显示计算器界面。接着判断是否有键盘按键按下或者有触屏,没有就继续扫描判断,有则将按下的键所对应的字符存入数组savedata。在此之中,也在判断键入的字符是否是退格键,如果是则将上一个字符清除掉。当检测到字符“=”时,将savedata数组中所存储的字符分离,其中,数值存在操作数数组op1中,操作符存在操作符数组op2中,然后进行运算。运算开始时,先扫描op2数组,当检测到操作符则将op1数组中对应操作符前后的两个操作数进行运算(先乘除后加减),结果放在两个操作数的前一个的位置,将op1和op2数组向前移动一个位置以覆盖已经运算过的操作数和操作符。当继续进行连续运算时,将字符继续存到savedata数组后面,否则清除op1的值,将字符存到savedata数组第一个开始的位置。
程序中考虑了各种非法输入的情况:当连续输入两个操作符时、当按“=”时检测到前一个字符是操作符时、当程序第一个字符不是操作数时,都报错,自动清屏并重启计算器。
按照实际中计算器的原则,当按下“=”后,退格键不能清除,比如1+2=3;不能将“2”、“+”、“1”退格。如果是连续运算,继续按下“-3+8/2”时,退格键有效,能清“-3+8/2”中的字符。清除后继续连续运算。
5操作步骤及方法
下载完程序后:
1、普通计算:例如计算123+456,直接在显示屏上连续触发“123+456”,然后触“=” 就可以在第二行显示=579;
2、连续运算。例如先计算123+456,结果为579,此时再按下“+” “1” 先在第一行显示123+456+1,在第二行就会显示=580,再按下“-” “9”,第一行显示123+456+1-9,在第二行就会显示=571,依次类推。
3、当输入的字符是非法输入时,在LCD第三行显示 illeagle enter!然后自动清屏重启计算器。
6设计过程遇到的问题、原因及解决方法