?? lcd.txt
字號:
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 + -