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

📄 megalcd.lis

📁 ewts avr驱动程序 角速度传感器 104为秒
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0098 8C5F              subi R24,252    ; addi 4
 009A 8A87              std y+10,R24
 009C                   .dbline 226
 009C           ;         for(j=0;j<high;j++)
 009C 4427              clr R20
 009E 1AC0              xjmp L22
 00A0           L19:
 00A0                   .dbline 227
 00A0           ;            {
 00A0                   .dbline 228
 00A0           ;                 for(i=0;i<width;i++)
 00A0 EE24              clr R14
 00A2 0FC0              xjmp L26
 00A4           L23:
 00A4                   .dbline 229
 00A4                   .dbline 230
 00A4 03EF              ldi R16,243
 00A6 BFDF              xcall _ocmj_write
 00A8                   .dbline 231
 00A8 0A85              ldd R16,y+10
 00AA BDDF              xcall _ocmj_write
 00AC                   .dbline 232
 00AC 0C85              ldd R16,y+12
 00AE BBDF              xcall _ocmj_write
 00B0                   .dbline 233
 00B0 FB01              movw R30,R22
 00B2 0491              lpm R16,Z
 00B4 B8DF              xcall _ocmj_write
 00B6                   .dbline 234
 00B6 6F5F              subi R22,255  ; offset = 1
 00B8 7F4F              sbci R23,255
 00BA                   .dbline 235
 00BA 0A84              ldd R0,y+10
 00BC 0394              inc R0
 00BE 0A86              std y+10,R0
 00C0                   .dbline 236
 00C0           L24:
 00C0                   .dbline 228
 00C0 E394              inc R14
 00C2           L26:
 00C2                   .dbline 228
 00C2 EA14              cp R14,R10
 00C4 78F3              brlo L23
 00C6                   .dbline 237
 00C6 0A84              ldd R0,y+10
 00C8 0A18              sub R0,R10
 00CA 0A86              std y+10,R0
 00CC                   .dbline 238
 00CC 0C84              ldd R0,y+12
 00CE 0394              inc R0
 00D0 0C86              std y+12,R0
 00D2                   .dbline 239
 00D2           L20:
 00D2                   .dbline 226
 00D2 4395              inc R20
 00D4           L22:
 00D4                   .dbline 226
 00D4 4C15              cp R20,R12
 00D6 20F3              brlo L19
 00D8                   .dbline -2
 00D8           L18:
 00D8 0E940000          xcall pop_gset5
 00DC 2496              adiw R28,4
 00DE                   .dbline 0 ; func end
 00DE 0895              ret
 00E0                   .dbsym r j 20 c
 00E0                   .dbsym r i 14 c
 00E0                   .dbsym r bmp_p 22 pkc
 00E0                   .dbsym r width 10 c
 00E0                   .dbsym r high 12 c
 00E0                   .dbsym l y 12 c
 00E0                   .dbsym l x 10 c
 00E0                   .dbend
 00E0                   .dbfunc e hz_tran _hz_tran fV
 00E0           ;           hz_p -> R20,R21
 00E0           ;              y -> R22
 00E0           ;              x -> R10
                        .even
 00E0           _hz_tran::
 00E0 0E940000          xcall push_gset3
 00E4 622F              mov R22,R18
 00E6 A02E              mov R10,R16
 00E8 4E81              ldd R20,y+6
 00EA 5F81              ldd R21,y+7
 00EC                   .dbline -1
 00EC                   .dbline 244
 00EC           ;                   {
 00EC           ;                        ocmj_write(0xf3);
 00EC           ;                        ocmj_write(x);
 00EC           ;                        ocmj_write(y);
 00EC           ;                        ocmj_write(*bmp_p);
 00EC           ;                        bmp_p++;
 00EC           ;                        x++;
 00EC           ;                       }
 00EC           ;                 x-=width;
 00EC           ;                 y++;  
 00EC           ;                }
 00EC           ;        }       
 00EC           ; /*       传送LCD内部汉字数据到LCD         */
 00EC           ; /*       x:0x00~0x07 y:0x00~0x03          */
 00EC           ; void hz_tran(unsigned char x,unsigned char y,unsigned char *hz_p)
 00EC           ;     {
 00EC                   .dbline 245
 00EC           ;        x+=2;
 00EC 8A2D              mov R24,R10
 00EE 8E5F              subi R24,254    ; addi 2
 00F0 A82E              mov R10,R24
 00F2 1AC0              xjmp L29
 00F4           L28:
 00F4                   .dbline 247
 00F4           ;      while((*hz_p)!=0)
 00F4           ;           {
 00F4                   .dbline 248
 00F4           ;                ocmj_write(0xf0);
 00F4 00EF              ldi R16,240
 00F6 97DF              xcall _ocmj_write
 00F8                   .dbline 249
 00F8           ;                ocmj_write(x);
 00F8 0A2D              mov R16,R10
 00FA 95DF              xcall _ocmj_write
 00FC                   .dbline 250
 00FC           ;                ocmj_write(y);
 00FC 062F              mov R16,R22
 00FE 93DF              xcall _ocmj_write
 0100                   .dbline 251
 0100           ;                ocmj_write(*hz_p-0xa0);
 0100 FA01              movw R30,R20
 0102 0081              ldd R16,z+0
 0104 005A              subi R16,160
 0106 8FDF              xcall _ocmj_write
 0108                   .dbline 252
 0108           ;                hz_p++;
 0108 4F5F              subi R20,255  ; offset = 1
 010A 5F4F              sbci R21,255
 010C                   .dbline 253
 010C           ;                ocmj_write(*hz_p-0xa0);
 010C FA01              movw R30,R20
 010E 0081              ldd R16,z+0
 0110 005A              subi R16,160
 0112 89DF              xcall _ocmj_write
 0114                   .dbline 254
 0114           ;                hz_p++;
 0114 4F5F              subi R20,255  ; offset = 1
 0116 5F4F              sbci R21,255
 0118                   .dbline 255
 0118           ;                if(x<0x09)
 0118 8A2D              mov R24,R10
 011A 8930              cpi R24,9
 011C 10F4              brsh L31
 011E                   .dbline 256
 011E           ;                   x++;
 011E A394              inc R10
 0120 03C0              xjmp L32
 0122           L31:
 0122                   .dbline 258
 0122           ;                else
 0122           ;                   {
 0122                   .dbline 259
 0122           ;                        x=0x02;
 0122 82E0              ldi R24,2
 0124 A82E              mov R10,R24
 0126                   .dbline 260
 0126           ;                        y++;
 0126 6395              inc R22
 0128                   .dbline 261
 0128           ;                       }       
 0128           L32:
 0128                   .dbline 262
 0128           L29:
 0128                   .dbline 246
 0128 FA01              movw R30,R20
 012A 2080              ldd R2,z+0
 012C 2220              tst R2
 012E 11F7              brne L28
 0130                   .dbline -2
 0130           L27:
 0130 0E940000          xcall pop_gset3
 0134                   .dbline 0 ; func end
 0134 0895              ret
 0136                   .dbsym r hz_p 20 pc
 0136                   .dbsym r y 22 c
 0136                   .dbsym r x 10 c
 0136                   .dbend
 0136                   .dbfunc e asc_tran _asc_tran fV
 0136           ;          asc_p -> R20,R21
 0136           ;              y -> R22
 0136           ;              x -> R10
                        .even
 0136           _asc_tran::
 0136 0E940000          xcall push_gset3
 013A 622F              mov R22,R18
 013C A02E              mov R10,R16
 013E 4E81              ldd R20,y+6
 0140 5F81              ldd R21,y+7
 0142                   .dbline -1
 0142                   .dbline 267
 0142           ;               }
 0142           ;       }
 0142           ; /*          传送ASCII字母到LCD            */
 0142           ; /*          x:0x00~0x0f y:0~64            */  
 0142           ; void asc_tran(unsigned char x,unsigned char y,unsigned char *asc_p)
 0142           ;     {
 0142                   .dbline 268
 0142           ;        x+=4;
 0142 8A2D              mov R24,R10
 0144 8C5F              subi R24,252    ; addi 4
 0146 A82E              mov R10,R24
 0148 13C0              xjmp L35
 014A           L34:
 014A                   .dbline 270
 014A           ;        while((*asc_p)!=0)
 014A           ;           {
 014A                   .dbline 271
 014A           ;                ocmj_write(0xf1);
 014A 01EF              ldi R16,241
 014C 6CDF              xcall _ocmj_write
 014E                   .dbline 272
 014E           ;                ocmj_write(x);
 014E 0A2D              mov R16,R10
 0150 6ADF              xcall _ocmj_write
 0152                   .dbline 273
 0152           ;                ocmj_write(y);
 0152 062F              mov R16,R22
 0154 68DF              xcall _ocmj_write
 0156                   .dbline 274
 0156           ;                ocmj_write(*asc_p);
 0156 FA01              movw R30,R20
 0158 0081              ldd R16,z+0
 015A 65DF              xcall _ocmj_write
 015C                   .dbline 275
 015C           ;                asc_p++;
 015C 4F5F              subi R20,255  ; offset = 1
 015E 5F4F              sbci R21,255
 0160                   .dbline 276
 0160           ;                if (x<0x13) 
 0160 8A2D              mov R24,R10
 0162 8331              cpi R24,19
 0164 10F4              brsh L37
 0166                   .dbline 277
 0166           ;                   x++;
 0166 A394              inc R10
 0168 03C0              xjmp L38
 016A           L37:
 016A                   .dbline 279
 016A           ;                else
 016A           ;                  {
 016A                   .dbline 280
 016A           ;                   x=0x04;
 016A 84E0              ldi R24,4
 016C A82E              mov R10,R24
 016E                   .dbline 281
 016E           ;                       y+=8;               
 016E 685F              subi R22,248    ; addi 8
 0170                   .dbline 282
 0170           ;                  }    
 0170           L38:
 0170                   .dbline 283
 0170           L35:
 0170                   .dbline 269
 0170 FA01              movw R30,R20
 0172 2080              ldd R2,z+0
 0174 2220              tst R2
 0176 49F7              brne L34
 0178                   .dbline -2
 0178           L33:
 0178 0E940000          xcall pop_gset3
 017C                   .dbline 0 ; func end
 017C 0895              ret
 017E                   .dbsym r asc_p 20 pc
 017E                   .dbsym r y 22 c
 017E                   .dbsym r x 10 c
 017E                   .dbend
 017E                   .dbfunc e pset _pset fV
 017E           ;              y -> R20
 017E           ;              x -> R22
                        .even
 017E           _pset::
 017E 0E940000          xcall push_gset2
 0182 422F              mov R20,R18
 0184 602F              mov R22,R16
 0186                   .dbline -1
 0186                   .dbline 287
 0186           ;               }       
 0186           ;        }
 0186           ; /*            画点函数              */
 0186           ; void pset(unsigned char x,unsigned char y)
 0186           ;      {
 0186                   .dbline 288
 0186           ;         ocmj_write(0xf2);
 0186 02EF              ldi R16,242
 0188 4EDF              xcall _ocmj_write
 018A                   .dbline 289
 018A           ;         ocmj_write(x+32);
 018A 062F              mov R16,R22
 018C 005E              subi R16,224    ; addi 32
 018E 4BDF              xcall _ocmj_write
 0190                   .dbline 290
 0190           ;         ocmj_write(y);
 0190 042F              mov R16,R20
 0192 49DF              xcall _ocmj_write
 0194                   .dbline -2
 0194           L39:
 0194 0E940000          xcall pop_gset2
 0198                   .dbline 0 ; func end
 0198 0895              ret
 019A                   .dbsym r y 20 c
 019A                   .dbsym r x 22 c
 019A                   .dben

⌨️ 快捷键说明

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