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

📄 toucher2.lis

📁 基于PIC单片机
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 016C 0DC0              xjmp L25
 016E           L28:
 016E                   .dbline 281
 016E           ;               case 0x02:
 016E           ;               {
 016E                   .dbline 282
 016E           ;                   write_print(0x50); //P
 016E 00E5              ldi R16,80
 0170 47DF              xcall _write_print
 0172                   .dbline 283
 0172           ;               write_print(0x50); //P                 
 0172 00E5              ldi R16,80
 0174 45DF              xcall _write_print
 0176                   .dbline 284
 0176           ;               write_print(0x4d); //M
 0176 0DE4              ldi R16,77
 0178 43DF              xcall _write_print
 017A                   .dbline 285
 017A           ;               }
 017A                   .dbline 286
 017A           ;               break;
 017A 06C0              xjmp L25
 017C           L29:
 017C                   .dbline 288
 017C                   .dbline 289
 017C 06E5              ldi R16,86
 017E 40DF              xcall _write_print
 0180                   .dbline 290
 0180 0FE4              ldi R16,79
 0182 3EDF              xcall _write_print
 0184                   .dbline 291
 0184 0CE4              ldi R16,76
 0186 3CDF              xcall _write_print
 0188                   .dbline 292
 0188                   .dbline 293
 0188                   .dbline 295
 0188           L25:
 0188                   .dbline -2
 0188           L23:
 0188 0E940000          xcall pop_gset1
 018C                   .dbline 0 ; func end
 018C 0895              ret
 018E                   .dbend
 018E                   .dbfunc e print1 _print1 fV
 018E           ;          temp1 -> R10,R11
 018E           ;           temp -> y+0
 018E           ;          temp2 -> R12,R13
 018E           ;          temp3 -> R14,R15
 018E           ;              q -> R20
 018E           ;              p -> R22
 018E           ;            num -> y+15
                        .even
 018E           _print1::
 018E 1A93              st -y,r17
 0190 0A93              st -y,r16
 0192 0E940000          xcall push_gset5
 0196 2597              sbiw R28,5
 0198                   .dbline -1
 0198                   .dbline 300
 0198           ;               case 0x03:
 0198           ;               {
 0198           ;                   write_print(0x56); //V
 0198           ;               write_print(0x4f); //O                   
 0198           ;               write_print(0x4c); //L
 0198           ;               }
 0198           ;               break;
 0198           ;               default:
 0198           ;               break;
 0198           ;       }
 0198           ; }
 0198           ; /***********************打印格式1*****************************/
 0198           ; void print1(uint num)             
 0198           ; {
 0198                   .dbline 301
 0198           ;     uchar p=0,q=0;
 0198 6627              clr R22
 019A                   .dbline 301
 019A 4427              clr R20
 019C                   .dbline 303
 019C           ;       uchar temp[5];
 019C           ;       uint temp1=0,temp2=0;
 019C AA24              clr R10
 019E BB24              clr R11
 01A0                   .dbline 303
 01A0 CC24              clr R12
 01A2 DD24              clr R13
 01A4                   .dbline 304
 01A4           ;       uint temp3=0;
 01A4 EE24              clr R14
 01A6 FF24              clr R15
 01A8                   .dbline 305
 01A8           ;       temp2=num;
 01A8 CF84              ldd R12,y+15
 01AA D888              ldd R13,y+16
 01AC                   .dbline 306
 01AC           ;       temp3=10000;
 01AC 80E1              ldi R24,10000
 01AE 97E2              ldi R25,39
 01B0 7C01              movw R14,R24
 01B2                   .dbline 307
 01B2           ;       for(p=0;p<5;p++)         
 01B2 19C0              xjmp L35
 01B4           L32:
 01B4                   .dbline 308
 01B4                   .dbline 309
 01B4 9701              movw R18,R14
 01B6 8601              movw R16,R12
 01B8 0E940000          xcall div16u
 01BC 5801              movw R10,R16
 01BE                   .dbline 310
 01BE 9701              movw R18,R14
 01C0 8601              movw R16,R12
 01C2 0E940000          xcall mod16u
 01C6 6801              movw R12,R16
 01C8                   .dbline 311
 01C8 2AE0              ldi R18,10
 01CA 30E0              ldi R19,0
 01CC 8701              movw R16,R14
 01CE 0E940000          xcall div16u
 01D2 7801              movw R14,R16
 01D4                   .dbline 312
 01D4 CE01              movw R24,R28
 01D6 E62F              mov R30,R22
 01D8 FF27              clr R31
 01DA E80F              add R30,R24
 01DC F91F              adc R31,R25
 01DE C501              movw R24,R10
 01E0 C096              adiw R24,48
 01E2 8083              std z+0,R24
 01E4                   .dbline 313
 01E4           L33:
 01E4                   .dbline 307
 01E4 6395              inc R22
 01E6           L35:
 01E6                   .dbline 307
 01E6 6530              cpi R22,5
 01E8 28F3              brlo L32
 01EA                   .dbline 314
 01EA           ;       {
 01EA           ;         temp1=temp2/temp3;
 01EA           ;               temp2=temp2%temp3;
 01EA           ;               temp3=temp3/10;
 01EA           ;               temp[p]=(uchar)(temp1+0x30);         
 01EA           ;       }
 01EA           ;     wdr();
 01EA 0E940000          xcall _wdr
 01EE                   .dbline 317
 01EE           ;       //功能: 将一个uint型的数显示出来,但是第一个非零数字前的零要省略
 01EE           ;     
 01EE           ;       for(p=0;p<4;p++)
 01EE 6627              clr R22
 01F0 0AC0              xjmp L39
 01F2           L36:
 01F2                   .dbline 318
 01F2           ;       {
 01F2                   .dbline 319
 01F2           ;           if(temp[p]!=0x30)         
 01F2 CE01              movw R24,R28
 01F4 E62F              mov R30,R22
 01F6 FF27              clr R31
 01F8 E80F              add R30,R24
 01FA F91F              adc R31,R25
 01FC 8081              ldd R24,z+0
 01FE 8033              cpi R24,48
 0200 09F0              breq L40
 0202                   .dbline 320
 0202           ;               break;
 0202 03C0              xjmp L38
 0204           L40:
 0204                   .dbline 321
 0204           L37:
 0204                   .dbline 317
 0204 6395              inc R22
 0206           L39:
 0206                   .dbline 317
 0206 6430              cpi R22,4
 0208 A0F3              brlo L36
 020A           L38:
 020A                   .dbline 322
 020A           ;       }
 020A           ;       for(q=0;q<p;q++)
 020A 4427              clr R20
 020C 03C0              xjmp L45
 020E           L42:
 020E                   .dbline 323
 020E                   .dbline 324
 020E 00E2              ldi R16,32
 0210 F7DE              xcall _write_print
 0212                   .dbline 325
 0212           L43:
 0212                   .dbline 322
 0212 4395              inc R20
 0214           L45:
 0214                   .dbline 322
 0214 4617              cp R20,R22
 0216 D8F3              brlo L42
 0218                   .dbline 326
 0218           ;       {
 0218           ;         write_print(0x20);
 0218           ;       }
 0218           ;       for(q=p;q<5;q++)
 0218 462F              mov R20,R22
 021A 08C0              xjmp L49
 021C           L46:
 021C                   .dbline 327
 021C                   .dbline 328
 021C CE01              movw R24,R28
 021E E42F              mov R30,R20
 0220 FF27              clr R31
 0222 E80F              add R30,R24
 0224 F91F              adc R31,R25
 0226 0081              ldd R16,z+0
 0228 EBDE              xcall _write_print
 022A                   .dbline 329
 022A           L47:
 022A                   .dbline 326
 022A 4395              inc R20
 022C           L49:
 022C                   .dbline 326
 022C 4530              cpi R20,5
 022E B0F3              brlo L46
 0230                   .dbline -2
 0230           L31:
 0230 2596              adiw R28,5
 0232 0E940000          xcall pop_gset5
 0236 2296              adiw R28,2
 0238                   .dbline 0 ; func end
 0238 0895              ret
 023A                   .dbsym r temp1 10 i
 023A                   .dbsym l temp 0 A[5:5]c
 023A                   .dbsym r temp2 12 i
 023A                   .dbsym r temp3 14 i
 023A                   .dbsym r q 20 c
 023A                   .dbsym r p 22 c
 023A                   .dbsym l num 15 i
 023A                   .dbend
 023A                   .dbfunc e date_print _date_print fV
 023A           ;          temp2 -> R20
 023A           ;          temp1 -> R10
 023A           ;           temp -> R22
                        .even
 023A           _date_print::
 023A 0E940000          xcall push_gset3
 023E 602F              mov R22,R16
 0240                   .dbline -1
 0240                   .dbline 333
 0240           ;       {
 0240           ;           write_print(temp[q]);
 0240           ;       }
 0240           ; }
 0240           ; /***********************时间处理打印函数*********************/
 0240           ; void date_print(uchar temp)              //时钟处理函数
 0240           ; { 
 0240                   .dbline 334
 0240           ;     uchar temp1=0;
 0240 AA24              clr R10
 0242                   .dbline 335
 0242           ;     uchar temp2=0;
 0242 4427              clr R20
 0244                   .dbline 336
 0244           ;     temp1=temp>>4; 
 0244 862F              mov R24,R22
 0246 8295              swap R24
 0248 8F70              andi R24,#0x0F
 024A                   .dbline 337
 024A           ;     temp1=temp1+0x30;
 024A 805D              subi R24,208    ; addi 48
 024C A82E              mov R10,R24
 024E                   .dbline 338
 024E           ;     write_print(temp1);                //打印
 024E 082F              mov R16,R24
 0250 D7DE              xcall _write_print
 0252                   .dbline 339
 0252           ;     temp2=temp&0x0f;  //取年\月\日\时\分\秒的低四位
 0252 462F              mov R20,R22
 0254 4F70              andi R20,15
 0256                   .dbline 340
 0256           ;     temp2=temp2+0x30;
 0256 405D              subi R20,208    ; addi 48
 0258                   .dbline 341
 0258           ;     write_print(temp2);                //打印
 0258 042F              mov R16,R20
 025A D2DE              xcall _write_print
 025C                   .dbline -2
 025C           L50:
 025C 0E940000          xcall pop_gset3
 0260                   .dbline 0 ; func end
 0260 0895              ret
 0262                   .dbsym r temp2 20 c
 0262                   .dbsym r temp1 10 c
 0262                   .dbsym r temp 22 c
 0262                   .dbend
 0262                   .dbfunc e num_print _num_print fV
 0262           ;          temp2 -> R20
 0262           ;          temp1 -> R22
 0262           ;           temp -> R10
                        .even
 0262           _num_print::
 0262 0E940000          xcall push_gset3
 0266 A02E              mov R10,R16
 0268                   .dbline -1
 0268                   .dbline 346
 0268           ; }
 0268           ; 

⌨️ 快捷键说明

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