⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendar.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
;;;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 + -