📄 240128.lis
字号:
.module _240128.C
.area text(rom, con, rel)
0000 .dbfile E:\工作\240X12~1\(000)\240128.C
0000 .dbfunc e lcd_delay _lcd_delay fV
0000 ; i -> R20,R21
0000 ; time -> R16,R17
.even
0000 _lcd_delay::
0000 00D0 rcall push_gset1
0002 .dbline -1
0002 .dbline 15
0002 ; /*******************************************************************************
0002 ; T6963C液晶驱动 RT240128
0002 ; MAGE88 16M
0002 ; *******************************************************************************/
0002 ; #include "CONFIG.H"
0002 ;
0002 ; #define LCD_LEFT 0
0002 ; #define LCD_TOP 0
0002 ; #define LCD_RIGHT 239
0002 ; #define LCD_BOTTOM 127
0002 ;
0002 ; #define LCD_DELAY 0
0002 ; /******************************************************************************/
0002 ; void lcd_delay(unsigned int time)
0002 ; {
0002 08C0 rjmp L3
0004 L2:
0004 .dbline 18
0004 ; unsigned int i;
0004 ; while(time--)
0004 ; {
0004 .dbline 19
0004 ; i=1000;
0004 48EE ldi R20,1000
0006 53E0 ldi R21,3
0008 L5:
0008 .dbline 20
0008 L6:
0008 .dbline 20
0008 CA01 movw R24,R20
000A 0197 sbiw R24,1
000C AC01 movw R20,R24
000E 4030 cpi R20,0
0010 4507 cpc R20,R21
0012 D1F7 brne L5
0014 X0:
0014 .dbline 21
0014 L3:
0014 .dbline 17
0014 1801 movw R2,R16
0016 0150 subi R16,1
0018 1040 sbci R17,0
001A 2220 tst R2
001C 99F7 brne L2
001E 3320 tst R3
0020 89F7 brne L2
0022 X1:
0022 .dbline -2
0022 L1:
0022 00D0 rcall pop_gset1
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbsym r i 20 i
0026 .dbsym r time 16 i
0026 .dbend
0026 .dbfunc e lcd_wd _lcd_wd fV
0026 ; lcd_data -> R16
.even
0026 _lcd_wd::
0026 .dbline -1
0026 .dbline 25
0026 ; while(--i);
0026 ; }
0026 ; }
0026 ; /***********************************************************************************/
0026 ; void lcd_wd(uchar lcd_data)/*写数据*/
0026 ; {
0026 .dbline 26
0026 ; LCD_DDR = 0x00;
0026 2224 clr R2
0028 2AB8 out 0xa,R2
002A .dbline 27
002A ; LCD_CODE_P &= ~(BIT(LCD_RD) | BIT(LCD_CE));
002A 85B1 in R24,0x5
002C 837F andi R24,243
002E 85B9 out 0x5,R24
0030 .dbline 28
0030 ; LCD_CODE_P |= (BIT(LCD_RW) | BIT(LCD_CD));
0030 85B1 in R24,0x5
0032 8360 ori R24,3
0034 85B9 out 0x5,R24
0036 L9:
0036 .dbline 29
0036 L10:
0036 .dbline 29
0036 ; while( (LCD_DATA & 0x03) != 0x03 );
0036 89B1 in R24,0x9
0038 8370 andi R24,3
003A 8330 cpi R24,3
003C E1F7 brne L9
003E .dbline 32
003E ;
003E ;
003E ; LCD_RD_H;NOP();NOP();NOP();NOP();NOP();NOP();
003E 2A9A sbi 0x5,2
0040 .dbline 32
0040 0000 nop
0042 .dbline 32
0042 0000 nop
0044 .dbline 32
0044 0000 nop
0046 .dbline 32
0046 0000 nop
0048 .dbline 32
0048 0000 nop
004A .dbline 32
004A 0000 nop
004C .dbline 33
004C ; LCD_CD_L;NOP();NOP();NOP();NOP();NOP();NOP();
004C 2898 cbi 0x5,0
004E .dbline 33
004E 0000 nop
0050 .dbline 33
0050 0000 nop
0052 .dbline 33
0052 0000 nop
0054 .dbline 33
0054 0000 nop
0056 .dbline 33
0056 0000 nop
0058 .dbline 33
0058 0000 nop
005A .dbline 34
005A ; LCD_RW_L;NOP();NOP();NOP();NOP();NOP();NOP();
005A 2998 cbi 0x5,1
005C .dbline 34
005C 0000 nop
005E .dbline 34
005E 0000 nop
0060 .dbline 34
0060 0000 nop
0062 .dbline 34
0062 0000 nop
0064 .dbline 34
0064 0000 nop
0066 .dbline 34
0066 0000 nop
0068 .dbline 37
0068 ;
0068 ;
0068 ; LCD_DDR = 0XFF;
0068 8FEF ldi R24,255
006A 8AB9 out 0xa,R24
006C .dbline 38
006C ; LCD_PORT = lcd_data;NOP();NOP();NOP();NOP();NOP();NOP();NOP();
006C 0BB9 out 0xb,R16
006E .dbline 38
006E 0000 nop
0070 .dbline 38
0070 0000 nop
0072 .dbline 38
0072 0000 nop
0074 .dbline 38
0074 0000 nop
0076 .dbline 38
0076 0000 nop
0078 .dbline 38
0078 0000 nop
007A .dbline 38
007A 0000 nop
007C .dbline 39
007C ; LCD_CODE_P |= (BIT(LCD_RW) | BIT(LCD_RD) | BIT(LCD_CD) | BIT(LCD_CE));
007C 85B1 in R24,0x5
007E 8F60 ori R24,15
0080 85B9 out 0x5,R24
0082 .dbline -2
0082 L8:
0082 .dbline 0 ; func end
0082 0895 ret
0084 .dbsym r lcd_data 16 c
0084 .dbend
0084 .dbfunc e lcd_wc _lcd_wc fV
0084 ; lcd_code -> R16
.even
0084 _lcd_wc::
0084 .dbline -1
0084 .dbline 43
0084 ; }
0084 ; /***********************************************************************************/
0084 ; void lcd_wc(uchar lcd_code)/*写命令*/
0084 ; {
0084 .dbline 44
0084 ; LCD_DDR = 0X00;
0084 2224 clr R2
0086 2AB8 out 0xa,R2
0088 .dbline 45
0088 ; LCD_CODE_P &= ~(BIT(LCD_RD) | BIT(LCD_CE));
0088 85B1 in R24,0x5
008A 837F andi R24,243
008C 85B9 out 0x5,R24
008E .dbline 46
008E ; LCD_CODE_P |= (BIT(LCD_RD) | BIT(LCD_CE));
008E 85B1 in R24,0x5
0090 8C60 ori R24,12
0092 85B9 out 0x5,R24
0094 L13:
0094 .dbline 47
0094 L14:
0094 .dbline 47
0094 ; while( (LCD_DATA & 0X03) != 0X03 );
0094 89B1 in R24,0x9
0096 8370 andi R24,3
0098 8330 cpi R24,3
009A E1F7 brne L13
009C .dbline 50
009C ;
009C ;
009C ; LCD_RD_H;NOP();NOP();NOP();NOP();NOP();NOP();
009C 2A9A sbi 0x5,2
009E .dbline 50
009E 0000 nop
00A0 .dbline 50
00A0 0000 nop
00A2 .dbline 50
00A2 0000 nop
00A4 .dbline 50
00A4 0000 nop
00A6 .dbline 50
00A6 0000 nop
00A8 .dbline 50
00A8 0000 nop
00AA .dbline 51
00AA ; LCD_CD_H;NOP();NOP();NOP();NOP();NOP();NOP();
00AA 289A sbi 0x5,0
00AC .dbline 51
00AC 0000 nop
00AE .dbline 51
00AE 0000 nop
00B0 .dbline 51
00B0 0000 nop
00B2 .dbline 51
00B2 0000 nop
00B4 .dbline 51
00B4 0000 nop
00B6 .dbline 51
00B6 0000 nop
00B8 .dbline 52
00B8 ; LCD_RW_L;NOP();NOP();NOP();NOP();NOP();NOP();
00B8 2998 cbi 0x5,1
00BA .dbline 52
00BA 0000 nop
00BC .dbline 52
00BC 0000 nop
00BE .dbline 52
00BE 0000 nop
00C0 .dbline 52
00C0 0000 nop
00C2 .dbline 52
00C2 0000 nop
00C4 .dbline 52
00C4 0000 nop
00C6 .dbline 55
00C6 ;
00C6 ;
00C6 ; LCD_DDR = 0XFF;
00C6 8FEF ldi R24,255
00C8 8AB9 out 0xa,R24
00CA .dbline 56
00CA ; LCD_PORT = lcd_code;NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();
00CA 0BB9 out 0xb,R16
00CC .dbline 56
00CC 0000 nop
00CE .dbline 56
00CE 0000 nop
00D0 .dbline 56
00D0 0000 nop
00D2 .dbline 56
00D2 0000 nop
00D4 .dbline 56
00D4 0000 nop
00D6 .dbline 56
00D6 0000 nop
00D8 .dbline 56
00D8 0000 nop
00DA .dbline 56
00DA 0000 nop
00DC .dbline 56
00DC 0000 nop
00DE .dbline 57
00DE ; LCD_CODE_P |= (BIT(LCD_RW) | BIT(LCD_RD) | BIT(LCD_CD) | BIT(LCD_CE));
00DE 85B1 in R24,0x5
00E0 8F60 ori R24,15
00E2 85B9 out 0x5,R24
00E4 .dbline -2
00E4 L12:
00E4 .dbline 0 ; func end
00E4 0895 ret
00E6 .dbsym r lcd_code 16 c
00E6 .dbend
00E6 .dbfunc e lcd_wc3 _lcd_wc3 fV
00E6 ; lcd_data2 -> y+4
00E6 ; lcd_data1 -> R22
00E6 ; lcd_code -> R20
.even
00E6 _lcd_wc3::
00E6 00D0 rcall push_gset2
00E8 622F mov R22,R18
00EA 402F mov R20,R16
00EC .dbline -1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -