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

📄 main.lst

📁 avr单片机的一些实际应用源码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 941      2FCA B1D6 
 941      D3A3 BA25 
 941      64C4 EA25 
 944               	__c.2:
 945 006c C7EB B0B4 		.string	"\307\353\260\264 <\304\352 \324\302 \310\325 \320\307\306\332 \320\241\312\261 \267\326 \
 945      203C C4EA 
 945      20D4 C220 
 945      C8D5 20D0 
 945      C7C6 DA20 
 948               	__c.3:
 949 0098 0AC9 E8D6 		.string	"\n\311\350\326\303\315\352\263\311!\n"
 949      C3CD EAB3 
 949      C921 0A00 
 952               	__c.4:
 953 00a4 CAE4 C8EB 		.string	"\312\344\310\353\303\374\301\356\243\272g - \264\362\323\241\310\325\300\372/\312\261\326
 953      C3FC C1EE 
 953      A3BA 6720 
 953      2D20 B4F2 
 953      D3A1 C8D5 
 954               		.data
 955               	.LC0:
 956 0000 2563 00   		.string	"%c"
 957               	.LC1:
 958 0003 2564 2C25 		.string	"%d,%d,%d,%d,%d,%d,%d"
 958      642C 2564 
 958      2C25 642C 
 958      2564 2C25 
 958      642C 2564 
 959               		.text
 961               	.global	main
 963               	main:
 238:main.c        **** /*************接口部分***************结束**************/
 239:main.c        **** 
 240:main.c        **** int main(void)
 241:main.c        **** {
 965               	.LM120:
 966               	/* prologue: frame size=15 */
 967 02a8 C0E0      		ldi r28,lo8(__stack - 15)
 968 02aa D0E0      		ldi r29,hi8(__stack - 15)
 969 02ac DEBF      		out __SP_H__,r29
 970 02ae CDBF      		out __SP_L__,r28
 971               	/* prologue end (size=4) */
 242:main.c        **** 	uchar i;
 243:main.c        **** 	char c;
 244:main.c        **** 	int tmp[7];//从标准I/O读取缓冲区
 245:main.c        **** 	
 246:main.c        **** 	IoInit();
 973               	.LM121:
 974               	.LBB13:
 975 02b0 C9DE      		rcall IoInit
 247:main.c        **** 	RtcInit();
 977               	.LM122:
 978 02b2 52DF      		rcall RtcInit
 248:main.c        **** 	
 249:main.c        **** 	printf_P(PSTR("输入命令:g - 打印日历/时钟,s - 设置日历/时钟,h - 帮助信息\n"));	
 980               	.LM123:
 981 02b4 80E0      		ldi r24,lo8(__c.0)
 982 02b6 90E0      		ldi r25,hi8(__c.0)
 983               	.L104:
 984 02b8 9F93      		push r25
 985 02ba 8F93      		push r24
 986 02bc 00D0      		rcall printf_P
 250:main.c        **** 	
 251:main.c        **** 	while(1)
 988               	.LM124:
 989 02be 0F90      		pop __tmp_reg__
 990 02c0 0F90      		pop __tmp_reg__
 991               	.L103:
 252:main.c        **** 	{
 253:main.c        **** 		scanf("%c",&c);
 993               	.LM125:
 994 02c2 CE01      		movw r24,r28
 995 02c4 0F96      		adiw r24,15
 996 02c6 9F93      		push r25
 997 02c8 8F93      		push r24
 998 02ca 80E0      		ldi r24,lo8(.LC0)
 999 02cc 90E0      		ldi r25,hi8(.LC0)
 1000 02ce 9F93      		push r25
 1001 02d0 8F93      		push r24
 1002 02d2 00D0      		rcall scanf
 254:main.c        **** 		if(c=='g')
 1004               	.LM126:
 1005 02d4 8F85      		ldd r24,Y+15
 1006 02d6 0F90      		pop __tmp_reg__
 1007 02d8 0F90      		pop __tmp_reg__
 1008 02da 0F90      		pop __tmp_reg__
 1009 02dc 0F90      		pop __tmp_reg__
 1010 02de 8736      		cpi r24,lo8(103)
 1011 02e0 A9F5      		brne .L89
 255:main.c        **** 		{
 256:main.c        **** 			RtcUpdateData(RTC_READ);
 1013               	.LM127:
 1014 02e2 81E0      		ldi r24,lo8(1)
 1015 02e4 3CDF      		rcall RtcUpdateData
 257:main.c        **** 			RtcBCDToBin();
 1017               	.LM128:
 1018 02e6 A5DF      		rcall RtcBCDToBin
 258:main.c        **** 			
 259:main.c        **** 			printf_P(PSTR("当前日历/时钟:%d年%d月%d日 星期%d  %d:%d:%d\n"),g_aTimeBin[6],g_aTimeBin[5],g_aT
 1020               	.LM129:
 1021 02e8 8091 0000 		lds r24,g_aTimeBin
 1022 02ec 9927      		clr r25
 1023 02ee 9F93      		push r25
 1024 02f0 8F93      		push r24
 1025 02f2 8091 0000 		lds r24,g_aTimeBin+1
 1026 02f6 9927      		clr r25
 1027 02f8 9F93      		push r25
 1028 02fa 8F93      		push r24
 1029 02fc 8091 0000 		lds r24,g_aTimeBin+2
 1030 0300 9927      		clr r25
 1031 0302 9F93      		push r25
 1032 0304 8F93      		push r24
 1033 0306 8091 0000 		lds r24,g_aTimeBin+3
 1034 030a 9927      		clr r25
 1035 030c 9F93      		push r25
 1036 030e 8F93      		push r24
 1037 0310 8091 0000 		lds r24,g_aTimeBin+4
 1038 0314 9927      		clr r25
 1039 0316 9F93      		push r25
 1040 0318 8F93      		push r24
 1041 031a 8091 0000 		lds r24,g_aTimeBin+5
 1042 031e 9927      		clr r25
 1043 0320 9F93      		push r25
 1044 0322 8F93      		push r24
 1045 0324 8091 0000 		lds r24,g_aTimeBin+6
 1046 0328 9927      		clr r25
 1047 032a 9F93      		push r25
 1048 032c 8F93      		push r24
 1049 032e 80E0      		ldi r24,lo8(__c.1)
 1050 0330 90E0      		ldi r25,hi8(__c.1)
 1051 0332 9F93      		push r25
 1052 0334 8F93      		push r24
 1053 0336 00D0      		rcall printf_P
 1054 0338 2DB7      		in r18,__SP_L__
 1055 033a 3EB7      		in r19,__SP_H__
 1056 033c 205F      		subi r18,lo8(-(16))
 1057 033e 3F4F      		sbci r19,hi8(-(16))
 1058 0340 0FB6      		in __tmp_reg__,__SREG__
 1059 0342 F894      		cli
 1060 0344 3EBF      		out __SP_H__,r19
 1061 0346 0FBE      		out __SREG__,__tmp_reg__
 1062 0348 2DBF      		out __SP_L__,r18
 1063 034a BBCF      		rjmp .L103
 1064               	.L89:
 260:main.c        **** 		}
 261:main.c        **** 		else if(c=='s')
 1066               	.LM130:
 1067 034c 8337      		cpi r24,lo8(115)
 1068 034e 09F0      		breq .+2
 1069 0350 40C0      		rjmp .L91
 262:main.c        **** 		{
 263:main.c        **** 			printf_P(PSTR("请按 <年 月 日 星期 小时 分 秒> 格式输入:\n"));
 1071               	.LM131:
 1072 0352 80E0      		ldi r24,lo8(__c.2)
 1073 0354 90E0      		ldi r25,hi8(__c.2)
 1074 0356 9F93      		push r25
 1075 0358 8F93      		push r24
 1076 035a 00D0      		rcall printf_P
 264:main.c        **** 			scanf("%d,%d,%d,%d,%d,%d,%d",tmp+6,tmp+5,tmp+4,tmp+3,tmp+2,tmp+1,tmp);
 1078               	.LM132:
 1079 035c 8E01      		movw r16,r28
 1080 035e 0F5F      		subi r16,lo8(-(1))
 1081 0360 1F4F      		sbci r17,hi8(-(1))
 1082 0362 1F93      		push r17
 1083 0364 0F93      		push r16
 1084 0366 CE01      		movw r24,r28
 1085 0368 0396      		adiw r24,3
 1086 036a 9F93      		push r25
 1087 036c 8F93      		push r24
 1088 036e CE01      		movw r24,r28
 1089 0370 0596      		adiw r24,5
 1090 0372 9F93      		push r25
 1091 0374 8F93      		push r24
 1092 0376 CE01      		movw r24,r28
 1093 0378 0796      		adiw r24,7
 1094 037a 9F93      		push r25
 1095 037c 8F93      		push r24
 1096 037e CE01      		movw r24,r28
 1097 0380 0996      		adiw r24,9
 1098 0382 9F93      		push r25
 1099 0384 8F93      		push r24
 1100 0386 CE01      		movw r24,r28
 1101 0388 0B96      		adiw r24,11
 1102 038a 9F93      		push r25
 1103 038c 8F93      		push r24
 1104 038e CE01      		movw r24,r28
 1105 0390 0D96      		adiw r24,13
 1106 0392 9F93      		push r25
 1107 0394 8F93      		push r24
 1108 0396 80E0      		ldi r24,lo8(.LC1)
 1109 0398 90E0      		ldi r25,hi8(.LC1)
 1110 039a 9F93      		push r25
 1111 039c 8F93      		push r24
 1112 039e 00D0      		rcall scanf
 265:main.c        **** 			
 266:main.c        **** 			for(i=0;i<7;i++)
 1114               	.LM133:
 1115 03a0 90E0      		ldi r25,lo8(0)
 1116 03a2 2DB7      		in r18,__SP_L__
 1117 03a4 3EB7      		in r19,__SP_H__
 1118 03a6 2E5E      		subi r18,lo8(-(18))
 1119 03a8 3F4F      		sbci r19,hi8(-(18))
 1120 03aa 0FB6      		in __tmp_reg__,__SREG__
 1121 03ac F894      		cli
 1122 03ae 3EBF      		out __SP_H__,r19
 1123 03b0 0FBE      		out __SREG__,__tmp_reg__
 1124 03b2 2DBF      		out __SP_L__,r18
 1125 03b4 A0E0      		ldi r26,lo8(g_aTimeBin)
 1126 03b6 B0E0      		ldi r27,hi8(g_aTimeBin)
 1127 03b8 F801      		movw r30,r16
 1128               	.L96:
 267:main.c        **** 				g_aTimeBin[i]=(uchar)tmp[i];
 1130               	.LM134:
 1131 03ba 8081      		ld r24,Z
 1132 03bc 3296      		adiw r30,2
 1133 03be 8D93      		st X+,r24
 1135               	.LM135:
 1136 03c0 9F5F      		subi r25,lo8(-(1))
 1137 03c2 9730      		cpi r25,lo8(7)
 1138 03c4 D0F3      		brlo .L96
 268:main.c        **** 	
 269:main.c        **** 			RtcBinToBCD();
 1140               	.LM136:
 1141 03c6 FEDE      		rcall RtcBinToBCD
 270:main.c        **** 			RtcUpdateData(RTC_WRITE);
 1143               	.LM137:
 1144 03c8 80E0      		ldi r24,lo8(0)
 1145 03ca C9DE      		rcall RtcUpdateData
 271:main.c        **** 			
 272:main.c        **** 			printf_P(PSTR("\n设置完成!\n"));
 1147               	.LM138:
 1148 03cc 80E0      		ldi r24,lo8(__c.3)
 1149 03ce 90E0      		ldi r25,hi8(__c.3)
 1150 03d0 73CF      		rjmp .L104
 1151               	.L91:
 273:main.c        **** 		}
 274:main.c        **** 		else if(c=='h')
 1153               	.LM139:
 1154 03d2 8836      		cpi r24,lo8(104)
 1155 03d4 09F0      		breq .+2
 1156 03d6 75CF      		rjmp .L103
 275:main.c        **** 			printf_P(PSTR("输入命令:g - 打印日历/时钟,s - 设置日历/时钟,h - 帮助信息\n"));	
 1158               	.LM140:
 1159 03d8 80E0      		ldi r24,lo8(__c.4)
 1160 03da 90E0      		ldi r25,hi8(__c.4)
 1161 03dc 6DCF      		rjmp .L104
 276:main.c        **** 		else
 277:main.c        **** 			continue;
 278:main.c        **** 	}
 279:main.c        **** 	return 0;
 280:main.c        **** }
 1163               	.LM141:
 1164               	.LBE13:
 1165               	/* epilogue: frame size=15 */
 1166               	/* epilogue: noreturn */
 1167               	/* epilogue end (size=0) */
 1168               	/* function main size 155 (151) */
 1175               		.comm g_hFile,2,1
 1176               		.comm g_aTimeBuf,7,1
 1177               		.comm g_aTimeBin,7,1
 1181               		.text
 1183               	Letext:
 1184               	/* File "main.c": code  498 = 0x01f2 ( 418), prologues  34, epilogues  46 */
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__
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:80     .text:00000000 DelayMs
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:140    .text:00000020 usart_putchar
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:176    .text:0000003a usart_getchar
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:200    .text:00000044 IoInit
                            *COM*:00000002 g_hFile
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:234    .text:00000064 twi_stop
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:253    .text:0000006a twi_start
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:285    .text:0000007e twi_writebyte
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:321    .text:00000094 twi_readbyte
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:374    .text:000000b2 rtc_write
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:443    .text:000000f0 rtc_read
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:534    .text:00000158 RtcInit
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:554    .text:0000015e RtcUpdateData
                            *COM*:00000007 g_aTimeBuf
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:600    .text:0000017a RtcReadRAM
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:625    .text:00000182 RtcWriteRAM
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:648    .text:0000018a byte_bintobcd
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:697    .text:000001ac byte_bcdtobin
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:734    .text:000001c4 RtcBinToBCD
                            *COM*:00000007 g_aTimeBin
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:815    .text:00000232 RtcBCDToBin
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:868    .text:00000264 RtcSetSQWOutput
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:936    .progmem.data:00000000 __c.0
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:940    .progmem.data:0000003e __c.1
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:944    .progmem.data:0000006c __c.2
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:948    .progmem.data:00000098 __c.3
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:952    .progmem.data:000000a4 __c.4
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:963    .text:000002a8 main
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc8qaaaa.s:1183   .text:000003de Letext
                            *ABS*:00000000 *ABS*

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
fdevopen
__udivmodqi4
__stack
printf_P
scanf

⌨️ 快捷键说明

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