嵌入式系统实验报告 本文关键词:嵌入式系统,实验,报告
嵌入式系统实验报告 本文简介:嵌入式实验报告实验一LED灯显示实验一.实验目的1.熟悉arm开发板基本组成电路,并通过配套教材熟悉arm芯片特性。了解ADS1.2软件使用,并会用该软件编译调试开发板。2.了解H—JTAG软件原理,利用教材中提供的LED测试程序,完成实验。二.实验器材PC机一台,周立功开发板一块三.实验原理Eas
嵌入式系统实验报告 本文内容:
嵌入式实验报告
实验一
LED灯显示实验
一.
实验目的
1.
熟悉arm开发板基本组成电路,并通过配套教材熟悉arm芯片特性。了解ADS1.2软件使用,并会用该软件编译调试开发板。
2.
了解H—JTAG软件原理,利用教材中提供的LED测试程序,完成实验。
二.
实验器材
PC机一台,周立功开发板一块
三.实验原理
EasyARM2103开发板提供了4个绿色发光二极管用作显示,电路如图1.1所示。显示电路采用了灌电流的方式来驱动发光二极管,由于微控制器LPC2103
I/O口提供的灌电流大于其拉电流,采用此驱动方式可以保证二极管发光的亮度。
1.1
Led电路原理
四.
实验内容及步骤
1.
下面以GPIO的测试程序为例,熟悉EasyJTAG-H软件的使用方法,程序功能设计为控制单路LED闪烁,硬件电路如图1.1所示。
2.
打开示例工程。示例工程路径:配套光盘内容->光盘内容v1.00->3.EasyARM2103安装手册->GPIO
Test,将此文件夹复制到其它目录下打开,要求存放目录必须无中文路径,如图5.13所示。打开文件夹后,建议用户先删掉“GPIO_Test_Data”文件夹,然后双击打开“GPIO
Test.mcp”文件,即打开示例工程。
3.
点击“user”文件夹,打开main.c文件,见到示例代码
4.
选择低速GPIO,控制LED灯闪烁,示例程序如程序清单所示。此示例操作需要短接JP4的P0.17,输出控制LED1。
5.
编译连接工程。项目目标栏处选择DebugInFlash模式,然后编译连接工程。
如图所示为工程窗口中的DebugRel
Settings…
工程设置,如地址设置、输出文件设置、编译选项等,Synchronize
Modificatinte同步修改日期,检查工程中每个文件的修改日期,若(如使用其辑源文件),则在h栏标记“√”
Linker
生成的Image
一般包括三个区域:代码段、数据段和BSS
段。需要通
过Linker
设置这三个段的基址。通常BSS
段是紧接着数据段(RW)之
后,因此
只要设置代码段(RO)和数据段(RW)的基址就可以了。根据芯片资料中提
供的器件映射地址来填写。
6.
仿真调试
。将计算机并口与EasyJTAG-H仿真器相连,然后再将EasyJTAG-H仿真器的JTAG接口连接到EasyARM2103目标板上,打开H-JTAG,检测到芯片内核信息后,选择Auto
Download选项,此时会自动启动H-Flasher软件,选择目标芯片的型号,将当前的配置信息保存起来,建议将配置信息保存到安装路径下的Hconfig文件夹内。
7.
Make
(快捷键为F7);
启动AXD进行调试Run
启动AXD进行调试,并直接利用Project
Inspector
工程检查,查看和配置工程中源
文件的
,发现有更新它编辑器编Touch;
编译连接
8.
设置完成后,关闭H-JTAG
Server和H-Flasher(注意:不能使用Exit项关闭)。启动AXD,打开【Options】->【Configure
Target.】,弹出Choose
Target窗口,点击“ADD”添加仿真器的驱动程序,在添加文件窗口选择如D:/Program
Files/H-JTAG
目录下的H-JTAG
.dll,点击“打开”即可。
9.
在AXD环境点击运行,即可看到led亮。
AXD运行调试工具条如图3.14所示,调试观察窗口工具条如图3.15所示,文件操作工具条如图所示。
运行调试工具条
提高部分:改变led显示位置,重新编译链接,使led灯亮。
源代码如下:#include
“config.h“#
define
LED1
1
0;
uiDly--){
for(i
=
0;
i
光盘内容v1.00->3.EasyARM2103安装手册->GPIO
Test,将此文件夹复制到其它目录下打开,要求存放目录必须无中文路径,如图5.13所示。打开文件夹后,建议用户先删掉“GPIO_Test_Data”文件夹,然后双击打开“GPIO
Test.mcp”文件,即打开示例工程。
3.
点击“user”文件夹,打开main.c文件,见到示例代码
4.
编译连接工程。项目目标栏处选择DebugInFlash模式,然后编译连接工程。
5.
仿真调试
。将计算机并口与EasyJTAG-H仿真器相连,然后再将EasyJTAG-H仿真器的JTAG接口连接到EasyARM2103目标板上,打开H-JTAG,检测到芯片内核信息后,选择Auto
Download选项,此时会自动启动H-Flasher软件,选择目标芯片的型号,将当前的配置信息保存起来,建议将配置信息保存到安装路径下的Hconfig文件夹内。
6.
设置完成后,关闭H-JTAG
Server和H-Flasher(注意:不能使用Exit项关闭)。启动AXD,打开【Options】->【Configure
Target.】,弹出Choose
Target窗口,点击“ADD”添加仿真器的驱动程序,在添加文件窗口选择如D:/Program
Files/H-JTAG
目录下的H-JTAG
.dll,点击“打开”即可。
7.
为实现嵌套中断,修改main.c函数,重复上述步骤。
8.
在AXD环境点击运行,即可看到主程序led亮。通过中断按键,使其他led灯亮。
附源代码如下:
#include
“config.h“#define
LED
1
<<
17
/**********************************************************************************************************
Function
name:
Eint0IRQ*
Descriptions:
外部中断0服务程序*
input
parameters:
无*
ouput
parameters:
无*
Returned
value:
无********************************************************************************************************/
void
__irq
Eint0IRQ(void)
{
/*
进入中断取反LED/
if
((IO0PIN
/*
熄灭发光二极管/
}
else
{
IO0CLR
=
1
<<
17;
/*
点亮发光二极管/
}
while((IO0PIN
/*
等待按键松开/
EXTINT
=
0x01;
/*
清中断标志/
VICVectAddr
=
0x00;
/*
通知VIC中断处理结束/
}
/**********************************************************************************************************
Function
name:
main*
Descriptions:
P0.16低电平触发外部中断主函数*
input
parameters:
无*
ouput
parameters:
无*
Returned
value:
无********************************************************************************************************/
int
main
(void)
{
PINSEL1
=
PINSEL1
PINSEL1
=
PINSEL1
|
0x01;
/*
设置P0.16为外部中断0管脚/
PINSEL1
=
PINSEL1
/*
设置P0.17为GPIO功能/
IO0DIR
=
LED;
/*
设置P0.17为输出/
IO0SET
=
LED;
/*
设置输出为高电平/
IRQEnable();
/*
IRQ中断使能/
EXTMODE
=
0x00;
/*
设置外部中断为低电平触发/
EXTPOLAR
=
0x00;
VICIntSelect
=
0
<<
14;
/*
选择EINT0为FIQ中断/
VICVectCntl0
=
0x20
|
14;
/*
将外部中断0分配给向量中断0/
VICVectAddr0
=
(uint32)Eint0IRQ;
/*
设置中断服务程序地址/
VICIntEnable
=
1
<<
14;
/*
使能EINT0中断/
EXTINT
=
0x01;
/*
清除EINT0中断标志/
while(1);
return
0;
}