|
LED闪烁——ARM的Proteus实验
实验原理ARM(LPC21XX)的一个I/O口接LED,通过给它送0和1来设置LED的亮和灭。
Proteus仿真电路图
步骤KEIL- 创建新工程
- 选择ARM型号(KEIL会自动生成启动代码startup.s)
- 添加源文件,编写程序
- 设置项目选项(是否输出hex、lst文件,设置linker script)
ProteusC语言源程序/******************************************************************************/
/* */
/* led.c: 用ARM点亮一个led并闪烁,有点浪费…… */
/* */
/******************************************************************************/
#include
/*******************************************************************************
**函数名: 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();
}
}
|
|