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

📄 main.lst

📁 旋转16个LED灯控制程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"main.c"
   2               		.arch attiny2313
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	scrollChar
  19               	.global	scrollChar
  20               		.section .bss
  23               	scrollChar:
  24 0000 0000      		.skip 2,0
  25               	.global	pixelNum
  26               	.global	pixelNum
  29               	pixelNum:
  30 0002 00        		.skip 1,0
  31               	.global	charNum
  32               	.global	charNum
  35               	charNum:
  36 0003 00        		.skip 1,0
  37               	.global	botChar
  38               	.global	botChar
  41               	botChar:
  42 0004 0000      		.skip 2,0
  43               	.global	topChar
  44               	.global	topChar
  47               	topChar:
  48 0006 0000      		.skip 2,0
  49               	.global	line_shift
  50               		.data
  53               	line_shift:
  54 0000 0F        		.byte	15
  55               	.global	cur_line
  58               	cur_line:
  59 0001 FF        		.byte	-1
  60               	.global	line_timer
  63               	line_timer:
  64 0002 10        		.byte	16
  65               	.global	div732
  66               		.section	.progmem.data,"a",@progbits
  69               	div732:
  70 0000 00        		.string	""
  71 0001 00        		.string	""
  72 0002 0100      		.string	"\001"
  73 0004 00        		.string	""
  74 0005 0300      		.string	"\003"
  75 0007 00        		.string	""
  76 0008 0500      		.string	"\005"
  77 000a 0101 00   		.string	"\001\001"
  78 000d 0202 00   		.string	"\002\002"
  79 0010 0403 00   		.string	"\004\003"
  80 0013 0806 0107 		.string	"\b\006\001\007\003\003\004\005"
  80      0303 0405 
  80      00
  81               	.global	dynamicRPM
  82               		.data
  85               	dynamicRPM:
  86 0003 3030 3000 		.string	"000"
  87               	.global	dynamicREV
  90               	dynamicREV:
  91 0007 3030 3030 		.string	"0000"
  91      00
  92               	.global	dynamicType
  93               	.global	dynamicType
  94               		.section .bss
  97               	dynamicType:
  98 0008 00        		.skip 1,0
  99               	.global	dynamicPtr
 100               	.global	dynamicPtr
 103               	dynamicPtr:
 104 0009 0000      		.skip 2,0
 105               	.global	dInfo
 106               		.section	.progmem.data
 109               	dInfo:
 110 001c 00        		.byte	0
 111 001d 00        		.byte	0
 112 001e 2A        		.byte	42
 113 001f 00        		.byte	0
 114 0020 00        		.byte	0
 115 0021 1B        		.byte	27
 116 0022 00        		.byte	0
 117 0023 00        		.byte	0
 118               	.global	lines
 121               	lines:
 122 0024 2020 2020 		.string	"                    SpokePOV        RPM:0000        REV:0000    "
 122      2020 2020 
 122      2020 2020 
 122      2020 2020 
 122      2020 2020 
 123               	.global	lineOffsets
 126               	lineOffsets:
 127 0065 00        		.byte	0
 128 0066 10        		.byte	16
 129 0067 20        		.byte	32
 130 0068 00        		.byte	0
 131 0069 00        		.byte	0
 132 006a 30        		.byte	48
 133 006b 00        		.byte	0
 134 006c 10        		.byte	16
 135               		.text
 136               	.global	clock_scroll
 138               	clock_scroll:
 139               	.LFB2:
 140               	.LM1:
 141               	/* prologue: frame size=0 */
 142 0000 CF93      		push r28
 143               	/* prologue end (size=1) */
 144 0002 C82F      		mov r28,r24
 145               	.LM2:
 146 0004 8091 0000 		lds r24,fleds
 147 0008 00D0      		rcall spi_transfer
 148               	.LM3:
 149 000a 8091 0000 		lds r24,fleds+1
 150 000e 00D0      		rcall spi_transfer
 151               	.LM4:
 152 0010 8091 0000 		lds r24,fleds+2
 153 0014 00D0      		rcall spi_transfer
 154               	.LM5:
 155 0016 8091 0000 		lds r24,fleds+3
 156 001a 00D0      		rcall spi_transfer
 157               	.LM6:
 158 001c CC23      		tst r28
 159 001e 79F0      		breq .L2
 160               	.LM7:
 161 0020 C830      		cpi r28,lo8(8)
 162 0022 20F4      		brsh .L3
 163               	.LM8:
 164 0024 6C2F      		mov r22,r28
 165 0026 8091 0000 		lds r24,fleds+4
 166 002a 08C0      		rjmp .L6
 167               	.L3:
 168               	.LM9:
 169 002c 8091 0000 		lds r24,fleds+4
 170 0030 00D0      		rcall spi_transfer
 171               	.LM10:
 172 0032 C850      		subi r28,lo8(-(-8))
 173               	.LM11:
 174 0034 21F0      		breq .L2
 175               	.LM12:
 176 0036 6C2F      		mov r22,r28
 177 0038 8091 0000 		lds r24,fleds+5
 178               	.L6:
 179 003c 00D0      		rcall spi_transfer_n
 180               	.L2:
 181               	.LM13:
 182 003e 949A      		sbi 50-0x20,4
 183               	.LM14:
 184               	/* #APP */
 185 0040 0000      		nop
 186 0042 0000      		nop
 187 0044 0000      		nop
 188 0046 0000      		nop
 189               	.LM15:
 190               	/* #NOAPP */
 191 0048 9498      		cbi 50-0x20,4
 192               	/* epilogue: frame size=0 */
 193 004a CF91      		pop r28
 194 004c 0895      		ret
 195               	/* epilogue end (size=2) */
 196               	/* function clock_scroll size 44 (41) */
 197               	.LFE2:
 199               	.global	__vector_6
 201               	__vector_6:
 202               	.LFB3:
 203               	.LM16:
 204               	/* prologue: frame size=0 */
 205 004e 1F92      		push __zero_reg__
 206 0050 0F92      		push __tmp_reg__
 207 0052 0FB6      		in __tmp_reg__,__SREG__
 208 0054 0F92      		push __tmp_reg__
 209 0056 1124      		clr __zero_reg__
 210 0058 8F93      		push r24
 211 005a 9F93      		push r25
 212               	/* prologue end (size=7) */
 213               	.LM17:
 214 005c 8091 0000 		lds r24,hall_debounce
 215 0060 8F5F      		subi r24,lo8(-(1))
 216 0062 8093 0000 		sts hall_debounce,r24
 217               	.LM18:
 218 0066 8091 0000 		lds r24,sensor_timer+1
 219 006a 8F3F      		cpi r24,lo8(-1)
 220 006c 49F0      		breq .L8
 221               	.LM19:
 222 006e 8091 0000 		lds r24,sensor_timer
 223 0072 9091 0000 		lds r25,(sensor_timer)+1
 224 0076 0196      		adiw r24,1
 225 0078 9093 0000 		sts (sensor_timer)+1,r25
 226 007c 8093 0000 		sts sensor_timer,r24
 227               	.L8:
 228               	.LM20:
 229 0080 8091 0000 		lds r24,line_timer
 230 0084 8F5F      		subi r24,lo8(-(1))
 231 0086 8093 0000 		sts line_timer,r24
 232               	/* epilogue: frame size=0 */
 233 008a 9F91      		pop r25
 234 008c 8F91      		pop r24
 235 008e 0F90      		pop __tmp_reg__
 236 0090 0FBE      		out __SREG__,__tmp_reg__
 237 0092 0F90      		pop __tmp_reg__
 238 0094 1F90      		pop __zero_reg__
 239 0096 1895      		reti
 240               	/* epilogue end (size=7) */
 241               	/* function __vector_6 size 37 (23) */
 242               	.LFE3:
 244               	.global	set_all
 246               	set_all:
 247               	.LFB8:
 248               	.LM21:
 249               	/* prologue: frame size=0 */
 250               	/* prologue end (size=0) */
 251               	.LM22:
 252 0098 8093 0000 		sts fleds+3,r24
 253 009c 8093 0000 		sts fleds+2,r24
 254 00a0 8093 0000 		sts fleds+1,r24
 255 00a4 8093 0000 		sts fleds,r24
 256               	.LM23:
 257 00a8 80E0      		ldi r24,lo8(0)
 258 00aa AADF      		rcall clock_scroll
 259               	/* epilogue: frame size=0 */
 260 00ac 0895      		ret
 261               	/* epilogue end (size=1) */
 262               	/* function set_all size 11 (10) */
 263               	.LFE8:
 265               	.global	__vector_4
 267               	__vector_4:
 268               	.LFB4:
 269               	.LM24:
 270               	/* prologue: frame size=0 */
 271 00ae 1F92      		push __zero_reg__
 272 00b0 0F92      		push __tmp_reg__
 273 00b2 0FB6      		in __tmp_reg__,__SREG__
 274 00b4 0F92      		push __tmp_reg__
 275 00b6 1124      		clr __zero_reg__
 276 00b8 2F93      		push r18
 277 00ba 3F93      		push r19
 278 00bc 4F93      		push r20
 279 00be 5F93      		push r21
 280 00c0 6F93      		push r22
 281 00c2 7F93      		push r23
 282 00c4 8F93      		push r24
 283 00c6 9F93      		push r25
 284 00c8 AF93      		push r26
 285 00ca BF93      		push r27
 286 00cc EF93      		push r30
 287 00ce FF93      		push r31
 288               	/* prologue end (size=17) */
 289               	.LM25:
 290 00d0 8091 0000 		lds r24,sensor_timer+1
 291 00d4 8230      		cpi r24,lo8(2)
 292 00d6 08F0      		brlo .+2
 293 00d8 7EC0      		rjmp .L11
 294               	.LM26:
 295 00da 8091 0000 		lds r24,pixelNum
 296 00de 8F5F      		subi r24,lo8(-(1))
 297 00e0 8093 0000 		sts pixelNum,r24
 298               	.LM27:
 299 00e4 8091 0000 		lds r24,pixelNum
 300 00e8 8031      		cpi r24,lo8(16)
 301 00ea D9F5      		brne .L12
 302               	.LM28:
 303 00ec 8091 0000 		lds r24,charNum
 304 00f0 8F30      		cpi r24,lo8(15)
 305 00f2 29F4      		brne .L13
 306               	.LM29:
 307 00f4 8EB5      		in r24,78-0x20
 308 00f6 887F      		andi r24,lo8(-8)
 309 00f8 8EBD      		out 78-0x20,r24
 310               	.LM30:
 311 00fa 8FEF      		ldi r24,lo8(-1)
 312 00fc 70C0      		rjmp .L17
 313               	.L13:
 314               	.LM31:
 315 00fe 1092 0000 		sts pixelNum,__zero_reg__
 316               	.LM32:
 317 0102 8091 0000 		lds r24,charNum
 318 0106 8F5F      		subi r24,lo8(-(1))
 319 0108 8F70      		andi r24,lo8(15)
 320 010a 8093 0000 		sts charNum,r24
 321               	.LM33:
 322 010e 8091 0000 		lds r24,charNum
 323 0112 E82F      		mov r30,r24
 324 0114 FF27      		clr r31
 325 0116 E050      		subi r30,lo8(-(topLine))
 326 0118 F040      		sbci r31,hi8(-(topLine))
 327 011a 8081      		ld r24,Z
 328 011c 9927      		clr r25
 329 011e 8097      		sbiw r24,32
 330 0120 880F      		lsl r24
 331 0122 991F      		rol r25
 332 0124 9093 0000 		sts (topChar)+1,r25
 333 0128 8093 0000 		sts topChar,r24
 334               	.LM34:
 335 012c 8091 0000 		lds r24,charNum
 336 0130 E82F      		mov r30,r24
 337 0132 FF27      		clr r31
 338 0134 E050      		subi r30,lo8(-(botLine))
 339 0136 F040      		sbci r31,hi8(-(botLine))
 340 0138 8081      		ld r24,Z
 341 013a 9927      		clr r25
 342 013c 8097      		sbiw r24,32
 343 013e 880F      		lsl r24
 344 0140 991F      		rol r25
 345 0142 9093 0000 		sts (botChar)+1,r25
 346 0146 8093 0000 		sts botChar,r24
 347               	.LM35:
 348 014a 8091 0000 		lds r24,charNum
 349 014e E82F      		mov r30,r24
 350 0150 FF27      		clr r31
 351 0152 E050      		subi r30,lo8(-(scrollLine))
 352 0154 F040      		sbci r31,hi8(-(scrollLine))
 353 0156 8081      		ld r24,Z
 354 0158 9927      		clr r25
 355 015a 8097      		sbiw r24,32
 356 015c 880F      		lsl r24
 357 015e 991F      		rol r25
 358 0160 1AC0      		rjmp .L16
 359               	.L12:
 360               	.LM36:
 361 0162 8091 0000 		lds r24,topChar
 362 0166 9091 0000 		lds r25,(topChar)+1
 363 016a 8054      		subi r24,lo8(-(192))
 364 016c 9F4F      		sbci r25,hi8(-(192))
 365 016e 9093 0000 		sts (topChar)+1,r25
 366 0172 8093 0000 		sts topChar,r24
 367               	.LM37:
 368 0176 8091 0000 		lds r24,botChar
 369 017a 9091 0000 		lds r25,(botChar)+1
 370 017e 8054      		subi r24,lo8(-(192))
 371 0180 9F4F      		sbci r25,hi8(-(192))
 372 0182 9093 0000 		sts (botChar)+1,r25
 373 0186 8093 0000 		sts botChar,r24
 374               	.LM38:
 375 018a 8091 0000 		lds r24,scrollChar
 376 018e 9091 0000 		lds r25,(scrollChar)+1
 377 0192 8054      		subi r24,lo8(-(192))
 378 0194 9F4F      		sbci r25,hi8(-(192))
 379               	.L16:
 380 0196 9093 0000 		sts (scrollChar)+1,r25
 381 019a 8093 0000 		sts scrollChar,r24
 382               	.LM39:
 383 019e 42E0      		ldi r20,lo8(2)
 384 01a0 60E0      		ldi r22,lo8(fleds)
 385 01a2 70E0      		ldi r23,hi8(fleds)
 386 01a4 8091 0000 		lds r24,topChar
 387 01a8 9091 0000 		lds r25,(topChar)+1
 388 01ac 00D0      		rcall spieeprom_read
 389               	.LM40:
 390 01ae 42E0      		ldi r20,lo8(2)
 391 01b0 60E0      		ldi r22,lo8(fleds+2)
 392 01b2 70E0      		ldi r23,hi8(fleds+2)
 393 01b4 8091 0000 		lds r24,botChar
 394 01b8 9091 0000 		lds r25,(botChar)+1
 395 01bc 00D0      		rcall spieeprom_read
 396               	.LM41:
 397 01be 42E0      		ldi r20,lo8(2)
 398 01c0 60E0      		ldi r22,lo8(fleds+4)
 399 01c2 70E0      		ldi r23,hi8(fleds+4)
 400 01c4 8091 0000 		lds r24,scrollChar
 401 01c8 9091 0000 		lds r25,(scrollChar)+1
 402 01cc 00D0      		rcall spieeprom_read
 403               	.LM42:
 404 01ce 8091 0000 		lds r24,line_shift
 405 01d2 16DF      		rcall clock_scroll
 406 01d4 05C0      		rjmp .L10
 407               	.L11:
 408               	.LM43:
 409 01d6 8EB5      		in r24,78-0x20
 410 01d8 887F      		andi r24,lo8(-8)
 411 01da 8EBD      		out 78-0x20,r24
 412               	.LM44:
 413 01dc 88EF      		ldi r24,lo8(-8)
 414               	.L17:
 415 01de 5CDF      		rcall set_all
 416               	.L10:
 417               	/* epilogue: frame size=0 */
 418 01e0 FF91      		pop r31
 419 01e2 EF91      		pop r30

⌨️ 快捷键说明

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