led

原理

 

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);
    }        
}
原文地址:https://www.cnblogs.com/liuchengchuxiao/p/4176028.html