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

📄 8255.lis

📁 这是一款基于AVR单片机的直流稳压电源的设计项目
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0112 6038              cpi R22,128
 0114 D8F3              brlo L30
 0116           X6:
 0116                   .dbline 402
 0116           ;    }
 0116           L23:
 0116                   .dbline 386
 0116 4395              inc R20
 0118           L25:
 0118                   .dbline 386
 0118 4830              cpi R20,8
 011A D8F2              brlo L22
 011C           X7:
 011C                   .dbline -2
 011C           L21:
 011C                   .dbline 0 ; func end
 011C 6991              ld R22,y+
 011E 4991              ld R20,y+
 0120 0895              ret
 0122                   .dbsym r k 20 c
 0122                   .dbsym r j 22 c
 0122                   .dbend
 0122                   .dbfunc e disp_zf _disp_zf fV
 0122           ;              j -> R20
 0122           ;              i -> R12
 0122           ;             sz -> y+8
 0122           ;              X -> R10
 0122           ;              Y -> R22
                        .even
 0122           _disp_zf::
 0122 0E940000          xcall push_xgsetF03C
 0126 A22E              mov R10,R18
 0128 602F              mov R22,R16
 012A                   .dbline -1
 012A                   .dbline 407
 012A           ;  }
 012A           ; 
 012A           ; 
 012A           ; void disp_zf(unsigned char Y,unsigned char X, const unsigned char  *sz)
 012A           ;  {
 012A                   .dbline 408
 012A           ;   unsigned char j=0,i=0;
 012A 4427              clr R20
 012C                   .dbline 408
 012C CC24              clr R12
 012E                   .dbline 409
 012E           ;   for(j=0;j<2;j++)
 012E 1BC0              xjmp L38
 0130           L35:
 0130                   .dbline 410
 0130           ;    {
 0130                   .dbline 411
 0130           ;     write_command((Page_Add+Y+j));
 0130 062F              mov R16,R22
 0132 0854              subi R16,72    ; addi 184
 0134 040F              add R16,R20
 0136 99DF              xcall _write_command
 0138                   .dbline 412
 0138           ;     write_command((Col_Add+X));
 0138 0A2D              mov R16,R10
 013A 005C              subi R16,192    ; addi 64
 013C 96DF              xcall _write_command
 013E                   .dbline 413
 013E           ;     for(i=0;i<6;i++) 
 013E CC24              clr R12
 0140 0EC0              xjmp L42
 0142           L39:
 0142                   .dbline 414
 0142           ;        write_data(sz[6*j+i]);
 0142 86E0              ldi R24,6
 0144 849F              mul R24,R20
 0146 F001              movw R30,R0
 0148 2C2C              mov R2,R12
 014A 3324              clr R3
 014C E20D              add R30,R2
 014E F31D              adc R31,R3
 0150 0884              ldd R0,y+8
 0152 1984              ldd R1,y+9
 0154 E00D              add R30,R0
 0156 F11D              adc R31,R1
 0158 0691              elpm R16,Z
 015A 97DF              xcall _write_data
 015C           L40:
 015C                   .dbline 413
 015C C394              inc R12
 015E           L42:
 015E                   .dbline 413
 015E 8C2D              mov R24,R12
 0160 8630              cpi R24,6
 0162 78F3              brlo L39
 0164           X8:
 0164                   .dbline 415
 0164           ;    }
 0164           L36:
 0164                   .dbline 409
 0164 4395              inc R20
 0166           L38:
 0166                   .dbline 409
 0166 4230              cpi R20,2
 0168 18F3              brlo L35
 016A           X9:
 016A                   .dbline -2
 016A           L34:
 016A                   .dbline 0 ; func end
 016A 0C940000          xjmp pop_xgsetF03C
 016E                   .dbsym r j 20 c
 016E                   .dbsym r i 12 c
 016E                   .dbsym l sz 8 pkc
 016E                   .dbsym r X 10 c
 016E                   .dbsym r Y 22 c
 016E                   .dbend
 016E                   .dbfunc e disp_hz _disp_hz fV
 016E           ;              j -> R20
 016E           ;              i -> R12
 016E           ;             hz -> y+8
 016E           ;              X -> R10
 016E           ;              Y -> R22
                        .even
 016E           _disp_hz::
 016E 0E940000          xcall push_xgsetF03C
 0172 A22E              mov R10,R18
 0174 602F              mov R22,R16
 0176                   .dbline -1
 0176                   .dbline 421
 0176           ;  }
 0176           ; 
 0176           ; /*---------------------指定位置显示汉字16*16-----------------------*/
 0176           ; 
 0176           ; void disp_hz(unsigned char Y,unsigned char X, const unsigned char  *hz)
 0176           ;  {
 0176                   .dbline 422
 0176           ;   unsigned char j=0,i=0;
 0176 4427              clr R20
 0178                   .dbline 422
 0178 CC24              clr R12
 017A                   .dbline 423
 017A           ;   for(j=0;j<2;j++)
 017A 1BC0              xjmp L47
 017C           L44:
 017C                   .dbline 424
 017C           ;    {
 017C                   .dbline 425
 017C           ;     write_command((Page_Add+Y+j));         //列在前行在后
 017C 062F              mov R16,R22
 017E 0854              subi R16,72    ; addi 184
 0180 040F              add R16,R20
 0182 73DF              xcall _write_command
 0184                   .dbline 426
 0184           ;     write_command((Col_Add+X));
 0184 0A2D              mov R16,R10
 0186 005C              subi R16,192    ; addi 64
 0188 70DF              xcall _write_command
 018A                   .dbline 427
 018A           ;     for(i=0;i<12;i++) 
 018A CC24              clr R12
 018C 0EC0              xjmp L51
 018E           L48:
 018E                   .dbline 428
 018E           ;        write_data(hz[12*j+i]);
 018E 8CE0              ldi R24,12
 0190 849F              mul R24,R20
 0192 F001              movw R30,R0
 0194 2C2C              mov R2,R12
 0196 3324              clr R3
 0198 E20D              add R30,R2
 019A F31D              adc R31,R3
 019C 0884              ldd R0,y+8
 019E 1984              ldd R1,y+9
 01A0 E00D              add R30,R0
 01A2 F11D              adc R31,R1
 01A4 0691              elpm R16,Z
 01A6 71DF              xcall _write_data
 01A8           L49:
 01A8                   .dbline 427
 01A8 C394              inc R12
 01AA           L51:
 01AA                   .dbline 427
 01AA 8C2D              mov R24,R12
 01AC 8C30              cpi R24,12
 01AE 78F3              brlo L48
 01B0           X10:
 01B0                   .dbline 429
 01B0           ;    }
 01B0           L45:
 01B0                   .dbline 423
 01B0 4395              inc R20
 01B2           L47:
 01B2                   .dbline 423
 01B2 4230              cpi R20,2
 01B4 18F3              brlo L44
 01B6           X11:
 01B6                   .dbline -2
 01B6           L43:
 01B6                   .dbline 0 ; func end
 01B6 0C940000          xjmp pop_xgsetF03C
 01BA                   .dbsym r j 20 c
 01BA                   .dbsym r i 12 c
 01BA                   .dbsym l hz 8 pkc
 01BA                   .dbsym r X 10 c
 01BA                   .dbsym r Y 22 c
 01BA                   .dbend
 01BA                   .dbfunc e init_lcd _init_lcd fV
                        .even
 01BA           _init_lcd::
 01BA                   .dbline -1
 01BA                   .dbline 434
 01BA           ;  }
 01BA           ; 
 01BA           ; /*------------------初始化LCD屏--------------------------*/
 01BA           ; void init_lcd()
 01BA           ;  {
 01BA                   .dbline 435
 01BA           ;   RST0;
 01BA 1F98              cbi 0x3,7
 01BC                   .dbline 436
 01BC           ;   delay(1);
 01BC 01E0              ldi R16,1
 01BE 10E0              ldi R17,0
 01C0 1FDF              xcall _delay
 01C2                   .dbline 437
 01C2           ;   RST1;
 01C2 1F9A              sbi 0x3,7
 01C4                   .dbline 438
 01C4           ;   delay(1);
 01C4 01E0              ldi R16,1
 01C6 10E0              ldi R17,0
 01C8 1BDF              xcall _delay
 01CA                   .dbline 440
 01CA           ; 
 01CA           ;   LCDCS21;
 01CA 1A9A              sbi 0x3,2
 01CC                   .dbline 441
 01CC           ;   LCDCS11;
 01CC 199A              sbi 0x3,1
 01CE                   .dbline 443
 01CE           ; 
 01CE           ;   delay(100);
 01CE 04E6              ldi R16,100
 01D0 10E0              ldi R17,0
 01D2 16DF              xcall _delay
 01D4                   .dbline 444
 01D4           ;   write_command(Disp_Off);
 01D4 0EE3              ldi R16,62
 01D6 49DF              xcall _write_command
 01D8                   .dbline 445
 01D8           ;   write_command((Page_Add+0));
 01D8 08EB              ldi R16,184
 01DA 47DF              xcall _write_command
 01DC                   .dbline 446
 01DC           ;   write_command((Start_Line+0));
 01DC 00EC              ldi R16,192
 01DE 45DF              xcall _write_command
 01E0                   .dbline 447
 01E0           ;   write_command((Col_Add+0));
 01E0 00E4              ldi R16,64
 01E2 43DF              xcall _write_command
 01E4                   .dbline 448
 01E4           ;   write_command((Disp_On));
 01E4 0FE3              ldi R16,63
 01E6 41DF              xcall _write_command
 01E8                   .dbline -2
 01E8           L52:
 01E8                   .dbline 0 ; func end
 01E8 0895              ret
 01EA                   .dbend
 01EA                   .dbfunc e init_IO _init_IO fV
                        .even
 01EA           _init_IO::
 01EA                   .dbline -1
 01EA                   .dbline 452
 01EA           ;  }
 01EA           ; 
 01EA           ; void init_IO()
 01EA           ; {
 01EA                   .dbline 453
 01EA           ;  DDRE=0xEF;
 01EA 8FEE              ldi R24,239
 01EC 82B9              out 0x2,R24
 01EE                   .dbline 454
 01EE           ;  PORTE=0xff;
 01EE 8FEF              ldi R24,255
 01F0 83B9              out 0x3,R24
 01F2                   .dbline 455
 01F2           ;  DDRB=0xff;
 01F2 87BB              out 0x17,R24
 01F4                   .dbline 456
 01F4           ;  PORTB=0xff;
 01F4 88BB              out 0x18,R24
 01F6                   .dbline 457
 01F6           ;  DDRD=0xf0;
 01F6 80EF              ldi R24,240
 01F8 81BB              out 0x11,R24
 01FA                   .dbline 458
 01FA           ;  PORTD=0xf0;
 01FA 82BB              out 0x12,R24
 01FC                   .dbline 459
 01FC           ;  DDRF=0xfb;
 01FC 8BEF              ldi R24,251
 01FE 80936100          sts 97,R24
 0202                   .dbline 460
 0202           ;  PORTF=0xfb;
 0202 80936200          sts 98,R24
 0206                   .dbline 461
 0206           ;  DDRG=0xff;
 0206 8FEF              ldi R24,255
 0208 80936400          sts 100,R24
 020C                   .dbline 462
 020C           ;  PORTG=0xff;
 020C 80936500          sts 101,R24
 0210                   .dbline 463
 0210           ;  DDRA=0XFF;
 0210 8ABB              out 0x1a,R24
 0212                   .dbline 464
 0212           ;  PORTA=0XFF;
 0212 8BBB              out 0x1b,R24
 0214                   .dbline 465
 0214           ;  DDRC=0XFF;
 0214 84BB              out 0x14,R24
 0216                   .dbline 466
 0216           ;  PORTC=0XFF;
 0216 85BB              out 0x15,R24
 0218                   .dbline -2
 0218           L53:
 0218                   .dbline 0 ; func end
 0218 0895              ret
 021A                   .dbend
 021A                   .dbfunc e startDA _startDA fV
 021A           ;              i -> R20
 021A           ;             da -> R22,R23
                        .even
 021A           _startDA::
 021A 0E940000          xcall push_xgsetF000
 021E B801              movw R22,R16
 0220                   .dbline -1
 0220                   .dbline 472
 0220           ; 

⌨️ 快捷键说明

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