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

📄 1602_8563.s

📁 avr单片机的程序
💻 S
📖 第 1 页 / 共 3 页
字号:
	std y+3,R2
	movw R24,R2
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	breq L142
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	breq L144
	cpi R24,3
	ldi R30,0
	cpc R25,R30
	breq L146
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	breq L148
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	breq L150
	cpi R24,6
	ldi R30,0
	cpc R25,R30
	breq L152
	xjmp L139
X5:
	.dbline 266
; 						        {
L142:
	.dbline 268
; 								case 1:
; 							        xs_lcd("year:");
	ldi R16,<L143
	ldi R17,>L143
	xcall _xs_lcd
	.dbline 269
; 									set_xs1(6);		 //显示年
	ldi R16,6
	xcall _set_xs1
	.dbline 270
; 									break;
	xjmp L284
L144:
	.dbline 272
; 								case 2:
; 							    	xs_lcd("muth:");
	ldi R16,<L145
	ldi R17,>L145
	xcall _xs_lcd
	.dbline 273
; 									set_xs1(5);		 //显示月
	ldi R16,5
	xcall _set_xs1
	.dbline 274
; 									break;
	xjmp L284
L146:
	.dbline 276
; 								case 3:
; 							    	xs_lcd(" day:");
	ldi R16,<L147
	ldi R17,>L147
	xcall _xs_lcd
	.dbline 277
; 									set_xs1(3);		 //显示日
	ldi R16,3
	xcall _set_xs1
	.dbline 278
; 									break;
	xjmp L284
L148:
	.dbline 280
; 								case 4:
; 							    	xs_lcd("hour:");
	ldi R16,<L149
	ldi R17,>L149
	xcall _xs_lcd
	.dbline 281
; 									set_xs1(2);		 //显示时
	ldi R16,2
	xcall _set_xs1
	.dbline 282
; 									break;
	xjmp L284
L150:
	.dbline 284
; 								case 5:
; 							    	xs_lcd("mine:");
	ldi R16,<L151
	ldi R17,>L151
	xcall _xs_lcd
	.dbline 285
; 									set_xs1(1);		 //显示分
	ldi R16,1
	xcall _set_xs1
	.dbline 286
; 									break;
	xjmp L284
L152:
	.dbline 288
; 								case 6:
; 							    	xs_lcd("week:");
	ldi R16,<L153
	ldi R17,>L153
	xcall _xs_lcd
	.dbline 289
; 									set_xs1(4);		 //显示周
	ldi R16,4
	xcall _set_xs1
	.dbline 290
; 									break;
	xjmp L284
L139:
	.dbline 291
; 								default:set_time=0;break;
	clr R22
	.dbline 291
	.dbline 293
; 								}
; 							}
	.dbline 294
; 						break;
	xjmp L284
L154:
	.dbline 296
; 					case 0x04:
; 					    if(set_flag==1)
	ldd R24,y+1
	cpi R24,1
	breq X15
	xjmp L155
X15:
	.dbline 297
