历史上的今天
返回首页

历史上的今天

今天是:2024年10月29日(星期二)

正在发生

2019年10月29日 | ARM S2C2410A控制5个LED流水灯

2019-10-29 来源:51hei


无论是S3C2410A还是S3C2440A,其IO口B都是11位二进制数,xxx  xxxx xxxx,现在控制第5、6、7、8为做输出点亮LED灯(共阳极,输出0点亮),即xx8  765x  xxxx,GPBCON            equ            0x56000010

GPBDAT             equ            0x56000014

GPBUP               equ            0x56000018

                        xport xmain

                        area Init,code,readonly

                        entry

                        export

xmain

                        ldr r0,=GPBCON

                        ldr r1,[r0]

                        bic r1,#0x3fC00  ;r1=xx00 0000 00xx xxxx xxxx

                        orr r1,#0x15400  ;r1=xx01 0101 01xx xxxx xxxx

                        str r1,[r0]            ;r1传给GPBCON设置8765位为输出

                        ldr r0,=GPBUP

                        ldr r1,[r0]

                        orr r1,#0x1e0       ;r1=xx1 111x xxxx

                        str r1,[r0]             ;开B口第8、7、6、5位上拉电阻

                        ldr r0,=GPBDAT


        ldr r2,[r0]            ;把B口最初状态保存在R2

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  

LOOP                dr r1,[r2]

                        orr r1,#0x1c0

                        str r1,[r0]

                        bl  delay      ;BL跳转时将PC+4值自动保存在R14即LR中,也就是将程序的下一个语句地址保存在lr中

                                          ;在转移的程序后执行mov     pc,lr相当于返回,这样BL相当于调用子程序,pc=lr相当于子程序返回

                      ;;;;;;;;;;;;;;;;;; 

                        dr r1,[r2]

                        orr r1,#0x1a0

                        str r1,[r0]

                        bl  delay

                    ;;;;;;;;;;;;;;;;;;;;; 

                        ldr r1,[r2]

                        orr r1,#0x160

                        str r1,[r0]

                        bl  delay

                    ;;;;;;;;;;;;;;;;;;;;;;;; 

                        ldr r1,[r2]

                        orr r1,#0x0e0

                        str r1,[r0]

                        bl  delay

                    ;;;;;;;;;;;;;;;;;;;;;;;; 

                        b LOOP

delay

                        mov r3,#3

delay1               sub r3,r3,#1

                        cmp r3,#0x0

                        bne delay1 

                        mov pc,lr           ;这句相当于子程序返回语句

                        end


GPA            equ 0x000000

                    GET d:abcINC2440addr.inc

                    GET d:abcINCOption.inc

                    GET d:abcINCMemcfg.inc


                    area Init,code,readonly

                    CODE32

                     entry     

xmain                  

start 

                    ldr r0,=GPACON

                    ldr r1,=GPA

                    str r1,[r0]

                    ldr r0,=GPADAT;

LOOP2        mov r1,#0

                    mov r2,#1

LOOP1        str r2,[r0]

                    BL delay

                    MOV r2,r2,LSL#1

                    add r1,#1

                    cmp r1,#23

                    bne LOOP1

                    B LOOP2


delay           mov r3,#5

delay1        sub r3,r3,#1

                   cmp r3,#0 

                    bne delay1

                    mov pc,lr

                    end


GPBCON                                  equ            0x56000010

GPBDAT                                  equ            0x56000014

GPBUP                                    equ            0x56000018

GPAOUT                                 equ             0x0000000

GPACON                                 equ             0x56000000

GPADAT                                  equ            0x56000004

                                                 export  xmain

                                                area Init,code,readonly

                                                 CODE32

                                                 entry

                                                export

                                                GBLA nn   ;设置全局变量nn


xmain                  

                                            ldr r1,=GPAOUT ;调取设置A口为输出的数据


                                           ldr r0,=GPACON  ;调取A口输出的方向控制寄存器地址

                                           str r1,[r0]              ;把方向控制数据赋值给A口方向寄存器0x56000000

推荐阅读

史海拾趣

Antenova公司的发展小趣事

除了优秀的产品外,Antenova公司还提供一系列专业的服务,包括产品结构确认和指导、主板Gerber文件和PCB堆叠预审和检查等。这些服务帮助客户更好地使用Antenova的产品,并提高了客户的满意度和忠诚度。通过提供卓越的服务,Antenova赢得了众多客户的信赖和支持,为公司的长期发展奠定了坚实基础。

ERA Transformers公司的发展小趣事

