欢迎来到天天文库
浏览记录
ID:47233241
大小:618.00 KB
页数:16页
时间:2019-07-17
《嵌入式系统GPIO输入输出实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档实验四GPIO输入实验一、实验目的1、能够使用GPIO的输入模式读取开关信号。2、掌握GPIO相关寄存器的用法和设置。3、掌握用C语言编写程序控制GPIO。二、实验环境PC机一台ADS1.2集成开发环境一套EasyARM2131教学实验平台一套三、实验内容1.实验通过跳线JP8连接KEY1与P0.16,程序检测按键KEY1的状态,控制蜂鸣器BEEP的鸣叫。按下KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。(调通实验后,改为KEY3键进行输入)。2.当检测到KEY1有按键输入时点亮发光二极管LED4并控制蜂鸣器响,软件延时后关掉发光
2、管并停止蜂鸣,然后循环这一过程直到检测按键没有输入。(键输入改为键KEY4,发光管改为LED6)。3.结合实验三,当按下按键Key1时,启动跑马灯程序并控制蜂鸣器响,软件延时后关掉发光管并停止蜂鸣,然后循环这一过程直到检测按键再次按下。四、实验原理当P0口用于GPIO输入时(如按键输入),内部无上拉电阻,需要加上拉电阻,电路图参见图4.2。进行GPIO输入实验时,先要设置IODIR使接口线成为输入方式,然后读取IOPIN的值即可。文案大全实用文档图4.2按键电路原理图实验通过跳线JP8连接KEY1_P0.16,程序检测按键KEY1
3、的状态,控制蜂鸣器BEEP的鸣叫。按下KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。在这个实验中,需要将按键KEY1输入口P0.16设为输入口而蜂鸣器控制口P0.7设置为输出口。蜂鸣器电路如图4.3所示,当跳线JP6连接蜂鸣器时,P0.7控制蜂鸣器,低电平时蜂鸣器鸣叫。LED灯电路如图4.4所示,低电平时灯亮。图4.3蜂鸣器控制电路文案大全实用文档图4.4LED控制电路程序首先设置管脚连接寄存器PINSEL0和PINSEL1,设置P0.16为输入,设置P0.7,P1.21为输出。然后检测端口P0.16的电平,对P0.7,P1.21进行相应
4、的控制,流程图如图4.5所示,实现程序见程序清单4.1。图4.5按键输入实验流程图文案大全实用文档五、实验步骤、源代码及调试结果内容1实验步骤①启动ADS1.2IDE集成开发环境,选择ARMExecutableImageforlpc2131工程模板建立一个工程BEEP_key。②在user组里编写主程序代码main.c。③选用DebugInFLASH生成目标,然后编译链接工程。④将EasyARM教学实验开发平台上的相应管脚跳线短接gde台ngtheng
5、 。⑤选择Project->Debug,启动AXD进行JLINK仿真调试。⑥全速运行程序,程序将会在main.c的主函数中停止。如下图所示:文案大全实用文档⑦单击ContextVariable图标按钮(或者选择ProcessorViews->Variables)打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。选择SystemViews->DebuggerInternals即可打开LPC2000系列ARM
6、7微控制器的片内外寄存器窗口。通过变量窗口可以观察变量BEEP、KEY1等的值和ARM7微控制器的片内外寄存器窗口。如下图所示:文案大全实用文档⑧可以单步运行程序,先按下Key1,观察IO0PIN寄存器的值,然后断开Key1,观察IO0PIN寄存器的值。可以设置/取消断点;或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制是否正确。如下图所示:图4.6未按下Key1时IO0PIN的值图4.7按下Key1时IO0PIN的值由上两图可知,当按下Key1时,IO0PIN寄存器的第16位由1变为0(F变为E),key1与P0.1
7、6相连,按下Key1时,P0.16管脚输出电平由1变为0,寄存器值变化,蜂鸣器响,说明控制是正确的。现象描述:按下KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。源代码:#include"config.h"constuint32BEEP=1<<7;//P0.7控制蜂鸣器constuint32KEY1=1<<16;//P0.16连接KEY1(改为KEY3时,只需“constuint32KEY1=1<<16”改为“constuint32KEY3=1<<18”,其余不变。)/************************************
8、*********************************************************函数名称:main()**函数功能:GPIO输入实验测试。**检测按键KEY1。KEY1按下,蜂鸣器蜂鸣,松开后停止蜂鸣。**跳线说明
此文档下载收益归作者所有