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

📄 calendar.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
000018  4887              LDR      r0,|L8.568|
00001a  7840              LDRB     r0,[r0,#1]
                  |L8.28|
00001c  4680              MOV      r8,r0                 ;617
;;;622        }    
;;;623      }
;;;624      else
;;;625      {
;;;626        monthlength = MonLen[nMonth - 1];
;;;627      }
;;;628    
;;;629      /* Set the Back Color */
;;;630      LCD_SetBackColor(Blue2);
00001e  f240501f          MOV      r0,#0x51f
000022  f7fffffe          BL       LCD_SetBackColor
;;;631      /* Set the Text Color */
;;;632      LCD_SetTextColor(Yellow);
000026  f64f70e0          MOV      r0,#0xffe0
00002a  f7fffffe          BL       LCD_SetTextColor
;;;633      
;;;634      LCD_DisplayStringLine(Line0, MonthNames[nMonth - 1]);
00002e  4882              LDR      r0,|L8.568|
000030  eb050185          ADD      r1,r5,r5,LSL #2
000034  300c              ADDS     r0,r0,#0xc
000036  eb000181          ADD      r1,r0,r1,LSL #2
00003a  3914              SUBS     r1,r1,#0x14
00003c  2000              MOVS     r0,#0
00003e  f7fffffe          BL       LCD_DisplayStringLine
;;;635    
;;;636    
;;;637      LCD_DisplayChar(Line0, 95, ((nYear/1000)+ 0x30));
000042  f44f767a          MOV      r6,#0x3e8
000046  fbb9f4f6          UDIV     r4,r9,r6
00004a  f1040030          ADD      r0,r4,#0x30
00004e  b2c2              UXTB     r2,r0
000050  215f              MOVS     r1,#0x5f
000052  2000              MOVS     r0,#0
000054  f7fffffe          BL       LCD_DisplayChar
;;;638      LCD_DisplayChar(Line0, 79, (((nYear%1000)/100)+ 0x30));
000058  fb069614          MLS      r6,r6,r4,r9
00005c  f04f0a64          MOV      r10,#0x64
000060  fbb6f4fa          UDIV     r4,r6,r10
000064  f1040030          ADD      r0,r4,#0x30
000068  b2c2              UXTB     r2,r0
00006a  4657              MOV      r7,r10
00006c  214f              MOVS     r1,#0x4f
00006e  2000              MOVS     r0,#0
000070  f7fffffe          BL       LCD_DisplayChar
;;;639      LCD_DisplayChar(Line0, 63, ((((nYear%1000)%100)/10)+ 0x30));
000074  fb076614          MLS      r6,r7,r4,r6
000078  240a              MOVS     r4,#0xa
00007a  fbb6f7f4          UDIV     r7,r6,r4
00007e  f1070230          ADD      r2,r7,#0x30
000082  213f              MOVS     r1,#0x3f
000084  2000              MOVS     r0,#0
000086  f7fffffe          BL       LCD_DisplayChar
;;;640      LCD_DisplayChar(Line0, 47, ((((nYear%1000)%100)%10)+ 0x30));
00008a  fb046217          MLS      r2,r4,r7,r6
00008e  3230              ADDS     r2,r2,#0x30
000090  212f              MOVS     r1,#0x2f
000092  2000              MOVS     r0,#0
000094  f7fffffe          BL       LCD_DisplayChar
;;;641    
;;;642      WeekDayNum(nYear, nMonth, nDay);
000098  4629              MOV      r1,r5
00009a  4648              MOV      r0,r9
00009c  9a02              LDR      r2,[sp,#8]
00009e  f7fffffe          BL       WeekDayNum
;;;643    
;;;644      LCD_SetTextColor(White);
0000a2  f64f7bff          MOV      r11,#0xffff
0000a6  4658              MOV      r0,r11
0000a8  f7fffffe          BL       LCD_SetTextColor
;;;645      LCD_DisplayStringLine(Line1, " WEEK     DAY N:    ");
0000ac  a163              ADR      r1,|L8.572|
0000ae  2018              MOVS     r0,#0x18
0000b0  f7fffffe          BL       LCD_DisplayStringLine
;;;646      if(wn/10)
0000b4  4e60              LDR      r6,|L8.568|
0000b6  3e20              SUBS     r6,r6,#0x20
0000b8  6870              LDR      r0,[r6,#4]  ; wn
0000ba  280a              CMP      r0,#0xa
0000bc  d314              BCC      |L8.232|
;;;647      {
;;;648        LCD_DisplayChar(Line1, 223, ((wn/10)+ 0x30));
0000be  fbb0f0f4          UDIV     r0,r0,r4
0000c2  3030              ADDS     r0,r0,#0x30
0000c4  b2c2              UXTB     r2,r0
0000c6  21df              MOVS     r1,#0xdf
0000c8  2018              MOVS     r0,#0x18
0000ca  f7fffffe          BL       LCD_DisplayChar
;;;649        LCD_DisplayChar(Line1, 207, ((wn%10)+ 0x30));
0000ce  6870              LDR      r0,[r6,#4]  ; wn
0000d0  fbb0f1f4          UDIV     r1,r0,r4
0000d4  fb040211          MLS      r2,r4,r1,r0
0000d8  3230              ADDS     r2,r2,#0x30
0000da  21cf              MOVS     r1,#0xcf
0000dc  e00a              B        |L8.244|
                  |L8.222|
0000de  4856              LDR      r0,|L8.568|
0000e0  4428              ADD      r0,r0,r5              ;626
0000e2  f8100c01          LDRB     r0,[r0,#-1]           ;626
0000e6  e799              B        |L8.28|
                  |L8.232|
;;;650      }
;;;651      else
;;;652      {
;;;653        LCD_DisplayChar(Line1, 223, ((wn%10)+ 0x30));
0000e8  fbb0f1f4          UDIV     r1,r0,r4
0000ec  fb040211          MLS      r2,r4,r1,r0
0000f0  3230              ADDS     r2,r2,#0x30
0000f2  21df              MOVS     r1,#0xdf
                  |L8.244|
0000f4  2018              MOVS     r0,#0x18
0000f6  f7fffffe          BL       LCD_DisplayChar
;;;654      }
;;;655      if(dc/100)
0000fa  68f0              LDR      r0,[r6,#0xc]  ; dc
0000fc  2864              CMP      r0,#0x64
0000fe  d320              BCC      |L8.322|
;;;656      {
;;;657        LCD_DisplayChar(Line1, 47, ((dc/100)+ 0x30));
000100  fbb0f0fa          UDIV     r0,r0,r10
000104  3030              ADDS     r0,r0,#0x30
000106  b2c2              UXTB     r2,r0
000108  4657              MOV      r7,r10
00010a  212f              MOVS     r1,#0x2f
00010c  2018              MOVS     r0,#0x18
00010e  f7fffffe          BL       LCD_DisplayChar
;;;658        LCD_DisplayChar(Line1, 31, (((dc%100)/10)+ 0x30));
000112  68f0              LDR      r0,[r6,#0xc]  ; dc
000114  fbb0f1f7          UDIV     r1,r0,r7
000118  fb070011          MLS      r0,r7,r1,r0
00011c  fbb0f2f4          UDIV     r2,r0,r4
000120  3230              ADDS     r2,r2,#0x30
000122  211f              MOVS     r1,#0x1f
000124  2018              MOVS     r0,#0x18
000126  f7fffffe          BL       LCD_DisplayChar
;;;659        LCD_DisplayChar(Line1, 15, (((dc%100)%10)+ 0x30));    
00012a  68f0              LDR      r0,[r6,#0xc]  ; dc
00012c  fbb0f1f7          UDIV     r1,r0,r7
000130  fb070011          MLS      r0,r7,r1,r0
000134  fbb0f1f4          UDIV     r1,r0,r4
000138  fb040211          MLS      r2,r4,r1,r0
00013c  3230              ADDS     r2,r2,#0x30
00013e  210f              MOVS     r1,#0xf
000140  e017              B        |L8.370|
                  |L8.322|
;;;660      }
;;;661      else if(dc/10)
000142  280a              CMP      r0,#0xa
000144  d30f              BCC      |L8.358|
;;;662      {
;;;663        LCD_DisplayChar(Line1, 47, ((dc/10)+ 0x30));
000146  fbb0f0f4          UDIV     r0,r0,r4
00014a  3030              ADDS     r0,r0,#0x30
00014c  b2c2              UXTB     r2,r0
00014e  212f              MOVS     r1,#0x2f
000150  2018              MOVS     r0,#0x18
000152  f7fffffe          BL       LCD_DisplayChar
;;;664        LCD_DisplayChar(Line1, 31, ((dc%10)+ 0x30));
000156  68f0              LDR      r0,[r6,#0xc]  ; dc
000158  fbb0f1f4          UDIV     r1,r0,r4
00015c  fb040211          MLS      r2,r4,r1,r0
000160  3230              ADDS     r2,r2,#0x30
000162  211f              MOVS     r1,#0x1f
000164  e005              B        |L8.370|
                  |L8.358|
;;;665      }
;;;666      else
;;;667      {
;;;668        LCD_DisplayChar(Line1, 47, ((dc%10)+ 0x30));  
000166  fbb0f1f4          UDIV     r1,r0,r4
00016a  fb040211          MLS      r2,r4,r1,r0
00016e  3230              ADDS     r2,r2,#0x30
000170  212f              MOVS     r1,#0x2f
                  |L8.370|
000172  2018              MOVS     r0,#0x18              ;664
000174  f7fffffe          BL       LCD_DisplayChar
;;;669      }
;;;670      
;;;671      /* Set the Back Color */
;;;672      LCD_SetBackColor(Red);
000178  f44f4078          MOV      r0,#0xf800
00017c  f7fffffe          BL       LCD_SetBackColor
;;;673      LCD_SetTextColor(White);
000180  465f              MOV      r7,r11
000182  4658              MOV      r0,r11
000184  f7fffffe          BL       LCD_SetTextColor
;;;674      LCD_DisplayStringLine(Line2, "Mo Tu We Th Fr Sa Su");
000188  a132              ADR      r1,|L8.596|
00018a  2030              MOVS     r0,#0x30
00018c  f7fffffe          BL       LCD_DisplayStringLine
;;;675      LCD_SetBackColor(White);
000190  4638              MOV      r0,r7
000192  f7fffffe          BL       LCD_SetBackColor
;;;676      LCD_SetTextColor(Blue2);
000196  f240501f          MOV      r0,#0x51f
00019a  f7fffffe          BL       LCD_SetTextColor
;;;677      
;;;678      /* Determines the week number, day of the week of the selected date */
;;;679      WeekDayNum(nYear, nMonth, 1);
00019e  2201              MOVS     r2,#1
0001a0  4629              MOV      r1,r5
0001a2  4648              MOV      r0,r9
0001a4  f7fffffe          BL       WeekDayNum
;;;680    
;;;681      mline = Line3;
;;;682      mcolumn = 0x13F - (0x30 * dn);
0001a8  68b0              LDR      r0,[r6,#8]  ; dn
0001aa  2748              MOVS     r7,#0x48              ;681
0001ac  46b2              MOV      r10,r6
0001ae  eba00080          SUB      r0,r0,r0,LSL #2
0001b2  f2401b3f          MOV      r11,#0x13f
0001b6  eb0b1600          ADD      r6,r11,r0,LSL #4
;;;683    
;;;684      for(month = 1; month < monthlength; month++)
0001ba  2501              MOVS     r5,#1
0001bc  e02a              B        |L8.532|
                  |L8.446|
;;;685      {
;;;686        if(month == nDay)
0001be  9802              LDR      r0,[sp,#8]
0001c0  4285              CMP      r5,r0
0001c2  d103              BNE      |L8.460|
;;;687        {
;;;688          daycolumn = mcolumn;
0001c4  f8aa6000          STRH     r6,[r10,#0]
;;;689          dayline = mline;
0001c8  f8aa7002          STRH     r7,[r10,#2]
                  |L8.460|
;;;690        }
;;;691        if(month/10)
0001cc  2d0a              CMP      r5,#0xa
0001ce  d304              BCC      |L8.474|
;;;692        {
;;;693          LCD_DisplayChar(mline, mcolumn, ((month/10)+ 0x30));
0001d0  fbb5f0f4          UDIV     r0,r5,r4
0001d4  3030              ADDS     r0,r0,#0x30
0001d6  b2c2              UXTB     r2,r0
0001d8  e000              B        |L8.476|
                  |L8.474|
;;;694        }
;;;695        else
;;;696        {
;;;697          LCD_DisplayChar(mline, mcolumn, ' ');
0001da  2220              MOVS     r2,#0x20
                  |L8.476|
0001dc  b2b1              UXTH     r1,r6
0001de  b2f8              UXTB     r0,r7
0001e0  f7fffffe          BL       LCD_DisplayChar
;;;698        }
;;;699        mcolumn -= 16;
;;;700        LCD_DisplayChar(mline, mcolumn, ((month%10)+ 0x30));
0001e4  fbb5f0f4          UDIV     r0,r5,r4
0001e8  fb045210          MLS      r2,r4,r0,r5
0001ec  3e10              SUBS     r6,r6,#0x10           ;699
0001ee  b2f8              UXTB     r0,r7
0001f0  3230              ADDS     r2,r2,#0x30
0001f2  b2b1              UXTH     r1,r6
0001f4  4681              MOV      r9,r0
0001f6  f7fffffe          BL       LCD_DisplayChar
;;;701    
;;;702        if(mcolumn < 31)
0001fa  2e1f              CMP      r6,#0x1f
0001fc  d202              BCS      |L8.516|
;;;703        {
;;;704          mcolumn = 319;
0001fe  465e              MOV      r6,r11
;;;705          mline += 24;
000200  3718              ADDS     r7,r7,#0x18
000202  e006              B        |L8.530|
                  |L8.516|
;;;706        }
;;;707        else
;;;708        {
;;;709          mcolumn -= 16;
000204  3e10              SUBS     r6,r6,#0x10
;;;710          LCD_DisplayChar(mline, mcolumn, ' ');
000206  2220              MOVS     r2,#0x20
000208  b2b1              UXTH     r1,r6
00020a  4648              MOV      r0,r9
00020c  f7fffffe          BL       LCD_DisplayChar
;;;711          mcolumn -= 16;
000210  3e10              SUBS     r6,r6,#0x10
                  |L8.530|
000212  1c6d              ADDS     r5,r5,#1              ;684
                  |L8.532|
000214  4545              CMP      r5,r8                 ;684
000216  d3d2              BCC      |L8.446|
;;;712        }
;;;713      }
;;;714      LCD_SetTextColor(Red);   
000218  f44f4078          MOV      r0,#0xf800
00021c  f7fffffe          BL       LCD_SetTextColor
;;;715      LCD_DrawRect(dayline, daycolumn, 24, 32);
000220  f8ba0002          LDRH     r0,[r10,#2]  ; dayline
000224  f8ba1000          LDRH     r1,[r10,#0]  ; daycolumn
000228  b003              ADD      sp,sp,#0xc
00022a  e8bd4ff0          POP      {r4-r11,lr}
00022e  2320              MOVS     r3,#0x20
000230  2218              MOVS     r2,#0x18
000232  b2c0              UXTB     r0,r0
000234  f7ffbffe          B.W      LCD_DrawRect

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -