实验四 GPIO 输入实验 一、实验目的 1、能够使用 GPIO 的输入模式读取开关信号。 2、掌握 GPIO 相关寄存器的用法和设置。 3、掌握用 C 语言编写程序控制 GPIO。 二、实验环境 PC 机 一台 ADS 1.2 集成开发环境 一套 EasyARM2131 教学实验平台 一套 三、实验内容 1.实验通过跳线 JP8 连接 KEY1与P0.16,程序检测按键 KEY1 的状态,控制蜂鸣器 BEEP 的鸣叫。按下 KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。(调通实验后,改为 KEY3 键进行输入)。 2.当检测到 KEY1 有按键输入时点亮发光二极管 LED4 并控制蜂鸣器响,软件延时后关掉发光管并停止蜂鸣,然后循环这一过程直到检测按键没有输入。(键输入改为键 KEY4,发光管改为 LED6)。 3.结合实验三,当按下按键 Key1 时,启动跑马灯程序并控制蜂鸣器响,软件延时后关掉发光管并停止蜂鸣,然后循环这一过程直到检测按键再次按下。 四、实验原理 当 P0 口用于 GPIO 输入时(如按键输入),内部无上拉电阻,需要加上拉电阻,电路图参见图 4.2。 进行 GPIO 输入实验时,先要设置 IODIR 使接口线成为输入方式,然后读取 IOPIN 的值即可。 图 4 .2 按键电路原理图 实验通过跳线 JP8 连接KEY1_P0.16,程序检测按键KEY1 的状态,控制蜂鸣器BEEP 的鸣叫。按下 KEY1,蜂鸣器鸣叫,松开后停止蜂鸣。 在这个实验中,需要将按键KEY1 输入口 P0.16 设为输入口而蜂鸣器控制口 P0.7 设置为输出口。蜂鸣器电路如图 4.3 所示,当跳线JP6 连接蜂鸣器时,P0.7 控制蜂鸣器,低电平时蜂鸣器鸣叫。LED 灯电路如图 4.4 所示,低电平时灯亮。 图 4 .3 蜂鸣器控制电路 图 4.4 LED 控制电路 程序首先设置管脚连接寄存器PINSEL0 和PINSEL1,设置P0.16 为输入,设置P0.7,P1.21 为输出。然后检测端口 P0.16 的电平,对 P0.7, P1.21 进行相应的控制,流程图如图 4.5 所示,实现程序见程序清单 4.1。 图 4.5 按键输入实验流程图 五、实验步骤、源代码及调试结果 内容 1 实验步骤 ① 启动 ADS1.2IDE 集成开发环境,选择 ARM Executable Image for lpc2131 工程模板建立一个工程 BEEP_key。 ② 在 user 组里编写主程序代码 main.c。 ③ 选用 DebugInFLASH 生成目标,然后编译链接工程。 ④ 将 EasyARM 教学实验开发平台上的相应管脚跳线短接。 ⑤ 选择 Project->Debug,启动 AXD 进行 JLINK...