; 						    {
	.dbline 298
; 							spk(10,1);
	ldi R18,1
	ldi R16,10
	xcall _spk
	.dbline 299
; 							set_bh=1;
	clr R0
	inc R0
	std y+2,R0
	.dbline 300
; 							locate(2,7);		   //显示“时间调整”
	ldi R18,7
	ldi R16,2
	xcall _locate
	.dbline 301
; 							switch(set_time)
	mov R12,R22
	clr R13
	movw R24,R12
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	breq L160
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	breq L170
	cpi R24,3
	ldi R30,0
	cpc R25,R30
	brne X16
	xjmp L180
X16:
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	brne X17
	xjmp L190
X17:
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	brne X18
	xjmp L200
X18:
	cpi R24,6
	ldi R30,0
	cpc R25,R30
	brne X19
	xjmp L210
X19:
	xjmp L157
X6:
	.dbline 302
; 							    {
L160:
	.dbline 304
; 								case 1:
; 								    timer[6]-=0x01;
	lds R24,_timer+6
	subi R24,1
	sts _timer+6,R24
	.dbline 305
; 									if((timer[6]&0x0F)==0x0F)timer[6]&=0xF9;
	andi R24,15
	cpi R24,15
	brne L162
	.dbline 305
	lds R24,_timer+6
	andi R24,249
	sts _timer+6,R24
L162:
	.dbline 306
; 									if(timer[6]>0x99)timer[6]=0x99;
	ldi R24,153
	lds R2,_timer+6
	cp R24,R2
	brsh L166
	.dbline 306
	sts _timer+6,R24
L166:
	.dbline 307
; 									set_xs1(6);		 //显示年
	ldi R16,6
	xcall _set_xs1
	.dbline 308
; 									break;
	xjmp L284
L170:
	.dbline 310
; 								case 2:
; 								    timer[5]-=0x01;
	lds R24,_timer+5
	subi R24,1
	sts _timer+5,R24
	.dbline 311
; 									if((timer[5]&0x0F)==0x0F)timer[5]&=0xF9;
	andi R24,15
	cpi R24,15
	brne L172
	.dbline 311
	lds R24,_timer+5
	andi R24,249
	sts _timer+5,R24
L172:
	.dbline 312
; 									if(timer[5]==0x00)timer[5]=0x12;
	lds R2,_timer+5
	tst R2
	brne L176
	.dbline 312
	ldi R24,18
	sts _timer+5,R24
L176:
	.dbline 313
; 									set_xs1(5);		 //显示月
	ldi R16,5
	xcall _set_xs1
	.dbline 314
; 									break;
	xjmp L284
L180:
	.dbline 316
; 								case 3:
; 								    timer[3]-=0x01;
	lds R24,_timer+3
	subi R24,1
	sts _timer+3,R24
	.dbline 317
; 									if((timer[3]&0x0F)==0x0F)timer[3]&=0xF9;
	andi R24,15
	cpi R24,15
	brne L182
	.dbline 317
	lds R24,_timer+3
	andi R24,249
	sts _timer+3,R24
L182:
	.dbline 318
; 									if(timer[3]==0x00)timer[3]=0x30;
	lds R2,_timer+3
	tst R2
	brne L186
	.dbline 318
	ldi R24,48
	sts _timer+3,R24
L186:
	.dbline 319
; 									set_xs1(3);		 //显示日
	ldi R16,3
	xcall _set_xs1
	.dbline 320
; 									break;
	xjmp L284
L190:
	.dbline 322
; 								case 4:
; 								    timer[2]-=0x01;
	lds R24,_timer+2
	subi R24,1
	sts _timer+2,R24
	.dbline 323
; 									if((timer[2]&0x0F)==0x0F)timer[2]&=0xF9;
	andi R24,15
	cpi R24,15
	brne L192
	.dbline 323
	lds R24,_timer+2
	andi R24,249
	sts _timer+2,R24
L192:
	.dbline 324
; 									if(timer[2]>0x24)timer[2]=0x23;
	ldi R24,36
	lds R2,_timer+2
	cp R24,R2
	brsh L196
	.dbline 324
	ldi R24,35
	sts _timer+2,R24
L196:
	.dbline 325
; 									set_xs1(2);		 //显示时
	ldi R16,2
	xcall _set_xs1
	.dbline 326
; 									break;
	xjmp L284
L200:
	.dbline 328
; 								case 5:
; 								    timer[1]-=0x01;
	lds R24,_timer+1
	subi R24,1
	sts _timer+1,R24
	.dbline 329
; 									if((timer[1]&0x0F)==0x0F)timer[1]&=0xf9;
	andi R24,15
	cpi R24,15
	brne L202
	.dbline 329
	lds R24,_timer+1
	andi R24,249
	sts _timer+1,R24
L202:
	.dbline 330
; 									if(timer[1]>0x59)timer[1]=0x59;
	ldi R24,89
	lds R2,_timer+1
	cp R24,R2
	brsh L206
	.dbline 330
	sts _timer+1,R24
L206:
	.dbline 331
; 									set_xs1(1);		 //显示分
	ldi R16,1
	xcall _set_xs1
	.dbline 332
; 									break;
	xjmp L284
L210:
	.dbline 334
; 								case 6:
; 								    timer[4]-=0x01;
	lds R24,_timer+4
	subi R24,1
	sts _timer+4,R24
	.dbline 335
; 									if(timer[4]>6)timer[4]=0x06;
	ldi R24,6
	lds R2,_timer+4
	cp R24,R2
	brsh L212
	.dbline 335
	sts _timer+4,R24
L212:
	.dbline 336
; 									set_xs1(4);		 //显示周
	ldi R16,4
	xcall _set_xs1
	.dbline 337
; 									break;
	xjmp L284
L157:
	.dbline 338
; 								default:set_time=0;break;
	clr R22
	.dbline 338
	.dbline 340
; 								}
; 							}
	xjmp L284
L155:
	.dbline 342
; 						else
; 							start_timer();
	xcall _start_timer
	.dbline 343
; 						break;
	xjmp L284
L216:
	.dbline 345
; 					case 0x08:
; 					    if(set_flag==1)
	ldd R24,y+1
	cpi R24,1
	breq X20
	xjmp L217
X20:
	.dbline 346
; 						    {
	.dbline 347
; 							spk(10,1);
	ldi R18,1
	ldi R16,10
	xcall _spk
	.dbline 348
; 							set_bh=1;
	clr R0
	inc R0
	std y+2,R0
	.dbline 349
; 							locate(2,7);		   //显示“时间调整”
	ldi R18,7
	ldi R16,2
	xcall _locate
	.dbline 350
; 							switch(set_time)
	mov R10,R22
	clr R11
	movw R24,R10
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	breq L222
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	breq L233
	cpi R24,3
	ldi R30,0
	cpc R25,R30
	brne X21
	xjmp L244
X21:
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	brne X22
	xjmp L255
X22:
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	brne X23
	xjmp L266
X23:
	cpi R24,6
	ldi R30,0
	cpc R25,R30
	brne X24
	xjmp L277
X24:
	xjmp L219
X7:
	.dbline 351
; 								{
L222:
	.dbline 353
; 								case 1:
; 									timer[6]+=0x01;
	lds R24,_timer+6
	subi R24,255    ; addi 1
	sts _timer+6,R24
	.dbline 354
; 									if((timer[6]&0x0F)==0x0A)timer[6]=(timer[6]&0xF0)+0x10;
	andi R24,15
	cpi R24,10
	brne L224
	.dbline 354
	lds R24,_timer+6
	andi R24,240
	subi R24,240    ; addi 16
	sts _timer+6,R24
L224:
	.dbline 355
; 									if(timer[6]>0x99)timer[6]=0x00;
	ldi R24,153
	lds R2,_timer+6
	cp R24,R2
	brsh L229
	.dbline 355
	clr R2
	sts _timer+6,R2
L229:
	.dbline 356
; 									set_xs1(6);		 //显示年
	ldi R16,6
	xcall _set_xs1
	.dbline 357
; 									break;
	xjmp L284
L233:
	.dbline 359
; 								case 2:
; 									timer[5]+=0x01;
	lds R24,_timer+5
	subi R24,255    ; addi 1
	sts _timer+5,R24
	.dbline 360
; 									if((timer[5]&0x0F)==0x0A)timer[5]=(timer[5]&0xF0)+0x10;
	andi R24,15
	cpi R24,10
	brne L235
	.dbline 360
	lds R24,_timer+5
	andi R24,240
	subi R24,240    ; addi 16
	sts _timer+5,R24
L235:
	.dbline 361
; 									if(timer[5]>=0x13)timer[5]=0x01;
	lds R24,_timer+5
	cpi R24,19
	brlo L240
	.dbline 361
	ldi R24,1
	sts _timer+5,R24
L240:
	.dbline 362
; 									set_xs1(5);		 //显示月
	ldi R16,5
	xcall _set_xs1
	.dbline 363
; 									break;
	xjmp L284
L244:
	.dbline 365
; 								case 3:
; 									timer[3]+=0x01;
	lds R24,_timer+3
	subi R24,255    ; addi 1
	sts _timer+3,R24
	.dbline 366
; 									if((timer[3]&0x0F)==0x0A)timer[3]=(timer[3]&0xF0)+0x10;
	andi R24,15
	cpi R24,10
	brne L246
	.dbline 366
	lds R24,_timer+3
	andi R24,240
	subi R24,240    ; addi 16
	sts _timer+3,R24
L246:
	.dbline 367
; 									if(timer[3]>=0x31)timer[3]=0x01;
	lds R24,_timer+3
	cpi R24,49
	brlo L251
	.dbline 367
	ldi R24,1
	sts _timer+3,R24
L251:
	.dbline 368
; 									set_xs1(3);		 //显示日
	ldi R16,3
	xcall _set_xs1
	.dbline 369
; 									break;
	xjmp L284
L255:
	.dbline 371
; 								case 4:
; 									timer[2]+=0x01;
	lds R24,_timer+2
	subi R24,255    ; addi 1
	sts _timer+2,R24
	.dbline 372
; 									if((timer[2]&0x0F)==0x0A)timer[2]=(timer[2]&0xF0)+0x10;
	andi R24,15
	cpi R24,10
	brne L257
	.dbline 372
	lds R24,_timer+2
	andi R24,240
	subi R24,240    ; addi 16
	sts _timer+2,R24
L257:
	.dbline 373
; 									if(timer[2]>=0x24)timer[2]=0x00;
	lds R24,_timer+2
	cpi R24,36
	brlo L262
	.dbline 373
	clr R2
	sts _timer+2,R2
L262:
	.dbline 374
; 									set_xs1(2);		 //显示时
	ldi R16,2
	xcall _set_xs1
	.dbline 375
; 									break;
	xjmp L284
L266:
	.dbline 377
; 								case 5:
; 									timer[1]+=0x01;
	lds R24,_timer+1
	subi R24,255    ; addi 1
	sts _timer+1,R24
	.dbline 378
; 									if((timer[1]&0x0F)==0x0A)timer[1]=(timer[1]&0xf0)+0x10;
	andi R24,15
	cpi R24,10
	brne L268
	.dbline 378
	lds R24,_timer+1
	andi R24,240
	subi R24,240    ; addi 16
	sts _timer+1,R24
L268:
	.dbline 379
; 									if(timer[1]>0x59)timer[1]=0x00;
	ldi R24,89
	lds R2,_timer+1
	cp R24,R2
	brsh L273
	.dbline 379
	clr R2
	sts _timer+1,R2
L273:
	.dbline 380
; 									set_xs1(1);		 //显示分
	ldi R16,1
	xcall _set_xs1
	.dbline 381
; 									break;
	xjmp L284
L277:
	.dbline 383
; 								case 6:
; 									timer[4]+=0x01;
	lds R24,_timer+4
	subi R24,255    ; addi 1
	sts _timer+4,R24
	.dbline 384
; 									if(timer[4]>6)timer[4]=0x00;
	ldi R24,6
	lds R2,_timer+4
	cp R24,R2
	brsh L279
	.dbline 384
	clr R2
	sts _timer+4,R2
L279:
	.dbline 385
; 									set_xs1(4);		 //显示周
	ldi R16,4
	xcall _set_xs1
	.dbline 386
; 									break;
	xjmp L284
L219:
	.dbline 387
; 								default:set_time=0;break;
	clr R22
	.dbline 387
	.dbline 389
; 								}
; 							}
	xjmp L284
