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

📄 key.lis

📁 基于AVR单片机的热电偶测量系统源码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0488                   .dbline 159
 0488           ; }
 0488           ; 
 0488           ; void decanbixiaoshu(void)      //参比的小数减1
 0488           ; {
 0488                   .dbline 161
 0488           ;  
 0488           ;       canbi_array[4]--;
 0488 80910800          lds R24,_canbi_array+8
 048C 90910900          lds R25,_canbi_array+8+1
 0490 0197              sbiw R24,1
 0492 90930900          sts _canbi_array+8+1,R25
 0496 80930800          sts _canbi_array+8,R24
 049A                   .dbline 162
 049A           ;       if((canbi_array[3]==0x00)&&(canbi_array[4]==-1))
 049A 20900600          lds R2,_canbi_array+6
 049E 30900700          lds R3,_canbi_array+6+1
 04A2 2220              tst R2
 04A4 A1F4              brne L102
 04A6 3320              tst R3
 04A8 91F4              brne L102
 04AA           X4:
 04AA 80910800          lds R24,_canbi_array+8
 04AE 90910900          lds R25,_canbi_array+8+1
 04B2 8F3F              cpi R24,255
 04B4 EFEF              ldi R30,255
 04B6 9E07              cpc R25,R30
 04B8 51F4              brne L102
 04BA                   .dbline 163
 04BA           ;       {
 04BA                   .dbline 164
 04BA           ;         canbi_array[3]=0x09;
 04BA 89E0              ldi R24,9
 04BC 90E0              ldi R25,0
 04BE 90930700          sts _canbi_array+6+1,R25
 04C2 80930600          sts _canbi_array+6,R24
 04C6                   .dbline 165
 04C6           ;         canbi_array[4]=0x09;
 04C6 90930900          sts _canbi_array+8+1,R25
 04CA 80930800          sts _canbi_array+8,R24
 04CE                   .dbline 166
 04CE           ;       }
 04CE           L102:
 04CE                   .dbline 167
 04CE           ;       if((canbi_array[3]!=0x00)&&(canbi_array[4]==-1))
 04CE 20900600          lds R2,_canbi_array+6
 04D2 30900700          lds R3,_canbi_array+6+1
 04D6 2220              tst R2
 04D8 11F4              brne X5
 04DA 3320              tst R3
 04DC B9F0              breq L108
 04DE           X5:
 04DE 80910800          lds R24,_canbi_array+8
 04E2 90910900          lds R25,_canbi_array+8+1
 04E6 8F3F              cpi R24,255
 04E8 EFEF              ldi R30,255
 04EA 9E07              cpc R25,R30
 04EC 79F4              brne L108
 04EE                   .dbline 168
 04EE           ;       {
 04EE                   .dbline 169
 04EE           ;               canbi_array[4]=0x09;
 04EE 89E0              ldi R24,9
 04F0 90E0              ldi R25,0
 04F2 90930900          sts _canbi_array+8+1,R25
 04F6 80930800          sts _canbi_array+8,R24
 04FA                   .dbline 170
 04FA           ;               canbi_array[3]--;
 04FA 80910600          lds R24,_canbi_array+6
 04FE 90910700          lds R25,_canbi_array+6+1
 0502 0197              sbiw R24,1
 0504 90930700          sts _canbi_array+6+1,R25
 0508 80930600          sts _canbi_array+6,R24
 050C                   .dbline 171
 050C           ;       }
 050C           L108:
 050C                   .dbline 172
 050C           ;     Draw_NtoArab(0x04,0x58,canbi_array[3]);
 050C 20900600          lds R2,_canbi_array+6
 0510 30900700          lds R3,_canbi_array+6+1
 0514 2882              std y+0,R2
 0516 28E5              ldi R18,88
 0518 04E0              ldi R16,4
 051A 0E940000          xcall _Draw_NtoArab
 051E                   .dbline 173
 051E           ;       Draw_NtoArab(0x04,0x60,canbi_array[4]);          
 051E 20900800          lds R2,_canbi_array+8
 0522 30900900          lds R3,_canbi_array+8+1
 0526 2882              std y+0,R2
 0528 20E6              ldi R18,96
 052A 04E0              ldi R16,4
 052C 0E940000          xcall _Draw_NtoArab
 0530                   .dbline -2
 0530           L100:
 0530 2196              adiw R28,1
 0532                   .dbline 0 ; func end
 0532 0895              ret
 0534                   .dbend
 0534                   .dbfunc e getkey _getkey fc
 0534           ;        keycode -> R20
                        .even
 0534           _getkey::
 0534 0E940000          xcall push_gset1
 0538                   .dbline -1
 0538                   .dbline 178
 0538           ; }
 0538           ; 
 0538           ; 
 0538           ; unsigned char getkey(void)
 0538           ; {
 0538                   .dbline 180
 0538           ;        unsigned char keycode;
 0538           ;        if((PINB&0xbc)!=0xbc)
 0538 86B3              in R24,0x16
 053A 8C7B              andi R24,188
 053C 8C3B              cpi R24,188
 053E 69F0              breq L117
 0540                   .dbline 181
 0540           ;        {
 0540                   .dbline 182
 0540           ;               Delay10ms(35);
 0540 03E2              ldi R16,35
 0542 0E940000          xcall _Delay10ms
 0546                   .dbline 183
 0546           ;               if((PINB&0Xbc)!=0Xbc)
 0546 86B3              in R24,0x16
 0548 8C7B              andi R24,188
 054A 8C3B              cpi R24,188
 054C 31F0              breq L119
 054E                   .dbline 184
 054E           ;               {
 054E                   .dbline 185
 054E           ;               keycode=PINB&0xbc;
 054E 46B3              in R20,0x16
 0550 4C7B              andi R20,188
 0552           L121:
 0552                   .dbline 186
 0552           L122:
 0552                   .dbline 186
 0552           ;                       while((PINB&0xbc)!=0Xbc);
 0552 86B3              in R24,0x16
 0554 8C7B              andi R24,188
 0556 8C3B              cpi R24,188
 0558 E1F7              brne L121
 055A                   .dbline 187
 055A           ;               }
 055A           L119:
 055A                   .dbline 188
 055A           ;       }
 055A           L117:
 055A                   .dbline 189
 055A           ;       return keycode; 
 055A 042F              mov R16,R20
 055C                   .dbline -2
 055C           L116:
 055C 0E940000          xcall pop_gset1
 0560                   .dbline 0 ; func end
 0560 0895              ret
 0562                   .dbsym r keycode 20 c
 0562                   .dbend
 0562                   .dbfunc e getkeylock _getkeylock fc
 0562           ;        keycode -> R20
                        .even
 0562           _getkeylock::
 0562 0E940000          xcall push_gset1
 0566                   .dbline -1
 0566                   .dbline 193
 0566           ; }
 0566           ; 
 0566           ; unsigned char getkeylock(void)
 0566           ; {
 0566           L125:
 0566                   .dbline 195
 0566           L126:
 0566                   .dbline 195
 0566           ;       unsigned char keycode;
 0566           ;       while((PINB&0xbc)==0xbc);
 0566 86B3              in R24,0x16
 0568 8C7B              andi R24,188
 056A 8C3B              cpi R24,188
 056C E1F3              breq L125
 056E                   .dbline 196
 056E           ;       Delay10ms(35);
 056E 03E2              ldi R16,35
 0570 0E940000          xcall _Delay10ms
 0574                   .dbline 197
 0574           ;       if((PINB&0xbc)!=0xbc)
 0574 86B3              in R24,0x16
 0576 8C7B              andi R24,188
 0578 8C3B              cpi R24,188
 057A 31F0              breq L128
 057C                   .dbline 198
 057C           ;       {
 057C                   .dbline 199
 057C           ;           keycode=PINB&0xbc;
 057C 46B3              in R20,0x16
 057E 4C7B              andi R20,188
 0580           L130:
 0580                   .dbline 200
 0580           L131:
 0580                   .dbline 200
 0580           ;           while((PINB&0Xbc)!=0Xbc);
 0580 86B3              in R24,0x16
 0582 8C7B              andi R24,188
 0584 8C3B              cpi R24,188
 0586 E1F7              brne L130
 0588                   .dbline 201
 0588           ;       }
 0588           L128:
 0588                   .dbline 202
 0588           ;       return keycode;
 0588 042F              mov R16,R20
 058A                   .dbline -2
 058A           L124:
 058A 0E940000          xcall pop_gset1
 058E                   .dbline 0 ; func end
 058E 0895              ret
 0590                   .dbsym r keycode 20 c
 0590                   .dbend
 0590                   .dbfunc e checkkey _checkkey fV
 0590           ;            key -> R20
                        .even
 0590           _checkkey::
 0590 0E940000          xcall push_gset1
 0594 2197              sbiw R28,1
 0596                   .dbline -1
 0596                   .dbline 206
 0596           ; }
 0596           ; 
 0596           ; void checkkey(void)
 0596           ; {
 0596                   .dbline 210
 0596           ;       //unsigned char i,hour,min,sec;
 0596           ;       unsigned char key;
 0596           ; 
 0596           ;       key=getkey();
 0596 CEDF              xcall _getkey
 0598 402F              mov R20,R16
 059A                   .dbline 211
 059A           ;       if(key==enter)
 059A 0437              cpi R16,116
 059C 09F0              breq X7
 059E 94C1              xjmp L134
 05A0           X7:
 05A0                   .dbline 212
 05A0           ;       {
 05A0                   .dbline 213
 05A0           ;               if(entercount==0)
 05A0 20900000          lds R2,_entercount
 05A4 2220              tst R2
 05A6 09F0              breq X8
 05A8 C3C0              xjmp L136
 05AA           X8:
 05AA                   .dbline 214
 05AA           ;               {
 05AA                   .dbline 215
 05AA           ;                       Draw_NtoArab_rev(0x00,0x28,time_array[0]);
 05AA 20900000          lds R2,_time_array
 05AE 30900100          lds R3,_time_array+1
 05B2 2882              std y+0,R2
 05B4 28E2              ldi R18,40
 05B6 0027              clr R16
 05B8 0E940000          xcall _Draw_NtoArab_rev
 05BC                   .dbline 216
 05BC           ;                       Draw_NtoArab_rev(0x00,0x30,time_array[1]);
 05BC 20900200          lds R2,_time_array+2
 05C0 30900300          lds R3,_time_array+2+1
 05C4 2882              std y+0,R2
 05C6 20E3              ldi R18,48
 05C8 0027              clr R16
 05CA 0E940000          xcall _Draw_NtoArab_rev
 05CE AEC0              xjmp L140
 05D0           L139:
 05D0                   .dbline 218
 05D0           ;                       while(1)
 05D0           ;                       {
 05D0                   .dbline 219
 05D0           ;                           key=getkeylock();
 05D0 C8DF              xcall _getkeylock
 05D2 402F              mov R20,R16
 05D4                   .dbline 220
 05D4           ;                           if(key==enter)
 05D4 0437              cpi R16,116
 05D6 09F0              breq X9
 05D8 44C0              xjmp L142
 05DA           X9:
 05DA                   .dbline 221
 05DA           ;                               {
 05DA                   .dbline 222
 05DA           ;                                       hh=(time_array[0]<<4)|time_array[1];
 05DA 20900200          lds R2,_time_array+2
 05DE 30900300          lds R3,_time_array+2+1
 05E2 40900000          lds R4,_time_array
 05E6 50900100          lds R5,_time_array+1
 05EA 440C              lsl R4
 05EC 551C              rol R5
 05EE 440C              lsl R4
 05F0 551C              rol R5
 05F2 440C              lsl R4
 05F4 551C              rol R5
 05F6 440C              lsl R4
 05F8 551C              rol R5
 05FA 4228              or R4,R2
 05FC 5328              or R5,R3
 05FE 40920000          sts _hh,R4
 0602                   .dbline 223
 0602           ;                                       mm=(time_array[2]<<4)|time_array[3];
 0602 20900600          lds R2,_time_array+6
 0606 30900700          lds R3,_time_array+6+1
 060A 40900400          lds R4,_time_array+4
 060E 50900500          lds R5,_time_array+4+1
 0612 440C              lsl R4
 0614 551C              rol R5
 0616 440C              lsl R4
 0618 551C              rol R5
 061A 440C              lsl R4
 061C 551C              rol R5
 061E 440C              lsl R4
 0620 551C              rol R5
 0622 4228              or R4,R2
 0624 5328              or R5,R3

⌨️ 快捷键说明

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