实验三 GPIO输出控制实验
实验目的
熟悉LPC2000系列ARM7微控制器的GPIO输入控制。
二、实验设备
硬件:PC机 一台
LPC2131教学实验开发平台 一套
软件:Windows 98/XP/2000系统,ADS1、2集成开发环境。
三、实验内容
1、 P0、7管脚控制EasyARM教学实验开发平台上的蜂鸣器报警。
2、 GPIO 输出实验-流水灯实验
实验预习要求:
LPC2000 GPIO管脚的设置与控制。
四、实验原理
1、GPIO 输出实验,蜂鸣器控制
在 EasyARM2131 开发板上,接有一个蜂鸣器,由P0、7 控制,通过跳线JP11 选择连接。
蜂鸣器控制电路如所示。
图 3-1 蜂鸣器控制电路
如果跳线JP11 选择蜂鸣器,当P0、7 输出低电平时,蜂鸣器鸣叫,当P0、7 输出高电平则停止鸣叫。程序设置PINSEL0 使P0、7 连接GPIO,并通过IO0DIR将其设置为输出状态,然后通过IO0CLR与IO0SET清零与置位P0、7 口,控制蜂鸣器,流程图见图 3-2。
图 3-2 蜂鸣器控制实验流程图
2. GPIO 输出实验-流水灯实验
单路LED 控制
EasyARM2131 开发板上有8 个独立的LED,分别由8 个GPIO口控制,现在使用其中一路进行实验,使用的电路如图 3-3所示。
图 3-3 单路LED 电路图
当跳线 JP12 连接LED1 时,P1、18 采用灌电流方式驱动LED1,当P1、18 输出低电平时,LED1 点亮,当P1、18 输出高电平时,LED1 熄灭。实验程序首先设置管脚连接GPIO,接着设置P1、18 口为输出模式,然后通过IO1CLR与IO1SET控制P1、18,驱动LED1 的亮灭。
GPIO 输出实验-流水灯实验
EasyARM2131 开发板上的8 路LED(LED8~LED1)分别可选择P1[25:18]进行控制,电路如图 3-4 所示。
图 3-4 8 路LED 控制电路
当跳线JP12 全部选择LED8~LED1 后,P1、25~P1、18 分别控制这8 路LED,就可以进行流水灯实验。流水灯显示花样可以通过数组人为定义,亦可通过一定的算法计算,程序清单所示为采用人为定义数组控制显示花样的实验程序,流程图如图 3-5 所示。
图 3-5 流水灯花样显示流程图
五、实验步骤
实验内容1步骤
① 启动ADS1、2IDE集成开发环境,选择ARM Executable Image for lpc2131工程模板建立一个工程BeepCon_C。
② 在user组里编写主程序代码main、c。
③将EasyARM教学实验开发平台上的P0、7管脚与Beep跳线短接gde台ngtheng 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444。
④选择Project->Debug,启动AXD进行JLINK仿真调试。在工程窗口中选择DebugInRAM生成目标,然后编译连接工程(单击Make按钮)。如图所示。
选择 DebugInRAM 生成目标时,编译连接生成的目标代码就就是用于在片内RAM 调试。
打开ADS开发环境下的【Edit】->【DebugInFLASH Settings、、、】,在”ARM fromELF”下Output format做如图选择,输出文件选择您的文件同一目录下,扩展名’、HEX’
⑥ 全速运行程序,程序将会在main、c的主函数中停止(因为main函数起始处默认设置有断点)。
⑦ 单击Context Variable图标按钮(或者选择Processor Views->Variables)打开变量观察窗口,通过此窗口可以观察局部变量与全局变量。选择System Views->Debugger Internals 即可打开LPC2000系列ARM7微控制器的片内外寄存器窗口。
⑧ 可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制就是否正确。
在FLASH 中调试
在工程窗口中选择 DebugInFLASH 生成目标,然后编译连接工程(单击Make 按钮)。
选择 DebugInFLASH 生成目标时,编译连接生成的目标代码就就是用于在片内FLASH 调试。
编译连接通过后,按键盘的F5 键,启动AXD进行调试。注意,由于程序要烧写到片内F
嵌入式流水灯实验 来自淘豆网m.daumloan.com转载请标明出处.