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

📄 savetask.lst

📁 cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"SaveTask.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:
 102               	.global	SaveFunData
 104               	SaveFunData:
   1:driver/SaveTask.c **** /********************************************
   2:driver/SaveTask.c **** 公司名称:
   3:driver/SaveTask.c **** 文 件 名:SaveTask.c
   4:driver/SaveTask.c **** 版 本 号:
   5:driver/SaveTask.c **** 程序设计:
   6:driver/SaveTask.c **** 说    明:各种参数保存函数
   7:driver/SaveTask.c **** 完成日期:
   8:driver/SaveTask.c **** 修改日期:
   9:driver/SaveTask.c **** 功能摘要:
  10:driver/SaveTask.c **** **********************************************/
  11:driver/SaveTask.c **** #define _SaveTask
  12:driver/SaveTask.c **** #include "includes.h"
  13:driver/SaveTask.c **** 
  14:driver/SaveTask.c **** uint8  AddrVal;
  15:driver/SaveTask.c **** uint16 PtVal;
  16:driver/SaveTask.c **** uint16 CtVal;
  17:driver/SaveTask.c **** uint8  BaudAndData;        //通信波特率设置和数据格式设置
  18:driver/SaveTask.c **** uint16 H_Alarm;
  19:driver/SaveTask.c **** uint16 L_Alarm;
  20:driver/SaveTask.c **** uint8  AlarmSwitch;	   //报警选项
  21:driver/SaveTask.c **** 
  22:driver/SaveTask.c **** void SaveFunData(void);		   //保存设定参数,参数设定后常按set键
  23:driver/SaveTask.c **** void LoadFunData(void);		   //加载设定参数,上电后初始化
  24:driver/SaveTask.c **** void Save_Calibrate(void);	   //保存校验参数,校验以后常按set键
  25:driver/SaveTask.c **** void LoadCalibration(void);	   //加载校验参数,上电后初始化
  26:driver/SaveTask.c **** 
  27:driver/SaveTask.c **** //---------------------------------------
  28:driver/SaveTask.c **** void SaveFunData(void)
  29:driver/SaveTask.c **** {
 106               	.LM1:
 107               	/* prologue: frame size=11 */
 108 0000 CF93      		push r28
 109 0002 DF93      		push r29
 110 0004 CDB7      		in r28,__SP_L__
 111 0006 DEB7      		in r29,__SP_H__
 112 0008 2B97      		sbiw r28,11
 113 000a 0FB6      		in __tmp_reg__,__SREG__
 114 000c F894      		cli
 115 000e DEBF      		out __SP_H__,r29
 116 0010 0FBE      		out __SREG__,__tmp_reg__
 117 0012 CDBF      		out __SP_L__,r28
 118               	/* prologue end (size=10) */
  30:driver/SaveTask.c ****     uint8 temp[11];
  31:driver/SaveTask.c ****     
  32:driver/SaveTask.c ****     temp[0] = ((uchar *)&PtVal)[0];	
 120               	.LM2:
 121 0014 8091 0000 		lds r24,PtVal
 122 0018 8983      		std Y+1,r24
  33:driver/SaveTask.c ****     temp[1] = ((uchar *)&PtVal)[1];
 124               	.LM3:
 125 001a 8091 0000 		lds r24,PtVal+1
 126 001e 8A83      		std Y+2,r24
  34:driver/SaveTask.c **** 	  
  35:driver/SaveTask.c ****     temp[2] = ((uchar *)&CtVal)[0];
 128               	.LM4:
 129 0020 8091 0000 		lds r24,CtVal
 130 0024 8B83      		std Y+3,r24
  36:driver/SaveTask.c ****     temp[3] = ((uchar *)&CtVal)[1];
 132               	.LM5:
 133 0026 8091 0000 		lds r24,CtVal+1
 134 002a 8C83      		std Y+4,r24
  37:driver/SaveTask.c **** 
  38:driver/SaveTask.c ****     temp[4] = AddrVal;				
 136               	.LM6:
 137 002c 8091 0000 		lds r24,AddrVal
 138 0030 8D83      		std Y+5,r24
  39:driver/SaveTask.c ****     temp[5] = BaudAndData;
 140               	.LM7:
 141 0032 8091 0000 		lds r24,BaudAndData
 142 0036 8E83      		std Y+6,r24
  40:driver/SaveTask.c **** 	
  41:driver/SaveTask.c ****     temp[6] = ((uint8 *)&H_Alarm)[0];
 144               	.LM8:
 145 0038 8091 0000 		lds r24,H_Alarm
 146 003c 8F83      		std Y+7,r24
  42:driver/SaveTask.c ****     temp[7] = ((uint8 *)&H_Alarm)[1];
 148               	.LM9:
 149 003e 8091 0000 		lds r24,H_Alarm+1
 150 0042 8887      		std Y+8,r24
  43:driver/SaveTask.c ****     temp[8] = ((uint8 *)&L_Alarm)[0];
 152               	.LM10:
 153 0044 8091 0000 		lds r24,L_Alarm
 154 0048 8987      		std Y+9,r24
  44:driver/SaveTask.c ****     temp[9] = ((uint8 *)&L_Alarm)[1];
 156               	.LM11:
 157 004a 8091 0000 		lds r24,L_Alarm+1
 158 004e 8A87      		std Y+10,r24
  45:driver/SaveTask.c ****     temp[10] =  AlarmSwitch;
 160               	.LM12:
 161 0050 8091 0000 		lds r24,AlarmSwitch
 162 0054 8B87      		std Y+11,r24
  46:driver/SaveTask.c **** 
  47:driver/SaveTask.c **** 
  48:driver/SaveTask.c ****     Write_EEProm_block(temp,(uint *)0x30,11);
 164               	.LM13:
 165 0056 4BE0      		ldi r20,lo8(11)
 166 0058 60E3      		ldi r22,lo8(48)
 167 005a 70E0      		ldi r23,hi8(48)
 168 005c CE01      		movw r24,r28
 169 005e 0196      		adiw r24,1
 170 0060 00D0      		rcall Write_EEProm_block
 171               	/* epilogue: frame size=11 */
 172 0062 2B96      		adiw r28,11
 173 0064 0FB6      		in __tmp_reg__,__SREG__
 174 0066 F894      		cli
 175 0068 DEBF      		out __SP_H__,r29
 176 006a 0FBE      		out __SREG__,__tmp_reg__
 177 006c CDBF      		out __SP_L__,r28
 178 006e DF91      		pop r29
 179 0070 CF91      		pop r28
 180 0072 0895      		ret
 181               	/* epilogue end (size=9) */
 182               	/* function SaveFunData size 58 (39) */
 187               	.Lscope0:
 189               	.global	LoadFunData
 191               	LoadFunData:
  49:driver/SaveTask.c **** }
  50:driver/SaveTask.c **** //--------------------------------------
  51:driver/SaveTask.c **** 
  52:driver/SaveTask.c **** void  LoadFunData(void)
  53:driver/SaveTask.c **** {
 193               	.LM14:
 194               	/* prologue: frame size=11 */
 195 0074 CF93      		push r28
 196 0076 DF93      		push r29
 197 0078 CDB7      		in r28,__SP_L__
 198 007a DEB7      		in r29,__SP_H__
 199 007c 2B97      		sbiw r28,11
 200 007e 0FB6      		in __tmp_reg__,__SREG__
 201 0080 F894      		cli
 202 0082 DEBF      		out __SP_H__,r29
 203 0084 0FBE      		out __SREG__,__tmp_reg__
 204 0086 CDBF      		out __SP_L__,r28
 205               	/* prologue end (size=10) */
  54:driver/SaveTask.c ****     uint8 temp[11];   
  55:driver/SaveTask.c **** 
  56:driver/SaveTask.c ****     Read_EEProm_block(temp,(uint *)0x30,11);    
 207               	.LM15:
 208 0088 4BE0      		ldi r20,lo8(11)
 209 008a 60E3      		ldi r22,lo8(48)
 210 008c 70E0      		ldi r23,hi8(48)
 211 008e CE01      		movw r24,r28
 212 0090 0196      		adiw r24,1
 213 0092 00D0      		rcall Read_EEProm_block
  57:driver/SaveTask.c ****     ((uchar *)&PtVal)[0] = temp[0];
 215               	.LM16:
 216 0094 8981      		ldd r24,Y+1
 217 0096 8093 0000 		sts PtVal,r24
  58:driver/SaveTask.c ****     ((uchar *)&PtVal)[1] = temp[1];
 219               	.LM17:
 220 009a 8A81      		ldd r24,Y+2
 221 009c 8093 0000 		sts PtVal+1,r24
  59:driver/SaveTask.c **** 	
  60:driver/SaveTask.c ****     ((uchar *)&CtVal)[0] = temp[2];
 223               	.LM18:
 224 00a0 8B81      		ldd r24,Y+3
 225 00a2 8093 0000 		sts CtVal,r24
  61:driver/SaveTask.c ****     ((uchar *)&CtVal)[1] = temp[3];
 227               	.LM19:
 228 00a6 8C81      		ldd r24,Y+4
 229 00a8 8093 0000 		sts CtVal+1,r24
  62:driver/SaveTask.c **** 
  63:driver/SaveTask.c ****     AddrVal = temp[4];
 231               	.LM20:
 232 00ac 2D81      		ldd r18,Y+5
 233 00ae 2093 0000 		sts AddrVal,r18
  64:driver/SaveTask.c ****     BaudAndData = temp[5];
 235               	.LM21:
 236 00b2 3E81      		ldd r19,Y+6
 237 00b4 3093 0000 		sts BaudAndData,r19
  65:driver/SaveTask.c **** 
  66:driver/SaveTask.c ****     ((uint8 *)&H_Alarm)[0] = temp[6];
 239               	.LM22:
 240 00b8 8F81      		ldd r24,Y+7
 241 00ba 8093 0000 		sts H_Alarm,r24
  67:driver/SaveTask.c ****     ((uint8 *)&H_Alarm)[1] = temp[7];
 243               	.LM23:
 244 00be 8885      		ldd r24,Y+8
 245 00c0 8093 0000 		sts H_Alarm+1,r24
  68:driver/SaveTask.c ****     ((uint8 *)&L_Alarm)[0] = temp[8];
 247               	.LM24:
 248 00c4 8985      		ldd r24,Y+9
 249 00c6 8093 0000 		sts L_Alarm,r24
  69:driver/SaveTask.c ****     ((uint8 *)&L_Alarm)[1] = temp[9];
 251               	.LM25:
 252 00ca 8A85      		ldd r24,Y+10
 253 00cc 8093 0000 		sts L_Alarm+1,r24
  70:driver/SaveTask.c ****     AlarmSwitch = temp[10];
 255               	.LM26:
 256 00d0 8B85      		ldd r24,Y+11
 257 00d2 8093 0000 		sts AlarmSwitch,r24
  71:driver/SaveTask.c **** 
  72:driver/SaveTask.c **** 
  73:driver/SaveTask.c ****     if ((PtVal > 5000) || (PtVal == 0)) 
 259               	.LM27:
 260 00d6 8091 0000 		lds r24,PtVal
 261 00da 9091 0000 		lds r25,(PtVal)+1
 262 00de 0197      		sbiw r24,1
 263 00e0 8858      		subi r24,lo8(5000)
 264 00e2 9341      		sbci r25,hi8(5000)
 265 00e4 30F0      		brlo .L3
  74:driver/SaveTask.c **** 	   { PtVal = 1; }
 267               	.LM28:
 268 00e6 81E0      		ldi r24,lo8(1)
 269 00e8 90E0      		ldi r25,hi8(1)
 270 00ea 9093 0000 		sts (PtVal)+1,r25
 271 00ee 8093 0000 		sts PtVal,r24
 272               	.L3:
  75:driver/SaveTask.c **** 	if ((CtVal > 2000) || (CtVal == 0))
 274               	.LM29:
 275 00f2 8091 0000 		lds r24,CtVal
 276 00f6 9091 0000 		lds r25,(CtVal)+1
 277 00fa 0197      		sbiw r24,1
 278 00fc 805D      		subi r24,lo8(2000)
 279 00fe 9740      		sbci r25,hi8(2000)
 280 0100 30F0      		brlo .L4
  76:driver/SaveTask.c **** 	   { CtVal = 1; }
 282               	.LM30:
 283 0102 81E0      		ldi r24,lo8(1)
 284 0104 90E0      		ldi r25,hi8(1)
 285 0106 9093 0000 		sts (CtVal)+1,r25
 286 010a 8093 0000 		sts CtVal,r24
 287               	.L4:
  77:driver/SaveTask.c **** 
  78:driver/SaveTask.c ****     if ((H_Alarm > 9999)|| (H_Alarm == 0))
 289               	.LM31:
 290 010e 8091 0000 		lds r24,H_Alarm
 291 0112 9091 0000 		lds r25,(H_Alarm)+1
 292 0116 0197      		sbiw r24,1
 293 0118 8F50      		subi r24,lo8(9999)
 294 011a 9742      		sbci r25,hi8(9999)
 295 011c 30F0      		brlo .L5
  79:driver/SaveTask.c **** 	   { H_Alarm = 1; }
 297               	.LM32:
 298 011e 81E0      		ldi r24,lo8(1)
 299 0120 90E0      		ldi r25,hi8(1)
 300 0122 9093 0000 		sts (H_Alarm)+1,r25
 301 0126 8093 0000 		sts H_Alarm,r24
 302               	.L5:
  80:driver/SaveTask.c ****     if ((L_Alarm > 9999)|| (L_Alarm == 0))
 304               	.LM33:
 305 012a 8091 0000 		lds r24,L_Alarm
 306 012e 9091 0000 		lds r25,(L_Alarm)+1
 307 0132 0197      		sbiw r24,1
 308 0134 8F50      		subi r24,lo8(9999)
 309 0136 9742      		sbci r25,hi8(9999)
 310 0138 30F0      		brlo .L6
  81:driver/SaveTask.c **** 	   { L_Alarm = 1; }
 312               	.LM34:
 313 013a 81E0      		ldi r24,lo8(1)
 314 013c 90E0      		ldi r25,hi8(1)
 315 013e 9093 0000 		sts (L_Alarm)+1,r25
 316 0142 8093 0000 		sts L_Alarm,r24
 317               	.L6:
  82:driver/SaveTask.c **** 

⌨️ 快捷键说明

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