实验指导书1 GPIO输入输出控制实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一GPIO输入输出控制实验
GPIO输入输出控制实验1
1.实验目的
(1)进一步掌握ADS 1.2集成开发环境的使用方法。
(2)掌握LPC2200专用工程模板的添加和使用。
(3)掌握EasyJTAG仿真器的安装和使用。
(4)能够在MagicARM2200教学实验开发平台上运行第一个程序(无操作系统)。
(5)熟悉LPC2000系列ARM7微控制器的GPIO控制。
(6)了解应用程序的固化方法。
2.实验设备
●硬件:PC机一台
MagicARM2200教学实验开发平台一套
●软件:Windows98/XP/2000系统,ADS 1.2集成开发环境
3.实验内容
控制MagicARM2200教学实验开发平台上的蜂鸣器报警。先使用片外RAM(MT45W4MW16芯片)进行调试,调试通过后将程序固化到片外FLASH(SST39VF160芯片),然后脱机运行。
4.实验预习要求
(1)认真复习LPC2000系列ARM7微控制器的GPIO控制机制以及LPC2000管脚连接模块等内容。
(2)了解MagicARM2200教学实验开发平台的硬件结构,注意蜂鸣器的相关控制电路。
(3)了解MagicARM2200教学实验开发平台上的跳线。
(4)仔细阅读附带文档《ADS集成开发环境及仿真器应用》或其它相关资料,了解ADS 1.2集成开发环境、LPC2200专用工程模板、EasyJTAG仿真器的应用。
5.实验原理
如图1.1所示,MagicARM2200实验箱主板上蜂鸣器使用PNP三极管Q12进行驱动控制,当控制P0.7输出低电平时,Q12导通,蜂鸣器蜂鸣;当控制P0.7输出高电平时,Q12截止,蜂鸣器停止蜂鸣;若把JP22断开,Q12截止,蜂鸣器停止蜂鸣。
由于P0.7口与(LPC2200的)SPI功能部件的SSEL0复用,所以此引脚上接一上拉电阻R86,防止在使用硬件SPI总线时由于SSEL0引脚悬空导致SPI操作出错。
J 1_P o r t
图错误!文档中没有指定样式的文字。.1 蜂鸣器控制电路
6.
实验步骤
(1)连接EasyJTAG 仿真器和MagicARM2200教学实验开发平台,然后安装EasyJTAG 仿真器的驱动程序(若已经安装过,此步省略)。
(2)为ADS1.2增加LPC2200专用工程模板(若已增加过,此步省略)。 (3)启动ADS 1.2,使用ARM Executable Image for MaigcARM2200工程模板建立一个工程BeepCon_C 。
(4)在user 组中的main.c 中编写主程序代码。
(5)选用DebugInExram 生成目标,如图1.2所示,然后编译连接工程。
图1.2 选择生成目标
(6)将MagicARM2200教学实验开发平台上的跳线器JP22短接,JP20断开,见图 。
图 1.3 蜂鸣器连接电路
(7)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试(需要正确设置仿真器,参考产品光盘附带文档《ADS集成开发环境及仿真器应用》)。
注意:使用DebugInExram生成目标时,使用片外RAM进行仿真调试,建议AXD设置Halt Mode选择Halt program,Aux Option选择Erase Flash when need。在AXD中设置仿真器参考如图所示。
图1.4 片外RAM调试的仿真器设置
(8)若JTAG连接出错,或AXD主窗口没有显示Startup.S源程序,按文档《ADS集成开发环境及仿真器应用》介绍的方法进行处理。
(9)全速运行程序,程序将会在main.c的主函数中停止(因为main函数起始处默认设置有断点)。
(10)单击Context Variable图标按钮(或者选择【Processor Views】->【Variables】)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。选择【System Views】->【Debugger Internals】即可打开LPC2000系列ARM7微控制器的片内外设寄存器窗口。
(11)可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制是否正确。
(12)当仿真调试通过后关闭AXD,在ADS 1.2集成开发环境中选用RelOutChip生成目标,然后编译连接工程。
(13)将MagicARM2200教学实验开发平台上的JP22跳线短接,JP20跳线断开。
(14)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。此时EasyJTAG 仿真器将会把程序下载到片外FLASH上(需要正确设置仿真器,见图。具体参考文档《ADS 集成开发环境及仿真器应用》)。
图1.5 片外FLASH调试的仿真器设置
(15)按MagicARM2200教学实验开发平台上的RST复位键,观察程序是否能脱机运行。
(16)实验结束后,在AXD中设置仿真器为片外RAM调试方式的设置,以便于后面实验的正确操作。
7.实验参考程序
GPIO输出控制实验1的参考程序见程序清单1.1。
程序清单1.1 GPIO输出控制实验1参考程序
/****************************************************************************
* 文件名:main.c
* 功能:蜂鸣器控制。对蜂鸣器B1进行控制,采用软件延时方法。
* 使用I/O口直接控制,采用灌电流方式。
* 说明:将跳线器JP22短接,JP20断开。
****************************************************************************/
#include "config.h"
#define BEEPCON 0x00000080 // P0.7引脚控制B1,低电平蜂鸣
/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时。
* 入口参数:dly 延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
void DelayNS(uint32 dly)