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

📄 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	pixelNum3
  19               		.data
  22               	pixelNum3:
  23 0000 0F        		.byte	15
  24               	.global	charNum3
  27               	charNum3:
  28 0001 1F        		.byte	31
  29               	.global	scrollChar
  30               	.global	scrollChar
  31               		.section .bss
  34               	scrollChar:
  35 0000 0000      		.skip 2,0
  36               	.global	pixelNum2
  37               		.data
  40               	pixelNum2:
  41 0002 0F        		.byte	15
  42               	.global	charNum2
  45               	charNum2:
  46 0003 1F        		.byte	31
  47               	.global	pixelNum
  50               	pixelNum:
  51 0004 0F        		.byte	15
  52               	.global	charNum
  55               	charNum:
  56 0005 1F        		.byte	31
  57               	.global	botChar
  58               	.global	botChar
  59               		.section .bss
  62               	botChar:
  63 0002 0000      		.skip 2,0
  64               	.global	topChar
  65               	.global	topChar
  68               	topChar:
  69 0004 0000      		.skip 2,0
  70               	.global	line_shift
  71               		.data
  74               	line_shift:
  75 0006 0F        		.byte	15
  76               	.global	cur_line
  79               	cur_line:
  80 0007 11        		.byte	17
  81               	.global	line_timer
  84               	line_timer:
  85 0008 10        		.byte	16
  86               	.global	halfSpace
  89               	halfSpace:
  90 0009 20        		.byte	32
  91               	.global	lines
  92               		.section	.progmem.data,"a",@progbits
  95               	lines:
  96 0000 2020 2020 		.ascii	"                \240   T.O. 2006      Thank-yous   \240  Pet"
  96      2020 2020 
  96      2020 2020 
  96      2020 2020 
  96      A020 2020 
  97 0036 6572 2053 		.ascii	"er Smith  \240  Nick Martin     Solidworks        Metfab    "
  97      6D69 7468 
  97      2020 A020 
  97      204E 6963 
  97      6B20 4D61 
  98 006f 2020 2054 		.ascii	"   Titanium Joe    Team Whyachi  \240  Battlepacks      Dura"
  98      6974 616E 
  98      6975 6D20 
  98      4A6F 6520 
  98      2020 2054 
  99 00a8 6C69 7465 		.ascii	"lite    "
  99      2020 2020 
 100 00b0 A020 2020 		.string	"\240     Limor     \240     ATMEL     \240   AVRFreaks   \240 And Many More "
 100      2020 4C69 
 100      6D6F 7220 
 100      2020 2020 
 100      A020 2020 
 101               	.global	lineOffsets
 104               	lineOffsets:
 105 00f1 00        		.byte	0
 106 00f2 10        		.byte	16
 107 00f3 20        		.byte	32
 108 00f4 00        		.byte	0
 109 00f5 30        		.byte	48
 110 00f6 40        		.byte	64
 111 00f7 00        		.byte	0
 112 00f8 50        		.byte	80
 113 00f9 60        		.byte	96
 114 00fa 70        		.byte	112
 115 00fb 80        		.byte	-128
 116 00fc 90        		.byte	-112
 117 00fd A0        		.byte	-96
 118 00fe B0        		.byte	-80
 119 00ff C0        		.byte	-64
 120 0100 D0        		.byte	-48
 121 0101 00        		.byte	0
 122 0102 E0        		.byte	-32
 123 0103 00        		.byte	0
 124 0104 10        		.byte	16
 125               		.text
 126               	.global	clock_scroll
 128               	clock_scroll:
 129               	.LFB2:
 130               	.LM1:
 131               	/* prologue: frame size=0 */
 132 0000 CF93      		push r28
 133               	/* prologue end (size=1) */
 134 0002 C82F      		mov r28,r24
 135               	.LM2:
 136 0004 8091 0000 		lds r24,fleds
 137 0008 00D0      		rcall spi_transfer
 138               	.LM3:
 139 000a 8091 0000 		lds r24,fleds+1
 140 000e 00D0      		rcall spi_transfer
 141               	.LM4:
 142 0010 8091 0000 		lds r24,fleds+2
 143 0014 00D0      		rcall spi_transfer
 144               	.LM5:
 145 0016 8091 0000 		lds r24,fleds+3
 146 001a 00D0      		rcall spi_transfer
 147               	.LM6:
 148 001c CC23      		tst r28
 149 001e 79F0      		breq .L2
 150               	.LM7:
 151 0020 C830      		cpi r28,lo8(8)
 152 0022 20F4      		brsh .L3
 153               	.LM8:
 154 0024 6C2F      		mov r22,r28
 155 0026 8091 0000 		lds r24,fleds+4
 156 002a 08C0      		rjmp .L6
 157               	.L3:
 158               	.LM9:
 159 002c 8091 0000 		lds r24,fleds+4
 160 0030 00D0      		rcall spi_transfer
 161               	.LM10:
 162 0032 C850      		subi r28,lo8(-(-8))
 163               	.LM11:
 164 0034 21F0      		breq .L2
 165               	.LM12:
 166 0036 6C2F      		mov r22,r28
 167 0038 8091 0000 		lds r24,fleds+5
 168               	.L6:
 169 003c 00D0      		rcall spi_transfer_n
 170               	.L2:
 171               	.LM13:
 172 003e 949A      		sbi 50-0x20,4
 173               	.LM14:
 174               	/* #APP */
 175 0040 0000      		nop
 176 0042 0000      		nop
 177 0044 0000      		nop
 178 0046 0000      		nop
 179               	.LM15:
 180               	/* #NOAPP */
 181 0048 9498      		cbi 50-0x20,4
 182               	/* epilogue: frame size=0 */
 183 004a CF91      		pop r28
 184 004c 0895      		ret
 185               	/* epilogue end (size=2) */
 186               	/* function clock_scroll size 44 (41) */
 187               	.LFE2:
 189               	.global	__vector_6
 191               	__vector_6:
 192               	.LFB3:
 193               	.LM16:
 194               	/* prologue: frame size=0 */
 195 004e 1F92      		push __zero_reg__
 196 0050 0F92      		push __tmp_reg__
 197 0052 0FB6      		in __tmp_reg__,__SREG__
 198 0054 0F92      		push __tmp_reg__
 199 0056 1124      		clr __zero_reg__
 200 0058 8F93      		push r24
 201 005a 9F93      		push r25
 202               	/* prologue end (size=7) */
 203               	.LM17:
 204 005c 8091 0000 		lds r24,hall_debounce
 205 0060 8F5F      		subi r24,lo8(-(1))
 206 0062 8093 0000 		sts hall_debounce,r24
 207               	.LM18:
 208 0066 8091 0000 		lds r24,sensor_timer+1
 209 006a 8F3F      		cpi r24,lo8(-1)
 210 006c 49F0      		breq .L8
 211               	.LM19:
 212 006e 8091 0000 		lds r24,sensor_timer
 213 0072 9091 0000 		lds r25,(sensor_timer)+1
 214 0076 0196      		adiw r24,1
 215 0078 9093 0000 		sts (sensor_timer)+1,r25
 216 007c 8093 0000 		sts sensor_timer,r24
 217               	.L8:
 218               	.LM20:
 219 0080 8091 0000 		lds r24,line_timer
 220 0084 8F3F      		cpi r24,lo8(-1)
 221 0086 29F0      		breq .L7
 222               	.LM21:
 223 0088 8091 0000 		lds r24,line_timer
 224 008c 8F5F      		subi r24,lo8(-(1))
 225 008e 8093 0000 		sts line_timer,r24
 226               	.L7:
 227               	/* epilogue: frame size=0 */
 228 0092 9F91      		pop r25
 229 0094 8F91      		pop r24
 230 0096 0F90      		pop __tmp_reg__
 231 0098 0FBE      		out __SREG__,__tmp_reg__
 232 009a 0F90      		pop __tmp_reg__
 233 009c 1F90      		pop __zero_reg__
 234 009e 1895      		reti
 235               	/* epilogue end (size=7) */
 236               	/* function __vector_6 size 41 (27) */
 237               	.LFE3:
 239               	.global	set_all
 241               	set_all:
 242               	.LFB8:
 243               	.LM22:
 244               	/* prologue: frame size=0 */
 245               	/* prologue end (size=0) */
 246               	.LM23:
 247 00a0 8093 0000 		sts fleds+3,r24
 248 00a4 8093 0000 		sts fleds+2,r24
 249 00a8 8093 0000 		sts fleds+1,r24
 250 00ac 8093 0000 		sts fleds,r24
 251               	.LM24:
 252 00b0 80E0      		ldi r24,lo8(0)
 253 00b2 A6DF      		rcall clock_scroll
 254               	/* epilogue: frame size=0 */
 255 00b4 0895      		ret
 256               	/* epilogue end (size=1) */
 257               	/* function set_all size 11 (10) */
 258               	.LFE8:
 260               	.global	__vector_4
 262               	__vector_4:
 263               	.LFB4:
 264               	.LM25:
 265               	/* prologue: frame size=0 */
 266 00b6 1F92      		push __zero_reg__
 267 00b8 0F92      		push __tmp_reg__
 268 00ba 0FB6      		in __tmp_reg__,__SREG__
 269 00bc 0F92      		push __tmp_reg__
 270 00be 1124      		clr __zero_reg__
 271 00c0 2F93      		push r18
 272 00c2 3F93      		push r19
 273 00c4 4F93      		push r20
 274 00c6 5F93      		push r21
 275 00c8 6F93      		push r22
 276 00ca 7F93      		push r23
 277 00cc 8F93      		push r24
 278 00ce 9F93      		push r25
 279 00d0 AF93      		push r26
 280 00d2 BF93      		push r27
 281 00d4 EF93      		push r30
 282 00d6 FF93      		push r31
 283               	/* prologue end (size=17) */
 284               	.LM26:
 285 00d8 8091 0000 		lds r24,sensor_timer+1
 286 00dc 8230      		cpi r24,lo8(2)
 287 00de 08F0      		brlo .+2
 288 00e0 A0C0      		rjmp .L11
 289               	.LM27:
 290 00e2 8091 0000 		lds r24,pixelNum
 291 00e6 8F5F      		subi r24,lo8(-(1))
 292 00e8 8093 0000 		sts pixelNum,r24
 293               	.LM28:
 294 00ec 8091 0000 		lds r24,pixelNum
 295 00f0 8031      		cpi r24,lo8(16)
 296 00f2 01F5      		brne .L13
 297               	.LM29:
 298 00f4 8091 0000 		lds r24,charNum
 299 00f8 8F30      		cpi r24,lo8(15)
 300 00fa 31F4      		brne .L14
 301               	.LM30:
 302 00fc 8EB5      		in r24,78-0x20
 303 00fe 887F      		andi r24,lo8(-8)
 304 0100 8EBD      		out 78-0x20,r24
 305               	.LM31:
 306 0102 8FEF      		ldi r24,lo8(-1)
 307 0104 CDDF      		rcall set_all
 308               	.LM32:
 309 0106 8DC0      		rjmp .L11
 310               	.L14:
 311               	.LM33:
 312 0108 1092 0000 		sts pixelNum,__zero_reg__
 313               	.LM34:
 314 010c 8091 0000 		lds r24,charNum
 315 0110 8F5F      		subi r24,lo8(-(1))
 316 0112 8F70      		andi r24,lo8(15)
 317 0114 8093 0000 		sts charNum,r24
 318               	.LM35:
 319 0118 8091 0000 		lds r24,charNum
 320 011c E82F      		mov r30,r24
 321 011e FF27      		clr r31
 322 0120 E050      		subi r30,lo8(-(topLine))
 323 0122 F040      		sbci r31,hi8(-(topLine))
 324 0124 8081      		ld r24,Z
 325 0126 9927      		clr r25
 326 0128 8F77      		andi r24,lo8(127)
 327 012a 9070      		andi r25,hi8(127)
 328 012c 8097      		sbiw r24,32
 329 012e 880F      		lsl r24
 330 0130 991F      		rol r25
 331 0132 06C0      		rjmp .L20
 332               	.L13:
 333               	.LM36:
 334 0134 8091 0000 		lds r24,topChar
 335 0138 9091 0000 		lds r25,(topChar)+1
 336 013c 8054      		subi r24,lo8(-(192))
 337 013e 9F4F      		sbci r25,hi8(-(192))

⌨️ 快捷键说明

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