实验原理
ARM的P0.1口接按钮,再通过P0.0控制LED的亮、灭。本实验的电路图以及实验均在上一个实验基础之上修改。其中电路图只多了一个开关。
Proteus仿真电路图
C语言源程序
/******************************************************************************//* */ /* led.c: 用ARM实现开关控制led并亮灭,还是有点浪费…… */ /* */ /******************************************************************************/ #include <LPC21xx.H> #define P0_1 0x02; /*P0.1*/ /******************************************************************************* **函数名: delay() **描述: 软件延时 ********************************************************************************/ void delay (void) { unsigned volatile long i; for(i=0;i<10000;i++) ; } int main(void) { int p01State; PINSEL0 = 0; /*设置引脚为GPIO */ IO0DIR = 0x000001; /*将P0.0设置为输出 */ IO0SET = 0x000001; /*将P0.0置1,也就是让led灭 */ while (1) { p01State = IO0PIN&P0_1; /*读取开关状态*/ if(p01State == 0){ IO0CLR = 0x000001; delay(); } else{ IO0SET = 0x000001; delay(); } } }
复制代码