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

📄 bt.s

📁 AVR ICC基于AVR单片机的LED显示程序!
💻 S
📖 第 1 页 / 共 3 页
字号:
L132:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e write _write fV
	.even
_write::
	.dbline -1
	.dbline 197
; }
; 
; void write(void)
; {
	.dbline 198
; EEPROMwrite(19,date[0]); WDR();
	lds R18,_date
	ldi R16,19
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 198
	wdr
	.dbline 199
; EEPROMwrite(21,date[1]); WDR();
	lds R18,_date+1
	ldi R16,21
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 199
	wdr
	.dbline 200
; EEPROMwrite(23,date[2]); WDR();
	lds R18,_date+2
	ldi R16,23
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 200
	wdr
	.dbline 201
; EEPROMwrite(25,date[3]); WDR();
	lds R18,_date+3
	ldi R16,25
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 201
	wdr
	.dbline 202
; EEPROMwrite(27,date[4]); WDR();
	lds R18,_date+4
	ldi R16,27
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 202
	wdr
	.dbline 203
; EEPROMwrite(29,date[5]); WDR();
	lds R18,_date+5
	ldi R16,29
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 203
	wdr
	.dbline 204
; EEPROMwrite(31,date[6]); WDR();
	lds R18,_date+6
	ldi R16,31
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 204
	wdr
	.dbline 205
; EEPROMwrite(33,date[7]); WDR();
	lds R18,_date+7
	ldi R16,33
	ldi R17,0
	rcall _EEPROMwrite
	.dbline 205
	wdr
	.dbline -2
L140:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
;           menu -> R20
	.even
_main::
	.dbline -1
	.dbline 211
; } 
; 
; 
; 
; void main()
; {
	.dbline 212
; uchar menu=0;
	clr R20
	.dbline 214
; 
; OSCCAL=0x89;//EEPROMread(0x10);
	ldi R24,137
	out 0x31,R24
	.dbline 215
; init_devices();
	rcall _init_devices
	.dbline 216
; delay(100);
	ldi R16,100
	ldi R17,0
	rcall _delay
	rjmp L150
L149:
	.dbline 220
	.dbline 221
	cli
	.dbline 222
	ldi R16,4765
	ldi R17,18
	rcall _show4
	.dbline 223
	ldi R16,10000
	ldi R17,39
	rcall _delay
	.dbline 224
L150:
	.dbline 219
; 
; 
; while(1)
	rjmp L149
X2:
	.dbline 227
; {
; CLI();
; show4(4765);
; delay(10000);
; }
; 
; 
; read();
	rcall _read
	.dbline 228
; if(EEPROMread(33)==255) 
	ldi R16,33
	ldi R17,0
	rcall _EEPROMread
	cpi R16,255
	breq X8
	rjmp L162
X8:
	.dbline 229
;  {
	.dbline 230
;  date[0]=1;
	ldi R24,1
	sts _date,R24
	.dbline 231
;  date[1]=21;
	ldi R24,21
	sts _date+1,R24
	.dbline 232
;  date[2]=3;
	ldi R24,3
	sts _date+2,R24
	.dbline 233
;  date[3]=1;
	ldi R24,1
	sts _date+3,R24
	.dbline 234
;  date[4]=0; 
	clr R2
	sts _date+4,R2
	.dbline 235
;  date[5]=20;
	ldi R24,20
	sts _date+5,R24
	.dbline 236
;  date[6]=1; 
	ldi R24,1
	sts _date+6,R24
	.dbline 237
;  date[7]=1;
	sts _date+7,R24
	.dbline 238
;  write();
	rcall _write
	.dbline 239
;  }
	rjmp L162
L161:
	.dbline 242
;  
; while(1)
; {
	.dbline 243
; if(1) 
	.dbline 244
; {
	.dbline 245
; s1=0;
	clr R2
	sts _s1,R2
	rjmp L167
L166:
	.dbline 246
	.dbline 246
	rcall _a
	.dbline 246
L167:
	.dbline 246
; while(s1<5) {a();}
	lds R24,_s1
	cpi R24,5
	brlo L166
	.dbline 247
; }
L164:
	.dbline 248
; WDR();
	wdr
	.dbline 250
; 
; if(start)
	lds R2,_start
	tst R2
	brne X9
	rjmp L169
X9:
	.dbline 251
;  {
	.dbline 252
;  bee(300,400);
	ldi R18,400
	ldi R19,1
	ldi R16,300
	ldi R17,1
	rcall _bee
	.dbline 253
;  s1=0;m1=0;out1;
	clr R2
	sts _s1,R2
	.dbline 253
	sts _m1,R2
	.dbline 253
	sbi 0x12,1
	rjmp L172
L171:
	.dbline 255
;  while(start)
;   {
	.dbline 256
;   a1();
	rcall _a1
	.dbline 257
;   if(m1>=date[5])     {start=0;date[7]=0;out0;write();bee(1000,200);}
	lds R2,_date+5
	lds R3,_m1
	cp R3,R2
	brlo L174
	.dbline 257
	.dbline 257
	clr R2
	sts _start,R2
	.dbline 257
	sts _date+7,R2
	.dbline 257
	cbi 0x12,1
	.dbline 257
	rcall _write
	.dbline 257
	ldi R18,200
	ldi R19,0
	ldi R16,1000
	ldi R17,3
	rcall _bee
	.dbline 257
L174:
	.dbline 258
;   if(cw(5)>600)  {start=0;date[7]=1;out0;write();bee(500,400); delay(300); bee(300,400);}
	ldi R16,5
	rcall _cw
	ldi R24,600
	ldi R25,2
	cp R24,R16
	cpc R25,R17
	brsh L178
	.dbline 258
	.dbline 258
	clr R2
	sts _start,R2
	.dbline 258
	ldi R24,1
	sts _date+7,R24
	.dbline 258
	cbi 0x12,1
	.dbline 258
	rcall _write
	.dbline 258
	ldi R18,400
	ldi R19,1
	ldi R16,500
	ldi R17,1
	rcall _bee
	.dbline 258
	ldi R16,300
	ldi R17,1
	rcall _delay
	.dbline 258
	ldi R18,400
	ldi R19,1
	ldi R16,300
	ldi R17,1
	rcall _bee
	.dbline 258
L178:
	.dbline 259
	in R2,0x10
	clr R3
	sbrc R2,1
	rjmp L181
	.dbline 259
	.dbline 259
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 259
	in R2,0x10
	clr R3
	sbrc R2,1
	rjmp L183
	.dbline 259
	.dbline 259
	clr R2
	sts _start,R2
	.dbline 259
	sts _date+7,R2
	.dbline 259
	cbi 0x12,1
	.dbline 259
	ldi R16,200
	ldi R17,0
	rcall _delay
	.dbline 259
	ldi R18,400
	ldi R19,1
	ldi R16,1000
	ldi R17,3
	rcall _bee
	.dbline 259
L183:
	.dbline 259
;   if(!Add) { delay(100); if(!Add) {start=0;date[7]=0;out0; delay(200); bee(1000,400);}}
L181:
	.dbline 260
L172:
	.dbline 254
	lds R2,_start
	tst R2
	breq X10
	rjmp L171
X10:
	.dbline 261
;   }
;  }
L169:
	.dbline 263
; 
; if(!Add) 
	in R2,0x10
	clr R3
	sbrc R2,1
	rjmp L186
	.dbline 264
;     { 
	.dbline 265
;     delay(100); 
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 266
; 	if(!Add) 
	in R2,0x10
	clr R3
	sbrc R2,1
	rjmp L188
	.dbline 267
; 	 {
	.dbline 268
; 	 start=1;
	ldi R24,1
	sts _start,R24
	.dbline 269
; 	 bee(1000,600);	
	ldi R18,600
	ldi R19,2
	ldi R16,1000
	ldi R17,3
	rcall _bee
	.dbline 270
; 	 }
L188:
	.dbline 271
; 	}
L186:
	.dbline 273
; 
; if(!Set)
	in R2,0x10
	clr R3
	sbrc R2,2
	rjmp L190
	.dbline 274
; {
	.dbline 275
; delay(100);
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 276
;  if(!Set)
	in R2,0x10
	clr R3
	sbrc R2,2
	rjmp L192
	.dbline 277
;  { 
	.dbline 278
;  read();
	rcall _read
	.dbline 279
;  bee(300,400);
	ldi R18,400
	ldi R19,1
	ldi R16,300
	ldi R17,1
	rcall _bee
	rjmp L195
L194:
	.dbline 281
;  while(1)
;  { 
	.dbline 282
;  if(!Set)
	in R2,0x10
	clr R3
	sbrc R2,2
	rjmp L197
	.dbline 283
;      {
	.dbline 284
;      delay(100); 
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 285
; 	 if(!Set) 
	in R2,0x10
	clr R3
	sbrc R2,2
	rjmp L199
	.dbline 286
; 	  {  
	.dbline 287
; 	  menu++; if(menu==11) menu=10;
	inc R20
	.dbline 287
	cpi R20,11
	brne L201
	.dbline 287
	ldi R20,10
L201:
	.dbline 288
;       write();
	rcall _write
	.dbline 289
; 	  bee(300,600);  delay(200);
	ldi R18,600
	ldi R19,2
	ldi R16,300
	ldi R17,1
	rcall _bee
	.dbline 289
	ldi R16,200
	ldi R17,0
	rcall _delay
	.dbline 290
;       }
L199:
	.dbline 291
;      } 
L197:
	.dbline 292
;  if(!Add) 
	in R2,0x10
	clr R3
	sbrc R2,1
	rjmp L203
	.dbline 293
;     { 
	.dbline 294
;     delay(100); 
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 295
; 	if(!Add) 
	in R2,0x10
	clr R3
	sbrc R2,1
	rjmp L205
	.dbline 296
; 	 {date[menu]++; 
	.dbline 296
	ldi R24,<_date
	ldi R25,>_date
	mov R2,R20
	clr R3
	add R2,R24
	adc R3,R25
	movw R30,R2
	ldd R24,z+0
	subi R24,255    ; addi 1
	std z+0,R24
	.dbline 297
; 	  if(date[menu]>59)  date[menu]=0;   
	ldi R24,<_date
	ldi R25,>_date
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	ldi R24,59
	cp R24,R2
	brsh L207
	.dbline 297
	ldi R24,<_date
	ldi R25,>_date
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	clr R2
	std z+0,R2
L207:
	.dbline 298
; 	  if((menu==1||menu==3)&&date[menu]>23)  date[menu]=0;
	cpi R20,1
	breq L211
	cpi R20,3
	brne L209
L211:
	ldi R24,<_date
	ldi R25,>_date
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	ldi R24,23
	cp R24,R2
	brsh L209
	.dbline 298
	ldi R24,<_date
	ldi R25,>_date
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	clr R2
	std z+0,R2
L209:
	.dbline 299
; 	  write(); bee(300,600);	
	rcall _write
	.dbline 299
	ldi R18,600
	ldi R19,2
	ldi R16,300
	ldi R17,1
	rcall _bee
	.dbline 300
; 	 }
L205:
	.dbline 301
; 	}
L203:
	.dbline 302
	in R2,0x10
	clr R3
	sbrc R2,0
	rjmp L212
	.dbline 302
	.dbline 302
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 302
	in R2,0x10
	clr R3
	sbrc R2,0
	rjmp L214
	.dbline 302
	.dbline 302
	ldi R24,<_date
	ldi R25,>_date
	mov R2,R20
	clr R3
	add R2,R24
	adc R3,R25
	movw R30,R2
	ldd R24,z+0
	subi R24,1
	std z+0,R24
	.dbline 302
	ldi R24,<_date
	ldi R25,>_date
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R24,z+0
	cpi R24,255
	brne L216
	.dbline 302
	ldi R24,<_date
	ldi R25,>_date
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldi R24,59
	std z+0,R24
L216:
	.dbline 302
	rcall _write
	.dbline 302
	ldi R18,600
	ldi R19,2
	ldi R16,200
	ldi R17,0
	rcall _bee
	.dbline 302
L214:
	.dbline 302
;  if(!Sub) { delay(100); if(!Sub) {date[menu]--; if(date[menu]==255) date[menu]=59;   write(); bee(200,600); }}
L212:
	.dbline 303
;  if(!Store) 
	rjmp L226
X3:
	.dbline 304
;   { delay(100); 
	.dbline 304
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 305
;     if(!Store) 
	rjmp L226
X4:
	.dbline 306
; 	{ 
	.dbline 307
;       write();
	rcall _write
	.dbline 308
; 	  bee(300,400); 
	ldi R18,400
	ldi R19,1
	ldi R16,300
	ldi R17,1
	rcall _bee
L222:
	.dbline 309
L223:
	.dbline 309
; 	  while(1);
	rjmp L222
X5:
	.dbline 310
; 	 }
	.dbline 311
;   }
L225:
	.dbline 312
L226:
	.dbline 312
	cpi R20,7
	breq L225
	.dbline 313
	ldi R24,<_date
	ldi R25,>_date
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R18,z+0
	clr R19
	mov R16,R20
	subi R16,255    ; addi 1
	rcall _show
	.dbline 314
	ldi R16,20
	ldi R17,0
	rcall _delay
	.dbline 315
L195:
	.dbline 280
	rjmp L194
X6:
	.dbline 316
;  while(menu==7) ;
;  show(menu+1,date[menu]);
;  delay(20);
;  }
;  }
L192:
	.dbline 317
; } 	
L190:
	.dbline 319
L162:
	.dbline 241
	rjmp L161
X7:
	.dbline -2
L148:
	.dbline 0 ; func end
	ret
	.dbsym r menu 20 c
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
_adc_mux::
	.blkb 1
	.dbsym e adc_mux _adc_mux c
_adc_rel::
	.blkb 32
	.dbsym e adc_rel _adc_rel A[32:8]l
_start::
	.blkb 1
	.dbsym e start _start c
_ready::
	.blkb 1
	.dbsym e ready _ready c
_dp::
	.blkb 1
	.dbsym e dp _dp c
_lock::
	.blkb 1
	.dbsym e lock _lock c
_dat::
	.blkb 2
	.dbsym e dat _dat i
_s1::
	.blkb 1
	.dbsym e s1 _s1 c
_m1::
	.blkb 1
	.dbsym e m1 _m1 c
_s::
	.blkb 1
	.dbsym e s _s c
_m::
	.blkb 1
	.dbsym e m _m c
_i::
	.blkb 1
	.dbsym e i _i c
_t::
	.blkb 1
	.dbsym e t _t c
_j::
	.blkb 1
	.dbsym e j _j c
_ORDER::
	.blkb 1
	.dbsym e ORDER _ORDER c
_n::
	.blkb 1
	.dbsym e n _n c

⌨️ 快捷键说明

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