📄 calendar.txt
字号:
;;;716 }
;;;717
ENDP
|L8.568|
DCD ||.data||+0x20
|L8.572|
00023c 205745454b2020202020444159204e3a2020202000 DCB " WEEK DAY N: ",0
000251 00 DCB 0
000252 00 DCB 0
000253 00 DCB 0
|L8.596|
000254 4d6f20547520576520546820467220536120537500 DCB "Mo Tu We Th Fr Sa Su",0
000269 00 DCB 0
00026a 00 DCB 0
00026b 00 DCB 0
AREA ||i.Date_PreAdjust||, CODE, READONLY, ALIGN=2
Date_PreAdjust PROC
;;;528 *******************************************************************************/
;;;529 static void Date_PreAdjust(void)
000000 b510 PUSH {r4,lr}
;;;530 {
;;;531 u32 tmp = 0, pressedkey = 0;
;;;532
;;;533 /* Clear the LCD */
;;;534 LCD_Clear(White);
000002 f64f74ff MOV r4,#0xffff
000006 4620 MOV r0,r4
000008 f7fffffe BL LCD_Clear
;;;535 LCD_SetBackColor(Blue);
00000c 201f MOVS r0,#0x1f
00000e f7fffffe BL LCD_SetBackColor
;;;536 LCD_SetTextColor(White);
000012 4620 MOV r0,r4
000014 f7fffffe BL LCD_SetTextColor
;;;537
;;;538 if(BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5)
000018 2004 MOVS r0,#4
00001a f7fffffe BL BKP_ReadBackupRegister
00001e f5a04125 SUB r1,r0,#0xa500
000022 39a5 SUBS r1,r1,#0xa5
000024 d01a BEQ |L9.92|
;;;539 {
;;;540 LCD_DisplayStringLine(Line7, "Time and Date Config");
000026 a11c ADR r1,|L9.152|
000028 20a8 MOVS r0,#0xa8
00002a f7fffffe BL LCD_DisplayStringLine
;;;541 LCD_DisplayStringLine(Line8, "Select: Press SEL ");
00002e a120 ADR r1,|L9.176|
000030 20c0 MOVS r0,#0xc0
000032 f7fffffe BL LCD_DisplayStringLine
;;;542 LCD_DisplayStringLine(Line9, "Abort: Press Any Key");
000036 a124 ADR r1,|L9.200|
000038 20d8 MOVS r0,#0xd8
00003a f7fffffe BL LCD_DisplayStringLine
;;;543
;;;544 while(1)
;;;545 {
;;;546 pressedkey = ReadKey();
00003e bf00 NOP
|L9.64|
000040 f7fffffe BL ReadKey
;;;547 if(pressedkey == SEL)
000044 2801 CMP r0,#1
000046 d106 BNE |L9.86|
;;;548 {
;;;549 /* Adjust Time */
;;;550 Time_PreAdjust();
000048 f7fffffe BL Time_PreAdjust
;;;551 /* Clear the LCD */
;;;552 LCD_Clear(White);
00004c 4620 MOV r0,r4
00004e e8bd4010 POP {r4,lr}
000052 f7ffbffe B.W LCD_Clear
|L9.86|
;;;553 return;
;;;554 }
;;;555 else if (pressedkey != NOKEY)
000056 2800 CMP r0,#0
000058 d0f2 BEQ |L9.64|
;;;556 {
;;;557 return;
;;;558 }
;;;559 }
;;;560 }
;;;561 else
;;;562 {
;;;563 /* Display the current date */
;;;564 Date_Display(date_s.year, date_s.month, date_s.day);
;;;565
;;;566 /* Change the current date */
;;;567 Date_Regulate();
;;;568 BKP_WriteBackupRegister(BKP_DR2, date_s.year);
;;;569 tmp = date_s.month << 8;
;;;570 tmp |= date_s.day;
;;;571 BKP_WriteBackupRegister(BKP_DR3, tmp);
;;;572 BKP_WriteBackupRegister(BKP_DR4, daycolumn);
;;;573 BKP_WriteBackupRegister(BKP_DR5, dayline);
;;;574 }
;;;575 }
00005a bd10 POP {r4,pc}
|L9.92|
00005c 4c20 LDR r4,|L9.224|
00005e 7862 LDRB r2,[r4,#1] ;564 ; date_s
000060 7821 LDRB r1,[r4,#0] ;564 ; date_s
000062 8860 LDRH r0,[r4,#2] ;564 ; date_s
000064 f7fffffe BL Date_Display
000068 f7fffffe BL Date_Regulate
00006c 8861 LDRH r1,[r4,#2] ;568 ; date_s
00006e 2008 MOVS r0,#8 ;568
000070 f7fffffe BL BKP_WriteBackupRegister
000074 7820 LDRB r0,[r4,#0] ;569 ; date_s
000076 7861 LDRB r1,[r4,#1] ;570 ; date_s
000078 ea412100 ORR r1,r1,r0,LSL #8 ;570
00007c 200c MOVS r0,#0xc ;571
00007e f7fffffe BL BKP_WriteBackupRegister
000082 3c10 SUBS r4,r4,#0x10 ;572
000084 8821 LDRH r1,[r4,#0] ;572 ; daycolumn
000086 2010 MOVS r0,#0x10 ;572
000088 f7fffffe BL BKP_WriteBackupRegister
00008c 8861 LDRH r1,[r4,#2] ;573 ; dayline
00008e e8bd4010 POP {r4,lr} ;573
000092 2014 MOVS r0,#0x14 ;573
000094 f7ffbffe B.W BKP_WriteBackupRegister
;;;576
ENDP
|L9.152|
000098 54696d6520616e64204461746520436f6e66696700 DCB "Time and Date Config",0
0000ad 00 DCB 0
0000ae 00 DCB 0
0000af 00 DCB 0
|L9.176|
0000b0 53656c6563743a2050726573732053454c20202000 DCB "Select: Press SEL ",0
0000c5 00 DCB 0
0000c6 00 DCB 0
0000c7 00 DCB 0
|L9.200|
0000c8 41626f72743a20507265737320416e79204b657900 DCB "Abort: Press Any Key",0
0000dd 00 DCB 0
0000de 00 DCB 0
0000df 00 DCB 0
|L9.224|
DCD ||.data||+0x10
AREA ||i.Date_Regulate||, CODE, READONLY, ALIGN=2
Date_Regulate PROC
;;;506 *******************************************************************************/
;;;507 void Date_Regulate(void)
000000 b510 PUSH {r4,lr}
;;;508 {
;;;509 LCD_DisplayStringLine(Line9, " UP/DOWN: Set Year ");
000002 a10a ADR r1,|L10.44|
000004 20d8 MOVS r0,#0xd8
000006 f7fffffe BL LCD_DisplayStringLine
;;;510 /* Regulate year */
;;;511 RegulateYear();
00000a f7fffffe BL RegulateYear
;;;512
;;;513 LCD_DisplayStringLine(Line9, " UP/DOWN: Set Month ");
00000e a10d ADR r1,|L10.68|
000010 20d8 MOVS r0,#0xd8
000012 f7fffffe BL LCD_DisplayStringLine
;;;514 /* Regulate the month */
;;;515 RegulateMonth();
000016 f7fffffe BL RegulateMonth
;;;516
;;;517 LCD_DisplayStringLine(Line9, "Set Day- SEL To exit");
00001a a110 ADR r1,|L10.92|
00001c 20d8 MOVS r0,#0xd8
00001e f7fffffe BL LCD_DisplayStringLine
;;;518 /* Regulate day */
;;;519 RegulateDay();
000022 e8bd4010 POP {r4,lr}
000026 f7ffbffe B.W RegulateDay
;;;520 }
;;;521
ENDP
00002a 0000 DCW 0x0000
|L10.44|
00002c 2055502f444f574e3a205365742059656172202000 DCB " UP/DOWN: Set Year ",0
000041 00 DCB 0
000042 00 DCB 0
000043 00 DCB 0
|L10.68|
000044 2055502f444f574e3a20536574204d6f6e74682000 DCB " UP/DOWN: Set Month ",0
000059 00 DCB 0
00005a 00 DCB 0
00005b 00 DCB 0
|L10.92|
00005c 536574204461792d2053454c20546f206578697400 DCB "Set Day- SEL To exit",0
000071 00 DCB 0
000072 00 DCB 0
000073 00 DCB 0
AREA ||i.Date_Show||, CODE, READONLY, ALIGN=2
Date_Show PROC
;;;724 *******************************************************************************/
;;;725 void Date_Show(void)
000000 e92d5ff0 PUSH {r4-r12,lr}
;;;726 {
;;;727 u32 tmpValue = 0;
;;;728 u32 MyKey = 0, ValueMax = 0;
;;;729 u32 firstdaycolumn = 0, lastdaycolumn = 0, lastdayline = 0;
;;;730 u32 testvalue = 0, pressedkey = 0;
000004 2400 MOVS r4,#0
;;;731
;;;732 /* Disable the JoyStick interrupts */
;;;733 IntExtOnOffConfig(DISABLE);
000006 4620 MOV r0,r4
000008 f7fffffe BL IntExtOnOffConfig
;;;734 LCD_Clear(White);
00000c f64f75ff MOV r5,#0xffff
000010 4628 MOV r0,r5
000012 f7fffffe BL LCD_Clear
;;;735
;;;736 while(ReadKey()!= NOKEY)
000016 bf00 NOP
|L11.24|
000018 f7fffffe BL ReadKey
00001c 2800 CMP r0,#0
00001e d1fb BNE |L11.24|
;;;737 {
;;;738 }
;;;739 LCD_SetBackColor(Blue);
000020 201f MOVS r0,#0x1f
000022 f7fffffe BL LCD_SetBackColor
;;;740 LCD_SetTextColor(White);
000026 4628 MOV r0,r5
000028 f7fffffe BL LCD_SetTextColor
;;;741
;;;742 if(BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5)
00002c 2004 MOVS r0,#4
00002e f7fffffe BL BKP_ReadBackupRegister
000032 f5a04125 SUB r1,r0,#0xa500
000036 39a5 SUBS r1,r1,#0xa5
000038 d01b BEQ |L11.114|
;;;743 {
;;;744 LCD_DisplayStringLine(Line7, "Time and Date Config");
00003a a1e0 ADR r1,|L11.956|
00003c 20a8 MOVS r0,#0xa8
00003e f7fffffe BL LCD_DisplayStringLine
;;;745 LCD_DisplayStringLine(Line8, "Select: Press SEL ");
000042 a1e4 ADR r1,|L11.980|
000044 20c0 MOVS r0,#0xc0
000046 f7fffffe BL LCD_DisplayStringLine
;;;746 LCD_DisplayStringLine(Line9, "Abort: Press Any Key");
00004a a1e8 ADR r1,|L11.1004|
00004c 20d8 MOVS r0,#0xd8
00004e f7fffffe BL LCD_DisplayStringLine
;;;747
;;;748 while(testvalue == 0)
000052 e00c B |L11.110|
|L11.84|
;;;749 {
;;;750 pressedkey = ReadKey();
000054 f7fffffe BL ReadKey
;;;751 if(pressedkey == SEL)
000058 2801 CMP r0,#1
00005a d105 BNE |L11.104|
;;;752 {
;;;753 /* Adjust Time */
;;;754 Time_PreAdjust();
00005c f7fffffe BL Time_PreAdjust
;;;755 /* Clear the LCD */
;;;756 LCD_Clear(White);
000060 4628 MOV r0,r5
000062 f7fffffe BL LCD_Clear
;;;757 testvalue = 0x01;
000066 e004 B |L11.114|
|L11.104|
;;;758 }
;;;759 else if (pressedkey != NOKEY)
000068 b108 CBZ r0,|L11.110|
;;;760 {
;;;761 /* Clear the LCD */
;;;762 LCD_Clear(White);
00006a 4628 MOV r0,r5
;;;763 /* Display the menu */
;;;764 DisplayMenu();
;;;765 /* Enable the JoyStick interrupts */
;;;766 IntExtOnOffConfig(ENABLE);
;;;767 return;
00006c e19c B |L11.936|
|L11.110|
00006e 2c00 CMP r4,#0 ;748
000070 d0f0 BEQ |L11.84|
|L11.114|
;;;768 }
;;;769 }
;;;770 }
;;;771 /* Clear the LCD */
;;;772 LCD_Clear(White);
000072 f64f70ff MOV r0,#0xffff
000076 f7fffffe BL LCD_Clear
;;;773
;;;774 LC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -