s3c2440芯片累加汇编语言,s3c2440 --跑马灯 C+汇编代码

/*led_asm_c.c*/

#define rGPFCON    (*(volatile unsigned *)0x56000050) //Port F control

#define rGPFDAT    (*(volatile unsigned *)0x56000054) //Port F data

#define rGPFUP     (*(volatile unsigned *)0x56000058) //Pull-up control F

//GPFCON 8口的

extern int delay(int time);   /*声明汇编函数*/

int main()

{

/*设置 GPFCON*/

rGPFCON &= 0x00ff;  //GPF4 - 7置为 0

rGPFCON |= 0x55ff;  //GPF4 - 7置为 output

/*设置 GPFUP*/

rGPFUP |= 0xff00;

while(1)

{

/*亮灯 GPF4*/

rGPFDAT |= 0xf0;  //GPF4 - 7置为 1

rGPFDAT &= 0xe0; //GPF4置为 0

delay(0x1ffffff);  //调用汇编程序写的延时程序

/*亮灯 GPF5*/

rGPFDAT |= 0xf0;  //GPF4 - 7置为 1

rGPFDAT &= 0xd0; //GPF5置为 0

delay(0x1ffffff);  //调用汇编程序写的延时程序

/*亮灯 GPF6*/

rGPFDAT |= 0xf0;  //GPF4 - 7置为 1

rGPFDAT &= 0xb0; //GPF6置为 0

delay(0x1ffffff);  //调用汇编程序写的延时程序

/*亮灯 GPF7*/

rGPFDAT |= 0xf0;  //GPF4 - 7置为 1

rGPFDAT &= 0x70; //GPF7置为 0

delay(0x1ffffff);  //调用汇编程序写的延时程序

}

}

;delay.s

EXPORT delay

AREA  delay1,CODE ,READONLY ;该伪指令定义了一个代码段   delay1这个名字要注意

;下面延时子程序

ENTRY

delay

;传一个参数 ,参数放到 r0

sub r0 ,r0 ,#1

cmp r0 ,#0x0

bne delay       ;result is not 0 and continue delay

mov pc ,lr ;return

END; //end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值