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

📄 lcd.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 5 页
字号:
00077a  eb07eb07          ADD      r11,r7,r4
00077e  fa1ffa1f          UXTH     r1,r10
000782  f00bf00b          AND      r0,r11,#0xff
000786  f7fff7ff          BL       LCD_SetCursor
;;;554        LCD_WriteRAM(TextColor);
00078a  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
00078e  f7fff7ff          BL       LCD_WriteRAM
;;;555        LCD_SetCursor(Xpos + CurX, Ypos - CurY);
000792  eba8eba8          SUB      r0,r8,r5
000796  b281              UXTH     r1,r0
000798  9002              STR      r0,[sp,#8]
00079a  f00bf00b          AND      r0,r11,#0xff
00079e  f7fff7ff          BL       LCD_SetCursor
;;;556        LCD_WriteRAM(TextColor);
0007a2  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
0007a6  f7fff7ff          BL       LCD_WriteRAM
;;;557        LCD_SetCursor(Xpos - CurX, Ypos + CurY);
0007aa  fa1ffa1f          UXTH     r1,r10
0007ae  eba7eba7          SUB      r10,r7,r4
0007b2  f00af00a          AND      r0,r10,#0xff
0007b6  f7fff7ff          BL       LCD_SetCursor
;;;558        LCD_WriteRAM(TextColor);
0007ba  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
0007be  f7fff7ff          BL       LCD_WriteRAM
;;;559        LCD_SetCursor(Xpos - CurX, Ypos - CurY);
0007c2  9802              LDR      r0,[sp,#8]
0007c4  b281              UXTH     r1,r0
0007c6  f00af00a          AND      r0,r10,#0xff
0007ca  f7fff7ff          BL       LCD_SetCursor
;;;560        LCD_WriteRAM(TextColor);
0007ce  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
0007d2  f7fff7ff          BL       LCD_WriteRAM
;;;561        LCD_SetCursor(Xpos + CurY, Ypos + CurX);
0007d6  eb08eb08          ADD      r0,r8,r4
0007da  b281              UXTH     r1,r0
0007dc  eb07eb07          ADD      r10,r7,r5
0007e0  9001              STR      r0,[sp,#4]
0007e2  f00af00a          AND      r0,r10,#0xff
0007e6  f7fff7ff          BL       LCD_SetCursor
;;;562        LCD_WriteRAM(TextColor);
0007ea  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
0007ee  f7fff7ff          BL       LCD_WriteRAM
;;;563        LCD_SetCursor(Xpos + CurY, Ypos - CurX);
0007f2  eba8eba8          SUB      r11,r8,r4
0007f6  fa1ffa1f          UXTH     r1,r11
0007fa  f00af00a          AND      r0,r10,#0xff
0007fe  f7fff7ff          BL       LCD_SetCursor
;;;564        LCD_WriteRAM(TextColor);
000802  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
000806  f7fff7ff          BL       LCD_WriteRAM
;;;565        LCD_SetCursor(Xpos - CurY, Ypos + CurX);
00080a  e023              B        |L1.2132|
                  |L1.2060|
00080c  40011400          DCD      0x40011400
                  |L1.2064|
000810  40010c00          DCD      0x40010c00
                  |L1.2068|
000814  40003800          DCD      0x40003800
                  |L1.2072|
000818  00000000          DCD      BackColor
                  |L1.2076|
00081c  00000000          DCD      TextColor
                  |L1.2080|
000820  00000000          DCD      ||.constdata||
                  |L1.2084|
000824  20202020          DCB      "    "
000828  20202020          DCB      "    "
00082c  20202020          DCB      "    "
000830  20202020          DCB      "    "
000834  20202020          DCB      "    "
000838  00000000          DCB      "\0\0\0\0"
                  |L1.2108|
00083c  20202053          DCB      "   S"
000840  7472696e          DCB      "trin"
000844  6720746f          DCB      "g to"
000848  6f206c6f          DCB      "o lo"
00084c  6e672020          DCB      "ng  "
000850  00000000          DCB      "\0\0\0\0"
                  |L1.2132|
000854  9801              LDR      r0,[sp,#4]
000856  eba7eba7          SUB      r10,r7,r5
00085a  b281              UXTH     r1,r0
00085c  f00af00a          AND      r0,r10,#0xff
000860  f7fff7ff          BL       LCD_SetCursor
;;;566        LCD_WriteRAM(TextColor);
000864  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
000868  f7fff7ff          BL       LCD_WriteRAM
;;;567        LCD_SetCursor(Xpos - CurY, Ypos - CurX);
00086c  fa1ffa1f          UXTH     r1,r11
000870  f00af00a          AND      r0,r10,#0xff
000874  f7fff7ff          BL       LCD_SetCursor
;;;568        LCD_WriteRAM(TextColor);
000878  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
00087c  f7fff7ff          BL       LCD_WriteRAM
;;;569    
;;;570        if (D < 0)
000880  2e00              CMP      r6,#0
000882  da03              BGE      |L1.2188|
;;;571        {
;;;572          D += (CurX << 2) + 6;
000884  eb06eb06          ADD      r0,r6,r4,LSL #2
000888  1d86              ADDS     r6,r0,#6
00088a  e005              B        |L1.2200|
                  |L1.2188|
;;;573        }
;;;574        else
;;;575        {
;;;576          D += ((CurX - CurY) << 2) + 10;
00088c  1b60              SUBS     r0,r4,r5
00088e  eb06eb06          ADD      r0,r6,r0,LSL #2
000892  f100f100          ADD      r6,r0,#0xa
;;;577          CurY--;
000896  1e6d              SUBS     r5,r5,#1
                  |L1.2200|
;;;578        }
;;;579        CurX++;
000898  1c64              ADDS     r4,r4,#1
00089a  42ac              CMP      r4,r5
00089c  f67ff67f          BLS      |L1.1910|
;;;580      }
;;;581    }
0008a0  b003              ADD      sp,sp,#0xc
0008a2  e8bde8bd          POP      {r4-r11,pc}
;;;582    
                          ENDP

                  LCD_DrawMonoPict PROC
;;;590    void LCD_DrawMonoPict(uc32 *Pict)
;;;591    {
0008a6  e92de92d          PUSH     {r4-r10,lr}
0008aa  4606              MOV      r6,r0
;;;592      u32 index = 0, i = 0;
0008ac  2500              MOVS     r5,#0
;;;593    
;;;594      LCD_SetCursor(0, 319);
0008ae  f240f240          MOV      r1,#0x13f
0008b2  2000              MOVS     r0,#0
0008b4  f7fff7ff          BL       LCD_SetCursor
;;;595    
;;;596      for(index = 0; index < 2400; index++)
0008b8  f8dff8df          LDR      r8,|L1.2496|
0008bc  f8dff8df          LDR      r9,|L1.2500|
0008c0  2701              MOVS     r7,#1
                  |L1.2242|
;;;597      {
;;;598        for(i = 0; i < 32; i++)
0008c2  2400              MOVS     r4,#0
                  |L1.2244|
0008c4  f856f856          LDR      r0,[r6,r5,LSL #2]
0008c8  fa07fa07          LSL      r1,r7,r4
0008cc  4208              TST      r0,r1
;;;599        {
;;;600          if((Pict[index] & (1 << i)) == 0x00)
0008ce  d104              BNE      |L1.2266|
0008d0  f8b8f8b8          LDRH     r0,[r8,#0]  ; BackColor
0008d4  f7fff7ff          BL       LCD_WriteRAM
;;;601          {
;;;602            LCD_WriteRAM(BackColor);
0008d8  e003              B        |L1.2274|
                  |L1.2266|
0008da  f8b9f8b9          LDRH     r0,[r9,#0]  ; TextColor
0008de  f7fff7ff          BL       LCD_WriteRAM
                  |L1.2274|
0008e2  1c64              ADDS     r4,r4,#1
0008e4  2c20              CMP      r4,#0x20
0008e6  d3ed              BCC      |L1.2244|
0008e8  1c6d              ADDS     r5,r5,#1
0008ea  f5b5f5b5          CMP      r5,#0x960
0008ee  d3e8              BCC      |L1.2242|
;;;603          }
;;;604          else
;;;605          {
;;;606            LCD_WriteRAM(TextColor);
;;;607          }
;;;608        }
;;;609      }
;;;610    }
0008f0  e8bde8bd          POP      {r4-r10,pc}
;;;611    
                          ENDP

                  LCD_PowerOn PROC
;;;667    void LCD_PowerOn(void)
;;;668    {
0008f4  b510              PUSH     {r4,lr}
;;;669      /* Power On Set */
;;;670      LCD_WriteReg(R28, 0x73);
0008f6  2173              MOVS     r1,#0x73
0008f8  201c              MOVS     r0,#0x1c
0008fa  f7fff7ff          BL       LCD_WriteReg
;;;671      LCD_WriteReg(R36, 0x74);
0008fe  2174              MOVS     r1,#0x74
000900  2024              MOVS     r0,#0x24
000902  f7fff7ff          BL       LCD_WriteReg
;;;672      LCD_WriteReg(R30, 0x01);
000906  2101              MOVS     r1,#1
000908  201e              MOVS     r0,#0x1e
00090a  f7fff7ff          BL       LCD_WriteReg
;;;673      LCD_WriteReg(R24, 0xC1);
00090e  21c1              MOVS     r1,#0xc1
000910  2018              MOVS     r0,#0x18
000912  f7fff7ff          BL       LCD_WriteReg
;;;674      Delay(1); /* Delay 10 ms */
000916  2001              MOVS     r0,#1
000918  f7fff7ff          BL       Delay
;;;675      LCD_WriteReg(R24, 0xE1);
00091c  21e1              MOVS     r1,#0xe1
00091e  2018              MOVS     r0,#0x18
000920  f7fff7ff          BL       LCD_WriteReg
;;;676      LCD_WriteReg(R24, 0xF1);
000924  21f1              MOVS     r1,#0xf1
000926  2018              MOVS     r0,#0x18
000928  f7fff7ff          BL       LCD_WriteReg
;;;677      Delay(6); /* Delay 60 ms */
00092c  2006              MOVS     r0,#6
00092e  f7fff7ff          BL       Delay
;;;678      LCD_WriteReg(R24, 0xF5);
000932  21f5              MOVS     r1,#0xf5
000934  2018              MOVS     r0,#0x18
000936  f7fff7ff          BL       LCD_WriteReg
;;;679      Delay(6); /* Delay 60 ms */
00093a  2006              MOVS     r0,#6
00093c  f7fff7ff          BL       Delay
;;;680      LCD_WriteReg(R27, 0x09);
000940  2109              MOVS     r1,#9
000942  201b              MOVS     r0,#0x1b
000944  f7fff7ff          BL       LCD_WriteReg
;;;681      Delay(1); /* Delay 10 ms */
000948  2001              MOVS     r0,#1
00094a  f7fff7ff          BL       Delay
;;;682      LCD_WriteReg(R31, 0x11);
00094e  2111              MOVS     r1,#0x11
000950  201f              MOVS     r0,#0x1f
000952  f7fff7ff          BL       LCD_WriteReg
;;;683      LCD_WriteReg(R32, 0x0E);
000956  210e              MOVS     r1,#0xe
000958  2020              MOVS     r0,#0x20
00095a  f7fff7ff          BL       LCD_WriteReg
;;;684      LCD_WriteReg(R30, 0x81);
00095e  2181              MOVS     r1,#0x81
000960  201e              MOVS     r0,#0x1e
000962  f7fff7ff          BL       LCD_WriteReg
;;;685      Delay(1); /* Delay 10 ms */
000966  e8bde8bd          POP      {r4,lr}
00096a  2001              MOVS     r0,#1
00096c  f7fff7ff          B.W      Delay
;;;686    }
;;;687    
                          ENDP

                  LCD_DisplayOn PROC
;;;695    void LCD_DisplayOn(void)
;;;696    {
000970  b510              PUSH     {r4,lr}
;;;697      LCD_WriteReg(R1, 0x50);
000972  2150              MOVS     r1,#0x50
000974  2001              MOVS     r0,#1
000976  f7fff7ff          BL       LCD_WriteReg
;;;698      LCD_WriteReg(R5, 0x04);
00097a  2104              MOVS     r1,#4
00097c  2005              MOVS     r0,#5
00097e  f7fff7ff          BL       LCD_WriteReg
;;;699    
;;;700      /* Display On */
;;;701      LCD_WriteReg(R0, 0x80);
000982  2180              MOVS     r1,#0x80
000984  2000              MOVS     r0,#0
000986  f7fff7ff          BL       LCD_WriteReg
;;;702      LCD_WriteReg(R59, 0x01);
00098a  2101              MOVS     r1,#1
00098c  203b              MOVS     r0,#0x3b
00098e  f7fff7ff          BL       LCD_WriteReg
;;;703      Delay(4);                 /* Delay 40 ms */
000992  2004              MOVS     r0,#4
000994  f7fff7ff          BL       Delay
;;;704      LCD_WriteReg(R0, 0x20);
000998  2120              MOVS     r1,#0x20
00099a  e8bde8bd          POP      {r4,lr}
00099e  2000              MOVS     r0,#0
0009a0  f7fff7ff          B.W      LCD_WriteReg
;;;705    }
;;;706    
                          ENDP

                  LCD_DisplayOff PROC
;;;714    void LCD_DisplayOff(void)
;;;715    {
0009a4  b510              PUSH     {r4,lr}
;;;716      /* Display Off */
;;;717      LCD_WriteReg(R0, 0xA0);
0009a6  21a0              MOVS     r1,#0xa0
0009a8  2000              MOVS     r0,#0
0009aa  f7fff7ff          BL       LCD_WriteReg
;;;718      Delay(4);                 /* Delay 40 ms */
0009ae  2004              MOVS     r0,#4
0009b0  f7fff7ff          BL       Delay
;;;719      LCD_WriteReg(R59, 0x00);
0009b4  2100              MOVS     r1,#0
0009b6  e8bde8bd          POP      {r4,lr}
0009ba  203b              MOVS     r0,#0x3b
0009bc  f7fff7ff          B.W      LCD_WriteReg
;;;720    }
;;;721    
                          ENDP

                  |L1.2496|
0009c0  00000000          DCD      BackColor
                  |L1.2500|
0009c4  00000000          DCD      TextColor

                          AREA ||.data||, DATA, ALIGN=1

                  TextColor
000000  0000              DCW      0x0000
                  BackColor
000002  ffff              DCW      0xffff

                          AREA ||.constdata||, DATA, READONLY, ALIGN=1

                  ASCII_Table
000000  00000000          DCW      0x0000,0x0000
000004  00000000          DCW      0x0000,0x0000
000008  00000000          DCW      0x0000,0x0000
00000c  00000000          DCW      0x0000,0x0000

⌨️ 快捷键说明

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