再加个功能红外遥控用LCD现实几号按键跟显示按键的码值
LCD显示 STM32ASM
YJMWXWX
2015-06-01
001352 MV
042.6726 'C
TIM3 00000489
HONGWAI 16753245
ANJIAN 01
HONGWAI显示按键的码值,由于程序没有十六进制显示程序所以显示的是十进制,要看十六进制数用计算器转换就行了,转换过来是 0x00FFA25D
ANJIAN显示几号按键,必须码值一样才能显示几号按键,换别的遥控器不影响上面HONGWAI的显示。
.thumb
.syntax unified
.section .data
.align 4
shijian: .ascii "2015-06-01"
AYJMWXWX: .ascii "YJMWXWX"
ASTM32ASM: .ascii "STM32ASM"
dianyamv: .ascii "MV"
dian: .ascii "."
duxi: .ascii "'C"
tim3xianshi: .ascii "TIM3"
ahongwai: .ascii "HONGWAI"
aanjian: .ascii "ANJIAN"
lcdcsh:
.short 0x0000,0x0001,0x0015,0x0030,0x009a,0x0010,0x0011,0x0020,0x0010,0x3428,0x0012,0x0002,0x0013,0x1038,0x0012,0x0012,0x0010,0x3420,0x0013,0x3038,0x0030,0x0000,0x0031,0x0402,0x0032,0x0307,0x0033,0x0304,0x0034,0x0004,0x0035,0x0401,0x0036,0x0707,0x0037,0x0305,0x0038,0x0610,0x0039,0x0610,0x0001,0x0100,0x0002,0x0300,0x0003,0x1030,0x0008,0x0808,0x000a,0x0008,0x0060,0x2700,0x0061,0x00001,0x0090,0x13e,0x0092,0x0100,0x0093,0x0100,0x00a0,0x3000,0x00a3,0x0010,0x0007,0x0001,0x0007,0x0021,0x0007,0x0023,0x0007,0x0033,0x0007,0x0133
hongwaijiema: .int 0x10000,0x20000,0x30000,0xf0000,0x22006180
hongwaimabiao: .int 0xffa25d,0xff629d,0xffe21d,0xff22dd,0xff02fd,0xffc23d,0xffe01f,0xffa857,0xff906f,0xff6897,0xff9867,0xffb04f,0xff30cf,0xff18e7,0xff7a85,0xff10ef,0xff38c7,0xff5aa5,0xff42bd,0xff52ad
lcdmabiao:
.byte 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x48,0x6C,0x24,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x24,0x24,0x7F,0x12,0x12,0x12,0x7F,0x12,0x12,0x12,0x00,0x00,0x00,0x00,0x08,0x1C,0x2A,0x2A,0x0A,0x0C,0x18,0x28,0x28,0x2A,0x2A,0x1C,0x08,0x08,0x00,0x00,0x00,0x22,0x25,0x15,0x15,0x15,0x2A,0x58,0x54,0x54,0x54,0x22,0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0A,0x76,0x25,0x29,0x11,0x91,0x6E,0x00,0x00,0x00,0x06,0x06,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00,0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x6B,0x1C,0x1C,0x6B,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x7F,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x00,0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x20,0x20,0x10,0x08,0x04,0x42,0x7E,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x20,0x18,0x20,0x40,0x40,0x42,0x22,0x1C,0x00,0x00,0x00,0x00,0x00,0x20,0x30,0x28,0x24,0x24,0x22,0x22,0x7E,0x20,0x20,0x78,0x00,0x00,0x00,0x00,0x00,0x7E,0x02,0x02,0x02,0x1A,0x26,0x40,0x40,0x42,0x22,0x1C,0x00,0x00,0x00,0x00,0x00,0x38,0x24,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x7E,0x22,0x22,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x64,0x58,0x40,0x40,0x24,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x04,0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x46,0x40,0x20,0x10,0x10,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x5A,0x55,0x55,0x55,0x55,0x2D,0x42,0x22,0x1C,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x18,0x14,0x14,0x24,0x3C,0x22,0x42,0x42,0xE7,0x00,0x00,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x1E,0x22,0x42,0x42,0x42,0x22,0x1F,0x00,0x00,0x00,0x00,0x00,0x7C,0x42,0x42,0x01,0x01,0x01,0x01,0x01,0x42,0x22,0x1C,0x00,0x00,0x00,0x00,0x00,0x1F,0x22,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x42,0x42,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x02,0x02,0x07,0x00,0x00,0x00,0x00,0x00,0x3C,0x22,0x22,0x01,0x01,0x01,0x71,0x21,0x22,0x22,0x1C,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00,0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x0F,0x00,0x00,0x00,0x77,0x22,0x12,0x0A,0x0E,0x0A,0x12,0x12,0x22,0x22,0x77,0x00,0x00,0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x7F,0x00,0x00,0x00,0x00,0x00,0x77,0x36,0x36,0x36,0x36,0x2A,0x2A,0x2A,0x2A,0x2A,0x6B,0x00,0x00,0x00,0x00,0x00,0xE3,0x46,0x46,0x4A,0x4A,0x52,0x52,0x52,0x62,0x62,0x47,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C,0x00,0x00,0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x42,0x3E,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x4D,0x53,0x32,0x1C,0x60,0x00,0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x3E,0x12,0x12,0x22,0x22,0x42,0xC7,0x00,0x00,0x00,0x00,0x00,0x7C,0x42,0x42,0x02,0x04,0x18,0x20,0x40,0x42,0x42,0x3E,0x00,0x00,0x00,0x00,0x00,0x7F,0x49,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x42,0x22,0x24,0x24,0x14,0x14,0x18,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x6B,0x49,0x49,0x49,0x49,0x55,0x55,0x36,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0xE7,0x00,0x00,0x00,0x00,0x00,0x77,0x22,0x22,0x14,0x14,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00,0x00,0x00,0x00,0x7E,0x21,0x20,0x10,0x10,0x08,0x04,0x04,0x42,0x42,0x3F,0x00,0x00
.equ STACKINIT, 0x20005000
.equ lcdyanshia, 40000
.section .text
vectors:
.word STACKINIT
.word _start + 1
.word _nmi_handler + 1
.word _hard_fault + 1
.word _memory_fault + 1
.word _bus_fault + 1
.word _usage_fault + 1
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word _dingshiqi + 1
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word _extzhongduan + 1
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word _tim3dingshiqi + 1
_start:
chushihua:
ldr r0, = 0x20000014
mov r1, # 0
str r1, [r0]
str r1, [r0, # 4]
ldr r0, = 0x20000300
mov r1, # 0
str r1, [r0, # 0x10]
str r1, [r0, # 0x14]
str r1, [r0, # 8]
ldr r1, = 0x22006200
str r1, [r0]
mov r1, # 0
str r1, [r0, # 4]
@@AFIO-MAPR 开SWD模式
ldr r0, = 0x40010004
ldr r1, = 0x02000000
str r1, [r0]
shizhong:
ldr r0, = 0x40021000
ldr r1, = 0x14D83
str r1, [r0]
gsszbz:
ldr r2, [r0]
ldr r1, = 0x20000
tst r1, r2 @高速时钟标志位
bne rccchushihua
b gsszbz
rccchushihua:
ldr r0, = 0x40022000
mov r1, # 0x00000032
str r1, [r0] @FLASH缓冲 缓冲开启
ldr r0, = 0x40021004
ldr r1, = 0x1D8400
str r1, [r0]
ldr r0, = 0x40021000
ldr r1, = 0x1033D03
str r1, [r0]
chaxun:
ldr r2, [r0]
ldr r1, = 0x2000000
tst r1, r2
bne rccgg
b chaxun
rccgg:
ldr r0, = 0x40021004
ldr r1, = 0x1d8402
str r1, [r0]
ldr r0, = 0x40021018 @rcc_apb2_enr
movw r1, # 0x23d
str r1, [r0]
ldr r0, = 0x4002101c @ rcc_apb1_enr
mov r1, # 0x02
str r1, [r0] @ 开TIM3时钟
tim3chushihua:
ldr r0, = 0x4000042c @ arr 重载
ldr r1, = 0x1388
str r1, [r0]
ldr r0, = 0x40000428 @ psc fenpin
ldr r1, = 0x1c1f
str r1, [r0]
ldr r0, = 0x4000040c @ dier
mov r1, # 0x41
str r1, [r0]
zhongduan:
ldr r0, = 0xe000ed0c
ldr r1, = 0x5fa0500
str r1, [r0]
ldr r0, = 0xe000e100 @setpend0
ldr r1, = 0x20000080
str r1, [r0]
ldr r0, = 0xe000e400
mov r1, # 3
str r1, [r0, # 0x04]
mov r1, # 234
str r1, [r0, # 0x0c]
systick:
ldr r0, = 0xe000e010
mov r1, # 0
str r1, [r0]
ldr r1, = 0xffffff
str r1, [r0, # 4]
str r1, [r0, # 8]
mov r1, # 0
str r1, [r0]
ldr r0, = 0xe000ed23 @systick优先级
mov r1, # 240
str r1, [r0]
wangbuzhongduanchushihua:
ldr r0, = 0x40010008 @ afio_exticr1
mov r1, # 0
str r1, [r0]
ldr r0, = 0x40010400 @ exti_imr 中断屏蔽
mov r1, # 0x02
str r1, [r0]
str r1, [r0, # 0x04] @ exti_emr 事件屏蔽
str r1, [r0, # 0x0c] @ exti_ftsr 下降沿触发
led1chushihua:
ldr r0, = 0x40011400
ldr r1, = 0x44444344
str r1, [r0]
mov r1, # 4
str r1, [r0, # 12]
ldr r0, = 0x20000010
str r1, [r0]
adcchushihua:
ldr r0, = 0x4001240c
ldr r1, = 0x1c0000
str r1, [r0]
ldr r0, = 0x40012434
mov r1, # 0x10
str r1, [r0]
ldr r0, = 0x40012408
ldr r1, = 0x9e0009
str r1, [r0]
adcjiaozhun:
ldr r1, [r0]
tst r1, # 0x8
bne adcjiaozhun
ldr r1, = 0x9e005
str r1, [r0]
adcjiaozhun1:
ldr r1, [r0]
tst r1, # 0x4
bne adcjiaozhun1
ldr r2, = 0x4001244c
ldr r2, [r2]
ldr r1, = 0x2000011c
str r2, [r1]
ldr r1, = 0xde0003
str r1, [r0]
ioshezhi:
ldr r0, = 0x40010800
ldr r1, = 0x44444484
str r1, [r0]
mov r1, # 0x02
str r1, [r0, # 0x0c]
@@AFIO-MAPR 开SWD
ldr r0, = 0x40010004
ldr r1, = 0x02000000
str r1, [r0]
ldr r0, = 0x40011000
ldr r1, = 0x33444444
str r1, [r0]
ldr r1, = 0x44444333
str r1, [r0, # 4]
ldr r1, = 0x7c0
str r1, [r0, # 0xc]
ldr r0, = 0x40010C00
ldr r1, = 0x33333333
str r1, [r0]
ldr r1, = 0x33333333
str r1, [r0, # 4]
ldr r1, = 0xffff
str r1, [r0, # 0xc]
ldr r5, = lcdyanshia
mov r6, # 0
mov r2, # 0
lcdchushihua:
add r6, # 1
ldr r0, = lcdcsh
ldrh r4, [r0, r2]
add r2, # 2
ldrh r7, [r0, r2]
add r2, # 2
cmp r6, # 1
beq yanshi1
cmp r6, # 7
beq yanshi1
cmp r6, # 8
beq yanshi1
cmp r6, # 10
beq yanshi1
bl lcdchushihua2
lcd1:
cmp r2, # 0x94
bhi tiaochu
b lcdchushihua
yanshi1:
bl lcdchushihua2
bl yanshi
b lcd1
tiaochu:
mov r2, # 0
mov r8, # 0
mov r9, # 0
ldr r10, = 0xf800
xxxxxx:
mov r4, # 0x20
mov r7, r8
bl lcdchushihua2
add r8, # 1
cmp r8, # 240
bne yyyyyy
mov r8, # 0
b tiaochuyanse
yyyyyy:
mov r4, # 0x21
mov r7, r9
bl lcdchushihua2
add r9, # 1
cmp.w r9, # 320
bne xielcd
mov r9, # 0
b xxxxxx
xielcd:
mov r4, # 0x22
mov r7, r10
bl lcdchushihua2
b yyyyyy
lcdchushihua2:
push {r0,r1,r3,r7,r8,lr}
mov r8, r13
ldr r0, = 0x4001100c
mov r1, # 0x4c0
str r1, [r0]
ldr r3, = 0x40010c0c
str r4, [r3]
mov r1, # 0x440
str r1, [r0]
mov r1, # 0x7c0
str r1, [r0]
mov r1, # 0x5c0
str r1, [r0]
str r7, [r3]
mov r1, # 0x540
str r1, [r0]
mov r1, # 0x7c0
str r1, [r0]
mov r13, r8
pop {r0,r1,r3,r7,r8,pc}
lcdxiedongxi:
push {r0-r12, lr}
mov r5, r13
mov r3, # 0
mov r8, # 0
mov r9, # 0
qulcdma:
ldr r11, = lcdmabiao
ldrb r1, [r0, r3]
add r3, # 1
sub r4, r1, # 32
mov r7, # 16
mul r4, r4, r7
add r11, r4
ldr r1, = 0x20000200
ldr r1, [r1]
cmp r3, r1
bne xiezi
mov r3, # 0
mov r13, r5
pop {r0-r12, pc}
xiezi:
ldrb r6, [r11, r8]
mov r4, # 0x21
add r7, r8, r2
bl lcdchushihua2
add r8, # 1
cmp r8, # 16
bne xiezi1
mov r8, # 0
add r12, # 8
cmp r12, # 240
bls qulcdma
mov r12, # 0
add r2, # 32
cmp r2, # 320
bls qulcdma
mov r2, # 0
b qulcdma
xiezi1:
mov r4, # 0x20
add r7, r9, r12
bl lcdchushihua2
add r9, # 1
cmp r9, # 8
bne lcdyu
mov r9, # 0
b xiezi
lcdyu:
tst r6, # 0x01
bne lcdxiezi
lcdxiezi1:
mov r4, # 0x22
movw r7, # 0xf800
bl lcdchushihua2
ror r6, # 1
b xiezi1
lcdxiezi:
mov r4, # 0x22
mov r7, # 0x1f
bl lcdchushihua2
ror r6, # 1
b xiezi1
yanshi:
subs r5, # 1
bne yanshi
ldr r5, = lcdyanshia
bx lr
shijinzhizhuanakesima: @ 十进制转ASCII
push {r0,r1,r3,r4,r6,r7,r8,lr}
mov r8, r13
ldr r1, [r6]
mov r4, # 10
zhuanhuanaks:
subs r3, # 1
udiv r6, r1, r4
mul r7, r6, r4
sub r7, r1, r7
add r7, # 0x30
strb r7, [r0, r3]
mov r1, r6
bne zhuanhuanaks
mov r13, r8
pop {r0,r1,r3,r4,r6,r7,r8,pc}
tiaochuyanse:
ldr r0, = 0x20000200 @ 显示位数
mov r1, # 9
str r1, [r0]
mov r2, # 64 @ 列偏移
mov r12, # 32 @ 行偏移
ldr r0, = ASTM32ASM @ 显示的东西
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 8
str r1, [r0]
mov r2, # 80
mov r12, # 32
ldr r0, = AYJMWXWX
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 11
str r1, [r0]
mov r2, # 96
mov r12, # 32
ldr r0, = shijian
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 3
str r1, [r0]
mov r2, # 112
mov r12, # 112
ldr r0, = dianyamv
bl lcdxiedongxi
adchaofu:
ldr r0, = 0x20000200
mov r1, # 7
str r1, [r0]
mov r2, # 112
mov r12, # 32
ldr r6, = 0x4001244c
ldr r0, [r6]
ldr r1, = 0x2000011c
ldr r6, = 0x2000010c
ldr r1, [r1]
sub r0, r1
movw r3, # 850
mul r0, r3
lsr r0, # 10
str r0, [r6]
mov r3, # 6
ldr r0, = 0x20000100
bl shijinzhizhuanakesima
bl lcdxiedongxi
xianshiwendu:
ldr r1, = 0x20000200
mov r3, # 4
str r3, [r1]
mov r2, # 128
mov r12, # 32
ldr r6, = 0x4001244c
ldr r0, [r6]
ldr r1, = 0x2000011c
ldr r1, [r1]
sub r0, r1
movw r3, # 850
mul r0, r3
lsr r0, # 10
mov r1, # 1000
mul r0, r0, r1
ldr r4, = 1430000
sub r4, r0
mov r3, # 43
udiv r0, r4, r3
movw r4, # 2500
add r0, r4
ldr r6, = 0x20000108
str r0, [r6]
mov r3, # 5
ldr r0, = 0x20000100
bl shijinzhizhuanakesima
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 5
str r1, [r0]
mov r2, # 128
mov r12, # 64
ldr r6, = 0x20000108
mov r3, # 2
ldr r0, = 0x20000100
bl shijinzhizhuanakesima
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 2
str r1, [r0]
mov r2, # 128
mov r12, # 56
ldr r0, = dian
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 3
str r1, [r0]
mov r2, # 128
mov r12, # 112
ldr r0, = duxi
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 5
str r1, [r0]
mov r2, # 144
mov r12, # 32
ldr r0, = tim3xianshi
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 9
str r1, [r0]
mov r2, # 144
mov r12, # 88
ldr r0, = 0x20000100
ldr r6, = 0x20000010
mov r3, # 8
bl shijinzhizhuanakesima
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 8
str r1, [r0]
mov r2, # 160
mov r12, # 32
ldr r0, = ahongwai
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 9
str r1, [r0]
mov r2, # 160
mov r12, # 104
ldr r6, = 0x2000030c
mov r3, # 8
ldr r0, = 0x20000100
bl shijinzhizhuanakesima
bl lcdxiedongxi
hongwaianjianpanduan:
ldr r0, = 0x2000030c @ 红外码
ldr r1, = hongwaimabiao
ldr r4, [r0, # - 4]
ldr r2, [r0]
ldr r3, [r1, r4]
add r4, # 4
str r4, [r0, # - 4]
cmp r4, # 84
bne bijiaoanjian
mov r4, # 0
str r4, [r0, # - 4]
bijiaoanjian:
cmp r2, r3
bne anjianxianshi
nageanjian:
ldr r1, [r0, # - 4]
lsr r1, # 2
str r1, [r0, # 8]
anjianxianshi:
ldr r0, = 0x20000200
mov r1, # 7
str r1, [r0]
mov r2, # 176
mov r12, # 32
ldr r0, = aanjian
bl lcdxiedongxi
ldr r0, = 0x20000200
mov r1, # 3
str r1, [r0]
mov r2, # 176
mov r12, # 88
ldr r6, = 0x20000314
mov r3, # 2
ldr r0, = 0x20000100
bl shijinzhizhuanakesima
bl lcdxiedongxi
_led1:
ldr r0, = 0x40000400
mov r1, # 0x81
str r1, [r0]
ldr r0, = 0xe000e100
ldr r1, = 0x20000000
str r1, [r0]
ldr r2, = 0x4001140c
ldr r0, = 0x20000010
ldr r1, [r0]
mov r3, # 0
mov r4, # 0x04
cmp r1, # 255
bhi kailed
b adchaofu
kailed:
str r3, [r2]
cmp.w r1, #510
bhi guanled
b adchaofu
guanled:
str r4, [r2]
str r3, [r0]
b adchaofu
_nmi_handler:
bx lr
_hard_fault:
bx lr
_memory_fault:
bx lr
_bus_fault:
bx lr
_usage_fault:
bx lr
_dingshiqi:
bx lr
_extzhongduan:
push {r0-r12, lr}
mov r8, sp
guandingshi:
ldr r0, = 0xe000e010
mov r1, # 0
str r1, [r0]
ldr r6, [r0, # 0x08]
str r6, [r0, # 0x08]
hwkaidingshi:
mov r1, # 0x07
str r1, [r0]
ldr r1, = 0x42210104
ldr r3, = 0x20000300
hwchaxungao:
ldr r2, [r1]
cmp r2, # 1
bne hwchaxungao
hwgaodimaichong:
mov r2, # 0
str r2, [r0]
ldr r5, = 0xffffff
sub r6, r5, r6
ldr r5, = hongwaijiema
ldr r2, [r5, # 16]
ldr r7, [r3]
cmp r7, r2
bne hwpanduan
ldr r7, = 0x22006200
str r7, [r3]
hwpanduan:
ldr r2, [r5, # 12]
cmp r6, r2
bhi hwfanhui1
ldr r2, [r5, # 8]
cmp r6, r2
bhi hwjiajia
ldr r2, [r5, # 4]
cmp r6, r2
bhi hw1
ldr r2, [r5]
cmp r6, r2
bhi hw0
b hwfanhui
hwjiajia:
ldr r2, [r3, # 4]
add r2, # 1
str r2, [r3, # 4]
b hwfanhui
hw0:
mov r4, # 0
b hwchucun
hwfanhui1: @红外写数据偏移重载
ldr r2, = 0x22006200
str r2, [r3]
b hwfanhui
hw1:
mov r4, # 1
hwchucun:
ldr r2, [r3]
stmfd r2!, {r4}
str r2, [r3]
hwfanhui:
mov r2, # 0x07
str r2, [r0]
ldr r0, = 0x40010414 @ exti_pr 挂起
mov r1, # 0x02
str r1, [r0]
mov sp, r8
pop {r0-r12, pc}
_tim3dingshiqi:
push {r0-r4, lr}
mov r4, sp
ldr r0, = 0x4001140c
ldr r1, = 0x20000010
ldr r2, [r1]
add r2, r2, # 1
str r2, [r1]
ldr r0, = 0xe000e180
ldr r1, = 0x20000000
str r1, [r0]
mov sp, r4
pop {r0-r4, pc} |