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

📄 main.lis

📁 单片机控制122x32液晶。液晶内部芯片包含RAM(类似于显存)
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 00AE                   .dbline 186
 00AE           ; } while (rl & StatusBUSY);
 00AE 470B80            tst [_rl],-128
 00B1 BFE5              jnz L8
 00B3                   .dbline -2
 00B3                   .dbline 188
 00B3           ; 
 00B3           ; }
 00B3           L7:
 00B3                   .dbline 0 ; func end
 00B3 7F                ret
 00B4                   .dbend
 00B4                   .dbfunc e CS1_select _CS1_select fV
 00B4           _CS1_select::
 00B4                   .dbline -1
 00B4                   .dbline 192
 00B4           ; 
 00B4           ; // Controller #1
 00B4           ; void CS1_select ()
 00B4           ; {
 00B4                   .dbline 193
 00B4           ; Ctrl &= ~CS2;
 00B4 4104EF            and REG[0x4],-17
 00B7                   .dbline 194
 00B7           ; Ctrl |=  CS1;
 00B7 430408            or REG[0x4],8
 00BA                   .dbline -2
 00BA                   .dbline 195
 00BA           ; }
 00BA           L11:
 00BA                   .dbline 0 ; func end
 00BA 7F                ret
 00BB                   .dbend
 00BB                   .dbfunc e CS2_select _CS2_select fV
 00BB           _CS2_select::
 00BB                   .dbline -1
 00BB                   .dbline 199
 00BB           ; 
 00BB           ; // Controller #2
 00BB           ; void CS2_select ()
 00BB           ; {
 00BB                   .dbline 200
 00BB           ; Ctrl &= ~CS1;
 00BB 4104F7            and REG[0x4],-9
 00BE                   .dbline 201
 00BE           ; Ctrl |=  CS2;
 00BE 430410            or REG[0x4],16
 00C1                   .dbline -2
 00C1                   .dbline 202
 00C1           ; }
 00C1           L12:
 00C1                   .dbline 0 ; func end
 00C1 7F                ret
 00C2                   .dbend
 00C2                   .dbfunc e cs_l _cs_l fV
 00C2           _cs_l::
 00C2                   .dbline -1
 00C2                   .dbline 205
 00C2           ; 
 00C2           ; //duplicate
 00C2           ; void cs_l () {               
 00C2                   .dbline 206
 00C2           ; CS1_select ();
 00C2 9FF0              xcall _CS1_select
 00C4                   .dbline -2
 00C4                   .dbline 207
 00C4           ;              }
 00C4           L13:
 00C4                   .dbline 0 ; func end
 00C4 7F                ret
 00C5                   .dbend
 00C5                   .dbfunc e cs_r _cs_r fV
 00C5           _cs_r::
 00C5                   .dbline -1
 00C5                   .dbline 209
 00C5           ;              
 00C5           ; void cs_r () {               
 00C5                   .dbline 210
 00C5           ; CS2_select ();
 00C5 9FF4              xcall _CS2_select
 00C7                   .dbline -2
 00C7                   .dbline 211
 00C7           ;              }   
 00C7           L14:
 00C7                   .dbline 0 ; func end
 00C7 7F                ret
 00C8                   .dbend
 00C8                   .dbfunc e Write _Write fV
 00C8           _Write::
 00C8                   .dbline -1
 00C8                   .dbline 216
 00C8           ; 
 00C8           ; // read write A0_instruction A0_Data
 00C8           ; 
 00C8           ; void Write ()
 00C8           ; {
 00C8                   .dbline 217
 00C8           ; Ctrl |=  WR;
 00C8 430480            or REG[0x4],-128
 00CB                   .dbline 218
 00CB           ; Ctrl &= ~WR;
 00CB 41047F            and REG[0x4],127
 00CE                   .dbline -2
 00CE                   .dbline 219
 00CE           ; }
 00CE           L15:
 00CE                   .dbline 0 ; func end
 00CE 7F                ret
 00CF                   .dbend
 00CF                   .dbfunc e Read _Read fV
 00CF           _Read::
 00CF                   .dbline -1
 00CF                   .dbline 222
 00CF           ; 
 00CF           ; void Read ()
 00CF           ; {
 00CF                   .dbline 223
 00CF           ; Ctrl &= ~WR;
 00CF 41047F            and REG[0x4],127
 00D2                   .dbline 224
 00D2           ; Ctrl |=  WR;
 00D2 430480            or REG[0x4],-128
 00D5                   .dbline -2
 00D5                   .dbline 225
 00D5           ; }
 00D5           L16:
 00D5                   .dbline 0 ; func end
 00D5 7F                ret
 00D6                   .dbend
 00D6                   .dbfunc e A0_Instruction _A0_Instruction fV
 00D6           _A0_Instruction::
 00D6                   .dbline -1
 00D6                   .dbline 228
 00D6           ; 
 00D6           ; void A0_Instruction ()
 00D6           ; {
 00D6                   .dbline 229
 00D6           ; Ctrl |= A0;
 00D6 430404            or REG[0x4],4
 00D9                   .dbline 230
 00D9           ; Ctrl &= ~A0;
 00D9 4104FB            and REG[0x4],-5
 00DC                   .dbline -2
 00DC                   .dbline 231
 00DC           ; }
 00DC           L17:
 00DC                   .dbline 0 ; func end
 00DC 7F                ret
 00DD                   .dbend
 00DD                   .dbfunc e A0_Data _A0_Data fV
 00DD           _A0_Data::
 00DD                   .dbline -1
 00DD                   .dbline 234
 00DD           ; 
 00DD           ; void A0_Data ()
 00DD           ; {
 00DD                   .dbline 235
 00DD           ; Ctrl &= ~A0;
 00DD 4104FB            and REG[0x4],-5
 00E0                   .dbline 236
 00E0           ; Ctrl |= A0;
 00E0 430404            or REG[0x4],4
 00E3                   .dbline -2
 00E3                   .dbline 237
 00E3           ; }
 00E3           L18:
 00E3                   .dbline 0 ; func end
 00E3 7F                ret
 00E4                   .dbend
 00E4                   .dbfunc e PRT2_HZ _PRT2_HZ fV
 00E4           _PRT2_HZ::
 00E4                   .dbline -1
 00E4                   .dbline 253
 00E4           ; 
 00E4           ; 
 00E4           ; // ports operate
 00E4           ; 
 00E4           ; // DM2 DM1 DM0 Mode
 00E4           ; // 0   0   0   Resistive Pull Down
 00E4           ; // 0   0   1   Strong Drive
 00E4           ; // 0   1   0   High Impedence
 00E4           ; // 0   1   1   Resistive Pull Up
 00E4           ; // 1   0   0   Open Drain, Drives High
 00E4           ; // 1   0   1   Slow Strong Drive
 00E4           ; // 1   1   0   High Impedence Analog
 00E4           ; // 1   1   1   Open Drain, Drives Low
 00E4           ; 
 00E4           ; 
 00E4           ;                void PRT2_HZ () {
 00E4                   .dbline 254
 00E4           ;                         M8C_SetBank1;   
 00E4 7110                      or  F, 10h
 00E6           
 00E6                   .dbline 255
 00E6           ;                         PRT2DM0 &= 0b00000000;                        
 00E6 7110              or F,0x10  ; iopage = 1
 00E8 620800            mov REG[0x8],0
 00EB                   .dbline 256
 00EB           ;                         PRT2DM1 |= 0b11111111;    
 00EB 4309FF            or REG[0x9],-1
 00EE 70EF              and F,0xEF ; iopage = 0
 00F0                   .dbline 257
 00F0           ;                         M8C_SetBank0; 
 00F0 70EF                      and F, EFh
 00F2           
 00F2                   .dbline 258
 00F2           ;                         PRT2DM2 &= 0b00000000;
 00F2 620B00            mov REG[0xb],0
 00F5                   .dbline -2
 00F5                   .dbline 259
 00F5           ;                               }
 00F5           L19:
 00F5                   .dbline 0 ; func end
 00F5 7F                ret
 00F6                   .dbend
 00F6                   .dbfunc e PRT2_PD _PRT2_PD fV
 00F6           _PRT2_PD::
 00F6                   .dbline -1
 00F6                   .dbline 261
 00F6           ; 
 00F6           ;                void PRT2_PD () {
 00F6                   .dbline 262
 00F6           ;                         M8C_SetBank1;   
 00F6 7110                      or  F, 10h
 00F8           
 00F8                   .dbline 263
 00F8           ;                         PRT2DM0 &= 0b00000000;                        
 00F8 7110              or F,0x10  ; iopage = 1
 00FA 620800            mov REG[0x8],0
 00FD                   .dbline 264
 00FD           ;                         PRT2DM1 &= 0b00000000;   
 00FD 620900            mov REG[0x9],0
 0100 70EF              and F,0xEF ; iopage = 0
 0102                   .dbline 265
 0102           ;                         M8C_SetBank0; 
 0102 70EF                      and F, EFh
 0104           
 0104                   .dbline 266
 0104           ;                         PRT2DM2 &= 0b00000000;
 0104 620B00            mov REG[0xb],0
 0107                   .dbline -2
 0107                   .dbline 267
 0107           ;                               }
 0107           L20:
 0107                   .dbline 0 ; func end
 0107 7F                ret
 0108                   .dbend
 0108                   .dbfunc e test_logo _test_logo fV
 0108           ;            a22 -> X+0
 0108           _test_logo::
 0108                   .dbline -1
 0108 10                push X
 0109 4F                mov X,SP
 010A 3801              add SP,1
 010C                   .dbline 270
 010C           ; 
 010C           ; 
 010C           ; void test_logo(){
 010C                   .dbline 273
 010C           ; BYTE a22;
 010C           ; 
 010C           ;   if (x<= 60){
 010C 3C0A3C            cmp [_x],60
 010F A003              jz X0
 0111 D009              jnc L22
 0113           X0:
 0113                   .dbline 273
 0113                   .dbline 274
 0113           ; cs_l();
 0113 9FAD              xcall _cs_l
 0115                   .dbline 275
 0115           ;       a22 = x;
 0115 510A              mov A,[_x]
 0117 5400              mov [X+0],A
 0119                   .dbline 276
 0119           ;              }
 0119 8009              xjmp L23
 011B           L22:
 011B                   .dbline 277
 011B           ;      else    {
 011B                   .dbline 278
 011B           ; cs_r();
 011B 9FA8              xcall _cs_r
 011D                   .dbline 279
 011D           ;       a22=(x-61);
 011D 510A              mov A,[_x]
 011F 113D              sub A,61
 0121 5400              mov [X+0],A
 0123                   .dbline 280
 0123           ;              }
 0123           L23:
 0123                   .dbline 283
 0123           ; 
 0123           ; 
 0123           ;       yByte   = y ;//>> 3; 
 0123 5F0609            mov [_yByte],[_y]
 0126                   .dbline 284
 0126           ;       bitnum  = y & 0x07;
 0126 5109              mov A,[_y]
 0128 2107              and A,7
 012A 5308              mov [_bitnum],A
 012C                   .dbline 285
 012C           ;       bitmask = l_mask_array[bitnum]; 
 012C 5F0008            mov [__r1],[_bitnum]
 012F 550000            mov [__r0],0
 0132 0600E8            add [__r1],<_l_mask_array
 0135 0E00E8            adc [__r0],>_l_mask_array
 0138 5100              mov A,[__r0]
 013A 10                push X
 013B 5800              mov X,[__r1]
 013D 28                romx
 013E 20                pop X
 013F 5307              mov [_bitmask],A
 0141                   .dbline 288
 0141           ;     
 0141           ; 
 0141           ; Data = ColumnAdressSet | a22;
 0141 5200              mov A,[X+0]
 0143 6008              mov REG[0x8],A

⌨️ 快捷键说明

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