1、查看核心板的电路图,发现4个led分别接在GPB5~GPB8四个引脚,那么只要能让这四个引脚轮流输出低电平即可实现流水灯。
2、新建一个工程ledtest.mcp
工程需要一些板子的基础程序,新手看不懂的可以先不用去管,只需要将这些程序添加到工程即可。
3、关于点亮led的程序
Main.c
#include"led.h"
int Main()
{
Led_Init();
while(1)
{
Led_On();
}
return 0;
}
led.c
#include"led.h"
#include"2440addr.h"
#include"common.h"
void Led_Init(void)
{
rGPBCON &=~(3<<10 | 3<<12 | 3<<14 | 3<<16);
rGPBCON |=(1<<10 | 1<<12 | 1<<14 | 1<<16); //将GPB口的第5~8引脚设置为输出
rGPBUP &=~(1<<5 | 1<<6 | 1<<7 |1<<8); //取消上拉电阻
rGPBDAT |=(1<<5 | 1<<6 | 1<<7 |1<<8); //5~8引脚输出高电平,关闭led
}
void Led_On(void)
{
int i, k=0xfff;
k &= ~(1<<5);;
for(i=0;i<4;i++)
{
rGPBDAT=k;
Delay();
k=(k<<1);
}
}
led.h
#ifndef_LED_H_
#define_LED_H_
extern void Led_Init(void);
extern void Led_On(void);
#endif
common.h
#ifndef_COMMON_H_
#define_COMMON_H_
extern void Delay(void);
#endif
common.c 流水灯延时程序
#include"common.h"
void Delay(void)
{
int i;
for(i=0;i<1000000;i++);
}
亲测可以实现流水灯功能!