📄 main.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 939] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\obj\main.o --depend=.\obj\main.d --device=DARMP --apcs=interwork -O0 -IC:\Keil\ARM\INC\Philips --omf_browse=.\obj\main.crf MAIN.C]
ARM
AREA ||.text||, CODE, READONLY, ALIGN=2
enable_beep PROC
;;;192 {
;;;193 H_BEEP_CTRL();
000000 e3a00b01 MOV r0,#0x400
000004 e59f1e34 LDR r1,|L1.3648|
000008 e5810058 STR r0,[r1,#0x58]
;;;194 }
00000c e12fff1e BX lr
;;;195
ENDP
disable_beep PROC
;;;198 {
;;;199 L_BEEP_CTRL();
000010 e3a00b01 MOV r0,#0x400
000014 e59f1e24 LDR r1,|L1.3648|
000018 e581005c STR r0,[r1,#0x5c]
;;;200 }
00001c e12fff1e BX lr
;;;201
ENDP
BUS_SET_VALUE PROC
;;;204 {
;;;205 BUS_SET=val;
000020 e59f1e18 LDR r1,|L1.3648|
000024 e5c10058 STRB r0,[r1,#0x58]
;;;206 BUS_CLR=~(val);
000028 e1e01000 MVN r1,r0
00002c e59f2e0c LDR r2,|L1.3648|
000030 e5c2105c STRB r1,[r2,#0x5c]
;;;207 }
000034 e12fff1e BX lr
;;;208
ENDP
delay PROC
;;;898
;;;899 for(;dly>0;dly--)
000038 ea000000 B |L1.64|
|L1.60|
00003c e2400001 SUB r0,r0,#1
|L1.64|
000040 e3500000 CMP r0,#0
000044 1afffffc BNE |L1.60|
;;;900 {
;;;901
;;;902 }
;;;903
;;;904 }
000048 e12fff1e BX lr
;;;905
ENDP
KEY_SCAN PROC
;;;211 void KEY_SCAN(void)
;;;212 {
00004c e52de004 PUSH {lr}
;;;213 unsigned char var1;
;;;214 unsigned char var2;
;;;215
;;;216 BUS_DIR=0X0F;
000050 e3a0000f MOV r0,#0xf
000054 e59f1de4 LDR r1,|L1.3648|
000058 e5c10040 STRB r0,[r1,#0x40]
;;;217 BUS_SET=0X01;
00005c e3a00001 MOV r0,#1
000060 e5c10058 STRB r0,[r1,#0x58]
;;;218 BUS_CLR=0X0E;
000064 e3a0000e MOV r0,#0xe
000068 e5c1005c STRB r0,[r1,#0x5c]
;;;219
;;;220 var2=0;
00006c e3a03000 MOV r3,#0
;;;221
;;;222 delay(1);
000070 e3a00001 MOV r0,#1
000074 ebfffffe BL delay
;;;223 var1=BUS_PIN;
000078 e59f0dc0 LDR r0,|L1.3648|
00007c e5d02054 LDRB r2,[r0,#0x54]
;;;224
;;;225 if((var1&0XF0)==0X10)
000080 e20200f0 AND r0,r2,#0xf0
000084 e3500010 CMP r0,#0x10
000088 1a000001 BNE |L1.148|
;;;226 {
;;;227 var2=0X01;
00008c e3a03001 MOV r3,#1
000090 ea00000d B |L1.204|
|L1.148|
;;;228 }
;;;229 else if((var1&0XF0)==0X20)
000094 e20200f0 AND r0,r2,#0xf0
000098 e3500020 CMP r0,#0x20
00009c 1a000001 BNE |L1.168|
;;;230 {
;;;231 var2=0X02;
0000a0 e3a03002 MOV r3,#2
0000a4 ea000008 B |L1.204|
|L1.168|
;;;232 }
;;;233 else if((var1&0XF0)==0X40)
0000a8 e20200f0 AND r0,r2,#0xf0
0000ac e3500040 CMP r0,#0x40
0000b0 1a000001 BNE |L1.188|
;;;234 {
;;;235 var2=0X03;
0000b4 e3a03003 MOV r3,#3
0000b8 ea000003 B |L1.204|
|L1.188|
;;;236 }
;;;237 else if((var1&0XF0)==0X80)
0000bc e20200f0 AND r0,r2,#0xf0
0000c0 e3500080 CMP r0,#0x80
0000c4 1a000000 BNE |L1.204|
;;;238 {
;;;239 var2=0X04;
0000c8 e3a03004 MOV r3,#4
|L1.204|
;;;240 }
;;;241
;;;242 BUS_SET=0X02;
0000cc e3a00002 MOV r0,#2
0000d0 e59f1d68 LDR r1,|L1.3648|
0000d4 e5c10058 STRB r0,[r1,#0x58]
;;;243 BUS_CLR=0X0D;
0000d8 e3a0000d MOV r0,#0xd
0000dc e5c1005c STRB r0,[r1,#0x5c]
;;;244
;;;245 delay(1);
0000e0 e3a00001 MOV r0,#1
0000e4 ebfffffe BL delay
;;;246 var1=BUS_PIN;
0000e8 e59f0d50 LDR r0,|L1.3648|
0000ec e5d02054 LDRB r2,[r0,#0x54]
;;;247
;;;248 if((var1&0XF0)==0X10)
0000f0 e20200f0 AND r0,r2,#0xf0
0000f4 e3500010 CMP r0,#0x10
0000f8 1a000001 BNE |L1.260|
;;;249 {
;;;250 var2=0X05;
0000fc e3a03005 MOV r3,#5
000100 ea00000d B |L1.316|
|L1.260|
;;;251 }
;;;252 else if((var1&0XF0)==0X20)
000104 e20200f0 AND r0,r2,#0xf0
000108 e3500020 CMP r0,#0x20
00010c 1a000001 BNE |L1.280|
;;;253 {
;;;254 var2=0X06;
000110 e3a03006 MOV r3,#6
000114 ea000008 B |L1.316|
|L1.280|
;;;255 }
;;;256 else if((var1&0XF0)==0X40)
000118 e20200f0 AND r0,r2,#0xf0
00011c e3500040 CMP r0,#0x40
000120 1a000001 BNE |L1.300|
;;;257 {
;;;258 var2=0X07;
000124 e3a03007 MOV r3,#7
000128 ea000003 B |L1.316|
|L1.300|
;;;259 }
;;;260 else if((var1&0XF0)==0X80)
00012c e20200f0 AND r0,r2,#0xf0
000130 e3500080 CMP r0,#0x80
000134 1a000000 BNE |L1.316|
;;;261 {
;;;262 var2=0X08;
000138 e3a03008 MOV r3,#8
|L1.316|
;;;263 }
;;;264
;;;265 BUS_SET=0X04;
00013c e3a00004 MOV r0,#4
000140 e59f1cf8 LDR r1,|L1.3648|
000144 e5c10058 STRB r0,[r1,#0x58]
;;;266 BUS_CLR=0X0B;
000148 e3a0000b MOV r0,#0xb
00014c e5c1005c STRB r0,[r1,#0x5c]
;;;267
;;;268 delay(1);
000150 e3a00001 MOV r0,#1
000154 ebfffffe BL delay
;;;269 var1=BUS_PIN;
000158 e59f0ce0 LDR r0,|L1.3648|
00015c e5d02054 LDRB r2,[r0,#0x54]
;;;270
;;;271 if((var1&0XF0)==0X10)
000160 e20200f0 AND r0,r2,#0xf0
000164 e3500010 CMP r0,#0x10
000168 1a000001 BNE |L1.372|
;;;272 {
;;;273 var2=0X09;
00016c e3a03009 MOV r3,#9
000170 ea00000d B |L1.428|
|L1.372|
;;;274 }
;;;275 else if((var1&0XF0)==0X20)
000174 e20200f0 AND r0,r2,#0xf0
000178 e3500020 CMP r0,#0x20
00017c 1a000001 BNE |L1.392|
;;;276 {
;;;277 var2=0X0A;
000180 e3a0300a MOV r3,#0xa
000184 ea000008 B |L1.428|
|L1.392|
;;;278 }
;;;279 else if((var1&0XF0)==0X40)
000188 e20200f0 AND r0,r2,#0xf0
00018c e3500040 CMP r0,#0x40
000190 1a000001 BNE |L1.412|
;;;280 {
;;;281 var2=0X0B;
000194 e3a0300b MOV r3,#0xb
000198 ea000003 B |L1.428|
|L1.412|
;;;282 }
;;;283 else if((var1&0XF0)==0X80)
00019c e20200f0 AND r0,r2,#0xf0
0001a0 e3500080 CMP r0,#0x80
0001a4 1a000000 BNE |L1.428|
;;;284 {
;;;285 var2=0X0C;
0001a8 e3a0300c MOV r3,#0xc
|L1.428|
;;;286 }
;;;287
;;;288 BUS_SET=0X08;
0001ac e3a00008 MOV r0,#8
0001b0 e59f1c88 LDR r1,|L1.3648|
0001b4 e5c10058 STRB r0,[r1,#0x58]
;;;289 BUS_CLR=0X07;
0001b8 e3a00007 MOV r0,#7
0001bc e5c1005c STRB r0,[r1,#0x5c]
;;;290
;;;291 delay(1);
0001c0 e3a00001 MOV r0,#1
0001c4 ebfffffe BL delay
;;;292 var1=BUS_PIN;
0001c8 e59f0c70 LDR r0,|L1.3648|
0001cc e5d02054 LDRB r2,[r0,#0x54]
;;;293
;;;294 if((var1&0XF0)==0X10)
0001d0 e20200f0 AND r0,r2,#0xf0
0001d4 e3500010 CMP r0,#0x10
0001d8 1a000001 BNE |L1.484|
;;;295 {
;;;296 var2=0X0D;
0001dc e3a0300d MOV r3,#0xd
0001e0 ea00000d B |L1.540|
|L1.484|
;;;297 }
;;;298 else if((var1&0XF0)==0X20)
0001e4 e20200f0 AND r0,r2,#0xf0
0001e8 e3500020 CMP r0,#0x20
0001ec 1a000001 BNE |L1.504|
;;;299 {
;;;300 var2=0X0E;
0001f0 e3a0300e MOV r3,#0xe
0001f4 ea000008 B |L1.540|
|L1.504|
;;;301 }
;;;302 else if((var1&0XF0)==0X40)
0001f8 e20200f0 AND r0,r2,#0xf0
0001fc e3500040 CMP r0,#0x40
000200 1a000001 BNE |L1.524|
;;;303 {
;;;304 var2=0X0F;
000204 e3a0300f MOV r3,#0xf
000208 ea000003 B |L1.540|
|L1.524|
;;;305 }
;;;306 else if((var1&0XF0)==0X80)
00020c e20200f0 AND r0,r2,#0xf0
000210 e3500080 CMP r0,#0x80
000214 1a000000 BNE |L1.540|
;;;307 {
;;;308 var2=0X10;
000218 e3a03010 MOV r3,#0x10
|L1.540|
;;;309 }
;;;310
;;;311
;;;312 if(var2!=0)
00021c e3530000 CMP r3,#0
000220 0a000009 BEQ |L1.588|
;;;313 {
;;;314 if(key_debounce_flag==0)
000224 e59f0c18 LDR r0,|L1.3652|
000228 e5d00000 LDRB r0,[r0,#0] ; key_debounce_flag
00022c e3500000 CMP r0,#0
000230 1a000008 BNE |L1.600|
;;;315 {
;;;316 key_debounce_flag=1;
000234 e3a00001 MOV r0,#1
000238 e59f1c04 LDR r1,|L1.3652|
00023c e5c10000 STRB r0,[r1,#0] ; key_debounce_flag
;;;317 KEY_CODE=var2;
000240 e59f0c00 LDR r0,|L1.3656|
000244 e5c03000 STRB r3,[r0,#0] ; KEY_CODE
000248 ea000002 B |L1.600|
|L1.588|
;;;318 }
;;;319 }
;;;320 else
;;;321 {
;;;322 key_debounce_flag=0;
00024c e3a00000 MOV r0,#0
000250 e59f1bec LDR r1,|L1.3652|
000254 e5c10000 STRB r0,[r1,#0] ; key_debounce_flag
|L1.600|
;;;323 }
;;;324
;;;325 }
000258 e49de004 POP {lr}
00025c e12fff1e BX lr
;;;326
ENDP
READ_IO_INPUT PROC
;;;333
;;;334 var1=IOPIN0;
000260 e59f2be4 LDR r2,|L1.3660|
000264 e5921000 LDR r1,[r2,#0]
;;;335 var1>>=6;
000268 e1a01321 LSR r1,r1,#6
;;;336
;;;337 var2=var1&0x0f;
00026c e201000f AND r0,r1,#0xf
;;;338 return var2;
;;;339 }
000270 e12fff1e BX lr
;;;340
ENDP
read_TLV2556_OUT_PIN PROC
;;;366
;;;367 lvar1=IOPIN1;
000274 e59f0bd0 LDR r0,|L1.3660|
000278 e5901010 LDR r1,[r0,#0x10]
;;;368 if((lvar1&((uint32)0x01<<TLV2556_DOUT))==0)
00027c e3110201 TST r1,#0x10000000
000280 1a000001 BNE |L1.652|
;;;369 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -