MINI 2440 LED驱动(裸驱)

作者在 2011-07-05 15:20:38 发布以下内容
开发环境:ADS1.2 HJTAG1.1
开发板:友善之臂 samsung MINI2440 (ARM9)
start.s
启动程序
   area start,code,readonly

reset
    ldr sp,=4096
    import main
    bl main
    end
    
  
头文件 def.h
#ifndef _DEF_
  #define _DEF_

  #define rGPBCON (*((volatile unsigned *)0x56000010))
  #define rGPBDAT (*((volatile unsigned *)0x56000014))

  #define LED1_ON rGPBDAT &=(~(1<<5))
  #define LED2_ON rGPBDAT &=(~(1<<6))
  #define LED3_ON rGPBDAT &=(~(1<<7))
  #define LED4_ON rGPBDAT &=(~(1<<8))

  #define LED1_OFF rGPBDAT |=(1<<5)
  #define LED2_OFF rGPBDAT |=(1<<6)
  #define LED3_OFF rGPBDAT |=(1<<7)
  #define LED4_OFF rGPBDAT |=(1<<8)

#endif
主函数  main.c
#include"def.h"
int delay(unsigned int a)
{
    while(a--);
    return 0;
}
int main(int argc,char *argv[])
{    
    rGPBCON |=0x15400;
    while(1)
    {
      
       LED1_ON;
       delay(100000);
       LED2_ON;
       delay(100000);
       LED3_ON;
       delay(100000);
       LED4_ON;
       delay(100000);
       LED1_OFF;
       delay(100000);
       LED2_OFF;
       delay(100000);
       LED3_OFF;
       delay(100000);
       LED4_OFF;
       delay(100000);
    }
    return 0;
}
默认分类 | 阅读 471 次
文章评论,共0条
游客请输入验证码
文章分类
文章归档
最新评论