; generated by Component: ARM Compiler 5.06 update 7 (build 960) Tool: ArmCC [4d365d] ; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o..\list\menu.o --asm_dir=..\List\ --list_dir=..\List\ --depend=..\list\menu.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931 -I..\src\myprintf -I..\src\RTT -I.\RTE\_XWY -ID:\Keil\ARM\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -ID:\Keil\ARM\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__MICROLIB -D__UVISION_VERSION=538 -D_RTE_ -DSTM32F10X_HD -D_RTE_ -D_DEBUG --omf_browse=..\list\menu.crf ..\src\menu.c] THUMB AREA ||i.eeprom_24c64_read||, CODE, READONLY, ALIGN=1 eeprom_24c64_read PROC ;;;410 //地址为字节,24C64为32个字节一个页,主要不要跨页 ;;;411 u8 eeprom_24c64_read (u16 addr, u8 num, u8 *p) 000000 e92d41f0 PUSH {r4-r8,lr} ;;;412 { 000004 4605 MOV r5,r0 000006 460f MOV r7,r1 000008 4616 MOV r6,r2 ;;;413 u8 n; ;;;414 ;;;415 iic1_start (); 00000a f7fffffe BL iic1_start ;;;416 iic1_write_byte (M24C64_ADDR_WR); 00000e 20a0 MOVS r0,#0xa0 000010 f7fffffe BL iic1_write_byte ;;;417 iic1_write_byte ((u8)(addr >> 8)); 000014 1228 ASRS r0,r5,#8 000016 f7fffffe BL iic1_write_byte ;;;418 iic1_write_byte ((u8)(addr)); 00001a b2e8 UXTB r0,r5 00001c f7fffffe BL iic1_write_byte ;;;419 ;;;420 iic1_start (); 000020 f7fffffe BL iic1_start ;;;421 iic1_write_byte (M24C64_ADDR_RD); 000024 20a1 MOVS r0,#0xa1 000026 f7fffffe BL iic1_write_byte ;;;422 ;;;423 for (n = 0; n < (num - 1); n++) 00002a 2400 MOVS r4,#0 00002c e005 B |L1.58| |L1.46| ;;;424 *(p + n) = iic1_read_byte (0); 00002e 2000 MOVS r0,#0 000030 f7fffffe BL iic1_read_byte 000034 5530 STRB r0,[r6,r4] 000036 1c60 ADDS r0,r4,#1 ;423 000038 b2c4 UXTB r4,r0 ;423 |L1.58| 00003a 1e78 SUBS r0,r7,#1 ;423 00003c 42a0 CMP r0,r4 ;423 00003e dcf6 BGT |L1.46| ;;;425 ;;;426 *(p + n) = iic1_read_byte (1); 000040 2001 MOVS r0,#1 000042 f7fffffe BL iic1_read_byte 000046 5530 STRB r0,[r6,r4] ;;;427 iic1_stop (); 000048 f7fffffe BL iic1_stop ;;;428 ;;;429 return 1; 00004c 2001 MOVS r0,#1 ;;;430 } 00004e e8bd81f0 POP {r4-r8,pc} ;;;431 ENDP AREA ||i.eeprom_24c64_read_byte||, CODE, READONLY, ALIGN=1 eeprom_24c64_read_byte PROC ;;;647 //地址为字节,24C64为32个字节一个页,主要不要跨页 ;;;648 u8 eeprom_24c64_read_byte (u16 addr) 000000 b570 PUSH {r4-r6,lr} ;;;649 { 000002 4604 MOV r4,r0 ;;;650 u8 temp; ;;;651 ;;;652 iic1_start (); 000004 f7fffffe BL iic1_start ;;;653 iic1_write_byte (M24C64_ADDR_WR); 000008 20a0 MOVS r0,#0xa0 00000a f7fffffe BL iic1_write_byte ;;;654 iic1_write_byte ((u8)(addr >> 8)); 00000e 1220 ASRS r0,r4,#8 000010 f7fffffe BL iic1_write_byte ;;;655 iic1_write_byte ((u8)(addr)); 000014 b2e0 UXTB r0,r4 000016 f7fffffe BL iic1_write_byte ;;;656 ;;;657 iic1_start (); 00001a f7fffffe BL iic1_start ;;;658 iic1_write_byte (M24C64_ADDR_RD); 00001e 20a1 MOVS r0,#0xa1 000020 f7fffffe BL iic1_write_byte ;;;659 ;;;660 temp = iic1_read_byte (1); 000024 2001 MOVS r0,#1 000026 f7fffffe BL iic1_read_byte 00002a 4605 MOV r5,r0 ;;;661 iic1_stop (); 00002c f7fffffe BL iic1_stop ;;;662 ;;;663 return temp; 000030 4628 MOV r0,r5 ;;;664 } 000032 bd70 POP {r4-r6,pc} ;;;665 ENDP AREA ||i.eeprom_24c64_write||, CODE, READONLY, ALIGN=2 eeprom_24c64_write PROC ;;;389 //地址为字节,24C64为32个字节一个页,主要不要跨页 ;;;390 u8 eeprom_24c64_write (u16 addr, u8 num, u8 *p) 000000 e92d41f0 PUSH {r4-r8,lr} ;;;391 { 000004 4604 MOV r4,r0 000006 460f MOV r7,r1 000008 4690 MOV r8,r2 ;;;392 u8 n; ;;;393 u32 delay; ;;;394 ;;;395 iic1_start (); 00000a f7fffffe BL iic1_start ;;;396 iic1_write_byte (M24C64_ADDR_WR); 00000e 20a0 MOVS r0,#0xa0 000010 f7fffffe BL iic1_write_byte ;;;397 iic1_write_byte ((u8)(addr >> 8)); 000014 1220 ASRS r0,r4,#8 000016 f7fffffe BL iic1_write_byte ;;;398 iic1_write_byte ((u8)(addr)); 00001a b2e0 UXTB r0,r4 00001c f7fffffe BL iic1_write_byte ;;;399 ;;;400 for (n = 0; n < num; n++) 000020 2500 MOVS r5,#0 000022 e005 B |L3.48| |L3.36| ;;;401 iic1_write_byte (*(p + n)); 000024 f8180005 LDRB r0,[r8,r5] 000028 f7fffffe BL iic1_write_byte 00002c 1c68 ADDS r0,r5,#1 ;400 00002e b2c5 UXTB r5,r0 ;400 |L3.48| 000030 42bd CMP r5,r7 ;400 000032 dbf7 BLT |L3.36| ;;;402 ;;;403 iic1_stop (); 000034 f7fffffe BL iic1_stop ;;;404 ;;;405 for (delay = 0; delay < 606060; delay++); //1.806894ms (10000) 26.39022ms(100000) 264ms(1000000) 000038 2600 MOVS r6,#0 00003a e000 B |L3.62| |L3.60| 00003c 1c76 ADDS r6,r6,#1 |L3.62| 00003e 4803 LDR r0,|L3.76| 000040 4286 CMP r6,r0 000042 d3fb BCC |L3.60| ;;;406 ;;;407 return 1; 000044 2001 MOVS r0,#1 ;;;408 } 000046 e8bd81f0 POP {r4-r8,pc} ;;;409 ENDP 00004a 0000 DCW 0x0000 |L3.76| DCD 0x00093f6c AREA ||i.eeprom_24c64_write_byte||, CODE, READONLY, ALIGN=1 eeprom_24c64_write_byte PROC ;;;666 //地址为字节,24C64为32个字节一个页,主要不要跨页 ;;;667 u8 eeprom_24c64_write_byte (u16 addr, u8 data) 000000 b570 PUSH {r4-r6,lr} ;;;668 { 000002 4604 MOV r4,r0 000004 460d MOV r5,r1 ;;;669 u8 temp; ;;;670 ;;;671 iic1_start (); 000006 f7fffffe BL iic1_start ;;;672 iic1_write_byte (M24C64_ADDR_WR); 00000a 20a0 MOVS r0,#0xa0 00000c f7fffffe BL iic1_write_byte ;;;673 iic1_write_byte ((u8)(addr >> 8)); 000010 1220 ASRS r0,r4,#8 000012 f7fffffe BL iic1_write_byte ;;;674 iic1_write_byte ((u8)(addr)); 000016 b2e0 UXTB r0,r4 000018 f7fffffe BL iic1_write_byte ;;;675 ;;;676 temp = iic1_write_byte (data); 00001c 4628 MOV r0,r5 00001e f7fffffe BL iic1_write_byte 000022 4606 MOV r6,r0 ;;;677 ;;;678 iic1_stop (); 000024 f7fffffe BL iic1_stop ;;;679 ;;;680 return temp; 000028 4630 MOV r0,r6 ;;;681 } 00002a bd70 POP {r4-r6,pc} ENDP AREA ||i.iic1_read_byte||, CODE, READONLY, ALIGN=2 iic1_read_byte PROC ;;;596 ;;;597 u8 iic1_read_byte (u8 ack) 000000 b570 PUSH {r4-r6,lr} ;;;598 { 000002 4605 MOV r5,r0 ;;;599 u8 temp, n; ;;;600 ;;;601 temp = 0; 000004 2400 MOVS r4,#0 ;;;602 ;;;603 for (n = 0; n < 8; n++) 000006 2600 MOVS r6,#0 000008 e042 B |L5.144| |L5.10| ;;;604 { ;;;605 IIC1_SCL_L; 00000a f44f7180 MOV r1,#0x100 00000e 4850 LDR r0,|L5.336| 000010 f7fffffe BL GPIO_ResetBits ;;;606 IIC1_SCL_L; 000014 f44f7180 MOV r1,#0x100 000018 484d LDR r0,|L5.336| 00001a f7fffffe BL GPIO_ResetBits ;;;607 IIC1_SCL_L; 00001e f44f7180 MOV r1,#0x100 000022 484b LDR r0,|L5.336| 000024 f7fffffe BL GPIO_ResetBits ;;;608 IIC1_SCL_L; 000028 f44f7180 MOV r1,#0x100 00002c 4848 LDR r0,|L5.336| 00002e f7fffffe BL GPIO_ResetBits ;;;609 IIC1_SCL_L; 000032 f44f7180 MOV r1,#0x100 000036 4846 LDR r0,|L5.336| 000038 f7fffffe BL GPIO_ResetBits ;;;610 IIC1_SDA_H; 00003c f44f7100 MOV r1,#0x200 000040 4843 LDR r0,|L5.336| 000042 f7fffffe BL GPIO_SetBits ;;;611 IIC1_SCL_H; 000046 f44f7180 MOV r1,#0x100 00004a 4841 LDR r0,|L5.336| 00004c f7fffffe BL GPIO_SetBits ;;;612 IIC1_SCL_H; 000050 f44f7180 MOV r1,#0x100 000054 483e LDR r0,|L5.336| 000056 f7fffffe BL GPIO_SetBits ;;;613 IIC1_SCL_H; 00005a f44f7180 MOV r1,#0x100 00005e 483c LDR r0,|L5.336| 000060 f7fffffe BL GPIO_SetBits ;;;614 IIC1_SCL_H; 000064 f44f7180 MOV r1,#0x100 000068 4839 LDR r0,|L5.336| 00006a f7fffffe BL GPIO_SetBits ;;;615 IIC1_SCL_H; 00006e f44f7180 MOV r1,#0x100 000072 4837 LDR r0,|L5.336| 000074 f7fffffe BL GPIO_SetBits ;;;616 temp <<= 1; 000078 0660 LSLS r0,r4,#25 00007a 0e04 LSRS r4,r0,#24 ;;;617 ;;;618 if (IIC1_SDA_READ()) 00007c f44f7100 MOV r1,#0x200 000080 4833 LDR r0,|L5.336| 000082 f7fffffe BL GPIO_ReadInputDataBit 000086 b108 CBZ r0,|L5.140| ;;;619 temp++;; 000088 1c60 ADDS r0,r4,#1 00008a b2c4 UXTB r4,r0 |L5.140| 00008c 1c70 ADDS r0,r6,#1 ;603 00008e b2c6 UXTB r6,r0 ;603 |L5.144| 000090 2e08 CMP r6,#8 ;603 000092 dbba BLT |L5.10| ;;;620 } ;;;621 ;;;622 IIC1_SCL_L; //发送应答信号 000094 f44f7180 MOV r1,#0x100 000098 482d LDR r0,|L5.336| 00009a f7fffffe BL GPIO_ResetBits ;;;623 if (ack) 00009e b12d CBZ r5,|L5.172| ;;;624 IIC1_SDA_H; 0000a0 f44f7100 MOV r1,#0x200 0000a4 482a LDR r0,|L5.336| 0000a6 f7fffffe BL GPIO_SetBits 0000aa e004 B |L5.182| |L5.172| ;;;625 else ;;;626 IIC1_SDA_L; 0000ac f44f7100 MOV r1,#0x200 0000b0 4827 LDR r0,|L5.336| 0000b2 f7fffffe BL GPIO_ResetBits |L5.182| ;;;627 ;;;628 IIC1_SCL_L; 0000b6 f44f7180 MOV r1,#0x100 0000ba 4825 LDR r0,|L5.336| 0000bc f7fffffe BL GPIO_ResetBits ;;;629 IIC1_SCL_L; 0000c0 f44f7180 MOV r1,#0x100 0000c4 4822 LDR r0,|L5.336| 0000c6 f7fffffe BL GPIO_ResetBits ;;;630 IIC1_SCL_L; 0000ca f44f7180 MOV r1,#0x100 0000ce 4820 LDR r0,|L5.336| 0000d0 f7fffffe BL GPIO_ResetBits ;;;631 IIC1_SCL_L; 0000d4 f44f7180 MOV r1,#0x100 0000d8 481d LDR r0,|L5.336| 0000da f7fffffe BL GPIO_ResetBits ;;;632 IIC1_SCL_L; 0000de f44f7180 MOV r1,#0x100 0000e2 481b LDR r0,|L5.336| 0000e4 f7fffffe BL GPIO_ResetBits ;;;633 IIC1_SCL_H; 0000e8 f44f7180 MOV r1,#0x100 0000ec 4818 LDR r0,|L5.336| 0000ee f7fffffe BL GPIO_SetBits ;;;634 IIC1_SCL_H; 0000f2 f44f7180 MOV r1,#0x100 0000f6 4816 LDR r0,|L5.336| 0000f8 f7fffffe BL GPIO_SetBits ;;;635 IIC1_SCL_H; 0000fc f44f7180 MOV r1,#0x100 000100 4813 LDR r0,|L5.336| 000102 f7fffffe BL GPIO_SetBits ;;;636 IIC1_SCL_H; 000106 f44f7180 MOV r1,#0x100 00010a 4811 LDR r0,|L5.336| 00010c f7fffffe BL GPIO_SetBits ;;;637 IIC1_SCL_H; 000110 f44f7180 MOV r1,#0x100 000114 480e LDR r0,|L5.336| 000116 f7fffffe BL GPIO_SetBits ;;;638 IIC1_SCL_L; 00011a f44f7180 MOV r1,#0x100 00011e 480c LDR r0,|L5.336| 000120 f7fffffe BL GPIO_ResetBits ;;;639 IIC1_SCL_L; 000124 f44f7180 MOV r1,#0x100 000128 4809 LDR r0,|L5.336| 00012a f7fffffe BL GPIO_ResetBits ;;;640 IIC1_SCL_L; 00012e f44f7180 MOV r1,#0x100 000132 4807 LDR r0,|L5.336| 000134 f7fffffe BL GPIO_ResetBits ;;;641 IIC1_SCL_L; 000138 f44f7180 MOV r1,#0x100 00013c 4804 LDR r0,|L5.336| 00013e f7fffffe BL GPIO_ResetBits ;;;642 IIC1_SCL_L; 000142 f44f7180 MOV r1,#0x100 000146 4802 LDR r0,|L5.336| 000148 f7fffffe BL GPIO_ResetBits ;;;643 ;;;644 return temp; 00014c 4620 MOV r0,r4 ;;;645 } 00014e bd70 POP {r4-r6,pc} ;;;646 ENDP |L5.336| DCD 0x40010c00 AREA ||i.iic1_start||, CODE, READONLY, ALIGN=2 iic1_start PROC ;;;431 ;;;432 void iic1_start (void) 000000 b510 PUSH {r4,lr} ;;;433 { ;;;434 IIC1_SCL_L; 000002 f44f7180 MOV r1,#0x100 000006 4866 LDR r0,|L6.416| 000008 f7fffffe BL GPIO_ResetBits ;;;435 IIC1_SDA_H; 00000c f44f7100 MOV r1,#0x200 000010 4863 LDR r0,|L6.416| 000012 f7fffffe BL GPIO_SetBits ;;;436 IIC1_SDA_H; 000016 f44f7100 MOV r1,#0x200 00001a 4861 LDR r0,|L6.416| 00001c f7fffffe BL GPIO_SetBits ;;;437 IIC1_SDA_H; 000020 f44f7100 MOV r1,#0x200 000024 485e LDR r0,|L6.416| 000026 f7fffffe BL GPIO_SetBits ;;;438 IIC1_SDA_H; 00002a f44f7100 MOV r1,#0x200 00002e 485c LDR r0,|L6.416| 000030 f7fffffe BL GPIO_SetBits ;;;439 IIC1_SDA_H; 000034 f44f7100 MOV r1,#0x200 000038 4859 LDR r0,|L6.416| 00003a f7fffffe BL GPIO_SetBits ;;;440 IIC1_SDA_H; 00003e f44f7100 MOV r1,#0x200 000042 4857 LDR r0,|L6.416| 000044 f7fffffe BL GPIO_SetBits ;;;441 IIC1_SDA_H; 000048 f44f7100 MOV r1,#0x200 00004c 4854 LDR r0,|L6.416| 00004e f7fffffe BL GPIO_SetBits ;;;442 IIC1_SDA_H; 000052 f44f7100 MOV r1,#0x200 000056 4852 LDR r0,|L6.416| 000058 f7fffffe BL GPIO_SetBits ;;;443 IIC1_SDA_H; 00005c f44f7100 MOV r1,#0x200 000060 484f LDR r0,|L6.416| 000062 f7fffffe BL GPIO_SetBits ;;;444 IIC1_SDA_H; 000066 f44f7100 MOV r1,#0x200 00006a 484d LDR r0,|L6.416| 00006c f7fffffe BL GPIO_SetBits ;;;445 IIC1_SCL_H; 000070 f44f7180 MOV r1,#0x100 000074 484a LDR r0,|L6.416| 000076 f7fffffe BL GPIO_SetBits ;;;446 IIC1_SCL_H; 00007a f44f7180 MOV r1,#0x100 00007e 4848 LDR r0,|L6.416| 000080 f7fffffe BL GPIO_SetBits ;;;447 IIC1_SCL_H; 000084 f44f7180 MOV r1,#0x100 000088 4845 LDR r0,|L6.416| 00008a f7fffffe BL GPIO_SetBits ;;;448 IIC1_SCL_H; 00008e f44f7180 MOV r1,#0x100 000092 4843 LDR r0,|L6.416| 000094 f7fffffe BL GPIO_SetBits ;;;449 IIC1_SCL_H; 000098 f44f7180 MOV r1,#0x100 00009c 4840 LDR r0,|L6.416| 00009e f7fffffe BL GPIO_SetBits ;;;450 IIC1_SCL_H; 0000a2 f44f7180 MOV r1,#0x100 0000a6 483e LDR r0,|L6.416| 0000a8 f7fffffe BL GPIO_SetBits ;;;451 IIC1_SCL_H; 0000ac f44f7180 MOV r1,#0x100 0000b0 483b LDR r0,|L6.416| 0000b2 f7fffffe BL GPIO_SetBits ;;;452 IIC1_SCL_H; 0000b6 f44f7180 MOV r1,#0x100 0000ba 4839 LDR r0,|L6.416| 0000bc f7fffffe BL GPIO_SetBits ;;;453 IIC1_SCL_H; 0000c0 f44f7180 MOV r1,#0x100 0000c4 4836 LDR r0,|L6.416| 0000c6 f7fffffe BL GPIO_SetBits ;;;454 IIC1_SCL_H; 0000ca f44f7180 MOV r1,#0x100 0000ce 4834 LDR r0,|L6.416| 0000d0 f7fffffe BL GPIO_SetBits ;;;455 IIC1_SDA_L; 0000d4 f44f7100 MOV r1,#0x200 0000d8 4831 LDR r0,|L6.416| 0000da f7fffffe BL GPIO_ResetBits ;;;456 IIC1_SDA_L; 0000de f44f7100 MOV r1,#0x200 0000e2 482f LDR r0,|L6.416| 0000e4 f7fffffe BL GPIO_ResetBits ;;;457 IIC1_SDA_L; 0000e8 f44f7100 MOV r1,#0x200 0000ec 482c LDR r0,|L6.416| 0000ee f7fffffe BL GPIO_ResetBits ;;;458 IIC1_SDA_L; 0000f2 f44f7100 MOV r1,#0x200 0000f6 482a LDR r0,|L6.416| 0000f8 f7fffffe BL GPIO_ResetBits ;;;459 IIC1_SDA_L; 0000fc f44f7100 MOV r1,#0x200 000100 4827 LDR r0,|L6.416| 000102 f7fffffe BL GPIO_ResetBits ;;;460 IIC1_SDA_L; 000106 f44f7100 MOV r1,#0x200 00010a 4825 LDR r0,|L6.416| 00010c f7fffffe BL GPIO_ResetBits ;;;461 IIC1_SDA_L; 000110 f44f7100 MOV r1,#0x200 000114 4822 LDR r0,|L6.416| 000116 f7fffffe BL GPIO_ResetBits ;;;462 IIC1_SDA_L; 00011a f44f7100 MOV r1,#0x200 00011e 4820 LDR r0,|L6.416| 000120 f7fffffe BL GPIO_ResetBits ;;;463 IIC1_SDA_L; 000124 f44f7100 MOV r1,#0x200 000128 481d LDR r0,|L6.416| 00012a f7fffffe BL GPIO_ResetBits ;;;464 IIC1_SDA_L; 00012e f44f7100 MOV r1,#0x200 000132 481b LDR r0,|L6.416| 000134 f7fffffe BL GPIO_ResetBits ;;;465 IIC1_SCL_L; 000138 f44f7180 MOV r1,#0x100 00013c 4818 LDR r0,|L6.416| 00013e f7fffffe BL GPIO_ResetBits ;;;466 IIC1_SCL_L; 000142 f44f7180 MOV r1,#0x100 000146 4816 LDR r0,|L6.416| 000148 f7fffffe BL GPIO_ResetBits ;;;467 IIC1_SCL_L; 00014c f44f7180 MOV r1,#0x100 000150 4813 LDR r0,|L6.416| 000152 f7fffffe BL GPIO_ResetBits ;;;468 IIC1_SCL_L; 000156 f44f7180 MOV r1,#0x100 00015a 4811 LDR r0,|L6.416| 00015c f7fffffe BL GPIO_ResetBits ;;;469 IIC1_SCL_L; 000160 f44f7180 MOV r1,#0x100 000164 480e LDR r0,|L6.416| 000166 f7fffffe BL GPIO_ResetBits ;;;470 IIC1_SCL_L; 00016a f44f7180 MOV r1,#0x100 00016e 480c LDR r0,|L6.416| 000170 f7fffffe BL GPIO_ResetBits ;;;471 IIC1_SCL_L; 000174 f44f7180 MOV r1,#0x100 000178 4809 LDR r0,|L6.416| 00017a f7fffffe BL GPIO_ResetBits ;;;472 IIC1_SCL_L; 00017e f44f7180 MOV r1,#0x100 000182 4807 LDR r0,|L6.416| 000184 f7fffffe BL GPIO_ResetBits ;;;473 IIC1_SCL_L; 000188 f44f7180 MOV r1,#0x100 00018c 4804 LDR r0,|L6.416| 00018e f7fffffe BL GPIO_ResetBits ;;;474 IIC1_SCL_L; 000192 f44f7180 MOV r1,#0x100 000196 4802 LDR r0,|L6.416| 000198 f7fffffe BL GPIO_ResetBits ;;;475 } 00019c bd10 POP {r4,pc} ;;;476 ENDP 00019e 0000 DCW 0x0000 |L6.416| DCD 0x40010c00 AREA ||i.iic1_stop||, CODE, READONLY, ALIGN=2 iic1_stop PROC ;;;476 ;;;477 void iic1_stop (void) 000000 b510 PUSH {r4,lr} ;;;478 { ;;;479 IIC1_SCL_L; 000002 f44f7180 MOV r1,#0x100 000006 4852 LDR r0,|L7.336| 000008 f7fffffe BL GPIO_ResetBits ;;;480 IIC1_SDA_L; 00000c f44f7100 MOV r1,#0x200 000010 484f LDR r0,|L7.336| 000012 f7fffffe BL GPIO_ResetBits ;;;481 IIC1_SCL_H; 000016 f44f7180 MOV r1,#0x100 00001a 484d LDR r0,|L7.336| 00001c f7fffffe BL GPIO_SetBits ;;;482 IIC1_SCL_H; 000020 f44f7180 MOV r1,#0x100 000024 484a LDR r0,|L7.336| 000026 f7fffffe BL GPIO_SetBits ;;;483 IIC1_SCL_H; 00002a f44f7180 MOV r1,#0x100 00002e 4848 LDR r0,|L7.336| 000030 f7fffffe BL GPIO_SetBits ;;;484 IIC1_SCL_H; 000034 f44f7180 MOV r1,#0x100 000038 4845 LDR r0,|L7.336| 00003a f7fffffe BL GPIO_SetBits ;;;485 IIC1_SCL_H; 00003e f44f7180 MOV r1,#0x100 000042 4843 LDR r0,|L7.336| 000044 f7fffffe BL GPIO_SetBits ;;;486 IIC1_SCL_H; 000048 f44f7180 MOV r1,#0x100 00004c 4840 LDR r0,|L7.336| 00004e f7fffffe BL GPIO_SetBits ;;;487 IIC1_SCL_H; 000052 f44f7180 MOV r1,#0x100 000056 483e LDR r0,|L7.336| 000058 f7fffffe BL GPIO_SetBits ;;;488 IIC1_SCL_H; 00005c f44f7180 MOV r1,#0x100 000060 483b LDR r0,|L7.336| 000062 f7fffffe BL GPIO_SetBits ;;;489 IIC1_SCL_H; 000066 f44f7180 MOV r1,#0x100 00006a 4839 LDR r0,|L7.336| 00006c f7fffffe BL GPIO_SetBits ;;;490 IIC1_SCL_H; 000070 f44f7180 MOV r1,#0x100 000074 4836 LDR r0,|L7.336| 000076 f7fffffe BL GPIO_SetBits ;;;491 IIC1_SDA_H; 00007a f44f7100 MOV r1,#0x200 00007e 4834 LDR r0,|L7.336| 000080 f7fffffe BL GPIO_SetBits ;;;492 IIC1_SDA_H; 000084 f44f7100 MOV r1,#0x200 000088 4831 LDR r0,|L7.336| 00008a f7fffffe BL GPIO_SetBits ;;;493 IIC1_SDA_H; 00008e f44f7100 MOV r1,#0x200 000092 482f LDR r0,|L7.336| 000094 f7fffffe BL GPIO_SetBits ;;;494 IIC1_SDA_H; 000098 f44f7100 MOV r1,#0x200 00009c 482c LDR r0,|L7.336| 00009e f7fffffe BL GPIO_SetBits ;;;495 IIC1_SDA_H; 0000a2 f44f7100 MOV r1,#0x200 0000a6 482a LDR r0,|L7.336| 0000a8 f7fffffe BL GPIO_SetBits ;;;496 IIC1_SDA_H; 0000ac f44f7100 MOV r1,#0x200 0000b0 4827 LDR r0,|L7.336| 0000b2 f7fffffe BL GPIO_SetBits ;;;497 IIC1_SDA_H; 0000b6 f44f7100 MOV r1,#0x200 0000ba 4825 LDR r0,|L7.336| 0000bc f7fffffe BL GPIO_SetBits ;;;498 IIC1_SDA_H; 0000c0 f44f7100 MOV r1,#0x200 0000c4 4822 LDR r0,|L7.336| 0000c6 f7fffffe BL GPIO_SetBits ;;;499 IIC1_SDA_H; 0000ca f44f7100 MOV r1,#0x200 0000ce 4820 LDR r0,|L7.336| 0000d0 f7fffffe BL GPIO_SetBits ;;;500 IIC1_SDA_H; 0000d4 f44f7100 MOV r1,#0x200 0000d8 481d LDR r0,|L7.336| 0000da f7fffffe BL GPIO_SetBits ;;;501 IIC1_SDA_H; 0000de f44f7100 MOV r1,#0x200 0000e2 481b LDR r0,|L7.336| 0000e4 f7fffffe BL GPIO_SetBits ;;;502 IIC1_SDA_H; 0000e8 f44f7100 MOV r1,#0x200 0000ec 4818 LDR r0,|L7.336| 0000ee f7fffffe BL GPIO_SetBits ;;;503 IIC1_SDA_H; 0000f2 f44f7100 MOV r1,#0x200 0000f6 4816 LDR r0,|L7.336| 0000f8 f7fffffe BL GPIO_SetBits ;;;504 IIC1_SDA_H; 0000fc f44f7100 MOV r1,#0x200 000100 4813 LDR r0,|L7.336| 000102 f7fffffe BL GPIO_SetBits ;;;505 IIC1_SDA_H; 000106 f44f7100 MOV r1,#0x200 00010a 4811 LDR r0,|L7.336| 00010c f7fffffe BL GPIO_SetBits ;;;506 IIC1_SDA_H; 000110 f44f7100 MOV r1,#0x200 000114 480e LDR r0,|L7.336| 000116 f7fffffe BL GPIO_SetBits ;;;507 IIC1_SDA_H; 00011a f44f7100 MOV r1,#0x200 00011e 480c LDR r0,|L7.336| 000120 f7fffffe BL GPIO_SetBits ;;;508 IIC1_SDA_H; 000124 f44f7100 MOV r1,#0x200 000128 4809 LDR r0,|L7.336| 00012a f7fffffe BL GPIO_SetBits ;;;509 IIC1_SDA_H; 00012e f44f7100 MOV r1,#0x200 000132 4807 LDR r0,|L7.336| 000134 f7fffffe BL GPIO_SetBits ;;;510 IIC1_SDA_H; 000138 f44f7100 MOV r1,#0x200 00013c 4804 LDR r0,|L7.336| 00013e f7fffffe BL GPIO_SetBits ;;;511 IIC1_SCL_L; 000142 f44f7180 MOV r1,#0x100 000146 4802 LDR r0,|L7.336| 000148 f7fffffe BL GPIO_ResetBits ;;;512 } 00014c bd10 POP {r4,pc} ;;;513 ENDP 00014e 0000 DCW 0x0000 |L7.336| DCD 0x40010c00 AREA ||i.iic1_write_byte||, CODE, READONLY, ALIGN=2 iic1_write_byte PROC ;;;513 ;;;514 u8 iic1_write_byte (u8 data) //返回应答信号ACK 000000 b570 PUSH {r4-r6,lr} ;;;515 { 000002 4605 MOV r5,r0 ;;;516 u8 temp, n; ;;;517 ;;;518 temp = data; 000004 462e MOV r6,r5 ;;;519 ;;;520 for (n = 0; n < 8; n++) 000006 2400 MOVS r4,#0 000008 e0a7 B |L8.346| |L8.10| ;;;521 { ;;;522 IIC1_SCL_L; 00000a f44f7180 MOV r1,#0x100 00000e 489d LDR r0,|L8.644| 000010 f7fffffe BL GPIO_ResetBits ;;;523 IIC1_SCL_L; 000014 f44f7180 MOV r1,#0x100 000018 489a LDR r0,|L8.644| 00001a f7fffffe BL GPIO_ResetBits ;;;524 IIC1_SCL_L; 00001e f44f7180 MOV r1,#0x100 000022 4898 LDR r0,|L8.644| 000024 f7fffffe BL GPIO_ResetBits ;;;525 IIC1_SCL_L; 000028 f44f7180 MOV r1,#0x100 00002c 4895 LDR r0,|L8.644| 00002e f7fffffe BL GPIO_ResetBits ;;;526 IIC1_SCL_L; 000032 f44f7180 MOV r1,#0x100 000036 4893 LDR r0,|L8.644| 000038 f7fffffe BL GPIO_ResetBits ;;;527 IIC1_SCL_L; 00003c f44f7180 MOV r1,#0x100 000040 4890 LDR r0,|L8.644| 000042 f7fffffe BL GPIO_ResetBits ;;;528 IIC1_SCL_L; 000046 f44f7180 MOV r1,#0x100 00004a 488e LDR r0,|L8.644| 00004c f7fffffe BL GPIO_ResetBits ;;;529 IIC1_SCL_L; 000050 f44f7180 MOV r1,#0x100 000054 488b LDR r0,|L8.644| 000056 f7fffffe BL GPIO_ResetBits ;;;530 IIC1_SCL_L; 00005a f44f7180 MOV r1,#0x100 00005e 4889 LDR r0,|L8.644| 000060 f7fffffe BL GPIO_ResetBits ;;;531 IIC1_SCL_L; 000064 f44f7180 MOV r1,#0x100 000068 4886 LDR r0,|L8.644| 00006a f7fffffe BL GPIO_ResetBits ;;;532 ;;;533 if (temp & 0x80) 00006e f0060080 AND r0,r6,#0x80 000072 b128 CBZ r0,|L8.128| ;;;534 IIC1_SDA_H; 000074 f44f7100 MOV r1,#0x200 000078 4882 LDR r0,|L8.644| 00007a f7fffffe BL GPIO_SetBits 00007e e004 B |L8.138| |L8.128| ;;;535 else ;;;536 IIC1_SDA_L; 000080 f44f7100 MOV r1,#0x200 000084 487f LDR r0,|L8.644| 000086 f7fffffe BL GPIO_ResetBits |L8.138| ;;;537 ;;;538 IIC1_SCL_L; 00008a f44f7180 MOV r1,#0x100 00008e 487d LDR r0,|L8.644| 000090 f7fffffe BL GPIO_ResetBits ;;;539 IIC1_SCL_L; 000094 f44f7180 MOV r1,#0x100 000098 487a LDR r0,|L8.644| 00009a f7fffffe BL GPIO_ResetBits ;;;540 IIC1_SCL_L; 00009e f44f7180 MOV r1,#0x100 0000a2 4878 LDR r0,|L8.644| 0000a4 f7fffffe BL GPIO_ResetBits ;;;541 IIC1_SCL_L; 0000a8 f44f7180 MOV r1,#0x100 0000ac 4875 LDR r0,|L8.644| 0000ae f7fffffe BL GPIO_ResetBits ;;;542 IIC1_SCL_L; 0000b2 f44f7180 MOV r1,#0x100 0000b6 4873 LDR r0,|L8.644| 0000b8 f7fffffe BL GPIO_ResetBits ;;;543 IIC1_SCL_L; 0000bc f44f7180 MOV r1,#0x100 0000c0 4870 LDR r0,|L8.644| 0000c2 f7fffffe BL GPIO_ResetBits ;;;544 IIC1_SCL_L; 0000c6 f44f7180 MOV r1,#0x100 0000ca 486e LDR r0,|L8.644| 0000cc f7fffffe BL GPIO_ResetBits ;;;545 IIC1_SCL_L; 0000d0 f44f7180 MOV r1,#0x100 0000d4 486b LDR r0,|L8.644| 0000d6 f7fffffe BL GPIO_ResetBits ;;;546 IIC1_SCL_L; 0000da f44f7180 MOV r1,#0x100 0000de 4869 LDR r0,|L8.644| 0000e0 f7fffffe BL GPIO_ResetBits ;;;547 IIC1_SCL_L; 0000e4 f44f7180 MOV r1,#0x100 0000e8 4866 LDR r0,|L8.644| 0000ea f7fffffe BL GPIO_ResetBits ;;;548 IIC1_SCL_H; 0000ee f44f7180 MOV r1,#0x100 0000f2 4864 LDR r0,|L8.644| 0000f4 f7fffffe BL GPIO_SetBits ;;;549 IIC1_SCL_H; 0000f8 f44f7180 MOV r1,#0x100 0000fc 4861 LDR r0,|L8.644| 0000fe f7fffffe BL GPIO_SetBits ;;;550 IIC1_SCL_H; 000102 f44f7180 MOV r1,#0x100 000106 485f LDR r0,|L8.644| 000108 f7fffffe BL GPIO_SetBits ;;;551 IIC1_SCL_H; 00010c f44f7180 MOV r1,#0x100 000110 485c LDR r0,|L8.644| 000112 f7fffffe BL GPIO_SetBits ;;;552 IIC1_SCL_H; 000116 f44f7180 MOV r1,#0x100 00011a 485a LDR r0,|L8.644| 00011c f7fffffe BL GPIO_SetBits ;;;553 IIC1_SCL_H; 000120 f44f7180 MOV r1,#0x100 000124 4857 LDR r0,|L8.644| 000126 f7fffffe BL GPIO_SetBits ;;;554 IIC1_SCL_H; 00012a f44f7180 MOV r1,#0x100 00012e 4855 LDR r0,|L8.644| 000130 f7fffffe BL GPIO_SetBits ;;;555 IIC1_SCL_H; 000134 f44f7180 MOV r1,#0x100 000138 4852 LDR r0,|L8.644| 00013a f7fffffe BL GPIO_SetBits ;;;556 IIC1_SCL_H; 00013e f44f7180 MOV r1,#0x100 000142 4850 LDR r0,|L8.644| 000144 f7fffffe BL GPIO_SetBits ;;;557 IIC1_SCL_H; 000148 f44f7180 MOV r1,#0x100 00014c 484d LDR r0,|L8.644| 00014e f7fffffe BL GPIO_SetBits ;;;558 ;;;559 temp <<= 1; 000152 0670 LSLS r0,r6,#25 000154 0e06 LSRS r6,r0,#24 000156 1c60 ADDS r0,r4,#1 ;520 000158 b2c4 UXTB r4,r0 ;520 |L8.346| 00015a 2c08 CMP r4,#8 ;520 00015c f6ffaf55 BLT |L8.10| ;;;560 } ;;;561 ;;;562 IIC1_SCL_L; 000160 f44f7180 MOV r1,#0x100 000164 4847 LDR r0,|L8.644| 000166 f7fffffe BL GPIO_ResetBits ;;;563 IIC1_SDA_H; 00016a f44f7100 MOV r1,#0x200 00016e 4845 LDR r0,|L8.644| 000170 f7fffffe BL GPIO_SetBits ;;;564 IIC1_SCL_L; 000174 f44f7180 MOV r1,#0x100 000178 4842 LDR r0,|L8.644| 00017a f7fffffe BL GPIO_ResetBits ;;;565 IIC1_SCL_L; 00017e f44f7180 MOV r1,#0x100 000182 4840 LDR r0,|L8.644| 000184 f7fffffe BL GPIO_ResetBits ;;;566 IIC1_SCL_L; 000188 f44f7180 MOV r1,#0x100 00018c 483d LDR r0,|L8.644| 00018e f7fffffe BL GPIO_ResetBits ;;;567 IIC1_SCL_L; 000192 f44f7180 MOV r1,#0x100 000196 483b LDR r0,|L8.644| 000198 f7fffffe BL GPIO_ResetBits ;;;568 IIC1_SCL_L; 00019c f44f7180 MOV r1,#0x100 0001a0 4838 LDR r0,|L8.644| 0001a2 f7fffffe BL GPIO_ResetBits ;;;569 IIC1_SCL_L; 0001a6 f44f7180 MOV r1,#0x100 0001aa 4836 LDR r0,|L8.644| 0001ac f7fffffe BL GPIO_ResetBits ;;;570 IIC1_SCL_L; 0001b0 f44f7180 MOV r1,#0x100 0001b4 4833 LDR r0,|L8.644| 0001b6 f7fffffe BL GPIO_ResetBits ;;;571 IIC1_SCL_L; 0001ba f44f7180 MOV r1,#0x100 0001be 4831 LDR r0,|L8.644| 0001c0 f7fffffe BL GPIO_ResetBits ;;;572 IIC1_SCL_L; 0001c4 f44f7180 MOV r1,#0x100 0001c8 482e LDR r0,|L8.644| 0001ca f7fffffe BL GPIO_ResetBits ;;;573 IIC1_SCL_L; 0001ce f44f7180 MOV r1,#0x100 0001d2 482c LDR r0,|L8.644| 0001d4 f7fffffe BL GPIO_ResetBits ;;;574 IIC1_SCL_H; 0001d8 f44f7180 MOV r1,#0x100 0001dc 4829 LDR r0,|L8.644| 0001de f7fffffe BL GPIO_SetBits ;;;575 IIC1_SCL_H; 0001e2 f44f7180 MOV r1,#0x100 0001e6 4827 LDR r0,|L8.644| 0001e8 f7fffffe BL GPIO_SetBits ;;;576 IIC1_SCL_H; 0001ec f44f7180 MOV r1,#0x100 0001f0 4824 LDR r0,|L8.644| 0001f2 f7fffffe BL GPIO_SetBits ;;;577 IIC1_SCL_H; 0001f6 f44f7180 MOV r1,#0x100 0001fa 4822 LDR r0,|L8.644| 0001fc f7fffffe BL GPIO_SetBits ;;;578 IIC1_SCL_H; 000200 f44f7180 MOV r1,#0x100 000204 481f LDR r0,|L8.644| 000206 f7fffffe BL GPIO_SetBits ;;;579 IIC1_SCL_H; 00020a f44f7180 MOV r1,#0x100 00020e 481d LDR r0,|L8.644| 000210 f7fffffe BL GPIO_SetBits ;;;580 IIC1_SCL_H; 000214 f44f7180 MOV r1,#0x100 000218 481a LDR r0,|L8.644| 00021a f7fffffe BL GPIO_SetBits ;;;581 IIC1_SCL_H; 00021e f44f7180 MOV r1,#0x100 000222 4818 LDR r0,|L8.644| 000224 f7fffffe BL GPIO_SetBits ;;;582 IIC1_SCL_H; 000228 f44f7180 MOV r1,#0x100 00022c 4815 LDR r0,|L8.644| 00022e f7fffffe BL GPIO_SetBits ;;;583 IIC1_SCL_H; 000232 f44f7180 MOV r1,#0x100 000236 4813 LDR r0,|L8.644| 000238 f7fffffe BL GPIO_SetBits ;;;584 if (IIC1_SDA_READ()) 00023c f44f7100 MOV r1,#0x200 000240 4810 LDR r0,|L8.644| 000242 f7fffffe BL GPIO_ReadInputDataBit 000246 b108 CBZ r0,|L8.588| ;;;585 n = 0xff; 000248 24ff MOVS r4,#0xff 00024a e000 B |L8.590| |L8.588| ;;;586 else ;;;587 n = 0; 00024c 2400 MOVS r4,#0 |L8.590| ;;;588 IIC1_SCL_L; 00024e f44f7180 MOV r1,#0x100 000252 480c LDR r0,|L8.644| 000254 f7fffffe BL GPIO_ResetBits ;;;589 IIC1_SCL_L; 000258 f44f7180 MOV r1,#0x100 00025c 4809 LDR r0,|L8.644| 00025e f7fffffe BL GPIO_ResetBits ;;;590 IIC1_SCL_L; 000262 f44f7180 MOV r1,#0x100 000266 4807 LDR r0,|L8.644| 000268 f7fffffe BL GPIO_ResetBits ;;;591 IIC1_SCL_L; 00026c f44f7180 MOV r1,#0x100 000270 4804 LDR r0,|L8.644| 000272 f7fffffe BL GPIO_ResetBits ;;;592 IIC1_SCL_L; 000276 f44f7180 MOV r1,#0x100 00027a 4802 LDR r0,|L8.644| 00027c f7fffffe BL GPIO_ResetBits ;;;593 ;;;594 return n; 000280 4620 MOV r0,r4 ;;;595 } 000282 bd70 POP {r4-r6,pc} ;;;596 ENDP |L8.644| DCD 0x40010c00 AREA ||i.menu_display_calibration||, CODE, READONLY, ALIGN=2 menu_display_calibration PROC ;;;331 //校准界面 ;;;332 void menu_display_calibration (void) 000000 b510 PUSH {r4,lr} ;;;333 { ;;;334 lcd_display_string(0, 0, "罗加状态: "); 000002 a20a ADR r2,|L9.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;335 lcd_display_string(1, 0, "当前温度:---- "); 00000c a20e ADR r2,|L9.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;336 lcd_display_string(2, 0, "进程时间:00-00-00 "); 000016 a213 ADR r2,|L9.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;337 lcd_display_string(3, 0, "提示:罗加实验请关烟囱 "); 000020 a217 ADR r2,|L9.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;338 } 00002a bd10 POP {r4,pc} ;;;339 ENDP |L9.44| 00002c c2debcd3 DCB 194,222,188,211,215,180,204,172,163,186," ",0 000030 d7b4ccac 000034 a3ba2020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L9.72| 000048 b5b1c7b0 DCB 181,177,199,176,206,194,182,200,163,186,"---- ",0 00004c cec2b6c8 000050 a3ba2d2d 000054 2d2d2020 000058 20202020 00005c 20202020 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L9.100| 000064 bdf8b3cc DCB 189,248,179,204,202,177,188,228,163,186,"00-00-00 ",0 000068 cab1bce4 00006c a3ba3030 000070 2d30302d 000074 30302020 000078 20202020 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L9.128| 000080 cce1cabe DCB 204,225,202,190,163,186,194,222,188,211,202,181,209,233,199 000084 a3bac2de 000088 bcd3cab5 00008c d1e9c7 00008f ebb9d8d1 DCB 235,185,216,209,204,180,209," ",0 000093 ccb4d120 000097 2000 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_clean||, CODE, READONLY, ALIGN=2 menu_display_clean PROC ;;;31 //清屏 ;;;32 void menu_display_clean (void) 000000 b510 PUSH {r4,lr} ;;;33 { ;;;34 lcd_display_string(0, 0, " "); 000002 a20a ADR r2,|L10.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;35 lcd_display_string(1, 0, " "); 00000c a207 ADR r2,|L10.44| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;36 lcd_display_string(2, 0, " "); 000016 a205 ADR r2,|L10.44| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;37 lcd_display_string(3, 0, " "); 000020 a202 ADR r2,|L10.44| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;38 } 00002a bd10 POP {r4,pc} ;;;39 ENDP |L10.44| 00002c 20202020 DCB " ",0 000030 20202020 000034 20202020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 AREA ||i.menu_display_debug||, CODE, READONLY, ALIGN=2 menu_display_debug PROC ;;;55 //显示DEBUG ;;;56 void menu_display_debug (void) 000000 b510 PUSH {r4,lr} ;;;57 { ;;;58 lcd_display_string(0, 0, " 调试模式 "); 000002 a20a ADR r2,|L11.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;59 lcd_display_string(1, 0, "冷端补偿: ℃ --.-℃"); 00000c a20e ADR r2,|L11.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;60 lcd_display_string(2, 0, "ADC 校正: ------"); 000016 a213 ADR r2,|L11.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;61 lcd_display_string(3, 0, "超温调节: mV ----mV"); 000020 a217 ADR r2,|L11.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;62 } 00002a bd10 POP {r4,pc} ;;;63 ENDP |L11.44| 00002c 20202020 DCB " ",181,247,202,212,196,163,202,189," ",0 000030 20202020 000034 b5f7cad4 000038 c4a3cabd 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L11.72| 000048 c0e4b6cb DCB 192,228,182,203,178,185,179,165,163,186," ",161,230," " 00004c b2b9b3a5 000050 a3ba2020 000054 2020a1e6 000058 20 000059 202d2d2e DCB " --.-",161,230,0 00005d 2da1e600 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L11.100| 000064 41444320 DCB "ADC ",208,163,213,253,163,186," ------",0 000068 d0a3d5fd 00006c a3ba2020 000070 20202020 000074 20202d2d 000078 2d2d2d2d 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L11.128| 000080 b3accec2 DCB 179,172,206,194,181,247,189,218,163,186," mV ----mV",0 000084 b5f7bdda 000088 a3ba2020 00008c 20206d56 000090 20202d2d 000094 2d2d6d56 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_function||, CODE, READONLY, ALIGN=2 menu_display_function PROC ;;;74 //功能菜单界面 ;;;75 void menu_display_function (void) 000000 b510 PUSH {r4,lr} ;;;76 { ;;;77 /*lcd_display_string(0,0," 一功能 "); ;;;78 lcd_display_string(1,0,"①慢灰 ④罗加 ⑦自选B "); ;;;79 lcd_display_string(2,0,"②快灰 ⑤手动 ⑧碳素 "); ;;;80 lcd_display_string(3,0,"③挥发 ⑥自选A ⑨定温 ");*/ ;;;81 ;;;82 lcd_display_string(0, 0, " 一功能 "); 000002 a20a ADR r2,|L12.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;83 lcd_display_string(1, 0, "①慢灰 ④自选A ⑦快灰B "); 00000c a20e ADR r2,|L12.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;84 lcd_display_string(2, 0, "②快灰 ⑤自选B ⑧预约 "); 000016 a213 ADR r2,|L12.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;85 lcd_display_string(3, 0, "③挥发 ⑥罗加 "); 000020 a217 ADR r2,|L12.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;86 } 00002a bd10 POP {r4,pc} ;;;87 ENDP |L12.44| 00002c 20202020 DCB " ",210,187,185,166,196,220," ",0 000030 20202020 000034 d2bbb9a6 000038 c4dc2020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L12.72| 000048 a2d9c2fd DCB 162,217,194,253,187,210," ",162,220,215,212,209,161,"A " 00004c bbd22020 000050 a2dcd7d4 000054 d1a14120 000058 a2dfbfec DCB 162,223,191,236,187,210,"B ",0 00005c bbd24220 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L12.100| 000064 a2dabfec DCB 162,218,191,236,187,210," ",162,221,215,212,209,161,"B " 000068 bbd22020 00006c a2ddd7d4 000070 d1a14220 000074 a2e0d4a4 DCB 162,224,212,164,212,188," ",0 000078 d4bc2020 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L12.128| 000080 a2dbbbd3 DCB 162,219,187,211,183,162," ",162,222,194,222,188,211," " 000084 b7a22020 000088 a2dec2de 00008c bcd32020 000090 20202020 DCB " ",0 000094 20202020 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_huifa||, CODE, READONLY, ALIGN=2 menu_display_huifa PROC ;;;301 //挥发界面 ;;;302 void menu_display_huifa (void) 000000 b510 PUSH {r4,lr} ;;;303 { ;;;304 lcd_display_string(0, 0, "挥发状态: "); 000002 a20a ADR r2,|L13.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;305 lcd_display_string(1, 0, "当前温度:---- "); 00000c a20e ADR r2,|L13.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;306 lcd_display_string(2, 0, "进程时间:00-00-00 "); 000016 a213 ADR r2,|L13.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;307 lcd_display_string(3, 0, "提示:挥发实验请关烟囱 "); 000020 a217 ADR r2,|L13.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;308 } 00002a bd10 POP {r4,pc} ;;;309 ENDP |L13.44| 00002c bbd3b7a2 DCB 187,211,183,162,215,180,204,172,163,186," ",0 000030 d7b4ccac 000034 a3ba2020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L13.72| 000048 b5b1c7b0 DCB 181,177,199,176,206,194,182,200,163,186,"---- ",0 00004c cec2b6c8 000050 a3ba2d2d 000054 2d2d2020 000058 20202020 00005c 20202020 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L13.100| 000064 bdf8b3cc DCB 189,248,179,204,202,177,188,228,163,186,"00-00-00 ",0 000068 cab1bce4 00006c a3ba3030 000070 2d30302d 000074 30302020 000078 20202020 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L13.128| 000080 cce1cabe DCB 204,225,202,190,163,186,187,211,183,162,202,181,209,233,199 000084 a3babbd3 000088 b7a2cab5 00008c d1e9c7 00008f ebb9d8d1 DCB 235,185,216,209,204,180,209," ",0 000093 ccb4d120 000097 2000 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_kuaihui||, CODE, READONLY, ALIGN=2 menu_display_kuaihui PROC ;;;281 //经典快灰界面 ;;;282 void menu_display_kuaihui (void) 000000 b510 PUSH {r4,lr} ;;;283 { ;;;284 lcd_display_string(0, 0, "经典快灰: "); 000002 a20a ADR r2,|L14.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;285 lcd_display_string(1, 0, "当前温度:---- "); 00000c a20e ADR r2,|L14.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;286 lcd_display_string(2, 0, "进程时间:00-00-00 "); 000016 a213 ADR r2,|L14.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;287 lcd_display_string(3, 0, "提示: "); 000020 a217 ADR r2,|L14.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;288 } 00002a bd10 POP {r4,pc} ;;;289 ENDP |L14.44| 00002c beadb5e4 DCB 190,173,181,228,191,236,187,210,163,186," ",0 000030 bfecbbd2 000034 a3ba2020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L14.72| 000048 b5b1c7b0 DCB 181,177,199,176,206,194,182,200,163,186,"---- ",0 00004c cec2b6c8 000050 a3ba2d2d 000054 2d2d2020 000058 20202020 00005c 20202020 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L14.100| 000064 bdf8b3cc DCB 189,248,179,204,202,177,188,228,163,186,"00-00-00 ",0 000068 cab1bce4 00006c a3ba3030 000070 2d30302d 000074 30302020 000078 20202020 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L14.128| 000080 cce1cabe DCB 204,225,202,190,163,186," ",0 000084 a3ba2020 000088 20202020 00008c 20202020 000090 20202020 000094 20202020 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_kuaihuib||, CODE, READONLY, ALIGN=2 menu_display_kuaihuib PROC ;;;291 //快速快灰界面 ;;;292 void menu_display_kuaihuib (void) 000000 b510 PUSH {r4,lr} ;;;293 { ;;;294 lcd_display_string(0, 0, "快速快灰: "); 000002 a20a ADR r2,|L15.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;295 lcd_display_string(1, 0, "当前温度:---- "); 00000c a20e ADR r2,|L15.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;296 lcd_display_string(2, 0, "进程时间:00-00-00 "); 000016 a213 ADR r2,|L15.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;297 lcd_display_string(3, 0, "提示: "); 000020 a217 ADR r2,|L15.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;298 } 00002a bd10 POP {r4,pc} ;;;299 ENDP |L15.44| 00002c bfeccbd9 DCB 191,236,203,217,191,236,187,210,163,186," ",0 000030 bfecbbd2 000034 a3ba2020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L15.72| 000048 b5b1c7b0 DCB 181,177,199,176,206,194,182,200,163,186,"---- ",0 00004c cec2b6c8 000050 a3ba2d2d 000054 2d2d2020 000058 20202020 00005c 20202020 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L15.100| 000064 bdf8b3cc DCB 189,248,179,204,202,177,188,228,163,186,"00-00-00 ",0 000068 cab1bce4 00006c a3ba3030 000070 2d30302d 000074 30302020 000078 20202020 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L15.128| 000080 cce1cabe DCB 204,225,202,190,163,186," ",0 000084 a3ba2020 000088 20202020 00008c 20202020 000090 20202020 000094 20202020 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_manhui||, CODE, READONLY, ALIGN=2 menu_display_manhui PROC ;;;271 //慢灰界面 ;;;272 void menu_display_manhui (void) 000000 b510 PUSH {r4,lr} ;;;273 { ;;;274 lcd_display_string(0, 0, "慢灰状态: "); 000002 a20a ADR r2,|L16.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;275 lcd_display_string(1, 0, "当前温度:---- "); 00000c a20e ADR r2,|L16.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;276 lcd_display_string(2, 0, "进程时间:00-00-00 "); 000016 a213 ADR r2,|L16.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;277 lcd_display_string(3, 0, "提示: "); 000020 a217 ADR r2,|L16.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;278 } 00002a bd10 POP {r4,pc} ;;;279 ENDP |L16.44| 00002c c2fdbbd2 DCB 194,253,187,210,215,180,204,172,163,186," ",0 000030 d7b4ccac 000034 a3ba2020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L16.72| 000048 b5b1c7b0 DCB 181,177,199,176,206,194,182,200,163,186,"---- ",0 00004c cec2b6c8 000050 a3ba2d2d 000054 2d2d2020 000058 20202020 00005c 20202020 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L16.100| 000064 bdf8b3cc DCB 189,248,179,204,202,177,188,228,163,186,"00-00-00 ",0 000068 cab1bce4 00006c a3ba3030 000070 2d30302d 000074 30302020 000078 20202020 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L16.128| 000080 cce1cabe DCB 204,225,202,190,163,186," ",0 000084 a3ba2020 000088 20202020 00008c 20202020 000090 20202020 000094 20202020 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_message||, CODE, READONLY, ALIGN=2 menu_display_message PROC ;;;97 //信息菜单界面 ;;;98 void menu_display_message (void) 000000 b510 PUSH {r4,lr} ;;;99 { ;;;100 lcd_display_string(0, 0, " 三信息 "); 000002 a29c ADR r2,|L17.628| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;101 lcd_display_string(1, 0, "系统版本:HW6.0&SW7.0PM "); 00000c a2a0 ADR r2,|L17.656| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;102 lcd_display_string(2, 0, "固件版本: "); 000016 a2a5 ADR r2,|L17.684| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;103 ;;;104 if (MFL_PARA_A.Redianou_Type == 0) 000020 48a9 LDR r0,|L17.712| 000022 f8d00bd4 LDR r0,[r0,#0xbd4] ; MFL_PARA_A 000026 b928 CBNZ r0,|L17.52| ;;;105 lcd_display_string(3, 0, "热偶类型: K分度 "); 000028 a2a8 ADR r2,|L17.716| 00002a 2100 MOVS r1,#0 00002c 2003 MOVS r0,#3 00002e f7fffffe BL lcd_display_string 000032 e00f B |L17.84| |L17.52| ;;;106 else if (MFL_PARA_A.Redianou_Type == 1) 000034 48a4 LDR r0,|L17.712| 000036 f8d00bd4 LDR r0,[r0,#0xbd4] ; MFL_PARA_A 00003a 2801 CMP r0,#1 00003c d105 BNE |L17.74| ;;;107 lcd_display_string(3, 0, "热偶类型: S分度 "); 00003e a2aa ADR r2,|L17.744| 000040 2100 MOVS r1,#0 000042 2003 MOVS r0,#3 000044 f7fffffe BL lcd_display_string 000048 e004 B |L17.84| |L17.74| ;;;108 else ;;;109 lcd_display_string(3, 0, " "); 00004a a2ae ADR r2,|L17.772| 00004c 2100 MOVS r1,#0 00004e 2003 MOVS r0,#3 000050 f7fffffe BL lcd_display_string |L17.84| ;;;110 ;;;111 ;;;112 lcd_post (2, 5); 000054 2105 MOVS r1,#5 000056 2002 MOVS r0,#2 000058 f7fffffe BL lcd_post ;;;113 lcd_display (DataStr[7]); 00005c 49b0 LDR r1,|L17.800| 00005e 79c8 LDRB r0,[r1,#7] ; DataStr 000060 f7fffffe BL lcd_display ;;;114 lcd_display (DataStr[8]); 000064 49ae LDR r1,|L17.800| 000066 7a08 LDRB r0,[r1,#8] ; DataStr 000068 f7fffffe BL lcd_display ;;;115 lcd_display (DataStr[9]); 00006c 49ac LDR r1,|L17.800| 00006e 7a48 LDRB r0,[r1,#9] ; DataStr 000070 f7fffffe BL lcd_display ;;;116 lcd_display (DataStr[10]); 000074 49aa LDR r1,|L17.800| 000076 7a88 LDRB r0,[r1,#0xa] ; DataStr 000078 f7fffffe BL lcd_display ;;;117 //lcd_display (' '); ;;;118 ;;;119 if ((DataStr[0] == 'J') && (DataStr[1] == 'a') && (DataStr[2] == 'n')) 00007c 48a8 LDR r0,|L17.800| 00007e 7800 LDRB r0,[r0,#0] ; DataStr 000080 284a CMP r0,#0x4a 000082 d10e BNE |L17.162| 000084 48a6 LDR r0,|L17.800| 000086 7840 LDRB r0,[r0,#1] ; DataStr 000088 2861 CMP r0,#0x61 00008a d10a BNE |L17.162| 00008c 48a4 LDR r0,|L17.800| 00008e 7880 LDRB r0,[r0,#2] ; DataStr 000090 286e CMP r0,#0x6e 000092 d106 BNE |L17.162| ;;;120 { ;;;121 lcd_display ('0'); 000094 2030 MOVS r0,#0x30 000096 f7fffffe BL lcd_display ;;;122 lcd_display ('1'); 00009a 2031 MOVS r0,#0x31 00009c f7fffffe BL lcd_display 0000a0 e0d6 B |L17.592| |L17.162| ;;;123 } ;;;124 else if ((DataStr[0] == 'F') && (DataStr[1] == 'e') && (DataStr[2] == 'b')) 0000a2 489f LDR r0,|L17.800| 0000a4 7800 LDRB r0,[r0,#0] ; DataStr 0000a6 2846 CMP r0,#0x46 0000a8 d10e BNE |L17.200| 0000aa 489d LDR r0,|L17.800| 0000ac 7840 LDRB r0,[r0,#1] ; DataStr 0000ae 2865 CMP r0,#0x65 0000b0 d10a BNE |L17.200| 0000b2 489b LDR r0,|L17.800| 0000b4 7880 LDRB r0,[r0,#2] ; DataStr 0000b6 2862 CMP r0,#0x62 0000b8 d106 BNE |L17.200| ;;;125 { ;;;126 lcd_display ('0'); 0000ba 2030 MOVS r0,#0x30 0000bc f7fffffe BL lcd_display ;;;127 lcd_display ('2'); 0000c0 2032 MOVS r0,#0x32 0000c2 f7fffffe BL lcd_display 0000c6 e0c3 B |L17.592| |L17.200| ;;;128 } ;;;129 else if ((DataStr[0] == 'M') && (DataStr[1] == 'a') && (DataStr[2] == 'r')) 0000c8 4895 LDR r0,|L17.800| 0000ca 7800 LDRB r0,[r0,#0] ; DataStr 0000cc 284d CMP r0,#0x4d 0000ce d10e BNE |L17.238| 0000d0 4893 LDR r0,|L17.800| 0000d2 7840 LDRB r0,[r0,#1] ; DataStr 0000d4 2861 CMP r0,#0x61 0000d6 d10a BNE |L17.238| 0000d8 4891 LDR r0,|L17.800| 0000da 7880 LDRB r0,[r0,#2] ; DataStr 0000dc 2872 CMP r0,#0x72 0000de d106 BNE |L17.238| ;;;130 { ;;;131 lcd_display ('0'); 0000e0 2030 MOVS r0,#0x30 0000e2 f7fffffe BL lcd_display ;;;132 lcd_display ('3'); 0000e6 2033 MOVS r0,#0x33 0000e8 f7fffffe BL lcd_display 0000ec e0b0 B |L17.592| |L17.238| ;;;133 } ;;;134 else if ((DataStr[0] == 'A') && (DataStr[1] == 'p') && (DataStr[2] == 'r')) 0000ee 488c LDR r0,|L17.800| 0000f0 7800 LDRB r0,[r0,#0] ; DataStr 0000f2 2841 CMP r0,#0x41 0000f4 d10e BNE |L17.276| 0000f6 488a LDR r0,|L17.800| 0000f8 7840 LDRB r0,[r0,#1] ; DataStr 0000fa 2870 CMP r0,#0x70 0000fc d10a BNE |L17.276| 0000fe 4888 LDR r0,|L17.800| 000100 7880 LDRB r0,[r0,#2] ; DataStr 000102 2872 CMP r0,#0x72 000104 d106 BNE |L17.276| ;;;135 { ;;;136 lcd_display ('0'); 000106 2030 MOVS r0,#0x30 000108 f7fffffe BL lcd_display ;;;137 lcd_display ('4'); 00010c 2034 MOVS r0,#0x34 00010e f7fffffe BL lcd_display 000112 e09d B |L17.592| |L17.276| ;;;138 } ;;;139 else if ((DataStr[0] == 'M') && (DataStr[1] == 'a') && (DataStr[2] == 'y')) 000114 4882 LDR r0,|L17.800| 000116 7800 LDRB r0,[r0,#0] ; DataStr 000118 284d CMP r0,#0x4d 00011a d10e BNE |L17.314| 00011c 4880 LDR r0,|L17.800| 00011e 7840 LDRB r0,[r0,#1] ; DataStr 000120 2861 CMP r0,#0x61 000122 d10a BNE |L17.314| 000124 487e LDR r0,|L17.800| 000126 7880 LDRB r0,[r0,#2] ; DataStr 000128 2879 CMP r0,#0x79 00012a d106 BNE |L17.314| ;;;140 { ;;;141 lcd_display ('0'); 00012c 2030 MOVS r0,#0x30 00012e f7fffffe BL lcd_display ;;;142 lcd_display ('5'); 000132 2035 MOVS r0,#0x35 000134 f7fffffe BL lcd_display 000138 e08a B |L17.592| |L17.314| ;;;143 } ;;;144 else if ((DataStr[0] == 'J') && (DataStr[1] == 'u') && (DataStr[2] == 'n')) 00013a 4879 LDR r0,|L17.800| 00013c 7800 LDRB r0,[r0,#0] ; DataStr 00013e 284a CMP r0,#0x4a 000140 d10e BNE |L17.352| 000142 4877 LDR r0,|L17.800| 000144 7840 LDRB r0,[r0,#1] ; DataStr 000146 2875 CMP r0,#0x75 000148 d10a BNE |L17.352| 00014a 4875 LDR r0,|L17.800| 00014c 7880 LDRB r0,[r0,#2] ; DataStr 00014e 286e CMP r0,#0x6e 000150 d106 BNE |L17.352| ;;;145 { ;;;146 lcd_display ('0'); 000152 2030 MOVS r0,#0x30 000154 f7fffffe BL lcd_display ;;;147 lcd_display ('6'); 000158 2036 MOVS r0,#0x36 00015a f7fffffe BL lcd_display 00015e e077 B |L17.592| |L17.352| ;;;148 } ;;;149 else if ((DataStr[0] == 'J') && (DataStr[1] == 'u') && (DataStr[2] == 'l')) 000160 486f LDR r0,|L17.800| 000162 7800 LDRB r0,[r0,#0] ; DataStr 000164 284a CMP r0,#0x4a 000166 d10e BNE |L17.390| 000168 486d LDR r0,|L17.800| 00016a 7840 LDRB r0,[r0,#1] ; DataStr 00016c 2875 CMP r0,#0x75 00016e d10a BNE |L17.390| 000170 486b LDR r0,|L17.800| 000172 7880 LDRB r0,[r0,#2] ; DataStr 000174 286c CMP r0,#0x6c 000176 d106 BNE |L17.390| ;;;150 { ;;;151 lcd_display ('0'); 000178 2030 MOVS r0,#0x30 00017a f7fffffe BL lcd_display ;;;152 lcd_display ('7'); 00017e 2037 MOVS r0,#0x37 000180 f7fffffe BL lcd_display 000184 e064 B |L17.592| |L17.390| ;;;153 } ;;;154 else if ((DataStr[0] == 'A') && (DataStr[1] == 'u') && (DataStr[2] == 'g')) 000186 4866 LDR r0,|L17.800| 000188 7800 LDRB r0,[r0,#0] ; DataStr 00018a 2841 CMP r0,#0x41 00018c d10e BNE |L17.428| 00018e 4864 LDR r0,|L17.800| 000190 7840 LDRB r0,[r0,#1] ; DataStr 000192 2875 CMP r0,#0x75 000194 d10a BNE |L17.428| 000196 4862 LDR r0,|L17.800| 000198 7880 LDRB r0,[r0,#2] ; DataStr 00019a 2867 CMP r0,#0x67 00019c d106 BNE |L17.428| ;;;155 { ;;;156 lcd_display ('0'); 00019e 2030 MOVS r0,#0x30 0001a0 f7fffffe BL lcd_display ;;;157 lcd_display ('8'); 0001a4 2038 MOVS r0,#0x38 0001a6 f7fffffe BL lcd_display 0001aa e051 B |L17.592| |L17.428| ;;;158 } ;;;159 else if ((DataStr[0] == 'S') && (DataStr[1] == 'e') && (DataStr[2] == 'p')) 0001ac 485c LDR r0,|L17.800| 0001ae 7800 LDRB r0,[r0,#0] ; DataStr 0001b0 2853 CMP r0,#0x53 0001b2 d10e BNE |L17.466| 0001b4 485a LDR r0,|L17.800| 0001b6 7840 LDRB r0,[r0,#1] ; DataStr 0001b8 2865 CMP r0,#0x65 0001ba d10a BNE |L17.466| 0001bc 4858 LDR r0,|L17.800| 0001be 7880 LDRB r0,[r0,#2] ; DataStr 0001c0 2870 CMP r0,#0x70 0001c2 d106 BNE |L17.466| ;;;160 { ;;;161 lcd_display ('0'); 0001c4 2030 MOVS r0,#0x30 0001c6 f7fffffe BL lcd_display ;;;162 lcd_display ('9'); 0001ca 2039 MOVS r0,#0x39 0001cc f7fffffe BL lcd_display 0001d0 e03e B |L17.592| |L17.466| ;;;163 } ;;;164 else if ((DataStr[0] == 'O') && (DataStr[1] == 'c') && (DataStr[2] == 't')) 0001d2 4853 LDR r0,|L17.800| 0001d4 7800 LDRB r0,[r0,#0] ; DataStr 0001d6 284f CMP r0,#0x4f 0001d8 d10e BNE |L17.504| 0001da 4851 LDR r0,|L17.800| 0001dc 7840 LDRB r0,[r0,#1] ; DataStr 0001de 2863 CMP r0,#0x63 0001e0 d10a BNE |L17.504| 0001e2 484f LDR r0,|L17.800| 0001e4 7880 LDRB r0,[r0,#2] ; DataStr 0001e6 2874 CMP r0,#0x74 0001e8 d106 BNE |L17.504| ;;;165 { ;;;166 lcd_display ('1'); 0001ea 2031 MOVS r0,#0x31 0001ec f7fffffe BL lcd_display ;;;167 lcd_display ('0'); 0001f0 2030 MOVS r0,#0x30 0001f2 f7fffffe BL lcd_display 0001f6 e02b B |L17.592| |L17.504| ;;;168 } ;;;169 else if ((DataStr[0] == 'N') && (DataStr[1] == 'o') && (DataStr[2] == 'v')) 0001f8 4849 LDR r0,|L17.800| 0001fa 7800 LDRB r0,[r0,#0] ; DataStr 0001fc 284e CMP r0,#0x4e 0001fe d10e BNE |L17.542| 000200 4847 LDR r0,|L17.800| 000202 7840 LDRB r0,[r0,#1] ; DataStr 000204 286f CMP r0,#0x6f 000206 d10a BNE |L17.542| 000208 4845 LDR r0,|L17.800| 00020a 7880 LDRB r0,[r0,#2] ; DataStr 00020c 2876 CMP r0,#0x76 00020e d106 BNE |L17.542| ;;;170 { ;;;171 lcd_display ('1'); 000210 2031 MOVS r0,#0x31 000212 f7fffffe BL lcd_display ;;;172 lcd_display ('1'); 000216 2031 MOVS r0,#0x31 000218 f7fffffe BL lcd_display 00021c e018 B |L17.592| |L17.542| ;;;173 } ;;;174 else if ((DataStr[0] == 'D') && (DataStr[1] == 'e') && (DataStr[2] == 'c')) 00021e 4840 LDR r0,|L17.800| 000220 7800 LDRB r0,[r0,#0] ; DataStr 000222 2844 CMP r0,#0x44 000224 d10e BNE |L17.580| 000226 483e LDR r0,|L17.800| 000228 7840 LDRB r0,[r0,#1] ; DataStr 00022a 2865 CMP r0,#0x65 00022c d10a BNE |L17.580| 00022e 483c LDR r0,|L17.800| 000230 7880 LDRB r0,[r0,#2] ; DataStr 000232 2863 CMP r0,#0x63 000234 d106 BNE |L17.580| ;;;175 { ;;;176 lcd_display ('1'); 000236 2031 MOVS r0,#0x31 000238 f7fffffe BL lcd_display ;;;177 lcd_display ('2'); 00023c 2032 MOVS r0,#0x32 00023e f7fffffe BL lcd_display 000242 e005 B |L17.592| |L17.580| ;;;178 } ;;;179 else ;;;180 { ;;;181 lcd_display ('0'); 000244 2030 MOVS r0,#0x30 000246 f7fffffe BL lcd_display ;;;182 lcd_display ('0'); 00024a 2030 MOVS r0,#0x30 00024c f7fffffe BL lcd_display |L17.592| ;;;183 } ;;;184 ;;;185 if (DataStr[4] == 0x20) 000250 4833 LDR r0,|L17.800| 000252 7900 LDRB r0,[r0,#4] ; DataStr 000254 2820 CMP r0,#0x20 000256 d103 BNE |L17.608| ;;;186 lcd_display ('0'); 000258 2030 MOVS r0,#0x30 00025a f7fffffe BL lcd_display 00025e e003 B |L17.616| |L17.608| ;;;187 else ;;;188 lcd_display (DataStr[4]); 000260 492f LDR r1,|L17.800| 000262 7908 LDRB r0,[r1,#4] ; DataStr 000264 f7fffffe BL lcd_display |L17.616| ;;;189 lcd_display (DataStr[5]); 000268 492d LDR r1,|L17.800| 00026a 7948 LDRB r0,[r1,#5] ; DataStr 00026c f7fffffe BL lcd_display ;;;190 } 000270 bd10 POP {r4,pc} ;;;191 ENDP 000272 0000 DCW 0x0000 |L17.628| 000274 20202020 DCB " ",200,253,208,197,207,162," ",0 000278 20202020 00027c c8fdd0c5 000280 cfa22020 000284 20202020 000288 20202020 00028c 00 00028d 00 DCB 0 00028e 00 DCB 0 00028f 00 DCB 0 |L17.656| 000290 cfb5cdb3 DCB 207,181,205,179,176,230,177,190,163,186,"HW6.0&SW7.0PM ",0 000294 b0e6b1be 000298 a3ba4857 00029c 362e3026 0002a0 5357372e 0002a4 30504d20 0002a8 00 0002a9 00 DCB 0 0002aa 00 DCB 0 0002ab 00 DCB 0 |L17.684| 0002ac b9ccbcfe DCB 185,204,188,254,176,230,177,190,163,186," ",0 0002b0 b0e6b1be 0002b4 a3ba2020 0002b8 20202020 0002bc 20202020 0002c0 20202020 0002c4 00 0002c5 00 DCB 0 0002c6 00 DCB 0 0002c7 00 DCB 0 |L17.712| DCD MFL_PARA_A+0x3000 |L17.716| 0002cc c8c8c5bc DCB 200,200,197,188,192,224,208,205,163,186," K",183,214,182 0002d0 c0e0d0cd 0002d4 a3ba204b 0002d8 b7d6b6 0002db c8202020 DCB 200," ",0 0002df 20202020 0002e3 2000 0002e5 00 DCB 0 0002e6 00 DCB 0 0002e7 00 DCB 0 |L17.744| 0002e8 c8c8c5bc DCB 200,200,197,188,192,224,208,205,163,186," S",183,214,182 0002ec c0e0d0cd 0002f0 a3ba2053 0002f4 b7d6b6 0002f7 c8202020 DCB 200," ",0 0002fb 20202020 0002ff 2000 000301 00 DCB 0 000302 00 DCB 0 000303 00 DCB 0 |L17.772| 000304 20202020 DCB " ",0 000308 20202020 00030c 20202020 000310 20202020 000314 20202020 000318 20202020 00031c 00 00031d 00 DCB 0 00031e 00 DCB 0 00031f 00 DCB 0 |L17.800| DCD DataStr AREA ||i.menu_display_program||, CODE, READONLY, ALIGN=2 menu_display_program PROC ;;;88 //设置菜单界面 ;;;89 void menu_display_program (void) 000000 b510 PUSH {r4,lr} ;;;90 { ;;;91 lcd_display_string(0, 0, " 二设置 "); 000002 a20a ADR r2,|L18.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;92 lcd_display_string(1, 0, "①自选A ④温度校准 "); 00000c a20e ADR r2,|L18.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;93 lcd_display_string(2, 0, "②自选B ⑤控制系数 "); 000016 a213 ADR r2,|L18.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;94 lcd_display_string(3, 0, "③时间设置 ⑥设备参数 "); 000020 a217 ADR r2,|L18.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;95 } 00002a bd10 POP {r4,pc} ;;;96 ENDP |L18.44| 00002c 20202020 DCB " ",182,254,201,232,214,195," ",0 000030 20202020 000034 b6fec9e8 000038 d6c32020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L18.72| 000048 a2d9d7d4 DCB 162,217,215,212,209,161,"A ",162,220,206,194,182,200 00004c d1a14120 000050 20202020 000054 a2dccec2 000058 b6c8 00005a d0a3d7bc DCB 208,163,215,188," ",0 00005e 202000 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L18.100| 000064 a2dad7d4 DCB 162,218,215,212,209,161,"B ",162,221,191,216,214,198 000068 d1a14220 00006c 20202020 000070 a2ddbfd8 000074 d6c6 000076 cfb5cafd DCB 207,181,202,253," ",0 00007a 202000 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L18.128| 000080 a2dbcab1 DCB 162,219,202,177,188,228,201,232,214,195," ",162,222,201 000084 bce4c9e8 000088 d6c32020 00008c a2dec9 00008f e8b1b8b2 DCB 232,177,184,178,206,202,253," ",0 000093 cecafd20 000097 2000 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_program_a_user||, CODE, READONLY, ALIGN=2 menu_display_program_a_user PROC ;;;193 //设置菜单自选A设置界面 ;;;194 void menu_display_program_a_user (void) 000000 b510 PUSH {r4,lr} ;;;195 { ;;;196 lcd_display_string(0, 0, "自选A 温度时间速率介入"); 000002 a20a ADR r2,|L19.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;197 lcd_display_string(1, 0, "第01段:0000 000 000 000"); 00000c a20e ADR r2,|L19.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;198 lcd_display_string(2, 0, "第02段:0000 000 000 000"); 000016 a213 ADR r2,|L19.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;199 lcd_display_string(3, 0, "第03段:0000 000 000 000"); 000020 a217 ADR r2,|L19.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;200 } 00002a bd10 POP {r4,pc} ;;;201 ENDP |L19.44| 00002c d7d4d1a1 DCB 215,212,209,161,163,193," ",206,194,182,200,202,177,188 000030 a3c12020 000034 cec2b6c8 000038 cab1bc 00003b e4cbd9c2 DCB 228,203,217,194,202,189,233,200,235,0 00003f cabde9c8 000043 eb00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L19.72| 000048 b5da3031 DCB 181,218,"01",182,206,163,186,"0000 000 000 000",0 00004c b6cea3ba 000050 30303030 000054 20303030 000058 20303030 00005c 20303030 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L19.100| 000064 b5da3032 DCB 181,218,"02",182,206,163,186,"0000 000 000 000",0 000068 b6cea3ba 00006c 30303030 000070 20303030 000074 20303030 000078 20303030 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L19.128| 000080 b5da3033 DCB 181,218,"03",182,206,163,186,"0000 000 000 000",0 000084 b6cea3ba 000088 30303030 00008c 20303030 000090 20303030 000094 20303030 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_program_b_user||, CODE, READONLY, ALIGN=2 menu_display_program_b_user PROC ;;;202 //设置菜单自选B设置界面 ;;;203 void menu_display_program_b_user (void) 000000 b510 PUSH {r4,lr} ;;;204 { ;;;205 lcd_display_string(0, 0, "自选B 温度时间速率介入"); 000002 a20a ADR r2,|L20.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;206 lcd_display_string(1, 0, "第01段:0000 000 000 000"); 00000c a20e ADR r2,|L20.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;207 lcd_display_string(2, 0, "第02段:0000 000 000 000"); 000016 a213 ADR r2,|L20.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;208 lcd_display_string(3, 0, "第03段:0000 000 000 000"); 000020 a217 ADR r2,|L20.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;209 } 00002a bd10 POP {r4,pc} ;;;210 ENDP |L20.44| 00002c d7d4d1a1 DCB 215,212,209,161,163,194," ",206,194,182,200,202,177,188 000030 a3c22020 000034 cec2b6c8 000038 cab1bc 00003b e4cbd9c2 DCB 228,203,217,194,202,189,233,200,235,0 00003f cabde9c8 000043 eb00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L20.72| 000048 b5da3031 DCB 181,218,"01",182,206,163,186,"0000 000 000 000",0 00004c b6cea3ba 000050 30303030 000054 20303030 000058 20303030 00005c 20303030 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L20.100| 000064 b5da3032 DCB 181,218,"02",182,206,163,186,"0000 000 000 000",0 000068 b6cea3ba 00006c 30303030 000070 20303030 000074 20303030 000078 20303030 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L20.128| 000080 b5da3033 DCB 181,218,"03",182,206,163,186,"0000 000 000 000",0 000084 b6cea3ba 000088 30303030 00008c 20303030 000090 20303030 000094 20303030 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_program_parameter||, CODE, READONLY, ALIGN=2 menu_display_program_parameter PROC ;;;211 //输入校准系数界面 ;;;212 void menu_display_program_parameter (void) 000000 b510 PUSH {r4,lr} ;;;213 { ;;;214 lcd_display_string(0, 0, "校 准 显示值 标偶值 "); 000002 a20a ADR r2,|L21.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;215 lcd_display_string(1, 0, "第01点:0000℃ 0000℃ "); 00000c a20e ADR r2,|L21.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;216 lcd_display_string(2, 0, "第02点:0000℃ 0000℃ "); 000016 a213 ADR r2,|L21.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;217 lcd_display_string(3, 0, "第03点:0000℃ 0000℃ "); 000020 a217 ADR r2,|L21.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;218 } 00002a bd10 POP {r4,pc} ;;;219 ENDP |L21.44| 00002c d0a32020 DCB 208,163," ",215,188," ",207,212,202,190,214,181," ",177 000030 d7bc2020 000034 cfd4cabe 000038 d6b52020 00003c b1 00003d eac5bcd6 DCB 234,197,188,214,181," ",0 000041 b5202000 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L21.72| 000048 b5da3031 DCB 181,218,"01",181,227,163,186,"0000",161,230," 0000",161 00004c b5e3a3ba 000050 30303030 000054 a1e62020 000058 30303030 00005c a1 00005d e6202000 DCB 230," ",0 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L21.100| 000064 b5da3032 DCB 181,218,"02",181,227,163,186,"0000",161,230," 0000",161 000068 b5e3a3ba 00006c 30303030 000070 a1e62020 000074 30303030 000078 a1 000079 e6202000 DCB 230," ",0 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L21.128| 000080 b5da3033 DCB 181,218,"03",181,227,163,186,"0000",161,230," 0000",161 000084 b5e3a3ba 000088 30303030 00008c a1e62020 000090 30303030 000094 a1 000095 e6202000 DCB 230," ",0 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_program_password||, CODE, READONLY, ALIGN=2 menu_display_program_password PROC ;;;243 //设置菜单密码设置界面 ;;;244 void menu_display_program_password (void) 000000 b510 PUSH {r4,lr} ;;;245 { ;;;246 lcd_display_string(0, 0, " "); 000002 a20a ADR r2,|L22.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;247 lcd_display_string(1, 0, "请输入密码:0000 "); 00000c a20e ADR r2,|L22.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;248 lcd_display_string(2, 0, " "); 000016 a205 ADR r2,|L22.44| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;249 lcd_display_string(3, 0, "返回 确认"); 000020 a210 ADR r2,|L22.100| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;250 } 00002a bd10 POP {r4,pc} ;;;251 ENDP |L22.44| 00002c 20202020 DCB " ",0 000030 20202020 000034 20202020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L22.72| 000048 c7ebcae4 DCB 199,235,202,228,200,235,195,220,194,235,163,186,"0000 " 00004c c8ebc3dc 000050 c2eba3ba 000054 30303030 000058 202020 00005b 20202020 DCB " ",0 00005f 2000 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L22.100| 000064 b7b5bbd8 DCB 183,181,187,216," ",200,183,200,207,0 000068 20202020 00006c 20202020 000070 20202020 000074 20202020 000078 c8b7c8cf 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 AREA ||i.menu_display_program_pid||, CODE, READONLY, ALIGN=2 menu_display_program_pid PROC ;;;220 //设置菜单升温系数设置界面 ;;;221 void menu_display_program_pid (void) 000000 b510 PUSH {r4,lr} ;;;222 { ;;;223 lcd_display_string(0, 0, " 参 数 A B C "); 000002 a20a ADR r2,|L23.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;224 lcd_display_string(1, 0, "01电网监控: "); 00000c a20e ADR r2,|L23.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;225 lcd_display_string(2, 0, "02功率挥回: "); 000016 a213 ADR r2,|L23.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;226 lcd_display_string(3, 0, "03经典回温: "); 000020 a217 ADR r2,|L23.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;227 } 00002a bd10 POP {r4,pc} ;;;228 ENDP |L23.44| 00002c 2020b2ce DCB " ",178,206," ",202,253," A B C ",0 000030 2020cafd 000034 20202020 000038 20412020 00003c 20422020 000040 20432020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L23.72| 000048 3031b5e7 DCB "01",181,231,205,248,188,224,191,216,163,186," " 00004c cdf8bce0 000050 bfd8a3ba 000054 20202020 000058 20202020 00005c 2020 00005e 202000 DCB " ",0 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L23.100| 000064 3032b9a6 DCB "02",185,166,194,202,187,211,187,216,163,186," " 000068 c2cabbd3 00006c bbd8a3ba 000070 20202020 000074 20202020 000078 2020 00007a 202000 DCB " ",0 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L23.128| 000080 3033bead DCB "03",190,173,181,228,187,216,206,194,163,186," " 000084 b5e4bbd8 000088 cec2a3ba 00008c 20202020 000090 20202020 000094 2020 000096 202000 DCB " ",0 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_program_save||, CODE, READONLY, ALIGN=2 menu_display_program_save PROC ;;;261 //设置菜单保存询问界面 ;;;262 void menu_display_program_save (void) 000000 b510 PUSH {r4,lr} ;;;263 { ;;;264 lcd_display_string(0, 0, " "); 000002 a20a ADR r2,|L24.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;265 lcd_display_string(1, 0, " 参数保存? "); 00000c a20e ADR r2,|L24.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;266 lcd_display_string(2, 0, " "); 000016 a205 ADR r2,|L24.44| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;267 lcd_display_string(3, 0, "取消 确认"); 000020 a210 ADR r2,|L24.100| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;268 } 00002a bd10 POP {r4,pc} ;;;269 ENDP |L24.44| 00002c 20202020 DCB " ",0 000030 20202020 000034 20202020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L24.72| 000048 20202020 DCB " ",178,206,202,253,177,163,180,230,"? ",0 00004c 20202020 000050 b2cecafd 000054 b1a3b4e6 000058 3f202020 00005c 20202020 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L24.100| 000064 c8a1cffb DCB 200,161,207,251," ",200,183,200,207,0 000068 20202020 00006c 20202020 000070 20202020 000074 20202020 000078 c8b7c8cf 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 AREA ||i.menu_display_program_system||, CODE, READONLY, ALIGN=2 menu_display_program_system PROC ;;;252 //设置菜单系统参数设置界面 ;;;253 void menu_display_program_system (void) 000000 b510 PUSH {r4,lr} ;;;254 { ;;;255 lcd_display_string(0, 0, " 设备参数 A B C "); 000002 a20a ADR r2,|L25.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;256 lcd_display_string(1, 0, "01保留参数:000 000 000 "); 00000c a20e ADR r2,|L25.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;257 lcd_display_string(2, 0, "02保留参数:000 000 000 "); 000016 a213 ADR r2,|L25.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;258 lcd_display_string(3, 0, "03保留参数:000 000 000 "); 000020 a217 ADR r2,|L25.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;259 } 00002a bd10 POP {r4,pc} ;;;260 ENDP |L25.44| 00002c 2020c9e8 DCB " ",201,232,177,184,178,206,202,253," A B C ",0 000030 b1b8b2ce 000034 cafd2020 000038 20412020 00003c 20422020 000040 20432020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L25.72| 000048 3031b1a3 DCB "01",177,163,193,244,178,206,202,253,163,186,"000 000 00" 00004c c1f4b2ce 000050 cafda3ba 000054 30303020 000058 30303020 00005c 3030 00005e 302000 DCB "0 ",0 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L25.100| 000064 3032b1a3 DCB "02",177,163,193,244,178,206,202,253,163,186,"000 000 00" 000068 c1f4b2ce 00006c cafda3ba 000070 30303020 000074 30303020 000078 3030 00007a 302000 DCB "0 ",0 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L25.128| 000080 3033b1a3 DCB "03",177,163,193,244,178,206,202,253,163,186,"000 000 00" 000084 c1f4b2ce 000088 cafda3ba 00008c 30303020 000090 30303020 000094 3030 000096 302000 DCB "0 ",0 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_program_user||, CODE, READONLY, ALIGN=2 menu_display_program_user PROC ;;;229 //设置菜单用户参数设置界面 ;;;230 void menu_display_program_user (void) 000000 b510 PUSH {r4,lr} ;;;231 { ;;;232 /*lcd_display_string(0,0,"门缝值:慢0000 快0000 "); ;;;233 lcd_display_string(1,0,"速度值:ST0000 ET0000 "); ;;;234 lcd_display_string(2,0,"时 钟:19-09-25 22:43 "); ;;;235 lcd_display_string(3,0," ");*/ ;;;236 ;;;237 lcd_display_string(0, 0, " 时钟设置 "); 000002 a20a ADR r2,|L26.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;238 lcd_display_string(1, 0, " "); 00000c a20e ADR r2,|L26.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;239 lcd_display_string(2, 0, " "); 000016 a20c ADR r2,|L26.72| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;240 lcd_display_string(3, 0, "返回 确认"); 000020 a210 ADR r2,|L26.100| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;241 } 00002a bd10 POP {r4,pc} ;;;242 ENDP |L26.44| 00002c 20202020 DCB " ",202,177,214,211,201,232,214,195," ",0 000030 20202020 000034 cab1d6d3 000038 c9e8d6c3 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L26.72| 000048 20202020 DCB " ",0 00004c 20202020 000050 20202020 000054 20202020 000058 20202020 00005c 20202020 000060 00 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L26.100| 000064 b7b5bbd8 DCB 183,181,187,216," ",200,183,200,207,0 000068 20202020 00006c 20202020 000070 20202020 000074 20202020 000078 c8b7c8cf 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 AREA ||i.menu_display_reservation||, CODE, READONLY, ALIGN=2 menu_display_reservation PROC ;;;340 //预约界面设置 ;;;341 void menu_display_reservation (void) 000000 b510 PUSH {r4,lr} ;;;342 { ;;;343 lcd_display_string(0, 0, "预约状态:等待确认 "); 000002 a20a ADR r2,|L27.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;344 lcd_display_string(1, 0, "当前时温:00:00 / --- ℃"); 00000c a20e ADR r2,|L27.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;345 lcd_display_string(2, 0, "预约时温:00:00 / --- ℃"); 000016 a213 ADR r2,|L27.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;346 lcd_display_string(3, 0, "提示:设置完成请按确认键"); 000020 a217 ADR r2,|L27.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;347 } 00002a bd10 POP {r4,pc} ;;;348 ENDP |L27.44| 00002c d4a4d4bc DCB 212,164,212,188,215,180,204,172,163,186,181,200,180,253,200 000030 d7b4ccac 000034 a3bab5c8 000038 b4fdc8 00003b b7c8cf20 DCB 183,200,207," ",0 00003f 20202020 000043 2000 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L27.72| 000048 b5b1c7b0 DCB 181,177,199,176,202,177,206,194,163,186,"00:00 / --- ",161 00004c cab1cec2 000050 a3ba3030 000054 3a303020 000058 2f202d2d 00005c 2d20a1 00005f e600 DCB 230,0 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L27.100| 000064 d4a4d4bc DCB 212,164,212,188,202,177,206,194,163,186,"00:00 / --- ",161 000068 cab1cec2 00006c a3ba3030 000070 3a303020 000074 2f202d2d 000078 2d20a1 00007b e600 DCB 230,0 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L27.128| 000080 cce1cabe DCB 204,225,202,190,163,186,201,232,214,195,205,234,179,201,199 000084 a3bac9e8 000088 d6c3cdea 00008c b3c9c7 00008f ebb0b4c8 DCB 235,176,180,200,183,200,207,188,252,0 000093 b7c8cfbc 000097 fc00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_reset||, CODE, READONLY, ALIGN=2 menu_display_reset PROC ;;;64 //显示恢复出厂设置 ;;;65 void menu_display_reset (void) 000000 b510 PUSH {r4,lr} ;;;66 { ;;;67 lcd_display_string(0, 0, " "); 000002 a20a ADR r2,|L28.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;68 lcd_display_string(1, 0, " 恢复出厂设置 "); 00000c a20e ADR r2,|L28.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;69 lcd_display_string(2, 0, " "); 000016 a205 ADR r2,|L28.44| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;70 lcd_display_string(3, 0, "取消 确认"); 000020 a210 ADR r2,|L28.100| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;71 } 00002a bd10 POP {r4,pc} ;;;72 ENDP |L28.44| 00002c 20202020 DCB " ",0 000030 20202020 000034 20202020 000038 20202020 00003c 20202020 000040 20202020 000044 00 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L28.72| 000048 20202020 DCB " ",187,214,184,180,179,246,179,167,201,232,214,195 00004c 2020bbd6 000050 b8b4b3f6 000054 b3a7c9e8 000058 d6c3 00005a 20202020 DCB " ",0 00005e 202000 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L28.100| 000064 c8a1cffb DCB 200,161,207,251," ",200,183,200,207,0 000068 20202020 00006c 20202020 000070 20202020 000074 20202020 000078 c8b7c8cf 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 AREA ||i.menu_display_welcome||, CODE, READONLY, ALIGN=2 menu_display_welcome PROC ;;;40 //显示欢迎界面 ;;;41 void menu_display_welcome (void) 000000 b510 PUSH {r4,lr} ;;;42 { ;;;43 lcd_display_string(0, 0, " 欢迎使用 "); 000002 a215 ADR r2,|L29.88| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;44 lcd_display_string(1, 0, " "); 00000c a219 ADR r2,|L29.116| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;45 lcd_display_string(2, 0, " 智能时温控制仪 "); 000016 a21e ADR r2,|L29.144| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;46 ;;;47 if (MFL_PARA_A.Redianou_Type == 0) 000020 4822 LDR r0,|L29.172| 000022 f8d00bd4 LDR r0,[r0,#0xbd4] ; MFL_PARA_A 000026 b928 CBNZ r0,|L29.52| ;;;48 lcd_display_string(3, 0, " K"); 000028 a221 ADR r2,|L29.176| 00002a 2100 MOVS r1,#0 00002c 2003 MOVS r0,#3 00002e f7fffffe BL lcd_display_string 000032 e00f B |L29.84| |L29.52| ;;;49 else if (MFL_PARA_A.Redianou_Type == 1) 000034 481d LDR r0,|L29.172| 000036 f8d00bd4 LDR r0,[r0,#0xbd4] ; MFL_PARA_A 00003a 2801 CMP r0,#1 00003c d105 BNE |L29.74| ;;;50 lcd_display_string(3, 0, " S"); 00003e a223 ADR r2,|L29.204| 000040 2100 MOVS r1,#0 000042 2003 MOVS r0,#3 000044 f7fffffe BL lcd_display_string 000048 e004 B |L29.84| |L29.74| ;;;51 else ;;;52 lcd_display_string(3, 0, " "); 00004a a20a ADR r2,|L29.116| 00004c 2100 MOVS r1,#0 00004e 2003 MOVS r0,#3 000050 f7fffffe BL lcd_display_string |L29.84| ;;;53 } 000054 bd10 POP {r4,pc} ;;;54 ENDP 000056 0000 DCW 0x0000 |L29.88| 000058 20202020 DCB " ",187,182,211,173,202,185,211,195," ",0 00005c 20202020 000060 bbb6d3ad 000064 cab9d3c3 000068 20202020 00006c 20202020 000070 00 000071 00 DCB 0 000072 00 DCB 0 000073 00 DCB 0 |L29.116| 000074 20202020 DCB " ",0 000078 20202020 00007c 20202020 000080 20202020 000084 20202020 000088 20202020 00008c 00 00008d 00 DCB 0 00008e 00 DCB 0 00008f 00 DCB 0 |L29.144| 000090 20202020 DCB " ",214,199,196,220,202,177,206,194,191,216,214,198 000094 2020d6c7 000098 c4dccab1 00009c cec2bfd8 0000a0 d6c6 0000a2 d2c72020 DCB 210,199," ",0 0000a6 202000 0000a9 00 DCB 0 0000aa 00 DCB 0 0000ab 00 DCB 0 |L29.172| DCD MFL_PARA_A+0x3000 |L29.176| 0000b0 20202020 DCB " K",0 0000b4 20202020 0000b8 20202020 0000bc 20202020 0000c0 20202020 0000c4 2020204b 0000c8 00 0000c9 00 DCB 0 0000ca 00 DCB 0 0000cb 00 DCB 0 |L29.204| 0000cc 20202020 DCB " S",0 0000d0 20202020 0000d4 20202020 0000d8 20202020 0000dc 20202020 0000e0 20202053 0000e4 00 0000e5 00 DCB 0 0000e6 00 DCB 0 0000e7 00 DCB 0 AREA ||i.menu_display_zixuan_a||, CODE, READONLY, ALIGN=2 menu_display_zixuan_a PROC ;;;311 //自选a界面 ;;;312 void menu_display_zixuan_a (void) 000000 b510 PUSH {r4,lr} ;;;313 { ;;;314 lcd_display_string(0, 0, "自选A组:第 段 "); 000002 a20a ADR r2,|L30.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;315 lcd_display_string(1, 0, "温度:---- / 0000 "); 00000c a20e ADR r2,|L30.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;316 lcd_display_string(2, 0, "时间:00-00-00/00-00-00"); 000016 a213 ADR r2,|L30.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;317 lcd_display_string(3, 0, "提示: "); 000020 a217 ADR r2,|L30.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;318 } 00002a bd10 POP {r4,pc} ;;;319 ENDP |L30.44| 00002c d7d4d1a1 DCB 215,212,209,161,163,193,215,233,163,186,181,218," ",182 000030 a3c1d7e9 000034 a3bab5da 000038 2020b6 00003b ce202020 DCB 206," ",0 00003f 20202020 000043 2000 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L30.72| 000048 cec2b6c8 DCB 206,194,182,200,163,186,"---- ",163,175,161,161,"0000" 00004c a3ba2d2d 000050 2d2d2020 000054 2020a3af 000058 a1a13030 00005c 3030 00005e 202000 DCB " ",0 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L30.100| 000064 cab1bce4 DCB 202,177,188,228,163,186,"00-00-00",163,175,"00-00-00",0 000068 a3ba3030 00006c 2d30302d 000070 3030a3af 000074 30302d30 000078 302d3030 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L30.128| 000080 cce1cabe DCB 204,225,202,190,163,186," ",0 000084 a3ba2020 000088 20202020 00008c 20202020 000090 20202020 000094 20202020 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.menu_display_zixuan_b||, CODE, READONLY, ALIGN=2 menu_display_zixuan_b PROC ;;;321 //自选b界面 ;;;322 void menu_display_zixuan_b (void) 000000 b510 PUSH {r4,lr} ;;;323 { ;;;324 lcd_display_string(0, 0, "自选B组:第 段 "); 000002 a20a ADR r2,|L31.44| 000004 2100 MOVS r1,#0 000006 4608 MOV r0,r1 000008 f7fffffe BL lcd_display_string ;;;325 lcd_display_string(1, 0, "温度:---- / 0000 "); 00000c a20e ADR r2,|L31.72| 00000e 2100 MOVS r1,#0 000010 2001 MOVS r0,#1 000012 f7fffffe BL lcd_display_string ;;;326 lcd_display_string(2, 0, "时间:00-00-00/00-00-00"); 000016 a213 ADR r2,|L31.100| 000018 2100 MOVS r1,#0 00001a 2002 MOVS r0,#2 00001c f7fffffe BL lcd_display_string ;;;327 lcd_display_string(3, 0, "提示: "); 000020 a217 ADR r2,|L31.128| 000022 2100 MOVS r1,#0 000024 2003 MOVS r0,#3 000026 f7fffffe BL lcd_display_string ;;;328 } 00002a bd10 POP {r4,pc} ;;;329 ENDP |L31.44| 00002c d7d4d1a1 DCB 215,212,209,161,163,194,215,233,163,186,181,218," ",182 000030 a3c2d7e9 000034 a3bab5da 000038 2020b6 00003b ce202020 DCB 206," ",0 00003f 20202020 000043 2000 000045 00 DCB 0 000046 00 DCB 0 000047 00 DCB 0 |L31.72| 000048 cec2b6c8 DCB 206,194,182,200,163,186,"---- ",163,175,161,161,"0000" 00004c a3ba2d2d 000050 2d2d2020 000054 2020a3af 000058 a1a13030 00005c 3030 00005e 202000 DCB " ",0 000061 00 DCB 0 000062 00 DCB 0 000063 00 DCB 0 |L31.100| 000064 cab1bce4 DCB 202,177,188,228,163,186,"00-00-00",163,175,"00-00-00",0 000068 a3ba3030 00006c 2d30302d 000070 3030a3af 000074 30302d30 000078 302d3030 00007c 00 00007d 00 DCB 0 00007e 00 DCB 0 00007f 00 DCB 0 |L31.128| 000080 cce1cabe DCB 204,225,202,190,163,186," ",0 000084 a3ba2020 000088 20202020 00008c 20202020 000090 20202020 000094 20202020 000098 00 000099 00 DCB 0 00009a 00 DCB 0 00009b 00 DCB 0 AREA ||i.pcf8563_read_time||, CODE, READONLY, ALIGN=1 pcf8563_read_time PROC ;;;351 //时钟读取 ;;;352 u8 pcf8563_read_time (u8 addr, u8 num, u8 *p) 000000 e92d41f0 PUSH {r4-r8,lr} ;;;353 { 000004 4607 MOV r7,r0 000006 460e MOV r6,r1 000008 4615 MOV r5,r2 ;;;354 u8 n; ;;;355 ;;;356 iic1_start (); 00000a f7fffffe BL iic1_start ;;;357 iic1_write_byte (PCF8563_ADDR_WR); 00000e 20a2 MOVS r0,#0xa2 000010 f7fffffe BL iic1_write_byte ;;;358 iic1_write_byte (addr); 000014 4638 MOV r0,r7 000016 f7fffffe BL iic1_write_byte ;;;359 ;;;360 iic1_start (); 00001a f7fffffe BL iic1_start ;;;361 iic1_write_byte (PCF8563_ADDR_RD); 00001e 20a3 MOVS r0,#0xa3 000020 f7fffffe BL iic1_write_byte ;;;362 ;;;363 for (n = 0; n < (num - 1); n++) 000024 2400 MOVS r4,#0 000026 e005 B |L32.52| |L32.40| ;;;364 *(p + n) = iic1_read_byte (0); 000028 2000 MOVS r0,#0 00002a f7fffffe BL iic1_read_byte 00002e 5528 STRB r0,[r5,r4] 000030 1c60 ADDS r0,r4,#1 ;363 000032 b2c4 UXTB r4,r0 ;363 |L32.52| 000034 1e70 SUBS r0,r6,#1 ;363 000036 42a0 CMP r0,r4 ;363 000038 dcf6 BGT |L32.40| ;;;365 ;;;366 *(p + n) = iic1_read_byte (1); 00003a 2001 MOVS r0,#1 00003c f7fffffe BL iic1_read_byte 000040 5528 STRB r0,[r5,r4] ;;;367 iic1_stop (); 000042 f7fffffe BL iic1_stop ;;;368 ;;;369 return 1; 000046 2001 MOVS r0,#1 ;;;370 } 000048 e8bd81f0 POP {r4-r8,pc} ;;;371 ENDP AREA ||i.pcf8563_write_time||, CODE, READONLY, ALIGN=1 pcf8563_write_time PROC ;;;372 //时钟写入 秒分时天星期月年 ;;;373 u8 pcf8563_write_time (u8 addr, u8 num, u8 *p) 000000 e92d41f0 PUSH {r4-r8,lr} ;;;374 { 000004 4607 MOV r7,r0 000006 460d MOV r5,r1 000008 4616 MOV r6,r2 ;;;375 u8 n; ;;;376 ;;;377 iic1_start (); 00000a f7fffffe BL iic1_start ;;;378 iic1_write_byte (PCF8563_ADDR_WR); 00000e 20a2 MOVS r0,#0xa2 000010 f7fffffe BL iic1_write_byte ;;;379 iic1_write_byte (addr); 000014 4638 MOV r0,r7 000016 f7fffffe BL iic1_write_byte ;;;380 ;;;381 for (n = 0; n < num; n++) 00001a 2400 MOVS r4,#0 00001c e004 B |L33.40| |L33.30| ;;;382 iic1_write_byte (*(p + n)); 00001e 5d30 LDRB r0,[r6,r4] 000020 f7fffffe BL iic1_write_byte 000024 1c60 ADDS r0,r4,#1 ;381 000026 b2c4 UXTB r4,r0 ;381 |L33.40| 000028 42ac CMP r4,r5 ;381 00002a dbf8 BLT |L33.30| ;;;383 ;;;384 iic1_stop (); 00002c f7fffffe BL iic1_stop ;;;385 ;;;386 return 1; 000030 2001 MOVS r0,#1 ;;;387 } 000032 e8bd81f0 POP {r4-r8,pc} ;;;388 ENDP AREA ||.constdata||, DATA, READONLY, ALIGN=1 ascii_big_code 000000 a3c1a3c2 DCW 0xa3c1,0xa3c2 000004 a3c3a3c4 DCW 0xa3c3,0xa3c4 000008 a3c5a3c6 DCW 0xa3c5,0xa3c6 DataStr 00000c 4a756e20 DCB 0x4a,0x75,0x6e,0x20 000010 32382032 DCB 0x32,0x38,0x20,0x32 000014 30323500 DCB 0x30,0x32,0x35,0x00