中南大学
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的使用方法,能够利用该软件熟练地编译下载程序,。通过这几天的学习,让我对飞思卡尔试验箱也有了一定的了解,而且这八个实验做下来也感觉很有意思,每次对代码进行一些小的改动出来效果以后,都感觉挺有趣的。不过在这几天的学习,我也发现了一些问题,那就是才编程方面的缺陷,有些以前的知识都已经忘了,有些程序都看不太懂了,我觉得以后我应该好好复习一下,把以前学的知识都拿回来。