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

📄 lcdback.lis

📁 mega128+VS1003做的mp3的程序 可以用WINAVR编译
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 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 + -