1、新建一个led工程项目。
2、然后在工程项目下新建一个start.s文件;
文件中输入内容为:
/*start.s */
area init,code,readonly //
Reset
ldr sp,=4096
import main
b main
end
Reset
ldr sp,=4096
import main
b main
end
3、再新建一个头文件,命名为:dey.h 。用于对LED灯的端口初始化过程。
/*dey.h*/
#ifndef _LED_
#define _LED_
#define rGPBCON (*((volatile unsigned *)0x56000010))
#define rGPBDAT (*((volatile unsigned *)0x56000014))
#define rGPGCON ((*(volatile unsigned *)0x56000060))
#define rGPGDAT ((*(volatile unsigned *)0x56000064))
#define LED1_ON rGPBDAT&=(~(0x1<<5))
#define LED2_ON rGPBDAT&=(~(0x1<<6))
#define LED3_ON rGPBDAT&=(~(0x1<<7))
#define LED4_ON rGPBDAT&=(~(0x1<<8))
#define LED1_OFF rGPBDAT|=(0x1<<5)
#define LED2_OFF rGPBDAT|=(0x1<<6)
#define LED3_OFF rGPBDAT|=(0x1<<7)
#define LED4_OFF rGPBDAT|=(0x1<<8)
#endif
#define _LED_
#define rGPBCON (*((volatile unsigned *)0x56000010))
#define rGPBDAT (*((volatile unsigned *)0x56000014))
#define rGPGCON ((*(volatile unsigned *)0x56000060))
#define rGPGDAT ((*(volatile unsigned *)0x56000064))
#define LED1_ON rGPBDAT&=(~(0x1<<5))
#define LED2_ON rGPBDAT&=(~(0x1<<6))
#define LED3_ON rGPBDAT&=(~(0x1<<7))
#define LED4_ON rGPBDAT&=(~(0x1<<8))
#define LED1_OFF rGPBDAT|=(0x1<<5)
#define LED2_OFF rGPBDAT|=(0x1<<6)
#define LED3_OFF rGPBDAT|=(0x1<<7)
#define LED4_OFF rGPBDAT|=(0x1<<8)
#endif
4、再创建工程执行文件dey.c 。
/*dey.c*/
#include "dey.h"
int delay(unsigned int n)
{
while(n--);
return 0;
}
int main()
{
int i=10;
rGPBCON |= 0x15400;
LED1_ON;
delay(1000000);
LED2_ON;
delay(1000000);
LED3_ON;
delay(1000000);
LED4_ON;
delay(1000000);
LED1_OFF;
delay(1000000);
LED2_OFF;
delay(1000000);
LED3_OFF;
delay(1000000);
LED4_OFF;
delay(1000000);
}
return 0;
}
int delay(unsigned int n)
{
while(n--);
return 0;
}
int main()
{
int i=10;
rGPBCON |= 0x15400;
LED1_ON;
delay(1000000);
LED2_ON;
delay(1000000);
LED3_ON;
delay(1000000);
LED4_ON;
delay(1000000);
LED1_OFF;
delay(1000000);
LED2_OFF;
delay(1000000);
LED3_OFF;
delay(1000000);
LED4_OFF;
delay(1000000);
}
return 0;
}