




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、试验三 GPIO输出把握试验一、 试验目的生疏LPC2000系列ARM7微把握器的GPIO输入把握。二、试验设备l 硬件:PC机 一台LPC2131教学试验开发平台 一套l 软件:Windows 98/XP/2000系统,ADS1.2集成开发环境。三、试验内容1. P0.7管脚把握EasyARM教学试验开发平台上的蜂鸣器报警。2. GPIO 输出试验流水灯试验试验预习要求:LPC2000 GPIO管脚的设置和把握。四、试验原理1.GPIO 输出试验,蜂鸣器把握在 EasyARM2131 开发板上,接有一个蜂鸣器,由P0.7 把握,通过跳线JP11 选择连接。蜂鸣器把握电路如所示。图 3-1 蜂
2、鸣器把握电路假如跳线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 接受灌电流方式
3、驱动LED1,当P1.18 输出低电平常,LED1 点亮,当P1.18 输出高电平常,LED1 熄灭。试验程序首先设置管脚连接GPIO,接着设置P1.18 口为输出模式,然后通过IO1CLR和IO1SET把握P1.18,驱动LED1 的亮灭。GPIO 输出试验流水灯试验EasyARM2131 开发板上的8 路LED(LED8LED1)分别可选择P125:18进行把握,电路如图 3-4 所示。图 3-4 8 路LED 把握电路当跳线JP12 全部选择LED8LED1 后,P1.25P1.18 分别把握这8 路LED,就可以进行流水灯试验。流水灯显示花样可以通过数组人为定义,亦可通过肯定的算法计算
4、,程序清单所示为接受人为定义数组把握显示花样的试验程序,流程图如图 3-5 所示。图 3-5 流水灯花样显示流程图五、试验步骤试验内容1步骤 启动ADS1.2IDE集成开发环境,选择ARM Executable Image for lpc2131工程模板建立一个工程BeepCon_C。 在user组里编写主程序代码main.c。将EasyARM教学试验开发平台上的P0.7管脚与Beep跳线短接gde台ngtheng 444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444
5、444444444444。 选择Project->Debug,启动AXD进行JLINK仿真调试。在工程窗口中选择DebugInRAM生成目标,然后编译连接工程(单击Make按钮)。如图所示。选择 DebugInRAM 生成目标时,编译连接生成的目标代码就是用于在片内RAM 调试。打开ADS开发环境下的【Edit】->【DebugInFLASH Settings.】,在”ARM fromELF”下Output format做如图选择,输出文件选择你的文件同一名目下,扩展名.HEX 全速运行程序,程序将会在main.c的主函数中停止(由于main函数起始处默认设置有断点)。 单击Con
6、text Variable图标按钮(或者选择Processor Views->Variables)打开变量观看窗口,通过此窗口可以观看局部变量和全局变量。选择System Views->Debugger Internals 即可打开LPC2000系列ARM7微把握器的片内外寄存器窗口。 可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程序运行,观看变量的值,推断蜂鸣器把握是否正确。在FLASH 中调试在工程窗口中选择 DebugInFLASH 生成目标,然后编译连接工程(单击Make 按钮)。选择 DebugInFLASH 生成目标时,编译连接生成的目标代码就是用于在片
7、内FLASH 调试。编译连接通过后,按键盘的F5 键,启动AXD进行调试。留意,由于程序要烧写到片内FLASH,默认选项在每次装载FLASH 地址的调试文件时,将会擦除FLASH 并下载代码到FLASH 中。脱机运行使用 DebugInFLASH 生成目标,并进行调试后(使用JLINK 仿真器),程序即烧写到片内FLASH 中。将JLINK 电源断开,重新上电,程序将脱机运行;试验内容2试验步骤 启动ADS1.2IDE集成开发环境,选择ARM Executable Image for lpc2131工程模板建立一个工程LedDisp_C。 在user组里编写主程序代码main.c。 选用Deb
8、ugInRam生成目标,然后编译链接工程。 将EasyARM教学试验开发平台上的P1.18:25管脚对应与LED1:8跳线短接gde台ngtheng 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666。 选择Project->Debug,启动AXD进行JLINK仿真调试。 全速运行程序,程序将会在main.c的主函数中停止。 单击Context Variable图标按钮(或者选择Processor Views->Variables
9、)打开变量观看窗口,通过此窗口可以观看局部变量和全局变量。选择System Views->Debugger Internals 即可打开LPC2000系列ARM7微把握器的片内外寄存器窗口。 可以单步运行程序,可以设置/取消断点;或者全速运行程序,停止程序运行,观看变量的值,推断LED1LED8把握是否正确。(3)试验参考程序GPIO输出把握试验的参考程序见3-1。程序清单1 Error! No text of specified style in document.GPIO输出把握试验1的参考程序/* 文件名:main.c* 功 能:蜂鸣器把握。对蜂鸣器进行把握,接受软件延时方法。*
10、使用I/O口直接把握,接受灌电流方式。* 说 明:将P0.7与Beep短接。*/#include "config.h"#define BEEPCON 1<<7/ P0.7引脚把握Beep,低电平蜂鸣/* 名 称:DelayNS()* 功 能:长软件延时。* 入口参数:dly延时参数,值越大,延时越久* 出口参数:无*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<5000; i+); /* 名 称:main()* 功 能:把握蜂鸣器蜂鸣。*/int main(void
11、) PINSEL0 = 0x00000000; / 设置管脚连接GPIO IO0DIR = BEEPCON; / 设置I/O为输出 while(1) IO0SET = BEEPCON;/ BEEPCON = 1 DelayNS(200); IO0CLR = BEEPCON;/ BEEPCON = 0 DelayNS(200); return(0);程序清单 2#include "config.h"/* LED8LED1 8 个LED 分别由P1.25P1.18 把握 */const uint32 LEDS8 = (0xFF << 18); / P125:18把握
12、LED8LED1,低电平点亮/* 函数名称:DelayNS()* 函数功能:长软件延时* 入口参数:dly 延时参数,值越大,延时越久* 出口参数:无*/void DelayNS (uint32 dly) uint32 i;for ( ; dly>0; dly-)for (i=0; i<50000; i+);/* 函数名称:main()* 函数功能:流水灯显示试验。* 调试说明:连接跳线 JP12 至LED8LED1。*/* 流水灯花样,低电平点亮,留意调用时候用了取反操作 */const uint32 LED_TBL = 0x00, 0xFF, / 全部熄灭后,再全部点亮0x01
13、, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, / 依次逐个点亮0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF, / 依次逐个叠加0xFF, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x01, / 依次逐个递减0x81, 0x42, 0x24, 0x18, 0x18, 0x24, 0x42, 0x81, / 两个靠拢后分开0x81, 0xC3, 0xE7, 0xFF, 0xFF, 0xE7, 0xC3, 0x81 / 从两边叠加后递减;int main (void) uint8
14、 i;PINSEL1 = 0x00000000; / 设置管脚连接GPIOIO1DIR = LEDS8; / 设置LED 把握口为输出while (1) for (i=0; i<42; i+) /* 流水灯花样显示 */IO1SET = (LED_TBLi) << 18);DelayNS(20);IO1CLR = (LED_TBLi) << 18);DelayNS(20);return 0;参考程序3/* 文 件 名:main.c* 功 能:LED显示把握。* 通过GPIO直接把握8个LED产生流水灯效果* 说 明:P1.18:25管脚对应与LED1:8跳线短接,
15、把P0.16与KEY跳线短接,* 使用KEY1键来操作流水灯的运行方向*/#include "config.h"const uint32 LEDS8 = 0xFF << 18;/P125:18把握LED1LED8,低电平点亮const uint32 KEY = 1 << 16;/P0.16连接KEY1const uint32 DISP_TAB10 = 0x01, 0x02, 0x04, 0x08,0x10,0x20,0x40,0x80, 0xff, 0xff;const uint32 DISP_TAB210 = 0x80 , 0x40, 0x20,
16、0x10, 0x08,0x04, 0x02,0x01, 0xff, 0xff;/ 两个 LED 图案 码表/* 名 称:DelayNS()* 功 能:长软件延时* 入口参数:dly-延时参数,值越大,延时越久* 出口参数:无*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<5000; i+); /* 名 称:main()* 功 能:依据表DISP_TAB来把握LED显示。*/int main(void) uint8 i; PINSEL0 = 0x00;/ P015:0 用作GPIOPINSEL1 =
17、 0x00;/ P031:16 用作GPIO PINSEL2 = PINSEL2 & (0x08);/ P125:16连接GPIOIO1DIR = LEDS8;/ 设置P125:18为输出口,把握LED7:0 while(1) if(IO0PIN&KEY)!=0) / 测试KEY 按键 for(i=0; i<8; i+)IO1CLR = DISP_TABi<<18;DelayNS(50);IO1SET = 0xffffffff; DelayNS(10); if(IO0PIN&KEY)=0) / 测试KEY 按键 for(i=0; i<8; i+)
18、IO1CLR = DISP_TAB2i<<18;DelayNS(50);IO1SET = 0xffffffff; DelayNS(10); return(0);参考程序 41./* 文件名:LEDCON.C* 功能:LED闪烁把握。对发光二极管LED4进行把握,接受软件延时方法。* 使用I/O口直接把握LED,接受灌电流方式。* 说明:将跳线器JP4_LED4短接。*/#include "config.h"#define LEDCON0x02000000/* P0.25引脚把握LED4,低电平点亮 */* 名称:DelayNS()* 功能:长软件延时* 入口参数:dly延时参数,值越大,延时越久* 出口参数:无*/void DelayNS(uint32 dly) uint32 i; for(; dly>0; dly-) for(i=0; i<50000; i+); /* 名称:main()* 功能:把握LED闪烁*/int main(void) PINSEL0 = 0x00000000;/ 设置全部管脚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中物理教师资格证考试课程设计教学设计
- 《青春舞曲》教学设计及说课稿
- 体育室内课奥运会知识教学设计图文稿
- 盲袢综合征的临床护理
- 2025年个人按揭还款合同
- 深圳二轮二阶试卷及答案
- 陕西四级考试卷子及答案
- 北美财富管理的发展及借鉴意义
- 2025铝板幕墙合同示范文本
- 2025年中国刺绣贺卡数据监测报告
- 给水泵检修方案
- 设备出入库管理办法
- KEGG代谢通路中文翻译
- 消火栓月检查表
- GB∕T 17832-2021 银合金首饰 银含量的测定 溴化钾容量法(电位滴定法)
- 低成本自动化的开展与案例77页PPT课件
- 人防工程竣工资料(全套)
- 《电子病历模板》word版参考模板
- (高清版)JGJ123-2012既有建筑地基基础加固技术规范
- 梅州市部分饮用水源保护区调整方案
- “重庆环保”标志说明
评论
0/150
提交评论