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

原标题:s3c2440 --跑马灯 C+汇编代码

/*_asm_c.c*/

#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 e); /*声明汇编函数*/

int main()

{

/*设置 GPFCON*/

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

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

/*设置 GPFUP*/

rGPFUP |= 0xff00;

(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 ;urn

END; //end

责任编辑:


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部