嵌入式系统课程设计报告.doc
《嵌入式系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《嵌入式系统课程设计报告.doc(19页珍藏版)》请在三一办公上搜索。
1、 嵌入式系统实验设计报告 指导老师 设计者 专业班级 测控0801班 学 号 时 间 2011年6月 实验一 LED灯显示实验一 实验目的1. 熟悉arm开发板基本组成电路,并通过配套教材熟悉arm芯片特性。了解ADS1.2软件使用,并会用该软件编译调试开发板。2. 了解HJTAG软件原理,利用教材中提供的LED测试程序,完成实验。二 实验器材PC机一台,周立功开发板一块。注意:对LPC2103管脚的寄存器进行配置时,应该对照芯片说明手册,按照索引,找到相关寄存器,对其进行配置。三实验原理 EasyARM2103开发板提供了4个绿色发光二极管用作显示,电路如图1.1所示。显示电路采用了灌电流的
2、方式来驱动发光二极管,由于微控制器LPC2103 I/O口提供的灌电流大于其拉电流,采用此驱动方式可以保证二极管发光的亮度。 图1.1 LED电路原理四 实验内容及步骤1. 下面以GPIO的测试程序为例,熟悉EasyJTAG-H软件的使用方法,程序功能设计为控制单路LED闪烁,硬件电路如图1.1所示。 2. 打开示例工程。示例工程路径:配套光盘内容-光盘内容v1.00-3.EasyARM2103安装手册-GPIO Test,将此文件夹复制到其它目录下打开,要求存放目录必须无中文路径。打开文件夹后,建议用户先删掉“GPIO_Test_Data”文件夹,然后双击打开“GPIO Test.mcp”文
3、件,即打开示例工程。3. 点击“user”文件夹,打开main.c文件,见到示例代码。4. 选择低速GPIO,控制LED灯闪烁,示例程序如程序清单所示。此示例操作需要短接JP4的P0.17,输出控制LED1。5. 编译连接工程。项目目标栏处选择DebugInFlash模式,然后编译连接工程。6. 仿真调试 。将计算机并口与Easy JTAG-H仿真器相连,然后再将Easy JTAG-H仿真器的JTAG接口连接到Easy ARM2103目标板上,打开H-JTAG,检测到芯片内核信息后,选择Auto Download选项,此时会自动启动H-Flasher软件,选择目标芯片的型号,将当前的配置信息保
4、存起来,建议将配置信息保存到安装路径下的Hconfig文件夹内。7. 设置完成后,关闭H-JTAG Server和H-Flasher(注意:不能使用Exit项关闭)。启动AXD,打开【Options】-【Configure Target.】,弹出Choose Target窗口,点击“ADD”添加仿真器的驱动程序,在添加文件窗口选择如D:Program FilesH-JTAG 目录下的H-JTAG .dll,点击“打开”即可。8. 在AXD环境点击运行,即可看到led亮。附加:编写程序实现四个LED灯循环闪烁的功能。五 实验程序及结果1 一个led灯亮的源代码如下:#include config
5、.h# define LED1 1 0; uiDly-) for(i = 0; i 50000; i+); /* Function name:main* Descriptions:跳线JP4短接,LED1闪烁* input parameters: 无* output parameters: 无* Returned value: 无*/int main (void) PINSEL1 = PINSEL1 & (0x03 2); /* 将P0.17设置为GPIO */ IO0DIR = LED1; /* 设置LED控制口为输出 */ IO0SET = LED1; /* LED1熄灭 */ while
6、 (1) IO0SET = LED1; /* LED1熄灭 */ DelayNS(50); /* 延时 */ IO0CLR = LED1; /* LED1点亮 */ DelayNS(50); /* 延时 */ return 0;/* End Of File */运行程序后,可以看到第一个LED灯亮。2 四个LED灯循环闪烁的源代码如下:#include config.h# define LED1 1 17 /* P0.17控制LED1 */# define LED2 1 18 /* P0.18控制LED2 */# define LED3 1 19 /* P0.19控制LED3 */# defi
7、ne LED4 1 0; uiDly-) for(i = 0; i 50000; i+); int main (void) PINSEL1 = PINSEL1 & (0x03 2); /* 将P0.17设置为GPIO */ PINSEL1 = PINSEL1 & 0x0FFFFFFE7; /* 将P0.18设置为GPIO */ PINSEL1 = PINSEL1 & 0x0FFFFFF9F; /* 将P0.19设置为GPIO */ PINSEL1 = PINSEL1 & 0x0FFFFFE7F; /* 将P0.20设置为GPIO */ while (1) IO0DIR = LED1; IO0S
8、ET = LED1; /* LED1熄灭 */ DelayNS(50); /* 延时 */ IO0CLR = LED1; /* LED1点亮 */ DelayNS(50);IO0DIR = LED2; /* LED2熄灭 、延时、点亮、延时 */ IO0SET = LED2; DelayNS(50); IO0CLR = LED2; DelayNS(50); IO0DIR = LED3; /* LED3熄灭 、延时、点亮、延时 */ IO0SET = LED3; DelayNS(50); IO0CLR = LED3; DelayNS(50); IO0DIR = LED4; /* LED4熄灭 、
9、延时、点亮、延时 */ IO0SET = LED4; DelayNS(50); IO0CLR = LED4; DelayNS(50); return 0;/* End Of File */运行程序后,可看到四个LED一个接一个的亮,实现了跑马灯的功能。实验二 中断实验一 实验目的1. 熟悉arm开发板中断原理。并产生中断。2. 了解快速中断和普通中断。编写嵌套中断实验。二 实验器材PC机一台,周立功开发板一块三实验原理同实验一四 实验内容及步骤参照实验一中步骤1-8。 附加:1. 编写程序实现三个按钮分别控制三个LED灯亮灭的功能。2. 自行编写一段实现中断嵌套的程序,阐明嵌套过程。五 实验程
10、序及结果1一个按钮控制一个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 & (1 17) = 0) IO0SET = 1 17; /* 熄灭发光二极管 */ else IO0CLR = 1 17; /* 点亮发光二极管 */ w
11、hile(IO0PIN & (1 16) = 0); /* 等待按键松开 */ EXTINT = 0x01; /* 清中断标志 */ VICVectAddr = 0x00; /* 通知VIC中断处理结束*/* Function name: main* Descriptions: P0.16低电平触发外部中断主函数* input parameters: 无* ouput parameters: 无* Returned value: 无*/int main (void) PINSEL1 = PINSEL1 & (0x03); PINSEL1 = PINSEL1 | 0x01; /* 设置P0.16
12、为外部中断0管脚 */ INSEL1 = PINSEL1 & (0x03 2); /* 设置P0.17为GPIO功能 */ IO0DIR = LED; /* 设置P0.17为输出 */ IO0SET = LED; /* 设置输出为高电平 */ IRQEnable(); /* IRQ中断使能 */ EXTMODE = 0x00; /* 设置外部中断为低电平触发 */ EXTPOLAR = 0x00; VICIntSelect = 0 14; /* 选择EINT0为IRQ中断 */ VICVectCntl0 = 0x20 | 14; /* 将外部中断0分配给向量中断0 */ VICVectAddr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 课程设计 报告
链接地址:https://www.31ppt.com/p-2393786.html