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

📄 main.lis

📁 单片机控制122x32液晶。液晶内部芯片包含RAM(类似于显存)
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0145                   .dbline 289
 0145           ; write_instruction ();
 0145 9F3B              xcall _write_instruction
 0147                   .dbline 291
 0147           ; 
 0147           ; Data = PageAddressSet | yByte;
 0147 5106              mov A,[_yByte]
 0149 29B8              or A,-72
 014B 6008              mov REG[0x8],A
 014D                   .dbline 292
 014D           ; write_instruction ();
 014D 9F33              xcall _write_instruction
 014F                   .dbline 294
 014F           ; 
 014F           ; Data = DisplayStartLine;
 014F 6208C0            mov REG[0x8],-64
 0152                   .dbline 295
 0152           ; write_instruction ();
 0152 9F2E              xcall _write_instruction
 0154                   .dbline 297
 0154           ; 
 0154           ; Data = psoc_bmp[str];
 0154 5105              mov A,[_str+1]
 0156 0100              add A,<_psoc_bmp
 0158 5300              mov [__r1],A
 015A 5104              mov A,[_str]
 015C 0900              adc A,>_psoc_bmp
 015E 10                push X
 015F 5800              mov X,[__r1]
 0161 28                romx
 0162 20                pop X
 0163 6008              mov REG[0x8],A
 0165                   .dbline 299
 0165           ; 
 0165           ; write_data ();
 0165 9F06              xcall _write_data
 0167                   .dbline -2
 0167                   .dbline 302
 0167           ; 
 0167           ; 
 0167           ; }
 0167           L21:
 0167 38FF              add SP,-1
 0169 20                pop X
 016A                   .dbline 0 ; func end
 016A 7F                ret
 016B                   .dbsym l a22 0 c
 016B                   .dbend
 016B                   .dbfunc e test_PSoC _test_PSoC fV
 016B           ;             st -> X+0
 016B           _test_PSoC::
 016B                   .dbline -1
 016B 10                push X
 016C 4F                mov X,SP
 016D 3801              add SP,1
 016F                   .dbline 304
 016F           ; 
 016F           ; void test_PSoC(){
 016F                   .dbline 306
 016F           ; BYTE st;
 016F           ; str=0;
 016F 550500            mov [_str+1],0
 0172 550400            mov [_str],0
 0175                   .dbline 307
 0175 550A00            mov [_x],0
 0178 801C              xjmp L28
 017A           L25:
 017A                   .dbline 307
 017A           ; for (x=0;x<122;x++){
 017A                   .dbline 309
 017A 560000            mov [X+0],0
 017D 800E              xjmp L32
 017F           L29:
 017F                   .dbline 309
 017F                   .dbline 310
 017F 5200              mov A,[X+0]
 0181 5309              mov [_y],A
 0183                   .dbline 312
 0183 9F83              xcall _test_logo
 0185                   .dbline 313
 0185 7605              inc [_str+1]
 0187 0E0400            adc [_str],0
 018A                   .dbline 314
 018A           L30:
 018A                   .dbline 309
 018A 7700              inc [X+0]
 018C           L32:
 018C                   .dbline 309
 018C 3D0004            cmp [X+0],4
 018F A003              jz X1
 0191 CFED              jc L29
 0193           X1:
 0193                   .dbline 316
 0193           L26:
 0193                   .dbline 307
 0193 760A              inc [_x]
 0195           L28:
 0195                   .dbline 307
 0195 3C0A7A            cmp [_x],122
 0198 A003              jz X2
 019A CFDF              jc L25
 019C           X2:
 019C                   .dbline -2
 019C                   .dbline 319
 019C           ; 
 019C           ; for (st=0;st<4;st++)  {
 019C           ; y=st;
 019C           ; 
 019C           ; test_logo();
 019C           ; str++;
 019C           ;                       }
 019C           ; 
 019C           ;                    }
 019C           ;                    
 019C           ;                     
 019C           ;                 }
 019C           L24:
 019C 38FF              add SP,-1
 019E 20                pop X
 019F                   .dbline 0 ; func end
 019F 7F                ret
 01A0                   .dbsym l st 0 c
 01A0                   .dbend
 01A0                   .dbfunc e display _display fV
 01A0           _display::
 01A0                   .dbline -1
 01A0                   .dbline 324
 01A0           ;  
 01A0           ; 
 01A0           ; //enable lcd
 01A0           ; 
 01A0           ; void display() {
 01A0                   .dbline 325
 01A0           ; Data = Display_OFF;
 01A0 6208AE            mov REG[0x8],-82
 01A3                   .dbline 326
 01A3           ; write_instruction ();              
 01A3 9EDD              xcall _write_instruction
 01A5                   .dbline 327
 01A5           ; Ctrl &= ~CS1;
 01A5 4104F7            and REG[0x4],-9
 01A8                   .dbline 328
 01A8           ; Ctrl &= ~CS2;
 01A8 4104EF            and REG[0x4],-17
 01AB                   .dbline 329
 01AB           ; Data = Display_ON;
 01AB 6208AF            mov REG[0x8],-81
 01AE                   .dbline 330
 01AE           ; write_instruction ();  
 01AE 9ED2              xcall _write_instruction
 01B0                   .dbline -2
 01B0                   .dbline 331
 01B0           ; }
 01B0           L33:
 01B0                   .dbline 0 ; func end
 01B0 7F                ret
 01B1                   .dbend
 01B1                   .dbfunc e delay _delay fV
 01B1           ;              i -> X+0
 01B1           ;    delay_input -> X-5
 01B1           _delay::
 01B1                   .dbline -1
 01B1 10                push X
 01B2 4F                mov X,SP
 01B3 3802              add SP,2
 01B5                   .dbline 337
 01B5           ; 
 01B5           ; 
 01B5           ; 
 01B5           ; 
 01B5           ;   void delay (INT delay_input)
 01B5           ;   {
 01B5                   .dbline 339
 01B5 560100            mov [X+1],0
 01B8 560000            mov [X+0],0
 01BB 8006              xjmp L38
 01BD           L35:
 01BD                   .dbline 339
 01BD           L36:
 01BD                   .dbline 339
 01BD 7701              inc [X+1]
 01BF 0F0000            adc [X+0],0
 01C2           L38:
 01C2                   .dbline 339
 01C2           ; INT  i;
 01C2           ;   for (i=0; i<delay_input; i++) ;
 01C2 5200              mov A,[X+0]
 01C4 3180              xor A,-128
 01C6 5300              mov [__rY],A
 01C8 52FB              mov A,[X-5]
 01CA 3180              xor A,-128
 01CC 5300              mov [__rZ],A
 01CE 550000            mov [__rX],0
 01D1 5201              mov A,[X+1]
 01D3 13FC              sub A,[X-4]
 01D5 2C00              or [__rX],A
 01D7 5100              mov A,[__rY]
 01D9 1A00              sbb A,[__rZ]
 01DB 2C00              or [__rX],A
 01DD CFDF              jc L35
 01DF           X3:
 01DF                   .dbline -2
 01DF                   .dbline 340
 01DF           ;   } 
 01DF           L34:
 01DF 38FE              add SP,-2
 01E1 20                pop X
 01E2                   .dbline 0 ; func end
 01E2 7F                ret
 01E3                   .dbsym l i 0 I
 01E3                   .dbsym l delay_input -5 I
 01E3                   .dbend
 01E3                   .dbfunc e ports_init _ports_init fV
 01E3           _ports_init::
 01E3                   .dbline -1
 01E3                   .dbline 343
 01E3           ;  
 01E3           ; 
 01E3           ; void ports_init () {
 01E3                   .dbline 345
 01E3           ; // configure reset pin PD
 01E3           ;                         M8C_SetBank1;   
 01E3 7110                      or  F, 10h
 01E5           
 01E5                   .dbline 346
 01E5           ;                         PRT0DM0 &= ~bit0;                 
 01E5 7110              or F,0x10  ; iopage = 1
 01E7 4100FE            and REG[ 0],-2
 01EA                   .dbline 347
 01EA           ;                         PRT0DM1 &= ~bit0;    
 01EA 4101FE            and REG[0x1],-2
 01ED 70EF              and F,0xEF ; iopage = 0
 01EF                   .dbline 348
 01EF           ;                         M8C_SetBank0; 
 01EF 70EF                      and F, EFh
 01F1           
 01F1                   .dbline 349
 01F1           ;                         PRT0DM2 &= ~bit0;
 01F1 4103FE            and REG[0x3],-2
 01F4                   .dbline 352
 01F4           ; 
 01F4           ; // configure P1 pins PD
 01F4           ;                         M8C_SetBank1;   
 01F4 7110                      or  F, 10h
 01F6           
 01F6                   .dbline 353
 01F6           ;                         PRT1DM0 &= 0b00000000;                        
 01F6 7110              or F,0x10  ; iopage = 1
 01F8 620400            mov REG[0x4],0
 01FB                   .dbline 354
 01FB           ;                         PRT1DM1 &= 0b00000000;   
 01FB 620500            mov REG[0x5],0
 01FE 70EF              and F,0xEF ; iopage = 0
 0200                   .dbline 355
 0200           ;                         M8C_SetBank0; 
 0200 70EF                      and F, EFh
 0202           
 0202                   .dbline 356
 0202           ;                         PRT1DM2 &= 0b00000000;
 0202 620700            mov REG[0x7],0
 0205                   .dbline 359
 0205           ; 
 0205           ; // configure P2 pins PD
 0205           ;                         M8C_SetBank1;   
 0205 7110                      or  F, 10h
 0207           
 0207                   .dbline 360
 0207           ;                         PRT2DM0 &= 0b00000000;                        
 0207 7110              or F,0x10  ; iopage = 1
 0209 620800            mov REG[0x8],0
 020C                   .dbline 361
 020C           ;                         PRT2DM1 &= 0b00000000;   
 020C 620900            mov REG[0x9],0
 020F 70EF              and F,0xEF ; iopage = 0
 0211                   .dbline 362
 0211           ;                         M8C_SetBank0; 
 0211 70EF                      and F, EFh
 0213           
 0213                   .dbline 363
 0213           ;                         PRT2DM2 &= 0b00000000;
 0213 620B00            mov REG[0xb],0
 0216                   .dbline -2
 0216                   .dbline 364
 0216           ; }
 0216           L39:
 0216                   .dbline 0 ; func end
 0216 7F                ret
 0217                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile ./main.c
 0000           _j::
 0000                   .blkb 2
 0002                   .dbsym e j _j I
 0002           _i::
 0002                   .blkb 2
 0004                   .dbsym e i _i I
 0004           _str::
 0004                   .blkb 2
 0006                   .dbsym e str _str i
 0006           _yByte::
 0006                   .blkb 1
 0007                   .dbsym e yByte _yByte c
 0007           _bitmask::
 0007                   .blkb 1
 0008                   .dbsym e bitmask _bitmask c
 0008           _bitnum::
 0008                   .blkb 1
 0009                   .dbsym e bitnum _bitnum c
 0009           _y::
 0009                   .blkb 1
 000A                   .dbsym e y _y c
 000A           _x::
 000A                   .blkb 1
 000B                   .dbsym e x _x c
 000B           _rl::
 000B                   .blkb 1
 000C                   .dbsym e rl _rl c

⌨️ 快捷键说明

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