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

本文档提供了一段C和汇编语言结合的代码,用于S3C2440处理器上的跑马灯控制。通过设置GPFCON和GPFUP寄存器,实现GPIO端口F的4-7位作为输出,并通过循环点亮不同引脚来实现跑马灯效果。代码中包含了一个延时函数以控制灯光切换速度。
摘要由CSDN通过智能技术生成

原标题: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

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值