📄 7segment.s
字号:
/* define symbols of system */.equ PORTA_MUX, 0x09000000.equ PORTA_DATA, 0x09001600.equ PORTA_DIR, 0x09001604/* define symbol of program */.set DELAY_CNT, 0x1fffff.text.global _start.code 32_start:/* setup PORT A */start: ldr r0, =PORTA_DIR mov r1, #0 str r1, [r0] ldr r0, =PORTA_MUX ldr r1, =0x3fff str r1, [r0] /* main program */ ldr r5, =PORTA_DATA mov r2, #0 mov r3, #0main_loop: bl seg7 str r3, [r5] ldr r0, =DELAY_CNT bl delay add r2, r2, #1 cmp r2, #11 subeq r2, r2, r2 b main_loop/* delay subroutine */delay: subs r0, r0, #1 bne delay mov pc, lr/* binary to 7segment coding subroutine */seg7: adr r3, seg_table ldr r3, [r3, +r2, lsl #2] mov pc, lr/* coding table */seg_table:.word 0x000000c0,0x000000f9, 0x000000a4, 0x000000b0, 0x00000099, 0x00000092, 0x00000082, 0x000000f8, 0x00000080, 0x00000090, 0x0000007f.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -