- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式流水灯实验精要
实验三 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跳线短接。
④选择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进行调试。注意,由于程序要烧写到片内FLASH,默认选项在每次装载FLASH 地址的调试文件时,将会擦除FLASH 并下载代码到FLASH 中。
脱机运行
使用 DebugInFLASH 生成目标,并进行调试后(使用JLINK 仿真器),程序即烧写到片内FLASH 中。将JLINK 电源断开,重新上电,程序将脱机运行;
实验内容2实验步骤
① 启动ADS1.2IDE集成开发环境,选择ARM Executa
文档评论(0)