当前位置:文档之家› 嵌入式实验报告

嵌入式实验报告

嵌入式实验报告学院:信息工程学院专业:计算机科学与技术班级:计算机班姓名:学号:指导老师:实验目录实验一嵌入式系统开发环境实验 (2)实验二系统节拍定时器实验 (12)实验三 GPIO控制实验 (16)实验四外部中断实验 (19)实验五串口通讯实验 (23)实验一嵌入式系统开发环境实验【实验目的】1.熟悉RealView MDK集成开发环境以及使用方法。

2.熟悉嵌入式系统软件设计方法和流程。

【实验内容】1. 通过例程熟悉、掌握嵌入式系统的编辑、编译、调试、下载及运行过程。

2. 建立自己的工程文件,在开发板板上调试程序。

【实验步骤】(一)程序安装1. 建议在安装之前关闭所有的应用程序,双击安装文件,弹出如图对话框,Next2.默认选择C盘文件下安装。

3.这样就在c盘底下出现keil文件夹。

4.单击选择菜单“File”-->"License Management" 将弹出下面一张图的界面:复制其中CID号,以便在粘贴到下一步中的破解软件。

5.复制CID6.运行破解软件,将出现下面一张图的界面,把上步复制的CID号粘贴到相应位置,其他选项如图,然后点击“Generate”按钮,然后复制产生的序列号,粘贴到上一步的下面一张图的LIC输入框中,然后点击右侧的Add LIC,即可完成破解。

7.安装文件夹中的jlink驱动。

(二)工程创建、编译使用Realview MDK创建、完成一个新的工程只需要以下几个环节:→创建工程并选择处理器→选择工具集→创建源文件→配置硬件选项→配置对应启动代码→编译链接→下载→调试。

1.创建工程并选择处理器选择Project→New Project…,输入创建的新工程的文件名,即可创建一个新的工程。

2.创建一个新工程时,需要为工程选择一款对应处理器,在NXP 列表下选择LPC1768 芯片。

然后点击OK。

接下来出现的对话框选择“是或者也可以通过单击Project→Select Device for Target…在本次课程中,我们选择3.点击上图的ok,在弹出的对话框中确定是否需要复制启动文件选择否,如果选择是,将使用keil自带的启动文件4.在工程区域单击鼠标右键,选择manage components5.在“Project Components”标签下根据需要建立目录,第一栏是工程的根目录,在这里可以修改目录名;第二栏是添加Groups,可以根据个人习惯建立不同的组来分别放置不同类型的文件;第三栏是为建立的组添加代码文件用的,点击“Add Files”添加。

6.在startup文件夹里添加文件夹中的在CMSIS-CORE文件夹里添加件夹中的7.新项目建完后,Keil μVision环境中项目窗口显示见图下面开始创建源文件。

8.新建一个文件,点击File 菜单下的New。

输入代码,点击保存9.接下来右键点击左侧source下拉菜单的Add File to Group…将我们刚刚新建的文件添加到工程。

出现添加对话框后选择已有的 C 程序源文件,然后点击Add,就可以点击Add 下面的Close 了下面开始对工程进行配置。

10.选择“project”下的“options for Target‘ joy’…”选项11.单击菜单项Project→Options for Target,在弹出的Target页面中可指定目标硬件和所选择设备片内组件的相关参数,处理器配置对话框如下12.Output(输出选项)设置,选择创建扩展名为HEX,选择HEX文件保存位置,建议保存在项目所在的文件夹下。

13.Debug(调试选项)设置,硬件仿真“Use:14.点击上图硬件仿真处的settings按钮,则会弹出下图中的仿真硬件设置界面,如果连接成功,则会弹出硬件相关信息。

注意到此处:板载一个USB仿真器,支持仿真调试、下载等功能。

使用方法跟JLINK一样(JLINK全兼容),开发板断开后内带的仿真器可以作为通用调试仿真开发工具使用。

JP4 是仿真器选择控制脚,当JP4开路时选择板载仿真器连接LPC1768的JTAG口,当JP4短路时选择外部仿真器连接JTAG口外部仿真,切换功能必须要断电后再上电才生效。

所以请确认JP4开路。

15.Utilities(工具选项)设置【实验现象】建一个工程后,以系统节拍定时器实验,进行测试,将程序下载到开发板上之后,关闭开发板开关,然后打开,可以听见蜂鸣器每一秒钟会响一次。

说明嵌入式开发环境建立的正确。

【实验心得和体会】通过这次实验我们大致掌握RealView MDK集成开发环境以及使用方法。

通过例程大致熟悉、掌握嵌入式系统的编辑、编译、调试、下载及运行过程。

实验二系统节拍定时器实验【实验目的】(1)掌握LPC1768芯片的使用(2)在开发平台上开发第一个程序(3)熟悉lpc1768的GPIO控制【实验内容】控制开发平台的蜂鸣器周期性(1秒)交替鸣叫。

【实验原理】【原理图】【实验步骤】1使用Realview MDK创建一个新的工程,经过一系列配置后2新建一个文件,点击File 菜单下的New。

输入代码,点击保存3 对工程进行配置完成以后,编译、链接、下载到开发板上程序代码#include "LPC17xx.h"/**************************************************************** *****************************************宏定义***************************************************************** ****************************************/#define BEEP (1ul <<26)uint32_t GulSystick = 0;uint32_t GucDelay1S = 0;/**************************************************************** ******************************************* Function name: myDelay** Descriptions: 软件延时** input parameters: 无** output parameters: 无** Returned value: 无*********************************************************************************************************///void myDelay (uint32_t ulTime)//{// uint32_t i;//while (ulTime--) {// for (i = 0; i < 5000; i++);//}//}/*********************************************************************************************************** Function name: GPIOInit** Descriptions: GPIO初始化** input parameters: 无** output parameters: 无** Returned value: 无*********************************************************************************************************/void GPIOInit( void ){LPC_PINCON->PINSEL1 &= ~(0x3 << 20); /* 将P0.26初始化为GPIO功能 */LPC_GPIO0->FIODIR |= BEEP; /* 将P0.26方向设置为输出 */LPC_GPIO0->FIOSET |= BEEP; /* 将P0.26初始化输出高电平 */}/*********************************************************************************************************** Function name: SysTick_Handler** Descriptions: 系统节拍定时器中断服务函数** input parameters: 无** output parameters: 无** Returned value: 无*********************************************************************************************************/void SysTick_Handler(void){if (GulSystick++ >= 99){ /* 配置一秒的延时*/GulSystick = 0;GucDelay1S = 1;}}/*********************************************************************************************************** Function name: main** Descriptions: 系统节拍定时器例程。

短接P0.26与BEEP,启动程序,蜂鸣器隔1秒交替鸣叫** input parameters: 无** output parameters: 无** Returned value: 无*********************************************************************************************************/int main (void){SystemInit(); /* 系统初始化,切勿删除 */GPIOInit();SysTick_Config(100000000/100);while (1){while(GucDelay1S == 0);GucDelay1S = 0;LPC_GPIO0->FIOSET |= BEEP;while(GucDelay1S == 0);GucDelay1S = 0;LPC_GPIO0->FIOCLR |= BEEP;}}引脚功能选择寄存器1(PINSEL1 - 0x4002 C004)PINSEL1寄存器控制端口0高半部分的位功能。

相关主题