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

📄 main.lst

📁 基于AVRGCC的时钟DS1302的完整应用源代码
💻 LST
字号:
   1               		.file	"main.c"
   2               		.arch atmega162
   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:
  58               		.data
  59               	.LC0:
  60 0000 4461 7465 		.string	"Date: %d-%02d-%02d Week: %d Time: %02d:%02d:%02d\r\n"
  60      3A20 2564 
  60      2D25 3032 
  60      642D 2530 
  60      3264 2057 
  61               		.text
  63               	.global	main
  65               	main:
   1:main.c        **** #include <stdio.h>
   2:main.c        **** #include <avr/io.h>
   3:main.c        **** #include <avr/interrupt.h>
   4:main.c        **** #include <avr/signal.h>
   5:main.c        **** #include <avr/delay.h>
   6:main.c        **** 
   7:main.c        **** #include "uart.h"
   8:main.c        **** #include "ds1302.h"
   9:main.c        **** 
  10:main.c        **** int main(void)
  11:main.c        **** {
  67               	.LM1:
  68               	/* prologue: frame size=7 */
  69 0000 C0E0      		ldi r28,lo8(__stack - 7)
  70 0002 D0E0      		ldi r29,hi8(__stack - 7)
  71 0004 DEBF      		out __SP_H__,r29
  72 0006 CDBF      		out __SP_L__,r28
  73               	/* prologue end (size=4) */
  12:main.c        **** 	unsigned int i;
  13:main.c        **** 	unsigned char year, month, day, week;
  14:main.c        **** 	unsigned char hour, min, sec;
  15:main.c        **** 	
  16:main.c        **** 	InitIO();
  75               	.LM2:
  76 0008 0E94 0000 		call InitIO
  17:main.c        **** 	DS1302_Init();
  78               	.LM3:
  79 000c 0E94 0000 		call DS1302_Init
  18:main.c        **** 	
  19:main.c        **** 	sei();
  81               	.LM4:
  82               	/* #APP */
  83 0010 7894      		sei
  84               	/* #NOAPP */
  85               	.L2:
  20:main.c        **** 	
  21:main.c        **** 	while(1)
  22:main.c        **** 	{
  23:main.c        **** 		//DS1302_Set_Date(5, 1, 6, 4);
  24:main.c        **** 		DS1302_Get_Date(&year, &month, &day, &week);
  87               	.LM5:
  88 0012 9E01      		movw r18,r28
  89 0014 2F5F      		subi r18,lo8(-(1))
  90 0016 3F4F      		sbci r19,hi8(-(1))
  91 0018 AE01      		movw r20,r28
  92 001a 4E5F      		subi r20,lo8(-(2))
  93 001c 5F4F      		sbci r21,hi8(-(2))
  94 001e BE01      		movw r22,r28
  95 0020 6D5F      		subi r22,lo8(-(3))
  96 0022 7F4F      		sbci r23,hi8(-(3))
  97 0024 CE01      		movw r24,r28
  98 0026 0496      		adiw r24,4
  99 0028 0E94 0000 		call DS1302_Get_Date
  25:main.c        **** 		DS1302_Get_Time(&hour, &min, &sec);
 101               	.LM6:
 102 002c AE01      		movw r20,r28
 103 002e 4B5F      		subi r20,lo8(-(5))
 104 0030 5F4F      		sbci r21,hi8(-(5))
 105 0032 BE01      		movw r22,r28
 106 0034 6A5F      		subi r22,lo8(-(6))
 107 0036 7F4F      		sbci r23,hi8(-(6))
 108 0038 CE01      		movw r24,r28
 109 003a 0796      		adiw r24,7
 110 003c 0E94 0000 		call DS1302_Get_Time
  26:main.c        **** 		printf("Date: %d-%02d-%02d Week: %d Time: %02d:%02d:%02d\r\n", 2000 + year, month, day, week, hou
 112               	.LM7:
 113 0040 8D81      		ldd r24,Y+5
 114 0042 9927      		clr r25
 115 0044 9F93      		push r25
 116 0046 8F93      		push r24
 117 0048 8E81      		ldd r24,Y+6
 118 004a 9927      		clr r25
 119 004c 9F93      		push r25
 120 004e 8F93      		push r24
 121 0050 8F81      		ldd r24,Y+7
 122 0052 9927      		clr r25
 123 0054 9F93      		push r25
 124 0056 8F93      		push r24
 125 0058 8981      		ldd r24,Y+1
 126 005a 9927      		clr r25
 127 005c 9F93      		push r25
 128 005e 8F93      		push r24
 129 0060 8A81      		ldd r24,Y+2
 130 0062 9927      		clr r25
 131 0064 9F93      		push r25
 132 0066 8F93      		push r24
 133 0068 8B81      		ldd r24,Y+3
 134 006a 9927      		clr r25
 135 006c 9F93      		push r25
 136 006e 8F93      		push r24
 137 0070 8C81      		ldd r24,Y+4
 138 0072 9927      		clr r25
 139 0074 8053      		subi r24,lo8(-(2000))
 140 0076 984F      		sbci r25,hi8(-(2000))
 141 0078 9F93      		push r25
 142 007a 8F93      		push r24
 143 007c 80E0      		ldi r24,lo8(.LC0)
 144 007e 90E0      		ldi r25,hi8(.LC0)
 145 0080 9F93      		push r25
 146 0082 8F93      		push r24
 147 0084 0E94 0000 		call printf
  27:main.c        **** 		//printf("%d-%02d-%02d %d %02d:%02d:%02d\r\n", 2000 + year, month, day, week, hour, min, sec);
  28:main.c        **** 
  29:main.c        **** 		
  30:main.c        **** 		for(i = 0; i < 5000; i++)
 149               	.LM8:
 150 0088 8DB7      		in r24,__SP_L__
 151 008a 9EB7      		in r25,__SP_H__
 152 008c 4096      		adiw r24,16
 153 008e 0FB6      		in __tmp_reg__,__SREG__
 154 0090 F894      		cli
 155 0092 9EBF      		out __SP_H__,r25
 156 0094 0FBE      		out __SREG__,__tmp_reg__
 157 0096 8DBF      		out __SP_L__,r24
 158 0098 27E8      		ldi r18,lo8(4999)
 159 009a 33E1      		ldi r19,hi8(4999)
 160               	.L8:
 161               	.LBB2:
 163               	.Ltext1:
   1:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    All rights reserved.
   3:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
   4:C:/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:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    modification, are permitted provided that the following conditions are met:
   6:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
   7:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    * Redistributions of source code must retain the above copyright
   8:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      notice, this list of conditions and the following disclaimer.
   9:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    * Redistributions in binary form must reproduce the above copyright
  10:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      notice, this list of conditions and the following disclaimer in
  11:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      the documentation and/or other materials provided with the
  12:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****      distribution.
  13:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  14:C:/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:C:/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:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  17:C:/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:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  19:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  20:C:/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:C:/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:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  23:C:/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:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****   POSSIBILITY OF SUCH DAMAGE. */
  25:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  26:C:/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:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  28:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /*
  29:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****    avr/delay.h - loops for small accurate delays
  30:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****  */
  31:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  32:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #ifndef _AVR_DELAY_H_
  33:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #define _AVR_DELAY_H_ 1
  34:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  35:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #include <inttypes.h>
  36:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 
  37:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* 8-bit count, 3 cycles/loop */
  38:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** static __inline__ void
  39:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** _delay_loop_1(uint8_t __count)
  40:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** {
 165               	.LM9:
 166 009c 8FEF      		ldi r24,lo8(-1)
 167               	.LBB3:
  41:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** 	asm volatile (
 169               	.LM10:
 170               	/* #APP */
 171 009e 8A95      		1: dec r24
 172 00a0 F1F7      		brne 1b
 173               	/* #NOAPP */
 174               	.LBE3:
 175               	.LBE2:
 177               	.Ltext2:
 179               	.LM11:
 180 00a2 2150      		subi r18,lo8(-(-1))
 181 00a4 3040      		sbci r19,hi8(-(-1))
 182 00a6 37FF      		sbrs r19,7
 183 00a8 F9CF      		rjmp .L8
 184 00aa B3CF      		rjmp .L2
 185               	/* epilogue: frame size=7 */
 186               	/* epilogue: noreturn */
 187               	/* epilogue end (size=0) */
 188               	/* function main size 89 (85) */
 201               		.comm UART0,103,1
 203               		.text
 205               	Letext:
 206               	/* File "main.c": code   89 = 0x0059 (  85), prologues   4, epilogues   0 */
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__
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccuwaaaa.s:65     .text:00000000 main
                            *COM*:00000067 UART0
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccuwaaaa.s:205    .text:000000ac Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
InitIO
DS1302_Init
DS1302_Get_Date
DS1302_Get_Time
printf

⌨️ 快捷键说明

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