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

📄 avr320240.lis

📁 AVR单片机驱动C320240单色液晶模块的C语言程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0178           ; *******************************************************************************/
 0178           ; void WriteCommand( Uchar CommandByte ) 
 0178           ; {
 0178                   .dbline 277
 0178           ;     PORTB|=(1<<3);    //rs = 1
 0178 C39A              sbi 0x18,3
 017A                   .dbline 278
 017A           ;     PORTB|=(1<<1);    //read = 1
 017A C19A              sbi 0x18,1
 017C                   .dbline 279
 017C           ;     PORTB|=(1<<0);    //write = 1
 017C C09A              sbi 0x18,0
 017E                   .dbline 280
 017E           ;     PORTA=0xff;
 017E 8FEF              ldi R24,255
 0180 8BBB              out 0x1b,R24
 0182                   .dbline 281
 0182           ;     PORTA=CommandByte;
 0182 0BBB              out 0x1b,R16
 0184                   .dbline 283
 0184           ; //    Delay(10);
 0184           ;     PORTB &= ~(1<<2);  //cs = 0
 0184 C298              cbi 0x18,2
 0186                   .dbline 285
 0186           ; //    Delay(10);
 0186           ;     PORTB &= ~(1<<0);  //write = 0
 0186 C098              cbi 0x18,0
 0188                   .dbline 287
 0188           ; //    Delay(20);       
 0188           ;     PORTB |= (1<<0);   //write = 1
 0188 C09A              sbi 0x18,0
 018A                   .dbline 289
 018A           ; //    Delay(10);   
 018A           ;     PORTB |= (1<<2);   //cs = 1
 018A C29A              sbi 0x18,2
 018C                   .dbline -2
 018C           L24:
 018C                   .dbline 0 ; func end
 018C 0895              ret
 018E                   .dbsym r CommandByte 16 c
 018E                   .dbend
 018E                   .dbfunc e WriteData _WriteData fV
 018E           ;          dataW -> R16
                        .even
 018E           _WriteData::
 018E                   .dbline -1
 018E                   .dbline 304
 018E           ; }
 018E           ; 
 018E           ; /******************************************************************************
 018E           ; **  函数名:             void WriteData( Uchar dataW )
 018E           ; 
 018E           ; **  描述:                       向控制器写数据
 018E           ; 
 018E           ; **  修改的全局变量: 
 018E           ; 
 018E           ; **  输入参数:
 018E           ; 
 018E           ; **  返回值: 
 018E           ; *******************************************************************************/
 018E           ; void WriteData( Uchar dataW ) 
 018E           ; {
 018E                   .dbline 305
 018E           ;     PORTB &=~(1<<3);    //rs = 0 
 018E C398              cbi 0x18,3
 0190                   .dbline 306
 0190           ;     PORTB|=(1<<1);     //read = 1
 0190 C19A              sbi 0x18,1
 0192                   .dbline 307
 0192           ;     PORTB|=(1<<0);     //write = 1 
 0192 C09A              sbi 0x18,0
 0194                   .dbline 308
 0194           ;     PORTA=0xff;
 0194 8FEF              ldi R24,255
 0196 8BBB              out 0x1b,R24
 0198                   .dbline 309
 0198           ;     PORTA=dataW; 
 0198 0BBB              out 0x1b,R16
 019A                   .dbline 311
 019A           ; //    Delay(10);
 019A           ;     PORTB &= ~(1<<2);   //cs = 0
 019A C298              cbi 0x18,2
 019C                   .dbline 313
 019C           ; //    Delay(10);   
 019C           ;     PORTB &= ~(1<<0);   //write = 0   
 019C C098              cbi 0x18,0
 019E                   .dbline 315
 019E           ; //    Delay(20);
 019E           ;     PORTB |= (1<<0);    //write = 1
 019E C09A              sbi 0x18,0
 01A0                   .dbline 317
 01A0           ; //    Delay(10);
 01A0           ;     PORTB |= (1<<2);    //cs = 1
 01A0 C29A              sbi 0x18,2
 01A2                   .dbline -2
 01A2           L25:
 01A2                   .dbline 0 ; func end
 01A2 0895              ret
 01A4                   .dbsym r dataW 16 c
 01A4                   .dbend
 01A4                   .dbfunc e LcmInition _LcmInition fV
 01A4           ;              i -> R20
                        .even
 01A4           _LcmInition::
 01A4 4A93              st -y,R20
 01A6                   .dbline -1
 01A6                   .dbline 332
 01A6           ; }
 01A6           ; 
 01A6           ; /******************************************************************************
 01A6           ; **  函数名:           void LcmInition( void )   
 01A6           ; 
 01A6           ; **  描述:                     LCM 控制器初始化
 01A6           ; 
 01A6           ; **  修改的全局变量: 
 01A6           ; 
 01A6           ; **  输入参数:
 01A6           ; 
 01A6           ; **  返回值: 
 01A6           ; *******************************************************************************/
 01A6           ; void LcmInition( void ) 
 01A6           ; {
 01A6                   .dbline 336
 01A6           ; 
 01A6           ; Uchar i;
 01A6           ; 
 01A6           ; WriteCommand( SystemSet ); 
 01A6 00E4              ldi R16,64
 01A8 E7DF              xcall _WriteCommand
 01AA                   .dbline 337
 01AA           ; for (i=0;i<8;i++) {
 01AA 4427              clr R20
 01AC 09C0              xjmp L30
 01AE           L27:
 01AE                   .dbline 337
 01AE                   .dbline 338
 01AE           ; WriteData( ParaSysTable8[i] ); 
 01AE 80E0              ldi R24,<_ParaSysTable8
 01B0 90E0              ldi R25,>_ParaSysTable8
 01B2 E42F              mov R30,R20
 01B4 FF27              clr R31
 01B6 E80F              add R30,R24
 01B8 F91F              adc R31,R25
 01BA 0491              lpm R16,Z
 01BC E8DF              xcall _WriteData
 01BE                   .dbline 339
 01BE           ; }
 01BE           L28:
 01BE                   .dbline 337
 01BE 4395              inc R20
 01C0           L30:
 01C0                   .dbline 337
 01C0 4830              cpi R20,8
 01C2 A8F3              brlo L27
 01C4           X5:
 01C4                   .dbline 341
 01C4           ; 
 01C4           ; WriteCommand( Scroll ); 
 01C4 04E4              ldi R16,68
 01C6 D8DF              xcall _WriteCommand
 01C8                   .dbline 342
 01C8           ; for (i=0;i<10;i++) {
 01C8 4427              clr R20
 01CA 09C0              xjmp L34
 01CC           L31:
 01CC                   .dbline 342
 01CC                   .dbline 343
 01CC           ; WriteData( ParaScrTableA[i] );
 01CC 80E0              ldi R24,<_ParaScrTableA
 01CE 90E0              ldi R25,>_ParaScrTableA
 01D0 E42F              mov R30,R20
 01D2 FF27              clr R31
 01D4 E80F              add R30,R24
 01D6 F91F              adc R31,R25
 01D8 0491              lpm R16,Z
 01DA D9DF              xcall _WriteData
 01DC                   .dbline 344
 01DC           ; }
 01DC           L32:
 01DC                   .dbline 342
 01DC 4395              inc R20
 01DE           L34:
 01DE                   .dbline 342
 01DE 4A30              cpi R20,10
 01E0 A8F3              brlo L31
 01E2           X6:
 01E2                   .dbline 346
 01E2           ; 
 01E2           ; WriteCommand( HdotScr ); 
 01E2 0AE5              ldi R16,90
 01E4 C9DF              xcall _WriteCommand
 01E6                   .dbline 347
 01E6           ; WriteData( 0 ); 
 01E6 0027              clr R16
 01E8 D2DF              xcall _WriteData
 01EA                   .dbline 348
 01EA           ; WriteCommand( Ovlay ); 
 01EA 0BE5              ldi R16,91
 01EC C5DF              xcall _WriteCommand
 01EE                   .dbline 349
 01EE           ; WriteData( 4 ); 
 01EE 04E0              ldi R16,4
 01F0 CEDF              xcall _WriteData
 01F2                   .dbline 350
 01F2           ; WriteCommand( DispOn ); 
 01F2 09E5              ldi R16,89
 01F4 C1DF              xcall _WriteCommand
 01F6                   .dbline 351
 01F6           ; WriteData( 0x54 ); 
 01F6 04E5              ldi R16,84
 01F8 CADF              xcall _WriteData
 01FA                   .dbline -2
 01FA           L26:
 01FA                   .dbline 0 ; func end
 01FA 4991              ld R20,y+
 01FC 0895              ret
 01FE                   .dbsym r i 20 c
 01FE                   .dbend
 01FE                   .dbfunc e LcmClear _LcmClear fV
 01FE           ;             i1 -> R20,R21
                        .even
 01FE           _LcmClear::
 01FE 4A93              st -y,R20
 0200 5A93              st -y,R21
 0202                   .dbline -1
 0202                   .dbline 366
 0202           ; }
 0202           ; 
 0202           ; /******************************************************************************
 0202           ; **  函数名:            void LcmClear( void )
 0202           ; 
 0202           ; **  描述:                      清屏
 0202           ; 
 0202           ; **  修改的全局变量: 
 0202           ; 
 0202           ; **  输入参数:
 0202           ; 
 0202           ; **  返回值: 
 0202           ; *******************************************************************************/
 0202           ; void LcmClear( void ) 
 0202           ; {
 0202                   .dbline 367
 0202           ; Uint i1=32767;
 0202 4FEF              ldi R20,32767
 0204 5FE7              ldi R21,127
 0206                   .dbline 368
 0206           ; WriteCommand( CsrDirR ); 
 0206 0CE4              ldi R16,76
 0208 B7DF              xcall _WriteCommand
 020A                   .dbline 369
 020A           ; WriteCommand( CsrW ); 
 020A 06E4              ldi R16,70
 020C B5DF              xcall _WriteCommand
 020E                   .dbline 370
 020E           ; WriteData( 0 ); 
 020E 0027              clr R16
 0210 BEDF              xcall _WriteData
 0212                   .dbline 371
 0212           ; WriteData( 0 ); 
 0212 0027              clr R16
 0214 BCDF              xcall _WriteData
 0216                   .dbline 372
 0216           ; WriteCommand( mWrite ); 
 0216 02E4              ldi R16,66
 0218 AFDF              xcall _WriteCommand
 021A 02C0              xjmp L37
 021C           L36:
 021C                   .dbline 373
 021C           ; while(i1--) {
 021C                   .dbline 375
 021C           ; 
 021C           ; WriteData( 0x0 ); 
 021C 0027              clr R16
 021E B7DF              xcall _WriteData
 0220                   .dbline 376
 0220           ; }
 0220           L37:
 0220                   .dbline 373
 0220 1A01              movw R2,R20
 0222 4150              subi R20,1
 0224 5040              sbci R21,0
 0226 2220              tst R2
 0228 C9F7              brne L36
 022A 3320              tst R3
 022C B9F7              brne L36
 022E           X7:
 022E                   .dbline -2
 022E           L35:
 022E                   .dbline 0 ; func end
 022E 5991              ld R21,y+
 0230 4991              ld R20,y+
 0232 0895              ret
 0234                   .dbsym r i1 20 i
 0234                   .dbend
 0234                   .dbfunc e ShowPicture _ShowPicture fV
 0234           ;            C_H -> R14
 0234           ;            C_L -> R22
 0234           ;              y -> R22,R23
 0234           ;              x -> R14,R15
 0234           ;        dot_sum -> R14,R15
 0234           ;              j -> R10
 0234           ;            POS -> R20,R21
 0234           ;              i -> R14
 0234           ;        address -> y+18
 0234           ;          Hight -> y+16
 0234           ;          Width -> R12,R13
 0234           ;            s_y -> y+12
 0234           ;            s_x -> y+10
                        .even
 0234           _ShowPicture::
 0234 0E940000          xcall push_arg4
 0238 0E940000          xcall push_xgsetF0FC
 023C CE84              ldd R12,y+14
 023E DF84              ldd R13,y+15
 0240                   .dbline -1
 0240                   .dbline 396
 0240           ; }
 0240           ; 
 0240           ; /******************************************************************************
 0240           ; **  函数名:   void ShowPicture(Uint s_x,Uint s_y,Uint Width,Uint Hight,
 0240           ;                                                   Uchar code  *address)
 0240           ; 
 0240           ; **  描述:         显示一幅图片
 0240           ; 
 0240           ; **  修改的全局变量: 
 0240           ; 

⌨️ 快捷键说明

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