1、实 验 二 IO 口 实 现 LED 灯 闪 烁一、实验目的:1. 正确安装 keil 软件2. 正确安装调试驱动,熟悉实验板的用法3. 学习 IO 口的使用方法。二、实验设备:单片机开发板、学生自带笔记本电脑三、 实验内容:利用单片机 IO 口做输出,接发光二极管,编写程序,使发光二极管按照要求点亮。四、实验原理:1. LPC1114 一共有 42 个 GPIO,分为 4 个端口,P0、P1、P2 口都是 12 位的宽度,引脚从 Px.0Px.11,P3 口是 6 位的宽度,引脚从 P3.0P3.5。引脚的内部构造如图所示。其中 Rpu 为上拉电阻、Rpd 为下拉电阻。2. 为了节省芯片的空
2、间和引脚的数目,LPC1100 系列微处理器的大多数引脚都采用功能复用方式,用户在使用某个外设的时候,要先设置引脚。控制引脚设置的寄存器称之为 IO 配置寄存器,每个端口管脚 PIOn_m 都分配一个了一个 IO 配置寄存器IOCON_PIOn_m,以控制管脚功能和电气特性。3. IOCON_PIOn_m 寄存器其位域定义如表所列。位域 符号 描述2:0 FUNC选择管脚功能000:选择功能 1001:选择功能 2(如果未定义功能 2,则保留)010:选择功能 3(如果未定义功能 3,则保留)011:选择功能 4(如果未定义功能 4,则保留)100111:保留4:3 MODE选择功能模式(片内
3、上拉/下拉电阻控制)00:无效模式(无上拉和下拉电阻被允许)01:允许下拉电阻10:允许上拉电阻11:中继模式5 HYS滞后模式1:禁止0:允许6 - 保留,复位值为 17 ADMODE选择 模拟/数字模式(无 AD 功能,则保留,复位值为 1)0:模拟输入模式1:数字功能模式9:8 I2CMODE 选择为 I2C 模式00:标准 I2C 模式/快速 I2C 模式(默认)01:标准 I/O 功能10:FM+I2C 模式11:保留31:8 - 保留,复位值为 04. 各引脚 IOCON 寄存器的位2:0配置不同的值所相应功能。5. GPIO 寄存器GPIO数据寄存器用于读取输入管脚的状态数据,或
4、配置输出管脚的输出状态,表5-5对GPIOnDATA寄存器位进行描述。位 符号 访问 描述11:0 DATA R/W 管脚PIOn_0PIOn_11输入数据(读)或输出数据(写)31:12 - - 保留GPIO的数据方向的设置是通过对GPIOnDIR寄存器的位进行与或操作实现的,LPC1100微处理器和8051单片机的GPIO不同,在使用前一定要先设置数据方向才能使用,位 符号 访问 值 描述0 引脚PIOn_0PIOn_11配置为输入11:0 IO R/W1 引脚PIOn_0PIOn_11配置为输出31:12 - - - 保留6. 发光二级管的工作电压和工作电流如何?_。7. 发光二极管的限
5、流电阻如何计算?_。五、实验原理图:六、实验步骤:一、基本要求1、默写发光二极管闪烁程序。二、扩展要求1.查找关于呼吸灯的资料,弄懂呼吸灯工作原理。2.自行编写呼吸灯代码,在实验板子上面验证。七、程序框图:八、供参考程序:/*/ #include “LPC11XX.H“ / 头文件#define LED1_ON() (LPC_GPIO1-DATA LPC_IOCON-R_PIO1_0 |= 0x01; /把 P1.0 脚设置为 GPIOLPC_IOCON-R_PIO1_1 LPC_IOCON-R_PIO1_1 |= 0x01; /把 P1.1 脚设置为 GPIOLPC_SYSCON-SYSAHBCLKCTRL / 把 P1.1 设置为高电平/* FunctionName : main()* Description : 主函数* EntryParameter : None* ReturnValue : None*/int main(void) LedInit();while(1)Delay();LED1_ON();LED2_OFF();Delay();LED1_OFF();LED2_ON();