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

📄 adc_sram.lst

📁 基于AVR单片机 Atmel Mega128的AD采集程序。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 1019 054c 3885      		ldd r19,Y+8
 1020 054e 4985      		ldd r20,Y+9
 1021 0550 5A85      		ldd r21,Y+10
 1022 0552 5523      		tst r21
 1023 0554 5CF4      		brge .L22
 1024 0556 8F81      		ldd r24,Y+7
 1025 0558 9885      		ldd r25,Y+8
 1026 055a A985      		ldd r26,Y+9
 1027 055c BA85      		ldd r27,Y+10
 1028 055e 0F96      		adiw r24,15
 1029 0560 A11D      		adc r26,__zero_reg__
 1030 0562 B11D      		adc r27,__zero_reg__
 1031 0564 8F83      		std Y+7,r24
 1032 0566 9887      		std Y+8,r25
 1033 0568 A987      		std Y+9,r26
 1034 056a BA87      		std Y+10,r27
 1035               	.L22:
 1036 056c EF80      		ldd r14,Y+7
 1037 056e F884      		ldd r15,Y+8
 1038 0570 0985      		ldd r16,Y+9
 1039 0572 1A85      		ldd r17,Y+10
 1040 0574 6894      		set
 1041 0576 13F8      		bld __zero_reg__,4-1
 1042 0578 1595      	1:	asr r17
 1043 057a 0795      		ror r16
 1044 057c F794      		ror r15
 1045 057e E794      		ror r14
 1046 0580 1694      		lsr __zero_reg__
 1047 0582 D1F7      		brne 1b
 1048 0584 8981      		ldd r24,Y+1
 1049 0586 9A81      		ldd r25,Y+2
 1050 0588 0196      		adiw r24,1
 1051 058a 9C01      		movw r18,r24
 1052 058c 4427      		clr r20
 1053 058e 37FD      		sbrc r19,7
 1054 0590 4095      		com r20
 1055 0592 542F      		mov r21,r20
 1056 0594 C801      		movw r24,r16
 1057 0596 B701      		movw r22,r14
 1058 0598 0E94 0000 		call __divmodsi4
 1059 059c 2B87      		std Y+11,r18
 1060 059e 3C87      		std Y+12,r19
 1061 05a0 4D87      		std Y+13,r20
 1062 05a2 5E87      		std Y+14,r21
 1063 05a4 2B85      		ldd r18,Y+11
 1064 05a6 3C85      		ldd r19,Y+12
 1065 05a8 4D85      		ldd r20,Y+13
 1066 05aa 5E85      		ldd r21,Y+14
 1067 05ac 2F87      		std Y+15,r18
 1068 05ae 388B      		std Y+16,r19
 1069 05b0 498B      		std Y+17,r20
 1070 05b2 5A8B      		std Y+18,r21
 1071 05b4 8F85      		ldd r24,Y+15
 1072 05b6 9889      		ldd r25,Y+16
 1073 05b8 A989      		ldd r26,Y+17
 1074 05ba BA89      		ldd r27,Y+18
 1075 05bc BB23      		tst r27
 1076 05be 64F4      		brge .L23
 1077 05c0 2F85      		ldd r18,Y+15
 1078 05c2 3889      		ldd r19,Y+16
 1079 05c4 4989      		ldd r20,Y+17
 1080 05c6 5A89      		ldd r21,Y+18
 1081 05c8 2150      		subi r18,lo8(-(255))
 1082 05ca 3F4F      		sbci r19,hi8(-(255))
 1083 05cc 4F4F      		sbci r20,hlo8(-(255))
 1084 05ce 5F4F      		sbci r21,hhi8(-(255))
 1085 05d0 2F87      		std Y+15,r18
 1086 05d2 388B      		std Y+16,r19
 1087 05d4 498B      		std Y+17,r20
 1088 05d6 5A8B      		std Y+18,r21
 1089               	.L23:
 1090 05d8 2F85      		ldd r18,Y+15
 1091 05da 3889      		ldd r19,Y+16
 1092 05dc 4989      		ldd r20,Y+17
 1093 05de 5A89      		ldd r21,Y+18
 1094 05e0 BB27      		clr r27
 1095 05e2 57FD      		sbrc r21,7
 1096 05e4 BA95      		dec r27
 1097 05e6 A52F      		mov r26,r21
 1098 05e8 942F      		mov r25,r20
 1099 05ea 832F      		mov r24,r19
 1100 05ec 20E0      		ldi r18,lo8(256)
 1101 05ee 31E0      		ldi r19,hi8(256)
 1102 05f0 40E0      		ldi r20,hlo8(256)
 1103 05f2 50E0      		ldi r21,hhi8(256)
 1104 05f4 BC01      		movw r22,r24
 1105 05f6 CD01      		movw r24,r26
 1106 05f8 0E94 0000 		call __mulsi3
 1107 05fc DC01      		movw r26,r24
 1108 05fe CB01      		movw r24,r22
 1109 0600 2B85      		ldd r18,Y+11
 1110 0602 3C85      		ldd r19,Y+12
 1111 0604 4D85      		ldd r20,Y+13
 1112 0606 5E85      		ldd r21,Y+14
 1113 0608 281B      		sub r18,r24
 1114 060a 390B      		sbc r19,r25
 1115 060c 4A0B      		sbc r20,r26
 1116 060e 5B0B      		sbc r21,r27
 1117 0610 DA01      		movw r26,r20
 1118 0612 C901      		movw r24,r18
 1119 0614 8093 2900 		sts 41,r24
 191:G:/HVCBASOFT/AD/adc_sram.c **** 	UBRR0H=(fosc/16/(baud_rate+1))/256;
 1121               	.LM117:
 1122 0618 8B81      		ldd r24,Y+3
 1123 061a 9C81      		ldd r25,Y+4
 1124 061c AD81      		ldd r26,Y+5
 1125 061e BE81      		ldd r27,Y+6
 1126 0620 8B8B      		std Y+19,r24
 1127 0622 9C8B      		std Y+20,r25
 1128 0624 AD8B      		std Y+21,r26
 1129 0626 BE8B      		std Y+22,r27
 1130 0628 8B89      		ldd r24,Y+19
 1131 062a 9C89      		ldd r25,Y+20
 1132 062c AD89      		ldd r26,Y+21
 1133 062e BE89      		ldd r27,Y+22
 1134 0630 BB23      		tst r27
 1135 0632 64F4      		brge .L24
 1136 0634 2B89      		ldd r18,Y+19
 1137 0636 3C89      		ldd r19,Y+20
 1138 0638 4D89      		ldd r20,Y+21
 1139 063a 5E89      		ldd r21,Y+22
 1140 063c 2150      		subi r18,lo8(-(4095))
 1141 063e 304F      		sbci r19,hi8(-(4095))
 1142 0640 4F4F      		sbci r20,hlo8(-(4095))
 1143 0642 5F4F      		sbci r21,hhi8(-(4095))
 1144 0644 2B8B      		std Y+19,r18
 1145 0646 3C8B      		std Y+20,r19
 1146 0648 4D8B      		std Y+21,r20
 1147 064a 5E8B      		std Y+22,r21
 1148               	.L24:
 1149 064c EB88      		ldd r14,Y+19
 1150 064e FC88      		ldd r15,Y+20
 1151 0650 0D89      		ldd r16,Y+21
 1152 0652 1E89      		ldd r17,Y+22
 1153 0654 0D2E      		mov r0,r29
 1154 0656 DCE0      		ldi r29,12
 1155 0658 1595      	1:	asr r17
 1156 065a 0795      		ror r16
 1157 065c F794      		ror r15
 1158 065e E794      		ror r14
 1159 0660 DA95      		dec r29
 1160 0662 D1F7      		brne 1b
 1161 0664 D02D      		mov r29,r0
 1162 0666 8981      		ldd r24,Y+1
 1163 0668 9A81      		ldd r25,Y+2
 1164 066a 0196      		adiw r24,1
 1165 066c 9C01      		movw r18,r24
 1166 066e 4427      		clr r20
 1167 0670 37FD      		sbrc r19,7
 1168 0672 4095      		com r20
 1169 0674 542F      		mov r21,r20
 1170 0676 C801      		movw r24,r16
 1171 0678 B701      		movw r22,r14
 1172 067a 0E94 0000 		call __divmodsi4
 1173 067e DA01      		movw r26,r20
 1174 0680 C901      		movw r24,r18
 1175 0682 8093 9000 		sts 144,r24
 192:G:/HVCBASOFT/AD/adc_sram.c ****     UCSR0A|=(1<<MPCM0);//多机通讯模式
 1177               	.LM118:
 1178 0686 8091 2B00 		lds r24,43
 1179 068a 8160      		ori r24,lo8(1)
 1180 068c 8093 2B00 		sts 43,r24
 193:G:/HVCBASOFT/AD/adc_sram.c **** //	UCSR0B|=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//允许发送和接收,并允许接收中断
 194:G:/HVCBASOFT/AD/adc_sram.c **** 	UCSR0C|=(1<<UCSZ01)|(1<<UCSZ00);//9位数据+1位STOP位,从机
 1182               	.LM119:
 1183 0690 8091 9500 		lds r24,149
 1184 0694 8660      		ori r24,lo8(6)
 1185 0696 8093 9500 		sts 149,r24
 195:G:/HVCBASOFT/AD/adc_sram.c ****     UCSR0B|=(1<<UCSZ02);
 1187               	.LM120:
 1188 069a 8091 2A00 		lds r24,42
 1189 069e 8460      		ori r24,lo8(4)
 1190 06a0 8093 2A00 		sts 42,r24
 196:G:/HVCBASOFT/AD/adc_sram.c **** }
 1192               	.LM121:
 1193               	/* epilogue: frame size=22 */
 1194 06a4 6696      		adiw r28,22
 1195 06a6 0FB6      		in __tmp_reg__,__SREG__
 1196 06a8 F894      		cli
 1197 06aa DEBF      		out __SP_H__,r29
 1198 06ac 0FBE      		out __SREG__,__tmp_reg__
 1199 06ae CDBF      		out __SP_L__,r28
 1200 06b0 DF91      		pop r29
 1201 06b2 CF91      		pop r28
 1202 06b4 1F91      		pop r17
 1203 06b6 0F91      		pop r16
 1204 06b8 FF90      		pop r15
 1205 06ba EF90      		pop r14
 1206 06bc 0895      		ret
 1207               	/* epilogue end (size=13) */
 1208               	/* function UART_SETTING size 214 (187) */
 1210               	.Lscope10:
 1213               	.global	UART_RXCINT_OPEN
 1215               	UART_RXCINT_OPEN:
 197:G:/HVCBASOFT/AD/adc_sram.c **** 
 198:G:/HVCBASOFT/AD/adc_sram.c **** //开串口接收中断
 199:G:/HVCBASOFT/AD/adc_sram.c **** void UART_RXCINT_OPEN(void)
 200:G:/HVCBASOFT/AD/adc_sram.c **** {
 1217               	.LM122:
 1218               	/* prologue: frame size=0 */
 1219 06be CF93      		push r28
 1220 06c0 DF93      		push r29
 1221 06c2 CDB7      		in r28,__SP_L__
 1222 06c4 DEB7      		in r29,__SP_H__
 1223               	/* prologue end (size=4) */
 201:G:/HVCBASOFT/AD/adc_sram.c **** 	UCSR0B|=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//允许发送和接收,并允许接收中断
 1225               	.LM123:
 1226 06c6 8091 2A00 		lds r24,42
 1227 06ca 8869      		ori r24,lo8(-104)
 1228 06cc 8093 2A00 		sts 42,r24
 202:G:/HVCBASOFT/AD/adc_sram.c **** }
 1230               	.LM124:
 1231               	/* epilogue: frame size=0 */
 1232 06d0 DF91      		pop r29
 1233 06d2 CF91      		pop r28
 1234 06d4 0895      		ret
 1235               	/* epilogue end (size=3) */
 1236               	/* function UART_RXCINT_OPEN size 12 (5) */
 1238               	.Lscope11:
 1241               	.global	UART_RXCINT_CLOSE
 1243               	UART_RXCINT_CLOSE:
 203:G:/HVCBASOFT/AD/adc_sram.c **** 
 204:G:/HVCBASOFT/AD/adc_sram.c **** //关串口接收中断
 205:G:/HVCBASOFT/AD/adc_sram.c **** void UART_RXCINT_CLOSE(void)
 206:G:/HVCBASOFT/AD/adc_sram.c **** {
 1245               	.LM125:
 1246               	/* prologue: frame size=0 */
 1247 06d6 CF93      		push r28
 1248 06d8 DF93      		push r29
 1249 06da CDB7      		in r28,__SP_L__
 1250 06dc DEB7      		in r29,__SP_H__
 1251               	/* prologue end (size=4) */
 207:G:/HVCBASOFT/AD/adc_sram.c **** 	UCSR0B&=~(1<<RXCIE0);
 1253               	.LM126:
 1254 06de 8FE7      		ldi r24,lo8(127)
 1255 06e0 9091 2A00 		lds r25,42
 1256 06e4 8923      		and r24,r25
 1257 06e6 8093 2A00 		sts 42,r24
 208:G:/HVCBASOFT/AD/adc_sram.c **** }
 1259               	.LM127:
 1260               	/* epilogue: frame size=0 */
 1261 06ea DF91      		pop r29
 1262 06ec CF91      		pop r28
 1263 06ee 0895      		ret
 1264               	/* epilogue end (size=3) */
 1265               	/* function UART_RXCINT_CLOSE size 13 (6) */
 1267               	.Lscope12:
 1271               	.global	UART_DATA_BYTE_SEND
 1273               	UART_DATA_BYTE_SEND:
 209:G:/HVCBASOFT/AD/adc_sram.c **** 
 210:G:/HVCBASOFT/AD/adc_sram.c **** //发送单字节
 211:G:/HVCBASOFT/AD/adc_sram.c **** void UART_DATA_BYTE_SEND(uint8_t data)
 212:G:/HVCBASOFT/AD/adc_sram.c **** {
 1275               	.LM128:
 1276               	/* prologue: frame size=2 */
 1277 06f0 CF93      		push r28
 1278 06f2 DF93      		push r29
 1279 06f4 CDB7      		in r28,__SP_L__
 1280 06f6 DEB7      		in r29,__SP_H__
 1281 06f8 2297      		sbiw r28,2
 1282 06fa 0FB6      		in __tmp_reg__,__SREG__
 1283 06fc F894      		cli
 1284 06fe DEBF      		out __SP_H__,r29
 1285 0700 0FBE      		out __SREG__,__tmp_reg__
 1286 0702 CDBF      		out __SP_L__,r28
 1287               	/* prologue end (size=10) */
 1288 0704 8983      		std Y+1,r24
 213:G:/HVCBASOFT/AD/adc_sram.c **** 	uint8_t i;
 214:G:/HVCBASOFT/AD/adc_sram.c **** 	sbi(PORTE,2);//改为发送状态
 1290               	.LM129:
 1291               	.LBB6:
 1292 0706 8091 2300 		lds r24,35
 1293 070a 8460      		ori r24,lo8(4)
 1294 070c 8093 2300 		sts 35,r24
 215:G:/HVCBASOFT/AD/adc_sram.c **** 	//延时等待
 216:G:/HVCBASOFT/AD/adc_sram.c **** 	for(i=0;i<0xff;i++){;}
 1296               	.LM130:
 1297 0710 1A82      		std Y+2,__zero_reg__
 1298               	.L28:
 1299 0712 8A81      		ldd r24,Y+2
 1300 0714 8F3F      		cpi r24,lo8(-1)
 1301 0716 09F4      		brne .L30
 1302 0718 04C0      		rjmp .L29
 1303               	.L30:
 1304 071a 8A81      		ldd r24,Y+2
 1305 071c 8F5F      		subi r24,lo8(-(1))
 1306 071e 8A83      		std Y+2,r24
 1307 0720 F8CF      		rjmp .L28
 1308               	.L29:
 217:G:/HVCBASOFT/AD/adc_sram.c **** 	//等待UDRE被置位,否则对数据寄存器UDR的写操作将被忽略
 218:G:/HVCBASOFT/AD/adc_sram.c **** 	if(!(UCSR0A&(1<<UDRE0)))
 1310               	.LM131:
 1311 0722 8091 2B00 		lds r24,43
 1312 0726 9927      		clr r25
 1313 0728 8072      		andi r24,lo8(32)
 1314 072a 9070      		andi r25,hi8(32)
 1315 072c 0097      		sbiw r24,0
 1316 072e 29F4      		brne .L33
 219:G:/HVCBASOFT/AD/adc_sram.c **** 	{
 220:G:/HVCBASOFT/AD/adc_sram.c **** 		UCSR0A|=(1<<UDRE0);
 1318               	.LM132:
 1319 0730 8091 2B00 		lds r24,43
 1320 0734 8062      		ori r24,lo8(32)
 1321 0736 8093 2B00 		sts 43,r24
 221:G:/HVCBASOFT/AD/adc_sram.c **** 	}
 222:G:/HVCBASOFT/AD/adc_sram.c **** 	//等待发送缓冲器空
 223:G:/HVCBASOFT/AD/adc_sram.c **** 	while(!(UCSR0A&(1<<UDRE0))){;}
 1323               	.LM133:
 1324               	.L33:
 1325 073a 8091 2B00 		lds r24,43
 1326 073e 9927      		clr r25
 1327 0740 8072      		andi r24,lo8(32)
 1328 0742 9070      		andi r25,hi8(32)
 1329 0744 0097      		sbiw r24,0
 1330 0746 C9F3      		breq .L33
 224:G:/HVCBASOFT/AD/adc_sram.c **** 	UDR0=data;//发送数据
 1332               	.LM134:
 1333 0748 8981      		ldd r24,Y+1
 1334 074a 8093 2C00 		sts 44,r24
 225:G:/HVCBASOFT/AD/adc_sram.c **** 	loop_until_bit_is_set(UCSR0A,TXC0);//查询发送是否结束
 1336               	.LM135:

⌨️ 快捷键说明

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