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

📄 main.lis

📁 LCD128*64 atmega16驱动 带仿真文件
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 012C           ; {
 012C                   .dbline 106
 012C           ;   unsigned char i;
 012C           ;   for(i=0;i<6;i++)
 012C 4427              clr R20
 012E 20C0              xjmp L30
 0130           L27:
 0130                   .dbline 107
 0130           ;    {
 0130                   .dbline 108
 0130           ;     if(cs) R_data=small_char[n][i];            //右半屏显示
 0130 0023              tst R16
 0132 79F0              breq L31
 0134                   .dbline 108
 0134 86E0              ldi R24,6
 0136 829F              mul R24,R18
 0138 1001              movw R2,R0
 013A 80E0              ldi R24,<_small_char
 013C 90E0              ldi R25,>_small_char
 013E 280E              add R2,R24
 0140 391E              adc R3,R25
 0142 E42F              mov R30,R20
 0144 FF27              clr R31
 0146 E20D              add R30,R2
 0148 F31D              adc R31,R3
 014A E491              lpm R30,Z
 014C E0930620          sts 8198,R30
 0150 0EC0              xjmp L32
 0152           L31:
 0152                   .dbline 109
 0152           ;       else   L_data=small_char[n][i];            //左半屏显示
 0152 86E0              ldi R24,6
 0154 829F              mul R24,R18
 0156 1001              movw R2,R0
 0158 80E0              ldi R24,<_small_char
 015A 90E0              ldi R25,>_small_char
 015C 280E              add R2,R24
 015E 391E              adc R3,R25
 0160 E42F              mov R30,R20
 0162 FF27              clr R31
 0164 E20D              add R30,R2
 0166 F31D              adc R31,R3
 0168 E491              lpm R30,Z
 016A E0930A20          sts 8202,R30
 016E           L32:
 016E                   .dbline 110
 016E           L28:
 016E                   .dbline 106
 016E 4395              inc R20
 0170           L30:
 0170                   .dbline 106
 0170 4630              cpi R20,6
 0172 F0F2              brlo L27
 0174                   .dbline -2
 0174                   .dbline 111
 0174           ;    }  
 0174           ;  }
 0174           L26:
 0174 0E940000          xcall pop_gset1
 0178                   .dbline 0 ; func end
 0178 0895              ret
 017A                   .dbsym r i 20 c
 017A                   .dbsym r n 18 c
 017A                   .dbsym r cs 16 c
 017A                   .dbend
 017A                   .dbfunc e write_Nchar _write_Nchar fV
 017A           ;              i -> R20
 017A           ;              n -> R18
 017A           ;             cs -> R16
                        .even
 017A           _write_Nchar::
 017A 0E940000          xcall push_gset1
 017E                   .dbline -1
 017E                   .dbline 114
 017E           ;  
 017E           ;  void write_Nchar(unsigned char cs,unsigned char n)  //数字显示函数
 017E           ; {
 017E                   .dbline 116
 017E           ;   unsigned char i;
 017E           ;   for(i=0;i<6;i++)
 017E 4427              clr R20
 0180 20C0              xjmp L37
 0182           L34:
 0182                   .dbline 117
 0182           ;    {
 0182                   .dbline 118
 0182           ;     if(cs) R_data=num[n][i];                  //右半屏显示
 0182 0023              tst R16
 0184 79F0              breq L38
 0186                   .dbline 118
 0186 86E0              ldi R24,6
 0188 829F              mul R24,R18
 018A 1001              movw R2,R0
 018C 80E0              ldi R24,<_num
 018E 90E0              ldi R25,>_num
 0190 280E              add R2,R24
 0192 391E              adc R3,R25
 0194 E42F              mov R30,R20
 0196 FF27              clr R31
 0198 E20D              add R30,R2
 019A F31D              adc R31,R3
 019C E491              lpm R30,Z
 019E E0930620          sts 8198,R30
 01A2 0EC0              xjmp L39
 01A4           L38:
 01A4                   .dbline 119
 01A4           ;       else   L_data=num[n][i];                  //左半屏显示
 01A4 86E0              ldi R24,6
 01A6 829F              mul R24,R18
 01A8 1001              movw R2,R0
 01AA 80E0              ldi R24,<_num
 01AC 90E0              ldi R25,>_num
 01AE 280E              add R2,R24
 01B0 391E              adc R3,R25
 01B2 E42F              mov R30,R20
 01B4 FF27              clr R31
 01B6 E20D              add R30,R2
 01B8 F31D              adc R31,R3
 01BA E491              lpm R30,Z
 01BC E0930A20          sts 8202,R30
 01C0           L39:
 01C0                   .dbline 120
 01C0           L35:
 01C0                   .dbline 116
 01C0 4395              inc R20
 01C2           L37:
 01C2                   .dbline 116
 01C2 4630              cpi R20,6
 01C4 F0F2              brlo L34
 01C6                   .dbline -2
 01C6                   .dbline 121
 01C6           ;    }  
 01C6           ;  }
 01C6           L33:
 01C6 0E940000          xcall pop_gset1
 01CA                   .dbline 0 ; func end
 01CA 0895              ret
 01CC                   .dbsym r i 20 c
 01CC                   .dbsym r n 18 c
 01CC                   .dbsym r cs 16 c
 01CC                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
 0000           L41:
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
                        .area text(rom, con, rel)
 01CC                   .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
 01CC                   .dbfunc e display_char _display_char fV
 01CC                   .dbsym s adder L41 c
 01CC           ;              i -> R20
                        .even
 01CC           _display_char::
 01CC 0E940000          xcall push_gset1
 01D0                   .dbline -1
 01D0                   .dbline 124
 01D0           ;      
 01D0           ;  void display_char(void)                    //字符显示函数
 01D0           ; {  
 01D0                   .dbline 127
 01D0           ;   unsigned char i;
 01D0           ;   static unsigned char adder=0;
 01D0           ;   write_Bchar(0, 24);
 01D0 28E1              ldi R18,24
 01D2 0027              clr R16
 01D4 80DF              xcall _write_Bchar
 01D6                   .dbline 128
 01D6           ;   write_Schar(0, 14);
 01D6 2EE0              ldi R18,14
 01D8 0027              clr R16
 01DA A6DF              xcall _write_Schar
 01DC                   .dbline 129
 01DC           ;   write_Schar(0, 20);
 01DC 24E1              ldi R18,20
 01DE 0027              clr R16
 01E0 A3DF              xcall _write_Schar
 01E2                   .dbline 130
 01E2 4427              clr R20
 01E4 04C0              xjmp L45
 01E6           L42:
 01E6                   .dbline 130
 01E6                   .dbline 130
 01E6 2224              clr R2
 01E8 20920A20          sts 8202,R2
 01EC                   .dbline 130
 01EC           L43:
 01EC                   .dbline 130
 01EC 4395              inc R20
 01EE           L45:
 01EE                   .dbline 130
 01EE 4430              cpi R20,4
 01F0 D0F3              brlo L42
 01F2                   .dbline 131
 01F2 27E0              ldi R18,7
 01F4 0027              clr R16
 01F6 6FDF              xcall _write_Bchar
 01F8                   .dbline 132
 01F8 24E1              ldi R18,20
 01FA 0027              clr R16
 01FC 95DF              xcall _write_Schar
 01FE                   .dbline 133
 01FE 80910000          lds R24,L41
 0202 8F5F              subi R24,255    ; addi 1
 0204 80930000          sts L41,R24
 0208                   .dbline 134
 0208 8FE0              ldi R24,15
 020A 20900000          lds R2,L41
 020E 8215              cp R24,R2
 0210 30F4              brsh L46
 0212                   .dbline 134
 0212                   .dbline 134
 0212 81E0              ldi R24,1
 0214 80930000          sts _flag,R24
 0218                   .dbline 134
 0218 2224              clr R2
 021A 20920000          sts L41,R2
 021E                   .dbline 134
 021E           L46:
 021E                   .dbline -2
 021E                   .dbline 135
 021E           ;   for(i=0;i<4;i++){L_data=0x00;}
 021E           ;   write_Bchar(0, 7);
 021E           ;   write_Schar(0, 20);
 021E           ;   adder++;
 021E           ;   if(adder>15){flag=1;adder=0;}
 021E           ; }
 021E           L40:
 021E 0E940000          xcall pop_gset1
 0222                   .dbline 0 ; func end
 0222 0895              ret
 0224                   .dbsym r i 20 c
 0224                   .dbend
 0224                   .dbfunc e main _main fV
 0224           ;              i -> <dead>
                        .even
 0224           _main::
 0224                   .dbline -1
 0224                   .dbline 139
 0224           ; 
 0224           ; 
 0224           ; void main(void)
 0224           ; {
 0224                   .dbline 141
 0224           ;   unsigned char i;
 0224           ;   init_devices();
 0224 4EDF              xcall _init_devices
 0226                   .dbline 142
 0226           ;   LCD_Clean();
 0226 04DF              xcall _LCD_Clean
 0228                   .dbline 143
 0228           ;   LCD_Init();
 0228 2DDF              xcall _LCD_Init
 022A 03C0              xjmp L50
 022C           L49:
 022C                   .dbline 146
 022C                   .dbline 148
 022C 23E0              ldi R18,3
 022E 0027              clr R16
 0230 7BDF              xcall _write_Schar
 0232                   .dbline 149
 0232           L50:
 0232                   .dbline 145
 0232 FCCF              xjmp L49
 0234           X0:
 0234                   .dbline -2
 0234                   .dbline 150
 0234           ;   //display_char(); 
 0234           ;   while(1)
 0234           ;   {
 0234           ;   //write_Bchar(0,1);
 0234           ;   write_Schar(0,3);
 0234           ;   }
 0234           ; }
 0234           L48:
 0234                   .dbline 0 ; func end
 0234 0895              ret
 0236                   .dbsym l i 1 c
 0236                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DOCUME~1\zhuji\桌面\char\main.c
 0000           _flag::
 0000                   .blkb 1
 0001                   .dbsym e flag _flag c

⌨️ 快捷键说明

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