原理
LED_1 == GPB5 LED_2 == GPB6 LED_3 == GPB7 LED_4 == GPB8
GPB寄存器引脚配置
GPBCON
#include "def.h"
#include "2440lib.h"
#include "2440addr.h"
#define LED1_ON ~(1<<5) //led低电平触发 0触发
#define LED2_ON ~(1<<6)
#define LED3_ON ~(1<<7)
#define LED4_ON ~(1<<8)
#define LED1_OFF (1<<5) //led高电平熄灭 1熄灭
#define LED2_OFF (1<<6)
#define LED3_OFF (1<<7)
#define LED4_OFF (1<<8)
void led_port_init()
{
rGPBCON &= ~((3<<10)|(3<<12)|(3<<14)|(3<<16)); //控制寄存器清零
rGPBCON |= (1<<10)|(1<<12)|(1<<14)|(1<<16); //控制寄存器设置为输出
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF); //LED灯全灭
}
void led()
{
//跑马灯程序
while (1)
{
rGPBDAT &= (LED1_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
rGPBDAT &= (LED2_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
rGPBDAT &= (LED3_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
rGPBDAT &= (LED4_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
}
}
#include "2440lib.h"
#include "2440addr.h"
#define LED1_ON ~(1<<5) //led低电平触发 0触发
#define LED2_ON ~(1<<6)
#define LED3_ON ~(1<<7)
#define LED4_ON ~(1<<8)
#define LED1_OFF (1<<5) //led高电平熄灭 1熄灭
#define LED2_OFF (1<<6)
#define LED3_OFF (1<<7)
#define LED4_OFF (1<<8)
void led_port_init()
{
rGPBCON &= ~((3<<10)|(3<<12)|(3<<14)|(3<<16)); //控制寄存器清零
rGPBCON |= (1<<10)|(1<<12)|(1<<14)|(1<<16); //控制寄存器设置为输出
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF); //LED灯全灭
}
void led()
{
//跑马灯程序
while (1)
{
rGPBDAT &= (LED1_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
rGPBDAT &= (LED2_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
rGPBDAT &= (LED3_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
rGPBDAT &= (LED4_ON);
dely(100);
rGPBDAT |= (LED1_OFF)|(LED2_OFF)|(LED3_OFF)|(LED4_OFF);
dely(100);
}
}