实验:min2440LED灯控制

 1.查看s3c2440芯片手册以及 mini2440原理图,找到控制LED灯的GPIO端口,控制寄存器GPBCON、数据寄存器GPBDAT的地址,控制LED灯各端口状态所需的控制寄存器GPBCON中位的信息,以次来控制数据寄存器GPBDAT中的对应位的输出~

2.启动ads,创建项目文件led.mcp ,汇编文件 S.s 以及c文件 main.c ~

3.编写代码,如下:

S.s

 area init,code,readonly
start
 ldr sp,=4096
 import main
 bl main
 end

main.c

#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)


void delay(unsigned int a)
{
    while(a--);
}

int main()
{
 rGPBCON = 0x15400;
 rGPBDAT=0xffffffff;
 while(1)
 {
  LED1_ON;
  LED2_ON;
  LED3_ON;
  LED4_ON;
  
  delay(100000);
  
  LED1_OFF;
  LED2_OFF;
  LED3_OFF;
  LED4_OFF;
  
  delay(100000);
 }
    return 0;
}

 

4.ADS对应项的设置,有以下项~

   Target

  -------Target Settings

  Language Setting

  -------ARM Assembler

  -------ARM C Compiler

   ARM Linker

  -------ARM Linker Output

  -------ARM Linker Options

  -------ARM Linker Layout

 

5.H-JTAG调试器设置,有以下项~

    Setting

   ----USB/LPT Selection

   ----LPT Port Setting

   Detect Target

 

6.在AXD下调试与运行~

 

实验中遇到的问题有:

(1)没有电路基础,看mini2440原理图很是吃力

(2)汇编一窍不通,需要补补

(3)操作不够熟练,理解不到位,实践少了

(4)英语水平有待提高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值