led.s

来自「用于atsam9261开发版的led程序」· S 代码 · 共 69 行

S
69
字号
;定义端口
PIOA_PER    EQU     0xFFFFF400
PIOA_OER    EQU     0xFFFFF410
;PIOA_IFDR   EQU     0xFFFFF424
PIOA_SODR   EQU     0xFFFFF430
PIOA_CODR   EQU     0xFFFFF434
;PIOA_IDR    EQU     0xFFFFF444
;PIOA_MDDR   EQU     0xFFFFF454
PIOA_PUDR   EQU     0xFFFFF460
;PIOA_OWDR   EQU     0xFFFFF4A4

 AREA  Init,CODE,READONLY

  ENTRY

;使能PIO
 ldr r0,=PIOA_PER
 ldr r1,=0x00018000
 str r1,[r0]

;使能PIO输出
 ldr r0,=PIOA_OER
 ldr r1,=0x00018000
 str r1,[r0]
 
;上拉电阻
 ldr r0,=PIOA_PUDR
 ldr r1,=0x00018000
 str r1,[r0]

 ldr r2,=PIOA_SODR
 ldr r3,=PIOA_CODR
 ldr r1,=0x00018000


ledloop
;全亮
 str r1,[r3]
 bl delay

;P15亮,P16灭(对应位置1灯灭)
 ldr r1,=0x00010000
 str r1,[r2]
 bl delay

;P16亮,P15灭(对应位置1灯灭)
 ldr r1,=0x00010000
 str r1,[r3]
 ldr r1,=0x00008000
 str r1,[r2]
 bl delay

 b ledloop

;延迟
delay
 ldr r4,=0x00100000
delay1
 sub r4,r4,#1
 cmp r4,#0x0
 bne delay1
 mov pc,lr

 END




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?