实验原理
ARM(LPC21XX)的一个I/O口接LED,通过给它送0和1来设置LED的亮和灭。
Proteus仿真电路图
步骤
KEIL
- 创建新工程
- 选择ARM型号(KEIL会自动生成启动代码startup.s)
- 添加源文件,编写程序
- 设置项目选项(是否输出hex、lst文件,设置linker script)
Proteus
- 绘制电路图
- 载入程序
- 仿真
C语言源程序
/******************************************************************************//* */ /* led.c: 用ARM点亮一个led并闪烁,有点浪费…… */ /* */ /******************************************************************************/ #include <LPC21xx.H> /******************************************************************************* **函数名: delay() **描述: 软件延时 ********************************************************************************/ void delay (void) { unsigned volatile long i,j; for(i=0;i<60000;i++) for(j=0;j<5;j++) ; } int main(void) { PINSEL0 = 0; /*设置引脚为GPIO */ IO0DIR = 0x000001; /*将P0.0设置为输出 */ IO0SET = 0x000001; /*将P0.0置1,也就是让led灭 */ while (1) { IO0CLR = 0x000001; delay(); IO0SET = 0x000001; delay(); } }
复制代码