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

📄 sl3010_1.s

📁 单片机开发资料光盘-双龙-686M.zip
💻 S
📖 第 1 页 / 共 4 页
字号:
	lds R2,_pa
	com R2
	out 0x1b,R2
	.dbline 126
	lds R16,_led_delayms
	lds R17,_led_delayms+1
	lsr R17
	ror R16
	rcall _delay_ms
	.dbline 127
	lds R2,_pa
	lsr R2
	lsr R2
	sts _pa,R2
	.dbline 128
L100:
	.dbline 123
	lds R24,_timers
	subi R24,255    ; addi 1
	sts _timers,R24
L102:
	.dbline 123
	lds R24,_timers
	cpi R24,4
	brlo L99
	.dbline 130
	ldi R24,3
	sts _pa,R24
	.dbline 131
	clr R2
	sts _timers,R2
	rjmp L106
L103:
	.dbline 132
	.dbline 133
	lds R2,_pa
	com R2
	out 0x1b,R2
	.dbline 134
	lds R16,_led_delayms
	lds R17,_led_delayms+1
	lsr R17
	ror R16
	rcall _delay_ms
	.dbline 135
	lds R2,_pa
	lsl R2
	lsl R2
	lds R3,_pa
	or R3,R2
	sts _pa,R3
	.dbline 136
L104:
	.dbline 131
	lds R24,_timers
	subi R24,255    ; addi 1
	sts _timers,R24
L106:
	.dbline 131
	lds R24,_timers
	cpi R24,4
	brlo L103
	.dbline 138
	ldi R24,63
	sts _pa,R24
	.dbline 139
	clr R2
	sts _timers,R2
	rjmp L110
L107:
	.dbline 140
	.dbline 141
	lds R2,_pa
	com R2
	out 0x1b,R2
	.dbline 142
	lds R16,_led_delayms
	lds R17,_led_delayms+1
	lsr R17
	ror R16
	rcall _delay_ms
	.dbline 143
	lds R2,_pa
	lsr R2
	lsr R2
	lds R3,_pa
	and R3,R2
	sts _pa,R3
	.dbline 144
L108:
	.dbline 139
	lds R24,_timers
	subi R24,255    ; addi 1
	sts _timers,R24
L110:
	.dbline 139
	lds R24,_timers
	cpi R24,4
	brlo L107
	.dbline 146
	ldi R24,192
	sts _pa,R24
	.dbline 147
	clr R2
	sts _timers,R2
	rjmp L114
L111:
	.dbline 148
	.dbline 149
	lds R2,_pa
	com R2
	out 0x1b,R2
	.dbline 150
	lds R16,_led_delayms
	lds R17,_led_delayms+1
	lsr R17
	ror R16
	rcall _delay_ms
	.dbline 151
	lds R2,_pa
	lsr R2
	lsr R2
	lds R3,_pa
	or R3,R2
	sts _pa,R3
	.dbline 152
L112:
	.dbline 147
	lds R24,_timers
	subi R24,255    ; addi 1
	sts _timers,R24
L114:
	.dbline 147
	lds R24,_timers
	cpi R24,4
	brlo L111
	.dbline 154
	ldi R24,252
	sts _pa,R24
	.dbline 155
	clr R2
	sts _timers,R2
	rjmp L118
L115:
	.dbline 156
	.dbline 157
	lds R2,_pa
	com R2
	out 0x1b,R2
	.dbline 158
	lds R16,_led_delayms
	lds R17,_led_delayms+1
	lsr R17
	ror R16
	rcall _delay_ms
	.dbline 159
	lds R2,_pa
	lsl R2
	lsl R2
	lds R3,_pa
	and R3,R2
	sts _pa,R3
	.dbline 160
L116:
	.dbline 155
	lds R24,_timers
	subi R24,255    ; addi 1
	sts _timers,R24
L118:
	.dbline 155
	lds R24,_timers
	cpi R24,4
	brlo L115
	.dbline 162
	clr R2
	sts _timers,R2
L119:
	.dbline 163
	.dbline 164
	ldi R24,<_led_data
	ldi R25,>_led_data
	lds R30,_timers
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	sts _pa,R2
	.dbline 165
	mov R24,R2
	cpi R24,10
	brne L123
	.dbline 165
	.dbline 165
	rjmp L121
L123:
	.dbline 166
	lds R2,_pa
	out 0x1b,R2
	.dbline 167
	lds R16,_led_delayms
	lds R17,_led_delayms+1
	lsr R17
	ror R16
	rcall _delay_ms
	.dbline 168
L120:
	.dbline 162
	lds R24,_timers
	subi R24,255    ; addi 1
	sts _timers,R24
	.dbline 162
	rjmp L119
L121:
	.dbline 170
	ldi R24,85
	sts _pa,R24
	.dbline 171
	clr R2
	sts _timers,R2
	rjmp L128
L125:
	.dbline 172
	.dbline 173
	lds R2,_pa
	out 0x1b,R2
	.dbline 174
	lds R16,_led_delayms
	lds R17,_led_delayms+1
	rcall _delay_ms
	.dbline 175
	lds R2,_pa
	com R2
	sts _pa,R2
	.dbline 176
L126:
	.dbline 171
	lds R24,_timers
	subi R24,255    ; addi 1
	sts _timers,R24
L128:
	.dbline 171
	lds R24,_timers
	cpi R24,16
	brlo L125
	.dbline 178
	lds R24,_led_delayms
	lds R25,_led_delayms+1
	subi R24,200
	sbci R25,0
	sts _led_delayms+1,R25
	sts _led_delayms,R24
	.dbline 179
	cpi R24,200
	ldi R30,0
	cpc R25,R30
	brne L129
	.dbline 180
	.dbline 181
	ldi R24,800
	ldi R25,3
	sts _led_delayms+1,R25
	sts _led_delayms,R24
	.dbline 182
L129:
	.dbline 183
L65:
	.dbline 56
	rjmp L64
X7:
	.dbline -2
	.dbline 184
L63:
	.dbline 0 ; func end
	ret
	.dbend
	.area eeprom(rom, con, rel)
	.dbfile E:\icc\iccavr\sl3010\sl3010_1\sl3010_1.c
_sound::
	.byte 42,42
	.byte 'J,42
	.byte 42,'J
	.byte 42,44
	.byte 40,41
	.byte 'J,'J
	.byte 43,43
	.byte 43,43
	.byte 43,42
	.byte 42,42
	.byte 42,41
	.byte 41,40
	.byte 'I,'L
	.byte 42,42
	.byte 'J,42
	.byte 42,'J
	.byte 42,44
	.byte 40,41
	.byte 'J,'J
	.byte 43,43
	.byte 43,43
	.byte 43,42
	.byte 42,42
	.byte 44,44
	.byte 43,41
	.byte 'H,'H
	.byte 'J,42
	.byte 41,40
	.byte 41,40
	.byte 39,'F
	.byte 'F,'F
	.byte 'F,'K
	.byte 43,42
	.byte 41,40
	.byte 41,43
	.byte 'J,'J
	.byte 'J,'K
	.byte 43,42
	.byte 'I,41
	.byte 43,'J
	.byte 42,40
	.byte 'F,'H
	.byte 'G,'J
	.byte 41,40
	.byte 39,40
	.byte 'F,'F
	.byte 'F,'F
	.byte 'J,42
	.byte 41,40
	.byte 41,40
	.byte 39,'F
	.byte 'F,'F
	.byte 'F,'K
	.byte 43,42
	.byte 41,40
	.byte 41,43
	.byte 'J,'J
	.byte 'J,'K
	.byte 43,42
	.byte 'I,41
	.byte 43,'J
	.byte 42,40
	.byte 'F,'H
	.byte 'G,'J
	.byte 41,40
	.byte 39,40
	.byte 'F,'F
	.byte 'F,'F
	.byte 0
	.dbsym e sound _sound A[137:137]c
	.area data(ram, con, rel)
	.dbfile E:\icc\iccavr\sl3010\sl3010_1\sl3010_1.c
	.area lit(rom, con, rel)
_TONETABLE::
	.word 64580
	.word 64684
	.word 64777
	.word 64820
	.word 64898
	.word 64968
	.word 65030
	.word 65058
	.word 65110
	.word 65157
	.word 65178
	.word 65217
	.word 65252
	.word 65283
	.word 65297
	.dbsym e TONETABLE _TONETABLE A[30:15]ki
	.area vector(rom, abs)
	.org 12
	rjmp _timer1_ovf_isr
	.area lit(rom, con, rel)
	.area text(rom, con, rel)
	.dbfile E:\icc\iccavr\sl3010\sl3010_1\sl3010_1.c
	.dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
	.even
_timer1_ovf_isr::
	st -y,R2
	st -y,R3
	st -y,R24
	in R2,0x3f
	st -y,R2
	.dbline -1
	.dbline 228
	.dbline 229
	lds R2,_toneconst
	lds R3,_toneconst+1
	out 0x2d,R3
	out 0x2c,R2
	.dbline 230
	ldi R24,1
	in R2,0x15
	eor R2,R24
	out 0x15,R2
	.dbline -2
	.dbline 231
L131:
	ld R2,y+
	out 0x3f,R2
	ld R24,y+
	ld R3,y+
	ld R2,y+
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e music_car _music_car fV
;      sound_add -> R20,R21
;          temp1 -> R22
;           temp -> R10
	.even
_music_car::
	rcall push_gset3
	.dbline -1
	.dbline 234
	.dbline 236
	clr R20
	clr R21
	.dbline 238
	ldi R24,24
	out 0x1b,R24
	.dbline 240
	ldi R24,48
	sts _work_status,R24
	.dbline 242
	sei
	.dbline 244
	rcall _mic_startup
	.dbline 246
	clr R2
	out 0x2f,R2
	.dbline 247
	ldi R24,2
	out 0x2e,R24
	.dbline 248
	ldi R24,<_sound
	ldi R25,>_sound
	mov R16,R20
	mov R17,R21
	add R16,R24
	adc R17,R25
	rcall _EEPROMread
	mov R22,R16
	rjmp L134
L133:
	.dbline 250
	.dbline 251
	mov R10,R22
	.dbline 252
	mov R24,R10
	andi R24,15
	mov R10,R24
	.dbline 254
	cpi R24,1
	breq L140
	cpi R24,2
	breq L140
	cpi R24,3
	breq L140
	cpi R24,4
	brne L136
L140:
	.dbline 254
	.dbline 254
	ldi R24,254
	out 0x1b,R24
	.dbline 254
L136:
	.dbline 255
	mov R24,R10
	cpi R24,5
	breq L143
	cpi R24,6
	brne L141
L143:
	.dbline 255
	.dbline 255
	ldi R24,252
	out 0x1b,R24
	.dbline 255
L141:
	.dbline 256
	mov R24,R10
	cpi R24,7
	breq L146
	cpi R24,8
	brne L144
L146:
	.dbline 256
	.dbline 256
	ldi R24,248
	out 0x1b,R24
	.dbline 256
L144:
	.dbline 257
	mov R24,R10
	cpi R24,9
	brne L147
	.dbline 257
	.dbline 257
	ldi R24,240
	out 0x1b,R24
	.dbline 257
L147:
	.dbline 258
	mov R24,R10
	cpi R24,10
	brne L149
	.dbline 258
	.dbline 258
	ldi R24,224
	out 0x1b,R24
	.dbline 258
L149:
	.dbline 259
	mov R24,R10
	cpi R24,11
	brne L151
	.dbline 259
	.dbline 259
	ldi R24,192
	out 0x1b,R24
	.dbline 259
L151:
	.dbline 260
	mov R24,R10
	cpi R24,12
	brne L153
	.dbline 260
	.dbline 260
	ldi R24,128
	out 0x1b,R24
	.dbline 260
L153:
	.dbline 261
	mov R24,R10
	cpi R24,13
	breq L158
	cpi R24,14
	breq L158
	cpi R24,15
	brne L155
L158:
	.dbline 261
	.dbline 261
	clr R2
	out 0x1b,R2
	.dbline 261
L155:
	.dbline 263
	tst R10
	breq L159
	.dbline 264
	.dbline 265
	in R24,0x39
	ori R24,128
	out 0x39,R24
	.dbline 266
	dec R10
	.dbline 267
	ldi R24,<_TONETABLE
	ldi R25,>_TONETABLE
	mov R16,R10
	clr R17
	lsl R16
	rol R17
	add R16,R24
	adc R17,R25
	rcall lpm16
	sts _toneconst+1,R17
	sts _toneconst,R16
	.dbline 268
	out 0x2d,R17
	out 0x2c,R16
	.dbline 269
L159:
	.dbline 270
	mov R10,R22
	.dbline 271
	mov R24,R10
	swap R24
	andi R24,#0x0F
	.dbline 272
	andi R24,15
	mov R10,R24
	.dbline 273
	mov R18,R24
	clr R19
	ldi R16,129
	ldi R17,0
	rcall mpy16s
	rcall _delay_ms
	.dbline 274
	in R24,0x39
	andi R24,127
	out 0x39,R24
	.dbline 275
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 276
	ldi R24,<_sound
	ldi R25,>_sound
	mov R16,R20
	mov R17,R21
	add R16,R24
	adc R17,R25
	rcall _EEPROMread
	mov R22,R16
	.dbline 277
L134:
	.dbline 249
	tst R22
	breq X8
	rjmp L133
X8:
	.dbline 278
	ldi R16,1000
	ldi R17,3
	rcall _delay_ms
	.dbline -2
	.dbline 279
L132:
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r sound_add 20 i
	.dbsym r temp1 22 c
	.dbsym r temp 10 c
	.dbend
	.dbfunc e xuanya_car _xuanya_car fV
	.even
_xuanya_car::
	.dbline -1
	.dbline 296
; //PORTD = 0x90;//左转//1001 0000快速左转//PORTA = 0x33;//0011,0011
; //PORTD = 0x80;//左转//1000 0000慢速左转//PORTA = 0xF3;//1111,0011
; //PORTD = 0x60;//右转//0110 0000快速右转//PORTA = 0xCC;//1100,1100
; //PORTD = 0x20;//右转//0010 0000慢速右转//PORTA = 0xCF;//1100,1111
; //PORTD = 0x50;//后退//0101 0000        //PORTA = 0x3C;//0011,1100
; 
; //PC3声控启动
; //  用PD7~PD4来作为电机驱动端
; 
; #define xuanya_delayms  300
;  
; unsigned char pa,pb,pc,pd;
; 
; void xuanya_car(void)
; {
	.dbline 297
;  PORTA = 0x1f;
	ldi R24,31
	out 0x1b,R24
	.dbline 299
; 
;  work_status = 0x20;//置对应的工作状态标志
	ldi R24,32
	sts _work_status,R24
	.dbline 301
;  
;  mic_startup();       //等待声控启动
	rcall _mic_startup
	rjmp L163
L162:
	.dbline 304
;  
;  while(1)
;    {//左(pc7)  中(pc6)  右(pc5)
	.dbline 306
;     
; 	sw_touch();          //检测轻触开关
	rcall _sw_touch
	.dbline 308
; 	
; 	pc = PINC & 0x10;
	in R24,0x13
	andi R24,16
	sts _pc,R24
	.dbline 309
; 	if(pc == 0x00)
	tst R24
	brne L165
	.dbline 310
; 	  {//后退//左转
	.dbline 311
; 	   backward();//后退
	rcall _backward
	.dbline 312
; 	   delay_ms(xuanya_delayms);
	ldi R16,300
	ldi R17,1
	rcall _delay_ms
	.dbline 313
; 	   turn_right();//左转
	rcall _turn_right
	.dbline 314
; 	   delay_ms(xuanya_delayms/2);
	ldi R16,150
	ldi R17,0
	rcall _delay_ms
	.dbline 315
; 	  }
L165:
	.dbline 316
;     pc = PINC & 0xE0;
	in R24,0x13
	andi R24,224
	sts _pc,R24
	.dbline 317
;     if(pc == 0x40)
	cpi R24,64
	brne L167
	.dbline 318
; 	  {//后退//左转
	.dbline 319
; 	   backward();//后退
	rcall _backward
	.dbline 320
; 	   delay_ms(xuanya_delayms);
	ldi R16,300
	ldi R17,1
	rcall _delay_ms
	.dbline 321
; 	   turn_right();//左转
	rcall _turn_right
	.dbline 322
; 	   delay_ms(xuanya_delayms/2);
	ldi R16,150

⌨️ 快捷键说明

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