西 安 邮 电 大 学
(计算机学院)
课内实验报告
实验名称: 嵌入式系统开发
专业名称: 软件工程
班 级:
学生姓名:
学号(8位):
指导教师:
实验日期: 2014年11月27日
ADS1.2集成开发环境练习
蜂鸣器
跑马灯
外中断实验
定时器中断
六、UART串行数据通信(查询方式)
一、ADS1.2集成开发环境练习
1.1实验目的及实验环境
1.1.1实验目的:
学习ADS1.2集成开发环境的使用方法。
1.1.2实验环境
硬件: PC机 一台
软件:Windows 98/XP/2000系统,ADS1.2集成开发环境。
1.2实验内容:
ADS的启动;
使用asm for lpc2131工程模板,建立一个新的工程。
在模板文件main.S文件中,加入用户汇编代码。
编译链接工程。
调试工程。
学习ADS工具的使用。
1.3实验步骤:
启动ADS1.2IDE集成开发环境。
在ADS主窗口主菜单选择File->New,使用asm for lpc2131工程模板建立一个工程(图例中工程名称为:ZQL_LIB1),指定工程路径(图例中工程路径为 D:\ARM_Lib_Bak\ARM_asm)。
点击确认<按钮>,创建工程。
可在主窗口菜单选择Edit->Perferences,设置字体和字号。
在main.S文件编辑窗的 “add the user code here. 添加用户代码”行下建立用户汇编程序代码 。
选择Project->Make(或快捷键),编译链接整个工程。若编译成功,则Erros & Warnings对话框会报告编译错误为0,此时即可对工程进行仿真。
选择Project->Debug(或快捷键),IDE环境就会启动AXD调试软件。
1.4实验结果
1.5实验总结
这次实验主要是学习ADS1.2集成开发环境的使用,通过这次实验,我掌握了嵌入式系统编程的流程,我学会了ADS的启动,学会了使用asm for lpc2131工程模板,建立一个新的工程,在模板文件main.S文件中,加入用户汇编代码,然后编译链接工程,调试工程。掌握了ADS工具的使用。这次实验让我初步了解了嵌入式系统。
二、蜂鸣器
2.1实验目的及实验环境
2.1.1实验目的:
掌握LPC2131工程模板的使用。
掌握EasyJTAG仿真器的安装和使用。
能够在EasyARM教学实验开发平台上运行第一个程序。
熟悉LPC2000系列ARM7微控制器的GPIO控制。
2.1.2实验环境
硬件: PC机 一台
LPC2131教学实验开发平台 一套
软件:Windows 98/XP/2000系统,ADS1.2集成开发环境。
2.2实验内容:
P0.7管脚控制EasyARM教学实验开发平台上的蜂鸣器报警。
2.3实验步骤:
① 启动ADS1.2IDE集成开发环境,选择ARM Executable Image for lpc2131工程模板建立一个工程BeepCon_C。
② 在user组里编写主程序代码main.c。
③ 选用DebugInRam生成目标,然后编译链接工程。
④ 将EasyARM教学实验开发平台上的P0.7管脚与Beep跳线短接gde台ngtheng 。
⑤ 选择Project->Debug,启动AXD进行JTAG仿真调试。
⑥ 全速运行程序,程序将会在main.c的主函数中停止(因为main函数起始处默认设置有断点)。
⑦ 单击Context Variable图标按钮(或者选择Processor Views->Variables)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。选择System Views->Debugger Internals 即可打开LPC2000系列ARM7微控制器的片内外寄存器窗口。
⑧ 可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制是否正确。
2.4实验结果:
打开开关,蜂鸣器如期响了
图 SEQ 图 \* ARABIC 1 蜂鸣器编译
图 2 蜂鸣器运行
2.5 总结:
这次实验学会了LPC2131工程模板的使用以及EasyJTAG仿真器的安装和使用。在EasyARM教学实验开发平台上运行第一个程序,使蜂鸣器发声的程序,通过这次实验熟悉了LPC2000系列ARM7微控制器的GPIO控制,对微控制器更加了解,以及加深了对寄存器知识的了解。
三、跑马灯
3.1 实验目的及实验环境
3.1.1实验目的:
熟悉LPC2000系列ARM7微控制器的GPIO输出控制。
3.1.2实验环境
硬件: PC机 一台
LPC2131教学实验开发平台 一套
软件:Windows 98/XP/2000系统,ADS1.2集成开发环境。
3.2 实验内容:
使用GPIO口控制8个LED流水灯显示。
3.3设计分析:
① 启动ADS1.2IDE集成开发环境,选择ARM Executable Image for lpc2131工程模板建立一个工程LedDisp_C。
② 在user组里编写主程序代码main.c。
③ 选用DebugInRam生成目标,然后编译链接工程。
④ 将EasyARM教学实验开发平台上的P1.[18:25]管脚对应与LED[1:8]跳线短接gde台ngtheng 。
⑤ 选择Project->Debug,启动AXD进行JTAG仿真调试。
⑥ 全速运行程序,程序将会在main.c的主函数中停止。
⑦ 单击Context Variable图标按钮(或者选择Processor Views->Variables)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。选择System Views->Debugger Internals 即可打开LPC2000系列ARM7微控制器的片内外寄存器窗口。
⑧ 可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程序运行,观察变量的值,判断LED1~LED8控制是否正确。
3.4实验结果:
用GPIO口成功控制8个LED流水灯显示
3.5总结:
这次实验主要是为了熟悉LPC2000系列ARM7微控制器的GPIO输出控制,使用GPIO口控制8个LED流水灯显示。刚开始不知道如何编写程序代码,后来看了一下实验指导书上的程序,了解了代码的含义,实现看8个LED流水灯的显示,对程序的编写也更加了解,对代码对应的各个寄存器的功能也更加了解,巩固了嵌入式寄存器的知识。
四、外中断实验
4.1 实验目的及实验环境
4.1.1实验目的:
学习LPC2000 系列ARM7 微控制器的向量中断控制器及外中断的应用技术。
4.1.2实验环境
硬件:PC 机 一台
LPC2131教学实验开发平台 一套
软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境
4.2 实验内容:
主程序闪烁LED,EINT使能/停止 BEEP的鸣响。
4.3设计分析:
跳线LED1、Key1和Beep分别连接到P1.18、P0.16和P0.7管脚;使用KEY1模拟外中断;
启动ADS 1.2,使用ARM Executable Image for lpc2131工程模板建立一个工程TimeEINT_C。
在user 组中的main.c 中编写主程序代码;使用系统宏IRQEnable(),使能IRQ 中断。
装载并使能外中断;
选用DebugInExram 生成目标,然后编译连接工程。
选择【Project】->【Debug】,启动AXD 进行JTAG 仿真调试。
全速运行程序,LED闪烁;
每一次按键Key,蜂鸣器就会转换静音或鸣响状态。
4.4实验结果:
主程序闪烁LED,每一次按键Key,蜂鸣器就会转换静音或鸣响状态。
4.5总结:
这次实验是学习LPC2000 系列ARM7 微控制器的向量中断控制器及外中断的应用技术,主程序闪烁LED,EINT使能/停止 BEEP的鸣响。刚开始做实验时,写好程序后开始运行后,LED不亮,仔细检查代码后发现是本组的实验板有问题,换了其他组的板子后,LED