最新西安邮电大学嵌入式系统实验报告.docx
《最新西安邮电大学嵌入式系统实验报告.docx》由会员分享,可在线阅读,更多相关《最新西安邮电大学嵌入式系统实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
最新西安邮电大学嵌入式系统实验报告
西安邮电大学
(计算机学院)
课内实验报告
实验名称:
嵌入式系统开发
专业名称:
软件工程
班级:
学生姓名:
学号(8位):
指导教师:
实验日期:
2014年11月27日
一、ADS1.2集成开发环境练习
二、蜂鸣器
三、跑马灯
四、外中断实验
五、定时器中断
六、UART串行数据通信(查询方式)
一、ADS1.2集成开发环境练习
1.1实验目的及实验环境
1.1.1实验目的:
学习ADS1.2集成开发环境的使用方法。
1.1.2实验环境
硬件:
PC机一台
软件:
Windows98/XP/2000系统,ADS1.2集成开发环境。
1.2实验内容:
(1)ADS的启动;
(2)使用asmforlpc2131工程模板,建立一个新的工程。
(3)在模板文件main.S文件中,加入用户汇编代码。
(4)编译链接工程。
(5)调试工程。
(6)学习ADS工具的使用。
1.3实验步骤:
1启动ADS1.2IDE集成开发环境。
2在ADS主窗口主菜单选择File->New,使用asmforlpc2131工程模板建立一个工程(图例中工程名称为:
ZQL_LIB1),指定工程路径(图例中工程路径为D:
\ARM_Lib_Bak\ARM_asm)。
3点击确认<按钮>,创建工程。
4可在主窗口菜单选择Edit->Perferences,设置字体和字号。
5在main.S文件编辑窗的“addtheusercodehere.添加用户代码”行下建立用户汇编程序代码。
6选择Project->Make(或快捷键),编译链接整个工程。
若编译成功,则Erros&Warnings对话框会报告编译错误为0,此时即可对工程进行仿真。
7选择Project->Debug(或快捷键),IDE环境就会启动AXD调试软件。
1.4实验结果
1.5实验总结这次实验主要是学习ADS1.2集成开发环境的使用,通过这次实验,我掌握了嵌入式系统编程的流程,我学会了ADS的启动,学会了使用asmforlpc2131工程模板,建立一个新的工程,在模板文件main.S文件中,加入用户汇编代码,然后编译链接工程,调试工程。
掌握了ADS工具的使用。
这次实验让我初步了解了嵌入式系统。
二、蜂鸣器
2.1实验目的及实验环境
2.1.1实验目的:
掌握LPC2131工程模板的使用。
掌握EasyJTAG仿真器的安装和使用。
能够在EasyARM教学实验开发平台上运行第一个程序。
熟悉LPC2000系列ARM7微控制器的GPIO控制。
2.1.2实验环境
硬件:
PC机一台
LPC2131教学实验开发平台一套
软件:
Windows98/XP/2000系统,ADS1.2集成开发环境。
2.2实验内容:
P0.7管脚控制EasyARM教学实验开发平台上的蜂鸣器报警。
2.3实验步骤:
1启动ADS1.2IDE集成开发环境,选择ARMExecutableImageforlpc2131工程模板建立一个工程BeepCon_C。
2在user组里编写主程序代码main.c。
3选用DebugInRam生成目标,然后编译链接工程。
4将EasyARM教学实验开发平台上的P0.7管脚与Beep跳线短接。
5选择Project->Debug,启动AXD进行JTAG仿真调试。
6全速运行程序,程序将会在main.c的主函数中停止(因为main函数起始处默认设置有断点)。
7单击ContextVariable图标按钮(或者选择ProcessorViews->Variables)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。
选择SystemViews->DebuggerInternals即可打开LPC2000系列ARM7微控制器的片内外寄存器窗口。
8可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制是否正确。
2.4实验结果:
打开开关,蜂鸣器如期响了
图1蜂鸣器编译
.图2蜂鸣器运行
2.5总结:
这次实验学会了LPC2131工程模板的使用以及EasyJTAG仿真器的安装和使用。
在EasyARM教学实验开发平台上运行第一个程序,使蜂鸣器发声的程序,通过这次实验熟悉了LPC2000系列ARM7微控制器的GPIO控制,对微控制器更加了解,以及加深了对寄存器知识的了解。
三、跑马灯
3.1实验目的及实验环境
3.1.1实验目的:
熟悉LPC2000系列ARM7微控制器的GPIO输出控制。
3.1.2实验环境
硬件:
PC机一台
LPC2131教学实验开发平台一套
软件:
Windows98/XP/2000系统,ADS1.2集成开发环境。
3.2实验内容:
使用GPIO口控制8个LED流水灯显示。
3.3设计分析:
1启动ADS1.2IDE集成开发环境,选择ARMExecutableImageforlpc2131工程模板建立一个工程LedDisp_C。
2在user组里编写主程序代码main.c。
3选用DebugInRam生成目标,然后编译链接工程。
4将EasyARM教学实验开发平台上的P1.[18:
25]管脚对应与LED[1:
8]跳线短接。
5选择Project->Debug,启动AXD进行JTAG仿真调试。
6全速运行程序,程序将会在main.c的主函数中停止。
7单击ContextVariable图标按钮(或者选择ProcessorViews->Variables)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。
选择SystemViews->DebuggerInternals即可打开LPC2000系列ARM7微控制器的片内外寄存器窗口。
8可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程序运行,观察变量的值,判断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系统,ADS1.2集成开发环境
4.2实验内容:
主程序闪烁LED,EINT使能/停止BEEP的鸣响。
4.3设计分析:
1跳线LED1、Key1和Beep分别连接到P1.18、P0.16和P0.7管脚;使用KEY1模拟外中断;
2启动ADS1.2,使用ARMExecutableImageforlpc2131工程模板建立一个工程TimeEINT_C。
3在user组中的main.c中编写主程序代码;使用系统宏IRQEnable(),使能IRQ中断。
4装载并使能外中断;
5选用DebugInExram生成目标,然后编译连接工程。
6选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。
7全速运行程序,LED闪烁;
8每一次按键Key,蜂鸣器就会转换静音或鸣响状态。
4.4实验结果:
主程序闪烁LED,每一次按键Key,蜂鸣器就会转换静音或鸣响状态。
4.5总结:
这次实验是学习LPC2000系列ARM7微控制器的向量中断控制器及外中断的应用技术,主程序闪烁LED,EINT使能/停止BEEP的鸣响。
刚开始做实验时,写好程序后开始运行后,LED不亮,仔细检查代码后发现是本组的实验板有问题,换了其他组的板子后,LED
灯就能正常闪烁了。
实验不成功有很多原因,比如程序有问题,硬件有问题,当不能成功做出实验时要从多方面寻找原因。
通过这次实验,对嵌入式的知识更加了解。
五、定时器中断
5.1实验目的及实验环境
5.1.1实验目的:
熟悉LPC2000系列ARM7微控制器的定时器0的基本设置及定时中断应用。
5.1.2实验环境
硬件:
PC机一台
LPC2131教学实验开发平台一套软件:
Windows98/XP/2000系统,ADS1.2集成开发环境
5.2实验内容:
使用定时器0实现1秒定时,控制蜂鸣器蜂鸣。
采用中断方式实现定时控制。
备注:
EasyARM2131实验板上的系统时钟默认为11.0592MHz;系统中已定义了符号常量Fpclk=11059200;
5.3设计分析:
1启动ADS1.2,使用ARMExecutableImageforlpc2131工程模板建立一个工程TimeOut_C。
2在user组中的main.c中编写主程序代码。
3主程序中使用IRQEnable()使能IRQ中断。
4选用DebugInExram生成目标,然后编译连接工程。
5将LPC2131实验板上的Beep跳线短接到P0.7。
6选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。
7全速运行程序,蜂鸣器会响一秒,停一秒,然后再响一秒⋯⋯依次循环。
5.4实验结果:
蜂鸣器会响一秒,停一秒,然后再响一秒⋯⋯依次循环。
5.5总结:
这次实验是练习LPC2000系列ARM7微控制器的定时器0的基本设置及定时中断应用,使用定时器0实现1秒定时,控制蜂鸣器蜂鸣,并且采用中断方式实现定时控制。
通过这次实验对嵌入式外部中断知识更加了解,对中断通道的设置以及定时器的启动有了更好的了解。
六、UART串行数据通信实验(查询方式)
6.1实验目的及实验环境
6.1.1实验目的:
通过实验,掌握UART查询1方式程序的设计。
6.1.2实验环境
硬件:
PC机一台
LPC2131教学实验开发平台一套
软件:
Windows98/XP/2000系统,ADS1.2集成开发环境。
EasyARM工具软件。
6.2实验内容:
通过串口0接收上位机发送的字符串,如“HelloEasyARM2131!
”,然后返回上位机显示。
6.3实验步骤:
1启动ADS1.2,使用ARMExecutableImageforlpc2131工程模板建立一个工程DataRet_C。
2在user组中的main.c中编写主程序代码,在项目中的config.h文件中加入#include。
3选用DebugInRam生成目标,然后编译连接工程。
4将EasyARM2131开发板上的JP6跳线分别选择TxD0和RxD0端时,方可进行UART0通信实验。
5使用串口延长线把LPC2131教学实验开发平台的CZ2(UART0)与PC机的COM1连接。
PC机运行EasyARM软件,设置串口为COM1,波特率为115200,然后选择【设置】->【发送数据】,在弹出的发送数据窗口中点击“高级”即可打开接收窗口。
6选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。
7全速运行程序,在PC机上的EasyARM软件发送如“HelloEasyARM2131!
”字样的字符串,EasyARM2131开发板接收到数据后,并将接收到的数据回发给PC机。
6.4实验结果:
往串口输入“HelloEasyARM2131!
”,上位机正确显示出来了。
6.5总结:
通过实验,掌握了UART查询1方式程序的设计,做到了通过串口0接收上位机发送的字符串,然后返回上位机显示。
刚开始往串口发送字符串时,上位机并没有同时显示出来,找同学帮忙后才得以解决问题。
通过这次实验,学会了串口的初始化,波特率的设置,以及串口的发送查收方式,对串口的相关知识更加了解。