在国内市场取得一定成功后,ERA Transformers公司开始将目光投向国际市场。为了打开国际市场,公司积极参加国际电子展会和交流活动,与多家国际知名企业建立了联系。通过深入了解国际市场需求和标准,公司对产品进行了针对性的改进和优化。经过一段时间的努力,ERA Transformers公司的产品成功打入了国际市场,并获得了良好的销售业绩和口碑。

Electech Electronics公司的发展小趣事

在快速发展的同时,Electech Electronics也注重环保和可持续发展。公司积极采用环保材料和绿色生产工艺,降低生产过程中的能耗和排放。此外,Electech Electronics还积极参与环保公益活动,推动电子行业的绿色发展。这些举措不仅体现了公司的社会责任感,也为公司的长期发展奠定了基础。

GC Electronics公司的发展小趣事
定期清洁传感器和冷却系统,防止污垢或杂质影响传感器的正常工作。
Enable Semiconductor Corp公司的发展小趣事

Enable Semiconductor Corp公司自创立之初,便专注于半导体技术的研发与创新。在早期阶段,公司研发团队经过无数次实验,成功研发出一种新型的半导体材料,这种材料具有更高的导电性能和更低的能耗。这一技术突破不仅提升了公司产品的性能,也为公司赢得了市场的初步认可。随着技术的不断迭代和优化,Enable Semiconductor Corp的产品逐渐在电子行业崭露头角,其市场份额也稳步上升。

Deltron / DEM Manufacturing公司的发展小趣事

DEM Manufacturing一直注重技术创新和产品升级。在合并后的几年里,公司投入大量资源用于研发,推出了一系列具有创新性的电子产品。这些产品不仅满足了市场的多样化需求,还为公司赢得了良好的口碑和广泛的客户基础。

问答坊 | AI 解惑

未定义指令异常 44b0

我的程序出现了未定义指令异常。在svc和irq下面的r14,我查看lr的地址属于在c语言里面,我一直调用的两个函数,这两个函数每次运行,至少能运行几十万次。是什么原因造成了未定义指令异常呢??? 另外,我原来程序初始化的时候,将svc的sp指向0x0 ...…

查看全部问答>

vxworks或tornado下怎么执行自己编写的tcl脚本?

此外,如果临时编译了一个tcl脚本文件放到文件系统内,怎么执行呢?…

查看全部问答>

单片机烧写程序时,不是需要烧写器?为什么我买的开发板上用串口转ISP的接口就可以直接烧写了?

单片机烧写程序时,不是需要烧写器?为什么我买的开发板上用串口转ISP的接口就可以直接烧写了?…

查看全部问答>

自定义消息无法接收

我在窗体上放了个clistctrl,我希望在鼠标每次点击item的时候,窗体的某一个位置重画. 我的做法是: 在CNewDlg.h中 自定义一个消息:#define WM_MYMSG WM_USER+110 然后 1、afx_msg LRESULT OnMyMsg(WPARAM wParam,  LPARAM lParam ...…

查看全部问答>

外接SRAM与Flash的操作是由硬件自动完成的吗?

菜鸟请教:外接SRAM与Flash的操作(包括内存分配、寻址、读写等)是由硬件自动完成,还是需要编程干预呢?谢谢各位了!…

查看全部问答>

STM8TIM1-PWM死活不输出

void main ( void ) {   _asm("rim");      PC_DDR |= 0x0E;              /* Output.            &nbs ...…

查看全部问答>

下载程序出错

我在向板子里下载程序的时候出现Verify error at address 0x20000149, target byte: 0x00, byte in file: 0xFF Sun Jun 05 15:03:09 2011: Warning:  Sun Jun 05 15:03:09 2011: Warning: Too many verify errors, only the first 200 are dis ...…

查看全部问答>

60年代名牌大学毕业生工作组转让成熟电机技术

我们是这样一个群体,由上世纪60年代各名牌大学毕业的、有着几十年丰富工作经验的专业人仕组成,目前都已退休,分布在全国各地,我们不想再出山打工,但我们也不想把几十年研究的成果和经验都随我们的年龄增大而消失,而且为了自己晚年生活得充实一 ...…

查看全部问答>

简单的三角波发生电路

在一个网站看到一个不错的三角波发生电路,需要的看看吧 原文地址    http://pcbheaven.com/circuitpages/Triangle_Wave_Generator/ It is designed to operate under 5 Volts, but different voltages can be applied as well ...…

查看全部问答>

STM32F107VCT6 107USB例程USB DEVICE例程

1、DEVICE_HID例程说明 1.1、HID简介HID(Human Interface Device)人机接口设备类别是Windows最早支持的USB类别。由其名称可以了解HID设备是计算机直接与人交互的设备,例如键盘、鼠标和游戏杆等。不过HID设备不一定要有人机接口,只要符合HI ...…

查看全部问答>