L217:
	.dbline 391
; 						else
; 							LED_OFF;					 //关背光
	cbi 0x18,3
	.dbline 392
; 						break;
	.dbline 393
; 					default:break;
	.dbline 395
; 					}
; 				}
	xjmp L284
L283:
	.dbline 397
	.dbline 398
	in R24,0x13
	lsr R24
	ori R24,241
	in R20,0x10
	lsr R20
	lsr R20
	ori R20,254
	and R20,R24
	com R20
	.dbline 399
	ldi R16,10
	ldi R17,0
	xcall _delay_ms
	.dbline 400
L284:
	.dbline 396
; 			while(a!=0)
	tst R20
	brne L283
	.dbline 401
; 			    {
; 				a=KEY_RD;
; 				delay_ms(10);
; 				}
; 			}
L123:
	.dbline 402
L121:
	.dbline 226
	xjmp L120
X8:
	.dbline -2
L119:
	adiw R28,5
	.dbline 0 ; func end
	ret
	.dbsym r set_time 22 c
	.dbsym l set_bh 2 c
	.dbsym l set_flag 1 c
	.dbsym l a1 0 c
	.dbsym r a 20 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
_timer::
	.blkb 8
	.dbsym e timer _timer A[8:8]c
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L153:
	.blkb 6
	.area idata
	.byte 'w,'e,'e,'k,58,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L151:
	.blkb 6
	.area idata
	.byte 'm,'i,'n,'e,58,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L149:
	.blkb 6
	.area idata
	.byte 'h,'o,'u,'r,58,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L147:
	.blkb 6
	.area idata
	.byte 32,'d,'a,'y,58,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L145:
	.blkb 6
	.area idata
	.byte 'm,'u,'t,'h,58,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L143:
	.blkb 6
	.area idata
	.byte 'y,'e,'a,'r,58,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L133:
	.blkb 5
	.area idata
	.byte 'S,'E,'T,58,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L32:
	.blkb 17
	.area idata
	.byte 'T,'e,'l,58,48,50,56,45,56,50,56,51,52,57,52,54
	.byte 0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c
L31:
	.blkb 7
	.area idata
	.byte 'T,'O,'N,'G,'H,'E,0
	.area data(ram, con, rel)
	.dbfile D:\PCF8563\1602_time\1602_8563.c

⌨️ 快捷键说明

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