📄 lcdback.lis
字号:
0116 .dbend
0116 .dbfunc e lcd_init _lcd_init fV
0116 ; i -> R20
0116 ; temp -> R22
.even
0116 _lcd_init::
0116 0E940000 xcall push_gset2
011A .dbline -1
011A .dbline 53
011A ; }
011A ; void lcd_init(void)
011A ; {
011A .dbline 55
011A ; uchar temp,i;
011A ; DDRD |= LCD_RS | LCD_RST;
011A 81B3 in R24,0x11
011C 8066 ori R24,96
011E 81BB out 0x11,R24
0120 .dbline 56
0120 ; PORTD |= LCD_RS;
0120 959A sbi 0x12,5
0122 .dbline 57
0122 ; PORTD &= ~LCD_RST;
0122 9698 cbi 0x12,6
0124 .dbline 59
0124 ;
0124 ; DDRF |= LCD_245;
0124 80916100 lds R24,97
0128 8061 ori R24,16
012A 80936100 sts 97,R24
012E .dbline 60
012E ; PORTF |= LCD_245;
012E 80916200 lds R24,98
0132 8061 ori R24,16
0134 80936200 sts 98,R24
0138 .dbline 61
0138 ; delay_ms(200);
0138 08EC ldi R16,200
013A 10E0 ldi R17,0
013C 0E940000 xcall _delay_ms
0140 .dbline 62
0140 ; delay_ms(200);
0140 08EC ldi R16,200
0142 10E0 ldi R17,0
0144 0E940000 xcall _delay_ms
0148 .dbline 63
0148 ; PORTD |= LCD_RST;
0148 969A sbi 0x12,6
014A .dbline 64
014A ; delay_ms(200);
014A 08EC ldi R16,200
014C 10E0 ldi R17,0
014E 0E940000 xcall _delay_ms
0152 .dbline 65
0152 ; delay_ms(200);
0152 08EC ldi R16,200
0154 10E0 ldi R17,0
0156 0E940000 xcall _delay_ms
015A .dbline 66
015A ; lcd_write_cmd(CS1, LCD_SHOW_ON);
015A 2FE3 ldi R18,63
015C 01E0 ldi R16,1
015E 7DDF xcall _lcd_write_cmd
0160 .dbline 67
0160 ; lcd_write_cmd(CS2, LCD_SHOW_ON);
0160 2FE3 ldi R18,63
0162 02E0 ldi R16,2
0164 7ADF xcall _lcd_write_cmd
0166 .dbline 68
0166 ; lcd_write_cmd(CS3, LCD_SHOW_ON);
0166 2FE3 ldi R18,63
0168 03E0 ldi R16,3
016A 77DF xcall _lcd_write_cmd
016C 0DC0 xjmp L30
016E L29:
016E .dbline 69
016E ; while(1){
016E .dbline 70
016E ; temp = lcd_read_cmd(CS1);
016E 01E0 ldi R16,1
0170 47DF xcall _lcd_read_cmd
0172 602F mov R22,R16
0174 .dbline 72
0174 ; // Print_str("Status1 = 0x");
0174 ; Print_val(temp);
0174 1127 clr R17
0176 0E940000 xcall _Print_val
017A .dbline 73
017A ; Print_str("\r\n");
017A 00E0 ldi R16,<L32
017C 10E0 ldi R17,>L32
017E 0E940000 xcall _Print_str
0182 .dbline 74
0182 ; if((temp & STATUS_RET) == 0) break; //等待初始化完成
0182 64FD sbrc R22,4
0184 01C0 rjmp L33
0186 .dbline 74
0186 12C0 xjmp L36
0188 L33:
0188 .dbline 75
0188 L30:
0188 .dbline 69
0188 F2CF xjmp L29
018A L35:
018A .dbline 76
018A ; }
018A ; while(1){ //打开显示
018A .dbline 77
018A ; lcd_write_cmd(CS1,LCD_SHOW_ON);
018A 2FE3 ldi R18,63
018C 01E0 ldi R16,1
018E 65DF xcall _lcd_write_cmd
0190 .dbline 78
0190 ; temp = lcd_read_cmd(CS1);
0190 01E0 ldi R16,1
0192 36DF xcall _lcd_read_cmd
0194 602F mov R22,R16
0196 .dbline 79
0196 ; Print_str("\r\nStatus2 = 0x");
0196 00E0 ldi R16,<L38
0198 10E0 ldi R17,>L38
019A 0E940000 xcall _Print_str
019E .dbline 80
019E ; Print_val(temp);
019E 062F mov R16,R22
01A0 1127 clr R17
01A2 0E940000 xcall _Print_val
01A6 .dbline 81
01A6 ; if((temp & STATUS_SHOW) == 0) break; //等待初始化完成
01A6 65FD sbrc R22,5
01A8 01C0 rjmp L39
01AA .dbline 81
01AA 01C0 xjmp L37
01AC L39:
01AC .dbline 82
01AC L36:
01AC .dbline 76
01AC EECF xjmp L35
01AE L37:
01AE .dbline 83
01AE ; }
01AE ; Print_str("Init lcd ok\r\n");
01AE 00E0 ldi R16,<L41
01B0 10E0 ldi R17,>L41
01B2 0E940000 xcall _Print_str
01B6 .dbline 84
01B6 ; lcd_write_cmd(CS1, LCD_SHOW_ON);
01B6 2FE3 ldi R18,63
01B8 01E0 ldi R16,1
01BA 4FDF xcall _lcd_write_cmd
01BC .dbline 85
01BC ; lcd_write_cmd(CS1, 0xC0);
01BC 20EC ldi R18,192
01BE 01E0 ldi R16,1
01C0 4CDF xcall _lcd_write_cmd
01C2 .dbline 87
01C2 4427 clr R20
01C4 10C0 xjmp L45
01C6 L42:
01C6 .dbline 87
01C6 ;
01C6 ; for(i=0; i<8; i++){
01C6 .dbline 88
01C6 ; lcd_write_cmd(CS1, 0xb8+i);
01C6 242F mov R18,R20
01C8 2854 subi R18,72 ; addi 184
01CA 01E0 ldi R16,1
01CC 46DF xcall _lcd_write_cmd
01CE .dbline 89
01CE ; lcd_write_cmd(CS1, 0x40);
01CE 20E4 ldi R18,64
01D0 01E0 ldi R16,1
01D2 43DF xcall _lcd_write_cmd
01D4 .dbline 90
01D4 ; for(temp=0; temp<64 ;temp++)
01D4 6627 clr R22
01D6 04C0 xjmp L49
01D8 L46:
01D8 .dbline 91
01D8 .dbline 91
01D8 20EF ldi R18,240
01DA 01E0 ldi R16,1
01DC 67DF xcall _lcd_write_data
01DE .dbline 91
01DE L47:
01DE .dbline 90
01DE 6395 inc R22
01E0 L49:
01E0 .dbline 90
01E0 6034 cpi R22,64
01E2 D0F3 brlo L46
01E4 .dbline 92
01E4 L43:
01E4 .dbline 87
01E4 4395 inc R20
01E6 L45:
01E6 .dbline 87
01E6 4830 cpi R20,8
01E8 70F3 brlo L42
01EA .dbline 94
01EA ; { lcd_write_data(CS1,0Xf0);}
01EA ; }
01EA ;
01EA ; Print_str("TEST lcd READ ok\r\n");
01EA 00E0 ldi R16,<L50
01EC 10E0 ldi R17,>L50
01EE 0E940000 xcall _Print_str
01F2 .dbline 95
01F2 ; lcd_write_cmd(CS1, 0xb8);
01F2 28EB ldi R18,184
01F4 01E0 ldi R16,1
01F6 31DF xcall _lcd_write_cmd
01F8 .dbline 96
01F8 ; lcd_write_cmd(CS1, 0x40);
01F8 20E4 ldi R18,64
01FA 01E0 ldi R16,1
01FC 2EDF xcall _lcd_write_cmd
01FE .dbline 97
01FE ; for(temp=0; temp<64 ;temp++)
01FE 6627 clr R22
0200 06C0 xjmp L54
0202 L51:
0202 .dbline 98
0202 .dbline 98
0202 01E0 ldi R16,1
0204 78DF xcall _lcd_read_data
0206 1127 clr R17
0208 0E940000 xcall _USART_Transmit
020C .dbline 98
020C L52:
020C .dbline 97
020C 6395 inc R22
020E L54:
020E .dbline 97
020E 6034 cpi R22,64
0210 C0F3 brlo L51
0212 .dbline 99
0212 ; { USART_Transmit(lcd_read_data(CS1));}
0212 ; USART_Transmit(lcd_read_cmd(CS1));
0212 01E0 ldi R16,1
0214 F5DE xcall _lcd_read_cmd
0216 1127 clr R17
0218 0E940000 xcall _USART_Transmit
021C .dbline -2
021C L28:
021C 0E940000 xcall pop_gset2
0220 .dbline 0 ; func end
0220 0895 ret
0222 .dbsym r i 20 c
0222 .dbsym r temp 22 c
0222 .dbend
.area data(ram, con, rel)
0000 .dbfile E:\MP3程序\Lcd\lcdBACK.C
0000 L50:
0000 .blkb 19
.area idata
0000 54455354206C63642052454144206F6B .byte 'T,'E,'S,'T,32,'l,'c,'d,32,'R,'E,'A,'D,32,'o,'k
0010 0D0A00 .byte 13,10,0
.area data(ram, con, rel)
0013 .dbfile E:\MP3程序\Lcd\lcdBACK.C
0013 L41:
0013 .blkb 14
.area idata
0013 496E6974206C6364206F6B0D0A00 .byte 'I,'n,'i,'t,32,'l,'c,'d,32,'o,'k,13,10,0
.area data(ram, con, rel)
0021 .dbfile E:\MP3程序\Lcd\lcdBACK.C
0021 L38:
0021 .blkb 15
.area idata
0021 0D0A53746174757332203D20307800 .byte 13,10,'S,'t,'a,'t,'u,'s,50,32,61,32,48,'x,0
.area data(ram, con, rel)
0030 .dbfile E:\MP3程序\Lcd\lcdBACK.C
0030 L32:
0030 .blkb 3
.area idata
0030 0D0A00 .byte 13,10,0
.area data(ram, con, rel)
0033 .dbfile E:\MP3程序\Lcd\lcdBACK.C
0033 L13:
0033 .blkb 13
.area idata
0033 6E6F77207772657465640D0A00 .byte 'n,'o,'w,32,'w,'r,'e,'t,'e,'d,13,10,0
.area data(ram, con, rel)
0040 .dbfile E:\MP3程序\Lcd\lcdBACK.C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -