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

📄 1.lis

📁 点阵显示汉字
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 01E6           ; void clearping(void)
 01E6           ; {unsigned char j;
 01E6                   .dbline 322
 01E6           ;  clr_STB();   
 01E6 C498              cbi 0x18,4
 01E8                   .dbline 323
 01E8           ;      for(j=0;j<20;j++)//20*8列都不显示红‘绿色
 01E8 4427              clr R20
 01EA 03C0              xjmp L61
 01EC           L58:
 01EC                   .dbline 324
 01EC 0027              clr R16
 01EE 5ADF              xcall _Send_Byte_DR_DG
 01F0           L59:
 01F0                   .dbline 323
 01F0 4395              inc R20
 01F2           L61:
 01F2                   .dbline 323
 01F2 4431              cpi R20,20
 01F4 D8F3              brlo L58
 01F6                   .dbline 325
 01F6           ;        Send_Byte_DR_DG(0x00);//8位的各个所在列都不显示红‘绿色
 01F6           ;      set_STB();//锁存
 01F6 C49A              sbi 0x18,4
 01F8                   .dbline -2
 01F8           L57:
 01F8 0E940000          xcall pop_gset1
 01FC                   .dbline 0 ; func end
 01FC 0895              ret
 01FE                   .dbsym r j 20 c
 01FE                   .dbend
 01FE                   .dbfunc e DisPlay_onetime _DisPlay_onetime fV
 01FE           ;              i -> R22
 01FE           ;              j -> R10
 01FE           ;         colour -> R20
                        .even
 01FE           _DisPlay_onetime::
 01FE 0E940000          xcall push_gset4
 0202 402F              mov R20,R16
 0204                   .dbline -1
 0204                   .dbline 330
 0204           ; }
 0204           ; //显示一次板面汉字
 0204           ; void DisPlay_onetime(unsigned char colour)
 0204           ; //colour=0\1\2分别为红\绿\橙色显示
 0204           ; {
 0204                   .dbline 332
 0204           ;   uchar i,j;  
 0204           ;   for(i=0;i<16;i++)//扫描16行 
 0204 6627              clr R22
 0206 53C0              xjmp L66
 0208           L63:
 0208                   .dbline 333
 0208           ;   {
 0208                   .dbline 334
 0208           ;      clr_STB();        
 0208 C498              cbi 0x18,4
 020A                   .dbline 335
 020A           ;         for(j=0;j<20;j++)//每一片点阵出现的第一个汉字从第|Jmax-20|列(从输入端开始数)开始入x=20时每一片点阵出现的第一个汉字从第0个字位开始入
 020A AA24              clr R10
 020C 3AC0              xjmp L70
 020E           L67:
 020E                   .dbline 336
 020E           ;        {                   //*本版面最多能显示10个字,即20列(Ledplay的前20 列)其他汉字通过移动(把20列以后的字信号移到前20列范围内,即版内)
 020E                   .dbline 337
 020E           ;         switch(colour)
 020E C42E              mov R12,R20
 0210 DD24              clr R13
 0212 CC20              tst R12
 0214 11F4              brne X1
 0216 DD20              tst R13
 0218 51F0              breq L74
 021A           X1:
 021A C601              movw R24,R12
 021C 8130              cpi R24,1
 021E E0E0              ldi R30,0
 0220 9E07              cpc R25,R30
 0222 99F0              breq L75
 0224 8230              cpi R24,2
 0226 E0E0              ldi R30,0
 0228 9E07              cpc R25,R30
 022A E9F0              breq L76
 022C 29C0              xjmp L72
 022E           X2:
 022E                   .dbline 338
 022E           ;        {
 022E           L74:
 022E                   .dbline 339
 022E           ;         case 0: Send_Byte_DR(Ledplay[i][j]);
 022E 8AE3              ldi R24,58
 0230 869F              mul R24,R22
 0232 1001              movw R2,R0
 0234 80E0              ldi R24,<_Ledplay
 0236 90E0              ldi R25,>_Ledplay
 0238 280E              add R2,R24
 023A 391E              adc R3,R25
 023C EA2D              mov R30,R10
 023E FF27              clr R31
 0240 E20D              add R30,R2
 0242 F31D              adc R31,R3
 0244 0081              ldd R16,z+0
 0246 1ADF              xcall _Send_Byte_DR
 0248                   .dbline 340
 0248           ;               break;
 0248 1BC0              xjmp L72
 024A           L75:
 024A                   .dbline 341
 024A           ;        case 1: Send_Byte_DG(Ledplay[i][j]);
 024A 8AE3              ldi R24,58
 024C 869F              mul R24,R22
 024E 1001              movw R2,R0
 0250 80E0              ldi R24,<_Ledplay
 0252 90E0              ldi R25,>_Ledplay
 0254 280E              add R2,R24
 0256 391E              adc R3,R25
 0258 EA2D              mov R30,R10
 025A FF27              clr R31
 025C E20D              add R30,R2
 025E F31D              adc R31,R3
 0260 0081              ldd R16,z+0
 0262 F8DE              xcall _Send_Byte_DG
 0264                   .dbline 342
 0264           ;              break;  
 0264 0DC0              xjmp L72
 0266           L76:
 0266                   .dbline 343
 0266           ;        case 2: Send_Byte_DR_DG(Ledplay[i][j]);
 0266 8AE3              ldi R24,58
 0268 869F              mul R24,R22
 026A 1001              movw R2,R0
 026C 80E0              ldi R24,<_Ledplay
 026E 90E0              ldi R25,>_Ledplay
 0270 280E              add R2,R24
 0272 391E              adc R3,R25
 0274 EA2D              mov R30,R10
 0276 FF27              clr R31
 0278 E20D              add R30,R2
 027A F31D              adc R31,R3
 027C 0081              ldd R16,z+0
 027E 12DF              xcall _Send_Byte_DR_DG
 0280                   .dbline 344
 0280           ;               break;
 0280                   .dbline 345
 0280           ;        default:break;
 0280           L72:
 0280                   .dbline 347
 0280           L68:
 0280                   .dbline 335
 0280 A394              inc R10
 0282           L70:
 0282                   .dbline 335
 0282 8A2D              mov R24,R10
 0284 8431              cpi R24,20
 0286 08F4              brsh X3
 0288 C2CF              xjmp L67
 028A           X3:
 028A                   .dbline 348
 028A 909A              sbi 0x12,0
 028C                   .dbline 349
 028C 02E0              ldi R16,2
 028E 10E0              ldi R17,0
 0290 B9DE              xcall _delay_nus
 0292                   .dbline 350
 0292 C49A              sbi 0x18,4
 0294                   .dbline 351
 0294 80E0              ldi R24,<_ROW
 0296 90E0              ldi R25,>_ROW
 0298 E62F              mov R30,R22
 029A FF27              clr R31
 029C E80F              add R30,R24
 029E F91F              adc R31,R25
 02A0 E491              lpm R30,Z
 02A2 E8BB              out 0x18,R30
 02A4                   .dbline 352
 02A4 9098              cbi 0x12,0
 02A6                   .dbline 353
 02A6 08EC              ldi R16,200
 02A8 10E0              ldi R17,0
 02AA ACDE              xcall _delay_nus
 02AC                   .dbline 354
 02AC           L64:
 02AC                   .dbline 332
 02AC 6395              inc R22
 02AE           L66:
 02AE                   .dbline 332
 02AE 6031              cpi R22,16
 02B0 08F4              brsh X4
 02B2 AACF              xjmp L63
 02B4           X4:
 02B4                   .dbline 355
 02B4           ;         }
 02B4           ;        }
 02B4           ;       set_G();
 02B4           ;       delay_nus(2);
 02B4           ;     set_STB();//锁存
 02B4           ;       PORTB=ROW[i];//i行控制位   共阴的二极管允许了接地
 02B4           ;       clr_G();//行控制有效
 02B4           ;       delay_nus(displayTime);
 02B4           ;   }
 02B4           ;   delay_nus(200);
 02B4 08EC              ldi R16,200
 02B6 10E0              ldi R17,0
 02B8 A5DE              xcall _delay_nus
 02BA                   .dbline 356
 02BA           ;   set_G();
 02BA 909A              sbi 0x12,0
 02BC                   .dbline -2
 02BC           L62:
 02BC 0E940000          xcall pop_gset4
 02C0                   .dbline 0 ; func end
 02C0 0895              ret
 02C2                   .dbsym r i 22 c
 02C2                   .dbsym r j 10 c
 02C2                   .dbsym r colour 20 c
 02C2                   .dbend
 02C2                   .dbfunc e left_move _left_move fV
 02C2           ;          data1 -> R22
 02C2           ;          data0 -> R20
 02C2           ;              i -> R16
 02C2           ;              j -> R18
                        .even
 02C2           _left_move::
 02C2 0E940000          xcall push_gset2
 02C6                   .dbline -1
 02C6                   .dbline 360
 02C6           ;  }
 02C6           ;  //下面函数功能为把信号(汉字)前移
 02C6           ;  void left_move(void)
 02C6           ; {
 02C6                   .dbline 362
 02C6           ;   uchar data0,data1,i,j;
 02C6           ;   for(i=0;i<16;i++)
 02C6 0027              clr R16
 02C8 37C0              xjmp L81
 02CA           L78:
 02CA                   .dbline 363
 02CA           ;   {
 02CA                   .dbline 364
 02CA           ;     for(j=0;j<(howmany0+hanzishu)*2;j++)//如41=(howmany0+hanzishu)*2+1
 02CA 2227              clr R18
 02CC 31C0              xjmp L85
 02CE           L82:
 02CE                   .dbline 365
 02CE                   .dbline 366
 02CE 8AE3              ldi R24,58
 02D0 809F              mul R24,R16
 02D2 1001              movw R2,R0
 02D4 80E0              ldi R24,<_Ledplay
 02D6 90E0              ldi R25,>_Ledplay
 02D8 280E              add R2,R24
 02DA 391E              adc R3,R25
 02DC E22F              mov R30,R18
 02DE FF27              clr R31
 02E0 E20D              add R30,R2
 02E2 F31D              adc R31,R3
 02E4 4081              ldd R20,z+0
 02E6                   .dbline 367
 02E6 8AE3              ldi R24,58
 02E8 809F              mul R24,R16
 02EA 1001              movw R2,R0
 02EC 80E0              ldi R24,<_Ledplay
 02EE 90E0              ldi R25,>_Ledplay
 02F0 280E              add R2,R24
 02F2 391E              adc R3,R25
 02F4 E22F              mov R30,R18
 02F6 FF27              clr R31
 02F8 3196              adiw R30,1
 02FA E20D              add R30,R2
 02FC F31D              adc R31,R3
 02FE 6081              ldd R22,z+0
 0300                   .dbline 368
 0300 8AE3              ldi R24,58
 0302 809F              mul R24,R16
 0304 1001              movw R2,R0
 0306 80E0              ldi R24,<_Ledplay
 0308 90E0              ldi R25,>_Ledplay
 030A 280E              add R2,R24
 030C 391E              adc R3,R25
 030E E22F              mov R30,R18
 0310 FF27              clr R31
 0312 E20D              add R30,R2
 0314 F31D              adc R31,R3
 0316 262E              mov R2,R22
 0318 2694              lsr R2
 031A 2694              lsr R2
 031C 2694              lsr R2
 031E 2694              lsr R2
 0320 2694              lsr R2
 0322 2694              lsr R2
 0324 2694              lsr R2
 0326 342E              mov R3,R20
 0328 330C              lsl R3
 032A 3228              or R3,R2
 032C 3082              std z+0,R3
 032E                   .dbline 369
 032E           L83:
 032E                   .dbline 364
 032E 2395              inc R18
 0330           L85:
 0330                   .dbline 364
 0330 2833              cpi R18,56
 0332 08F4              brsh X5
 0334 CCCF              xjmp L82
 0336           X5:
 0336                   .dbline 370
 0336           L79:
 0336                   .dbline 362
 0336 0395              inc R16
 0338           L81:
 0338                   .dbline 362
 0338 0031              cpi R16,16
 033A 08F4              brsh X6
 033C C6CF              xjmp L78
 033E           X6:
 033E                   .dbline -2
 033E           L77:
 033E 0E940000          xcall pop_gset2
 0342                   .dbline 0 ; func end
 0342 0895              ret
 0344                   .dbsym 

⌨️ 快捷键说明

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