- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
班 级 学号 姓 名
实验日期 室温 大气压 成 绩
实验题目:GPIO输出实验——按键输入检测实验
一、实验目的:
1、通过本实验学会ARM7.0软件的安装及掌握对该软件和EasyJTAG仿真器的使用;
2、了解EasyARM2131开发板硬件结构,掌握各引脚功能和接线;
3、掌握相关实验的程序,并能作出简单的修改并实现其功能;
4、掌握GPIO输出实验---按键输入的检测。
二、实验仪器:
EasyARM2131开发板一块及相关导线、计算机一台
三、实验原理:
下面是工程窗口中的图标介绍:
如图4.2所示,当P0口连接GPIO且用于输入时,如用于检测按键的时候,由于P0口作GPIO输入时,内部无上拉内阻,所以需要加10K左右的上拉电阻,把I/O口拉到高电平。
当P0口用于GPIO输入时(如按键输入),内部无上拉电阻,需要加上拉电阻,电路如图4.14
图4.14 按键输入原理图
实验通过跳线JP8连线KEY3_P0.18,程序检测按键KEY3的状态,控制蜂鸣器BEEP的蜂鸣。
在实验中,需要将按键KEY3输入口P0.18设为输入口,而蜂鸣器控制口P0.7设为输出口。蜂鸣器电路如图1.11所示,当跳线JP6连线蜂鸣器时,P0.7控制蜂鸣器,低电平时蜂鸣器蜂鸣。
程序首先设置管脚连线寄存器PINSEL0和PINSEL1,设置P0.7为输出。然后检测端口P0.18的电平,对P0.7进行相应的控制,流程图如图4.15所示,实现程序见程序清单4.7。
四、实验步骤:
1、接好开发板与计算机的相关接线
2、打开已安装好的H-JTAG和H-Flasher软件,并在H-Flasher软件中选择Flasher Selation→PHILIPS→LPC2318;然后再选择Programming→check。
操作过程中出现的窗口如下图(1)、(2)所示:
图(1)
图(2)
3、Metrowerks CodeWarrior for ARM Developer Suite v1.2软件,点击File选择Open打开GPIO输出实验——按键输入检测实验文件夹,选择GPIO_Leds8-2.mcp文件,双击main.c ,打开主程序,并运行检查是否出现错误,无误后点击Dubeg按钮;
操作过程中的窗口如下图(3)、(4)所示:
图(3)
图(4)
4、出的AXD窗口中选择Options,点击configure target后,在跳出的choose target窗口中点击Ok,点击运行按钮(若点击运行按钮,开发板中的LED不会亮)则在PIO_Leds8-a.mcp窗口中点击Run按钮运行,并观察开发板上出现的现象是否符合实验要求
窗口如下图(5)所示:
图(5)
5、程序清单4.7:按键输入程序如下
#include config.h
const uint32 BEEP = 1 7; // P0.7控制蜂鸣器
const uint32 KEY1 = 1 ; // P0.18连接KEY/*
*********************************************************************************************************
** 函数名称 :main()
** 函数功能 :GPIO输入实验测试。
** 检测按键KEY。KEY按下 ,蜂鸣器蜂鸣,松开后停止蜂鸣。
** 跳线说明 :把JP8的KEY跳线短接,JP11连接蜂鸣器。
*********************************************************************************************************
*/
int main (void)
{
PINSEL0 = 0 // 所有管脚连接GPIO
PINSEL1 = 0
IO0DIR = BEEP; // 蜂鸣器控制口输出,其余输入 while (1)
{
if ((IO0PIN KEY3) == 0) IO0CLR = BEEP; // 如果KEY按下,蜂鸣器鸣叫
else IO0SET = BEEP; // 松开则停止蜂鸣
} return 0;
}
五、实验结果心得体会:
1、修改程序之后的实验现象是:如果KEY1按下,蜂鸣器蜂鸣;松开则停止蜂鸣。
2、实验心得
(1)本实验可通过改变不同的I/O接口时,其按下不同的按键,一样来实现蜂鸣器的响
文档评论(0)