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

📄 12ul_demo.lst

📁 基于AVR单片机的12段LED管灯控制程序
💻 LST
字号:
   1               		.file	"12ul_Demo.c"
   2               		.arch atmega8
   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
  11               		.text
  12               	.Ltext0:
  93               	.global	LedPlayTcb
  94               		.section	.progmem.data,"a",@progbits
  97               	LedPlayTcb:
  98 0000 0000      		.word	LedPlayStk+44
  99 0002 0000      		.word	pm(LedPlay)
 100 0004 0000      		.word	LedPlayPid
 101 0006 05        		.byte	5
 102               		.text
 104               	.global	__vector_9
 106               	__vector_9:
   1:12ul_Demo.c   **** /****************************************************************************
   2:12ul_Demo.c   **** //------------------ All color 12ul demo -----------------------
   3:12ul_Demo.c   **** //FileName     : 12ul_Demo.c
   4:12ul_Demo.c   **** //Function     : 12 u_lamp All color(RGB) play demo
   5:12ul_Demo.c   **** //Created by   : Zhoushengzhi
   6:12ul_Demo.c   **** //Created date : 13/4/2007
   7:12ul_Demo.c   **** //MCU          : ATmega8
   8:12ul_Demo.c   **** //frequency    : 8MHz
   9:12ul_Demo.c   **** //Tool         : GCC_AVR20050124
  10:12ul_Demo.c   **** //CopyRight (c)  2006 Zhoushengzhi
  11:12ul_Demo.c   **** //E-mail       : zhounanxu@163.com
  12:12ul_Demo.c   **** ****************************************************************************/
  13:12ul_Demo.c   **** #include <stdio.h>
  14:12ul_Demo.c   **** #include <string.h>
  15:12ul_Demo.c   **** #include <avr/io.h>
  16:12ul_Demo.c   **** #include <avr/pgmspace.h>
  17:12ul_Demo.c   **** #include <avrx/avrx.h>
  18:12ul_Demo.c   **** 
  19:12ul_Demo.c   **** #include "Hardware.h"
  20:12ul_Demo.c   **** #include "12ul_Demo.h"
  21:12ul_Demo.c   **** 
  22:12ul_Demo.c   **** //----------------------------------------------------------------				
  23:12ul_Demo.c   **** AVRX_SIGINT(SIG_OVERFLOW0) 
  24:12ul_Demo.c   **** {
 108               	.LM1:
 109               	/* prologue: frame size=0 */
 110               	/* prologue: naked */
 111               	/* prologue end (size=0) */
  25:12ul_Demo.c   **** 	IntProlog();        //switch to kernel stack/context.
 113               	.LM2:
 114 0000 00D0      		rcall IntProlog
  26:12ul_Demo.c   ****     TCNT0 = TCNT0_INIT; //Reset timer overflow count.
 116               	.LM3:
 117 0002 83EE      		ldi r24,lo8(-29)
 118 0004 82BF      		out 82-0x20,r24
  27:12ul_Demo.c   **** 	AvrXTimerHandler(); //Call Time queue manager
 120               	.LM4:
 121 0006 00D0      		rcall AvrXTimerHandler
  28:12ul_Demo.c   **** 	Epilog();           //Return to tasks.
 123               	.LM5:
 124 0008 00D0      		rcall Epilog
 125               	/* epilogue: frame size=0 */
 126               	/* epilogue: naked */
 127               	/* epilogue end (size=0) */
 128               	/* function __vector_9 size 5 (5) */
 130               	.Lscope0:
 132               	.global	LedPlay
 134               	LedPlay:
  29:12ul_Demo.c   **** }
  30:12ul_Demo.c   **** 
  31:12ul_Demo.c   **** AVRX_GCC_TASKDEF(LedPlay, 10, 5)
  32:12ul_Demo.c   **** {
 136               	.LM6:
 137               	/* prologue: frame size=0 */
 138               	/* prologue: naked */
 139               	/* prologue end (size=0) */
 140               	.L3:
  33:12ul_Demo.c   ****     //AvrXDelay(&delay, 1);//1ms delay, Delay_MaxVal = 6.5s.
  34:12ul_Demo.c   **** 	BYTE bi;
  35:12ul_Demo.c   **** 	
  36:12ul_Demo.c   ****     while(1)
  37:12ul_Demo.c   ****         {
  38:12ul_Demo.c   **** 		Play_24ColorStaAsh(250);
 142               	.LM7:
 143 000a 8AEF      		ldi r24,lo8(250)
 144 000c 90E0      		ldi r25,hi8(250)
 145 000e 00D0      		rcall Play_24ColorStaAsh
 146 0010 CEE0      		ldi r28,lo8(14)
 147               	.L8:
  39:12ul_Demo.c   **** 		for(bi = 0; bi < 15; bi++)
  40:12ul_Demo.c   **** 		    Play_24ColorRunAsh_L_to_R(PLAY_24ASHSPEED);
 149               	.LM8:
 150 0012 83E0      		ldi r24,lo8(3)
 151 0014 90E0      		ldi r25,hi8(3)
 152 0016 00D0      		rcall Play_24ColorRunAsh_L_to_R
 154               	.LM9:
 155 0018 C150      		subi r28,lo8(-(-1))
 156 001a C7FF      		sbrs r28,7
 157 001c FACF      		rjmp .L8
  41:12ul_Demo.c   **** 		Play_Jump_All(PLAY_DELAY1MS);
 159               	.LM10:
 160 001e 88EE      		ldi r24,lo8(1000)
 161 0020 93E0      		ldi r25,hi8(1000)
 162 0022 00D0      		rcall Play_Jump_All
  42:12ul_Demo.c   **** 		Play_CloseOpenMoveUpt(PLAY_MOVESPEED);
 164               	.LM11:
 165 0024 8AEF      		ldi r24,lo8(250)
 166 0026 90E0      		ldi r25,hi8(250)
 167 0028 00D0      		rcall Play_CloseOpenMoveUpt
  43:12ul_Demo.c   **** 		for(bi = 0; bi < 2; bi++)
  44:12ul_Demo.c   ****             Play_Gradual(PLAY_GRADSPEED);
 169               	.LM12:
 170 002a 81E0      		ldi r24,lo8(1)
 171 002c 00D0      		rcall Play_Gradual
 172 002e 81E0      		ldi r24,lo8(1)
 173 0030 00D0      		rcall Play_Gradual
 175               	.LM13:
 176 0032 EBCF      		rjmp .L3
 177               	/* epilogue: frame size=0 */
 178               	/* epilogue: naked */
 179               	/* epilogue end (size=0) */
 180               	/* function LedPlay size 21 (21) */
 185               	.Lscope1:
 187               	.global	main
 189               	main:
  45:12ul_Demo.c   ****         }
  46:12ul_Demo.c   **** }
  47:12ul_Demo.c   **** 
  48:12ul_Demo.c   **** int main(void)
  49:12ul_Demo.c   **** {
 191               	.LM14:
 192               	/* prologue: frame size=0 */
 193 0034 C0E0      		ldi r28,lo8(__stack - 0)
 194 0036 D0E0      		ldi r29,hi8(__stack - 0)
 195 0038 DEBF      		out __SP_H__,r29
 196 003a CDBF      		out __SP_L__,r28
 197               	/* prologue end (size=4) */
  50:12ul_Demo.c   ****     AvrXSetKernelStack(0);//Set Avrx stack to "0",or,if NULL then to current stack.
 199               	.LM15:
 200 003c 80E0      		ldi r24,lo8(0)
 201 003e 90E0      		ldi r25,hi8(0)
 202 0040 00D0      		rcall AvrXSetKernelStack
  51:12ul_Demo.c   **** 
  52:12ul_Demo.c   **** 	TCCR0 = T0MC8_CK256; 	// Set up Timer0 for CLK/256 rate
 204               	.LM16:
 205 0042 84E0      		ldi r24,lo8(4)
 206 0044 83BF      		out 83-0x20,r24
  53:12ul_Demo.c   **** 	TCNT0 = TCNT0_INIT;
 208               	.LM17:
 209 0046 83EE      		ldi r24,lo8(-29)
 210 0048 82BF      		out 82-0x20,r24
  54:12ul_Demo.c   **** 	TIMSK |= _BV(TOIE0);  	// Enable Timer0 overflow interrupt
 212               	.LM18:
 213 004a 89B7      		in r24,89-0x20
 214 004c 8160      		ori r24,lo8(1)
 215 004e 89BF      		out 89-0x20,r24
  55:12ul_Demo.c   **** 
  56:12ul_Demo.c   ****     DDRD |= _BV(PD4) | _BV(PD3) | _BV(PD1) |_BV(PD0);
 217               	.LM19:
 218 0050 81B3      		in r24,49-0x20
 219 0052 8B61      		ori r24,lo8(27)
 220 0054 81BB      		out 49-0x20,r24
  57:12ul_Demo.c   ****     Set_Oe();
 222               	.LM20:
 223 0056 909A      		sbi 50-0x20,0
  58:12ul_Demo.c   **** 	
  59:12ul_Demo.c   **** 	AvrXRunTask(TCB(LedPlay));
 225               	.LM21:
 226 0058 80E0      		ldi r24,lo8(LedPlayTcb)
 227 005a 90E0      		ldi r25,hi8(LedPlayTcb)
 228 005c 00D0      		rcall AvrXRunTask
  60:12ul_Demo.c   **** 	
  61:12ul_Demo.c   **** 	Epilog();                   // Switch from AvrX Stack to first task
 230               	.LM22:
 231 005e 00D0      		rcall Epilog
  62:12ul_Demo.c   ****     
  63:12ul_Demo.c   **** 	return 1;
  64:12ul_Demo.c   **** }
 233               	.LM23:
 234 0060 81E0      		ldi r24,lo8(1)
 235 0062 90E0      		ldi r25,hi8(1)
 236               	/* epilogue: frame size=0 */
 237 0064 00C0      		rjmp exit
 238               	/* epilogue end (size=1) */
 239               	/* function main size 25 (20) */
 241               	.Lscope2:
 242               		.comm LedPlayStk,45,1
 243               		.comm LedPlayPid,6,1
 247               		.text
 249               	Letext:
 250               	/* File "12ul_Demo.c": code   51 = 0x0033 (  46), prologues   4, epilogues   1 */
DEFINED SYMBOLS
                            *ABS*:00000000 12ul_Demo.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccuibaaa.s:97     .progmem.data:00000000 LedPlayTcb
                            *COM*:0000002d LedPlayStk
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccuibaaa.s:134    .text:0000000a LedPlay
                            *COM*:00000006 LedPlayPid
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccuibaaa.s:106    .text:00000000 __vector_9
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccuibaaa.s:189    .text:00000034 main
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccuibaaa.s:249    .text:00000066 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
IntProlog
AvrXTimerHandler
Epilog
Play_24ColorStaAsh
Play_24ColorRunAsh_L_to_R
Play_Jump_All
Play_CloseOpenMoveUpt
Play_Gradual
__stack
AvrXSetKernelStack
AvrXRunTask
exit

⌨️ 快捷键说明

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