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

📄 clock.lis

📁 单片机开发资料光盘-双龙-686M.zip
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 024C 0853              subi R16,56 ; addi 200
 024E 1BDF              rcall _write279
 0250                   .dbline 151
                       ;                    i=7;
 0250 87E0              ldi R24,7
 0252 A82E              mov R10,R24
 0254                   .dbline 152
                       ;                    write279(0x88,0x7f);
 0254 2FE7              ldi R18,127
 0256 08E8              ldi R16,136
 0258 16DF              rcall _write279
 025A                   .dbline 153
                       ;                    time.second=(time.second/10)*10+key;
 025A 1AE0              ldi R17,10
 025C 00910200          lds R16,_time
 0260 00D0              rcall div8s
 0262 102F              mov R17,R16
 0264 0AE0              ldi R16,10
 0266 00D0              rcall mpy8s
 0268 202E              mov R2,R16
 026A 240E              add R2,R20
 026C 20920200          sts _time,R2
 0270                   .dbline 154
                       ;                   }           
 0270                   .dbline 155
                       ;               break;                          
 0270                 L60:
 0270                   .dbline 159
 0270                 L61:
 0270                   .dbline 158
                       ;              }      
                       ;        }
                       ;    while((PINC&0x02)==0)//按键释放检查
 0270 999B              sbis 0x13,1
 0272 FECF              rjmp L60
 0274                   .dbline 160
                       ;            ;                 
                       ;    }    
 0274                 L18:
 0274                   .dbline 161
                       ;  while(key!=0x17);
 0274 4731              cpi R20,23
 0276 09F0              breq X9
 0278 2FCF              rjmp L21
 027A                 X9:
 027A                   .dbline 162
                       ;  write279(0x88,0xff);
 027A 2FEF              ldi R18,255
 027C 08E8              ldi R16,136
 027E 03DF              rcall _write279
 0280                   .dbline -2
 0280                   .dbline 163
                       ; }
 0280                 L16:
 0280 00D0              rcall pop_gset5
 0282                   .dbline 0 ; func end
 0282 0895              ret
 0284                   .dbsym r i 10 c
 0284                   .dbsym r key 20 c
 0284                   .dbfunc s opentime _opentime fI
                         .even
 0284                 _opentime::
 0284                   .dbline -1
 0284                   .dbline 166
                       ; /*       设置定时器1及中断系统     */
                       ; void opentime()
                       ; {
 0284                   .dbline 168
                       ;  
                       ;  TCNT1=0x85ee;
 0284 8EEE              ldi R24,-31250
 0286 95E8              ldi R25,-123
 0288 90934D00          sts 76+1,R25
 028C 80934C00          sts 76,R24
 0290                   .dbline 169
                       ;  TCCR1A=0;
 0290 2224              clr R2
 0292 2FBC              out 0x2f,R2
 0294                   .dbline 170
                       ;  TCCR1B=0x04;
 0294 84E0              ldi R24,4
 0296 8EBD              out 0x2e,R24
 0298                   .dbline 171
                       ;  TCNT0=0x83;
 0298 83E8              ldi R24,131
 029A 82BF              out 0x32,R24
 029C                   .dbline 172
                       ;  TCCR0=0x03;
 029C 83E0              ldi R24,3
 029E 83BF              out 0x33,R24
 02A0                   .dbline 173
                       ;  TIMSK=0x04;
 02A0 84E0              ldi R24,4
 02A2 89BF              out 0x39,R24
 02A4                   .dbline 174
                       ;  SREG|=0x80;
 02A4 7894              bset 7
 02A6                   .dbline -2
 02A6                   .dbline 175
                       ; }
 02A6                 L63:
 02A6                   .dbline 0 ; func end
 02A6 0895              ret
 02A8                   .dbfunc s display _display fI
                         .even
 02A8                 _display::
 02A8                   .dbline -1
 02A8                   .dbline 178
                       ; /*        显示刷新          */
                       ; void display(void)
                       ;    {
 02A8                   .dbline 179
                       ;     write279(0xc8,time.second%10);
 02A8 1AE0              ldi R17,10
 02AA 00910200          lds R16,_time
 02AE 00D0              rcall mod8s
 02B0 202F              mov R18,R16
 02B2 08EC              ldi R16,200
 02B4 E8DE              rcall _write279
 02B6                   .dbline 180
                       ;     write279(0xc9,time.second/10);
 02B6 1AE0              ldi R17,10
 02B8 00910200          lds R16,_time
 02BC 00D0              rcall div8s
 02BE 202F              mov R18,R16
 02C0 09EC              ldi R16,201
 02C2 E1DE              rcall _write279
 02C4                   .dbline 181
                       ;     write279(0x92,1);
 02C4 21E0              ldi R18,1
 02C6 02E9              ldi R16,146
 02C8 DEDE              rcall _write279
 02CA                   .dbline 182
                       ;     write279(0xcb,time.minute%10);
 02CA 1AE0              ldi R17,10
 02CC 00910300          lds R16,_time+1
 02D0 00D0              rcall mod8s
 02D2 202F              mov R18,R16
 02D4 0BEC              ldi R16,203
 02D6 D7DE              rcall _write279
 02D8                   .dbline 183
                       ;     write279(0xcc,time.minute/10);
 02D8 1AE0              ldi R17,10
 02DA 00910300          lds R16,_time+1
 02DE 00D0              rcall div8s
 02E0 202F              mov R18,R16
 02E2 0CEC              ldi R16,204
 02E4 D0DE              rcall _write279
 02E6                   .dbline 184
                       ;     write279(0x95,1);
 02E6 21E0              ldi R18,1
 02E8 05E9              ldi R16,149
 02EA CDDE              rcall _write279
 02EC                   .dbline 185
                       ;     write279(0xce,time.hour%10);
 02EC 1AE0              ldi R17,10
 02EE 00910400          lds R16,_time+2
 02F2 00D0              rcall mod8s
 02F4 202F              mov R18,R16
 02F6 0EEC              ldi R16,206
 02F8 C6DE              rcall _write279
 02FA                   .dbline 186
                       ;     write279(0xcf,time.hour/10);
 02FA 1AE0              ldi R17,10
 02FC 00910400          lds R16,_time+2
 0300 00D0              rcall div8s
 0302 202F              mov R18,R16
 0304 0FEC              ldi R16,207
 0306 BFDE              rcall _write279
 0308                   .dbline -2
 0308                   .dbline 187
                       ;    }
 0308                 L64:
 0308                   .dbline 0 ; func end
 0308 0895              ret
 030A                   .dbfunc s inctime _inctime fI
                         .even
 030A                 _inctime::
 030A                   .dbline -1
 030A                   .dbline 190
                       ; /*        正计时            */   
                       ; void inctime(void)
                       ;    {
 030A                   .dbline 191
                       ;     if(time.second<59)
 030A 80910200          lds R24,_time
 030E 8B33              cpi R24,59
 0310 34F4              brge L70
 0312                   .dbline 192
                       ;        time.second++;
 0312 80910200          lds R24,_time
 0316 8F5F              subi R24,255    ; addi 1
 0318 80930200          sts _time,R24
 031C 1DC0              rjmp L71
 031E                 L70:
 031E                   .dbline 194
                       ;     else
                       ;       {
 031E                   .dbline 195
                       ;        time.second=0;
 031E 2224              clr R2
 0320 20920200          sts _time,R2
 0324                   .dbline 196
                       ;        if(time.minute<59)
 0324 80910300          lds R24,_time+1
 0328 8B33              cpi R24,59
 032A 34F4              brge L72
 032C                   .dbline 197
                       ;          time.minute++;
 032C 80910300          lds R24,_time+1
 0330 8F5F              subi R24,255    ; addi 1
 0332 80930300          sts _time+1,R24
 0336 10C0              rjmp L73
 0338                 L72:
 0338                   .dbline 199
                       ;        else
                       ;          {
 0338                   .dbline 200
                       ;           time.minute=0;
 0338 2224              clr R2
 033A 20920300          sts _time+1,R2
 033E                   .dbline 201
                       ;           if(time.hour<23)
 033E 80910400          lds R24,_time+2
 0342 8731              cpi R24,23
 0344 34F4              brge L77
 0346                   .dbline 202
                       ;             time.hour++;
 0346 80910400          lds R24,_time+2
 034A 8F5F              subi R24,255    ; addi 1
 034C 80930400          sts _time+2,R24
 0350 03C0              rjmp L78
 0352                 L77:
 0352                   .dbline 204
                       ;           else
                       ;             time.hour=0;    
 0352 2224              clr R2
 0354 20920400          sts _time+2,R2
 0358                 L78:
 0358                   .dbline 205
                       ;          }   
 0358                 L73:
 0358                   .dbline 206
 0358                 L71:
 0358                   .dbline -2
 0358                   .dbline 207
                       ;       }   
                       ;    }
 0358                 L69:
 0358                   .dbline 0 ; func end
 0358 0895              ret
 035A                   .dbfunc s dectime _dectime fI
                         .even
 035A                 _dectime::
 035A                   .dbline -1
 035A                   .dbline 210
                       ; /*          倒计时           */   
                       ; void dectime(void)
                       ;    {
 035A                   .dbline 211
                       ;     if(time.second>0)
 035A 2224              clr R2
 035C 30900200          lds R3,_time
 0360 2314              cp R2,R3
 0362 34F4              brge L83
 0364                   .dbline 212
                       ;        time.second--;
 0364 80910200          lds R24,_time
 0368 8150              subi R24,1
 036A 80930200          sts _time,R24
 036E 1FC0              rjmp L84
 0370                 L83:
 0370                   .dbline 214
                       ;     else
                       ;       {
 0370                   .dbline 215
                       ;        time.second=59;
 0370 8BE3              ldi R24,59
 0372 80930200          sts _time,R24
 0376                   .dbline 216
                       ;        if(time.minute>0)
 0376 2224              clr R2
 0378 30900300          lds R3,_time+1
 037C 2314              cp R2,R3
 037E 34F4              brge L85
 0380                   .dbline 217
                       ;           time.minute--;
 0380 80910300          lds R24,_time+1
 0384 8150              subi R24,1
 0386 80930300          sts _time+1,R24
 038A 11C0              rjmp L86
 038C                 L85:
 038C                   .dbline 219
                       ;        else
                       ;          {
 038C                   .dbline 220
                       ;           time.minute=59;
 038C 8BE3              ldi R24,59
 038E 80930300          sts _time+1,R24
 0392                   .dbline 221
                       ;           if(time.hour>0)
 0392 2224              clr R2
 0394 30900400          lds R3,_time+2
 0398 2314              cp R2,R3
 039A 34F4              brge L90
 039C                   .dbline 222
                       ;             time.hour--;
 039C 80910400          lds R24,_time+2
 03A0 8150              subi R24,1
 03A2 80930400          sts _time+2,R24
 03A6 03C0              rjmp L91
 03A8                 L90:
 03A8                   .dbline 224
                       ;           else
                       ;             time.hour=23;   
 03A8 87E1              ldi R24,23
 03AA 80930400          sts _time+2,R24
 03AE                 L91:
 03AE                   .dbline 225
                       ;          }   
 03AE                 L86:
 03AE                   .dbline 226
 03AE                 L84:
 03AE                   .dbline -2
 03AE                   .dbline 227
                       ;       }

⌨️ 快捷键说明

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