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

📄 main.lst

📁 avr单片机的一些实际应用源码
💻 LST
字号:
   1               		.file	"main.c"
   2               		.arch at90s2313
   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:
  52               	.global	__vector_6
  54               	__vector_6:
   1:main.c        **** /*
   2:main.c        **** 	.init0 段测试程序 <2313 - 1>
   3:main.c        **** 	main.c
   4:main.c        **** 	MCU:at90s2313
   5:main.c        **** 	
   6:main.c        **** 	芯艺 2004-09-12
   7:main.c        **** */
   8:main.c        **** 
   9:main.c        **** #include <avr/io.h>
  10:main.c        **** #include <avr/interrupt.h>
  11:main.c        **** #include <avr/signal.h>
  12:main.c        **** #include <avr/delay.h>
  13:main.c        **** 
  14:main.c        **** 
  15:main.c        **** #define SET_LED PORTD=0X10;//PD4接有LED
  16:main.c        **** #define CLR_LED PORTD=0X00;
  17:main.c        **** 
  18:main.c        **** //unsigned char count=0;
  19:main.c        **** //unsigned char direction=0;
  20:main.c        **** 
  21:main.c        **** SIGNAL(SIG_OVERFLOW0)
  22:main.c        **** {/*
  56               	.LM1:
  57               	/* prologue: frame size=0 */
  58 0000 1F92      		push __zero_reg__
  59 0002 0F92      		push __tmp_reg__
  60 0004 0FB6      		in __tmp_reg__,__SREG__
  61 0006 0F92      		push __tmp_reg__
  62 0008 1124      		clr __zero_reg__
  63 000a 8F93      		push r24
  64               	/* prologue end (size=6) */
  23:main.c        **** 	if(count++>15)
  24:main.c        **** 	{
  25:main.c        **** 		if(direction)
  26:main.c        **** 		{
  27:main.c        **** 			SET_LED;
  28:main.c        **** 			direction=0;
  29:main.c        **** 		}
  30:main.c        **** 		else
  31:main.c        **** 		{
  32:main.c        **** 			CLR_LED;
  33:main.c        **** 			direction=1;
  34:main.c        **** 		}
  35:main.c        **** 		count=0;
  36:main.c        **** 
  37:main.c        **** 	}
  38:main.c        **** 	TCNT0=0;*/
  39:main.c        **** 	SET_LED;
  66               	.LM2:
  67 000c 80E1      		ldi r24,lo8(16)
  68 000e 82BB      		out 50-0x20,r24
  40:main.c        **** 	cli();
  70               	.LM3:
  71               	/* #APP */
  72 0010 F894      		cli
  73               	/* #NOAPP */
  74               	.L2:
  41:main.c        **** 	while(1);
  76               	.LM4:
  77 0012 FFCF      		rjmp .L2
  78               	/* epilogue: frame size=0 */
  79               	/* epilogue: noreturn */
  80               	/* epilogue end (size=0) */
  81               	/* function __vector_6 size 11 (5) */
  84               	.global	main
  86               	main:
  42:main.c        **** }
  43:main.c        **** 
  44:main.c        **** int main(void)
  45:main.c        **** {
  88               	.LM5:
  89               	/* prologue: frame size=0 */
  90 0014 C0E0      		ldi r28,lo8(__stack - 0)
  91 0016 D0E0      		ldi r29,hi8(__stack - 0)
  92 0018 DEBF      		out __SP_H__,r29
  93 001a CDBF      		out __SP_L__,r28
  94               	/* prologue end (size=4) */
  95 001c 40E1      		ldi r20,lo8(16)
  96               	.L5:
  97 001e 23EF      		ldi r18,lo8(499)
  98 0020 31E0      		ldi r19,hi8(499)
  99               	.L11:
 100               	.LBB2:
 102               	.Ltext1:
   1:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    All rights reserved.
   3:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
   4:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    Redistribution and use in source and binary forms, with or without
   5:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    modification, are permitted provided that the following conditions are met:
   6:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
   7:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    * Redistributions of source code must retain the above copyright
   8:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      notice, this list of conditions and the following disclaimer.
   9:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    * Redistributions in binary form must reproduce the above copyright
  10:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      notice, this list of conditions and the following disclaimer in
  11:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      the documentation and/or other materials provided with the
  12:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      distribution.
  13:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  14:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  15:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  16:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  17:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  18:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  19:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  20:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  21:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  22:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  23:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  24:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   POSSIBILITY OF SUCH DAMAGE. */
  25:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  26:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* $Id: delay.h,v 1.2.2.2 2004/02/13 21:43:37 joerg_wunsch Exp $ */
  27:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  28:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /*
  29:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    avr/delay.h - loops for small accurate delays
  30:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****  */
  31:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  32:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #ifndef _AVR_DELAY_H_
  33:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #define _AVR_DELAY_H_ 1
  34:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  35:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #include <inttypes.h>
  36:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  37:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* 8-bit count, 3 cycles/loop */
  38:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** static __inline__ void
  39:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** _delay_loop_1(uint8_t __count)
  40:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** {
  41:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 	asm volatile (
  42:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 		"1: dec %0" "\n\t"
  43:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 		"brne 1b"
  44:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 		: "=r" (__count)
  45:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 		: "0" (__count)
  46:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 	);
  47:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** }
  48:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  49:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* 16-bit count, 4 cycles/loop */
  50:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** static __inline__ void
  51:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** _delay_loop_2(uint16_t __count)
  52:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** {
 104               	.LM6:
 105 0022 88EE      		ldi r24,lo8(1000)
 106 0024 93E0      		ldi r25,hi8(1000)
 107               	.LBB3:
  53:J:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 	asm volatile (
 109               	.LM7:
 110               	/* #APP */
 111 0026 0197      		1: sbiw r24,1
 112 0028 F1F7      		brne 1b
 113               	/* #NOAPP */
 114               	.LBE3:
 115               	.LBE2:
 117               	.Ltext2:
  46:main.c        **** 	unsigned int i;	
  47:main.c        **** 
  48:main.c        **** 	while(1)
  49:main.c        **** 	{
  50:main.c        **** 		for(i=0;i<500;i++)
 119               	.LM8:
 120 002a 2150      		subi r18,lo8(-(-1))
 121 002c 3040      		sbci r19,hi8(-(-1))
 122 002e 37FF      		sbrs r19,7
 123 0030 F8CF      		rjmp .L11
  51:main.c        **** 			_delay_loop_2(1000);
  52:main.c        **** 
  53:main.c        **** 		SET_LED;
 125               	.LM9:
 126 0032 42BB      		out 50-0x20,r20
 127 0034 23EF      		ldi r18,lo8(499)
 128 0036 31E0      		ldi r19,hi8(499)
 129               	.L16:
 130               	.LBB4:
 132               	.Ltext3:
 134               	.LM10:
 135 0038 88EE      		ldi r24,lo8(1000)
 136 003a 93E0      		ldi r25,hi8(1000)
 137               	.LBB5:
 139               	.LM11:
 140               	/* #APP */
 141 003c 0197      		1: sbiw r24,1
 142 003e F1F7      		brne 1b
 143               	/* #NOAPP */
 144               	.LBE5:
 145               	.LBE4:
 147               	.Ltext4:
  54:main.c        **** 
  55:main.c        **** 		for(i=0;i<500;i++)
 149               	.LM12:
 150 0040 2150      		subi r18,lo8(-(-1))
 151 0042 3040      		sbci r19,hi8(-(-1))
 152 0044 37FF      		sbrs r19,7
 153 0046 F8CF      		rjmp .L16
  56:main.c        **** 			_delay_loop_2(1000);
  57:main.c        **** 
  58:main.c        **** 		CLR_LED;
 155               	.LM13:
 156 0048 12BA      		out 50-0x20,__zero_reg__
 157 004a E9CF      		rjmp .L5
 158               	/* epilogue: frame size=0 */
 159               	/* epilogue: noreturn */
 160               	/* epilogue end (size=0) */
 161               	/* function main size 32 (28) */
 171               	.global	__init
 173               	__init:
  59:main.c        **** 	}
  60:main.c        **** 	return 0;
  61:main.c        **** }
  62:main.c        **** 
  63:main.c        ****  __init()   //重载函数,复位后main前执行
  64:main.c        **** {
 175               	.LM14:
 176               	/* prologue: frame size=0 */
 177               	/* prologue end (size=0) */
  65:main.c        **** 	DDRD=0X10;
 179               	.LM15:
 180 004c 80E1      		ldi r24,lo8(16)
 181 004e 81BB      		out 49-0x20,r24
  66:main.c        **** 	PORTD=0X00;
 183               	.LM16:
 184 0050 12BA      		out 50-0x20,__zero_reg__
  67:main.c        **** 	
  68:main.c        **** 	TCCR0=5;
 186               	.LM17:
 187 0052 85E0      		ldi r24,lo8(5)
 188 0054 83BF      		out 83-0x20,r24
  69:main.c        **** 	TIMSK=_BV(TOIE0);
 190               	.LM18:
 191 0056 82E0      		ldi r24,lo8(2)
 192 0058 89BF      		out 89-0x20,r24
 193               	/* epilogue: frame size=0 */
 194 005a 0895      		ret
 195               	/* epilogue end (size=1) */
 196               	/* function __init size 8 (7) */
 198               		.text
 200               	Letext:
 201               	/* File "main.c": code   51 = 0x0033 (  40), prologues  10, epilogues   1 */
DEFINED SYMBOLS
                            *ABS*:00000000 main.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:54     .text:00000000 __vector_6
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:86     .text:00000014 main
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:173    .text:0000004c __init
J:\DOCUME~1\tcf\LOCALS~1\Temp/ccqGaaaa.s:200    .text:0000005c Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack

⌨️ 快捷键说明

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