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

📄 设计最后.lis

📁 PS2控制代码123456789
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00AC                   .dbline -2
 00AC           L19:
 00AC 0E940000          xcall pop_gset4
 00B0                   .dbline 0 ; func end
 00B0 0895              ret
 00B2                   .dbsym r asc_p 20 c
 00B2                   .dbsym r i 22 c
 00B2                   .dbsym r y 10 c
 00B2                   .dbsym r x 12 c
 00B2                   .dbend
 00B2                   .dbfunc e bmp_tran _bmp_tran fV
 00B2           ;              j -> R20
 00B2           ;              i -> R14
 00B2           ;          bmp_p -> R22,R23
 00B2           ;          width -> R10
 00B2           ;           high -> R12
 00B2           ;              y -> y+12
 00B2           ;              x -> y+10
                        .even
 00B2           _bmp_tran::
 00B2 0E940000          xcall push_arg4
 00B6 0E940000          xcall push_gset5
 00BA CE84              ldd R12,y+14
 00BC A888              ldd R10,y+16
 00BE 6A89              ldd R22,y+18
 00C0 7B89              ldd R23,y+19
 00C2                   .dbline -1
 00C2                   .dbline 228
 00C2           ;           {   ocmj_write(0xf1);
 00C2           ;                     ocmj_write(x+i);
 00C2           ;                     ocmj_write(y);
 00C2           ;                     ocmj_write(asc_p);
 00C2           ;             }
 00C2           ;                 
 00C2           ;         }     
 00C2           ; //***************************************************************************//
 00C2           ; /*         传送bmp点阵数据到LCD            */
 00C2           ; /*         x:0~15(字节为单位)  y:0~64      */
 00C2           ; /*         bmp_p:指向图形数据的指针        */ 
 00C2           ; /*         high:位图高度(点阵行为单位)     */
 00C2           ; /*         width:位图宽度(以字节为单位)?  */
 00C2           ; void bmp_tran(unsigned char x,unsigned char y,unsigned char high,unsigned char width,const unsigned char *bmp_p)
 00C2           ;      {
 00C2                   .dbline 230
 00C2           ;         unsigned char i,j;
 00C2           ;         x+=4;
 00C2 8A85              ldd R24,y+10
 00C4 8C5F              subi R24,252    ; addi 4
 00C6 8A87              std y+10,R24
 00C8                   .dbline 231
 00C8           ;         for(j=0;j<high;j++)
 00C8 4427              clr R20
 00CA 1AC0              xjmp L28
 00CC           L25:
 00CC                   .dbline 232
 00CC           ;            {
 00CC                   .dbline 233
 00CC           ;                 for(i=0;i<width;i++)
 00CC EE24              clr R14
 00CE 0FC0              xjmp L32
 00D0           L29:
 00D0                   .dbline 234
 00D0                   .dbline 235
 00D0 03EF              ldi R16,243
 00D2 BCDF              xcall _ocmj_write
 00D4                   .dbline 236
 00D4 0A85              ldd R16,y+10
 00D6 BADF              xcall _ocmj_write
 00D8                   .dbline 237
 00D8 0C85              ldd R16,y+12
 00DA B8DF              xcall _ocmj_write
 00DC                   .dbline 238
 00DC FB01              movw R30,R22
 00DE 0491              lpm R16,Z
 00E0 B5DF              xcall _ocmj_write
 00E2                   .dbline 239
 00E2 6F5F              subi R22,255  ; offset = 1
 00E4 7F4F              sbci R23,255
 00E6                   .dbline 240
 00E6 0A84              ldd R0,y+10
 00E8 0394              inc R0
 00EA 0A86              std y+10,R0
 00EC                   .dbline 241
 00EC           L30:
 00EC                   .dbline 233
 00EC E394              inc R14
 00EE           L32:
 00EE                   .dbline 233
 00EE EA14              cp R14,R10
 00F0 78F3              brlo L29
 00F2                   .dbline 242
 00F2 0A84              ldd R0,y+10
 00F4 0A18              sub R0,R10
 00F6 0A86              std y+10,R0
 00F8                   .dbline 243
 00F8 0C84              ldd R0,y+12
 00FA 0394              inc R0
 00FC 0C86              std y+12,R0
 00FE                   .dbline 244
 00FE           L26:
 00FE                   .dbline 231
 00FE 4395              inc R20
 0100           L28:
 0100                   .dbline 231
 0100 4C15              cp R20,R12
 0102 20F3              brlo L25
 0104                   .dbline -2
 0104           L24:
 0104 0E940000          xcall pop_gset5
 0108 2496              adiw R28,4
 010A                   .dbline 0 ; func end
 010A 0895              ret
 010C                   .dbsym r j 20 c
 010C                   .dbsym r i 14 c
 010C                   .dbsym r bmp_p 22 pkc
 010C                   .dbsym r width 10 c
 010C                   .dbsym r high 12 c
 010C                   .dbsym l y 12 c
 010C                   .dbsym l x 10 c
 010C                   .dbend
 010C                   .dbfunc e clr _clr fV
                        .even
 010C           _clr::
 010C                   .dbline -1
 010C                   .dbline 248
 010C           ;                   {
 010C           ;                        ocmj_write(0xf3);//图形
 010C           ;                        ocmj_write(x);
 010C           ;                        ocmj_write(y);
 010C           ;                        ocmj_write(*bmp_p);
 010C           ;                        bmp_p++;
 010C           ;                        x++;
 010C           ;                       }
 010C           ;                 x-=width;
 010C           ;                 y++;  
 010C           ;                }
 010C           ;        }      
 010C           ;       
 010C           ;       void clr(void)
 010C           ;       {
 010C                   .dbline 249
 010C           ;        ocmj_write(0xf4);
 010C 04EF              ldi R16,244
 010E 9EDF              xcall _ocmj_write
 0110                   .dbline -2
 0110           L33:
 0110                   .dbline 0 ; func end
 0110 0895              ret
 0112                   .dbend
 0112                   .dbfunc e write_ASCII _write_ASCII fV
 0112           ;           data -> y+6
 0112           ;             yy -> y+4
 0112           ;             xx -> R20,R21
 0112           ;           type -> R22,R23
                        .even
 0112           _write_ASCII::
 0112 0E940000          xcall push_gset2
 0116 A901              movw R20,R18
 0118 B801              movw R22,R16
 011A                   .dbline -1
 011A                   .dbline 256
 011A           ;       }
 011A           ;                
 011A           ; /**********************************************/
 011A           ;                  /* 写ASCII码初始化 *////找代码//X轴只能从4,5,6,7。....18 19开始,Y=0,16,32,48
 011A           ; /**********************************************///只能显示16*4个字符
 011A           ; void write_ASCII(unsigned type,unsigned xx,unsigned yy,unsigned data)
 011A           ; {
 011A                   .dbline 257
 011A           ;     ocmj_write(type);//0xf9  ASCII码代码
 011A 062F              mov R16,R22
 011C 97DF              xcall _ocmj_write
 011E                   .dbline 258
 011E           ;     ocmj_write(xx);
 011E 042F              mov R16,R20
 0120 95DF              xcall _ocmj_write
 0122                   .dbline 259
 0122           ;     ocmj_write(yy);
 0122 0C81              ldd R16,y+4
 0124 1D81              ldd R17,y+5
 0126 92DF              xcall _ocmj_write
 0128                   .dbline 260
 0128           ;     ocmj_write(data);
 0128 0E81              ldd R16,y+6
 012A 1F81              ldd R17,y+7
 012C 8FDF              xcall _ocmj_write
 012E                   .dbline -2
 012E           L34:
 012E 0E940000          xcall pop_gset2
 0132                   .dbline 0 ; func end
 0132 0895              ret
 0134                   .dbsym l data 6 i
 0134                   .dbsym l yy 4 i
 0134                   .dbsym r xx 20 i
 0134                   .dbsym r type 22 i
 0134                   .dbend
 0134                   .dbfunc e asc_tran _asc_tran fV
 0134           ;          asc_p -> R20,R21
 0134           ;              y -> R22
 0134           ;              x -> R10
                        .even
 0134           _asc_tran::
 0134 0E940000          xcall push_gset3
 0138 622F              mov R22,R18
 013A A02E              mov R10,R16
 013C 4E81              ldd R20,y+6
 013E 5F81              ldd R21,y+7
 0140                   .dbline -1
 0140                   .dbline 266
 0140           ; }
 0140           ; /*********************************************************************/
 0140           ;  /***********************传送ASCII字母到LCD ********************** */
 0140           ; /***************************    x:0x00~0x0f y:0~64 显示8*16个字符           */        
 0140           ; void asc_tran(unsigned char x,unsigned char y,unsigned char *asc_p)
 0140           ;     {
 0140                   .dbline 267
 0140           ;        x+=4;
 0140 8A2D              mov R24,R10
 0142 8C5F              subi R24,252    ; addi 4
 0144 A82E              mov R10,R24
 0146 13C0              xjmp L37
 0148           L36:
 0148                   .dbline 269
 0148           ;        while((*asc_p)!=0)
 0148           ;           {
 0148                   .dbline 270
 0148           ;                ocmj_write(0xf1);
 0148 01EF              ldi R16,241
 014A 80DF              xcall _ocmj_write
 014C                   .dbline 271
 014C           ;                ocmj_write(x);
 014C 0A2D              mov R16,R10
 014E 7EDF              xcall _ocmj_write
 0150                   .dbline 272
 0150           ;                ocmj_write(y);
 0150 062F              mov R16,R22
 0152 7CDF              xcall _ocmj_write
 0154                   .dbline 273
 0154           ;                ocmj_write(*asc_p);
 0154 FA01              movw R30,R20
 0156 0081              ldd R16,z+0
 0158 79DF              xcall _ocmj_write
 015A                   .dbline 274
 015A           ;                asc_p++;
 015A 4F5F              subi R20,255  ; offset = 1
 015C 5F4F              sbci R21,255
 015E                   .dbline 275
 015E           ;                if (x<0x13)
 015E 8A2D              mov R24,R10
 0160 8331              cpi R24,19
 0162 10F4              brsh L39
 0164                   .dbline 276
 0164           ;                   x++;
 0164 A394              inc R10
 0166 03C0              xjmp L40
 0168           L39:
 0168                   .dbline 278
 0168           ;                else
 0168           ;                  {
 0168                   .dbline 279
 0168           ;                   x=0x04;
 0168 84E0              ldi R24,4
 016A A82E              mov R10,R24
 016C                   .dbline 280
 016C           ;                       y+=8;           
 016C 685F              subi R22,248    ; addi 8
 016E                   .dbline 281
 016E           ;                  }    
 016E           L40:
 016E                   .dbline 282
 016E           L37:
 016E                   .dbline 268
 016E FA01              movw R30,R20
 0170 2080              ldd R2,z+0
 0172 2220              tst R2
 0174 49F7              brne L36
 0176                   .dbline -2
 0176           L35:
 0176 0E940000          xcall pop_gset3
 017A                   .dbline 0 ; func end
 017A 0895              ret
 017C                   .dbsym r asc_p 20 pc
 017C                   .dbsym r y 22 c
 017C                   .dbsym r x 10 c
 017C                   .dbend
 017C                   .dbfunc e write_hazi _write_hazi fV
 017C           ;          data2 -> y+6
 017C           ;          data1 -> y+4
 017C           ;             yy -> R20,R21
 017C           ;             xx -> R22,R23
                        .even
 017C           _write_hazi::
 017C 0E940000          xcall push_gset2
 0180 A901              movw R20,R18
 0182 B801              movw R22,R16
 0184                   .dbline -1
 0184                   .dbline 289
 0184           ;               }       
 0184           ;        }
 0184           ; 
 0184           ; /**********************************************/
 0184           ;              /* 写汉字初始化  *///找代码
 0184           ; /**********************************************/
 0184           ; void write_hazi(unsigned xx,unsigned yy,unsigned data1,unsigned data2)
 0184           ; {
 0184                   .dbline 290
 0184           ;     ocmj_write(0xf0);//表示汉字//f0表示特殊符号,如&,以下
 0184 00EF          

⌨️ 快捷键说明

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