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

📄 calibrate.lst

📁 cs5460a做功率表用 cs5460a做功率表用 cs5460a做功率表
💻 LST
📖 第 1 页 / 共 4 页
字号:
   1               		.file	"Calibrate.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	SetKey
 104               	SetKey:
   1:driver/Calibrate.c **** /********************************************
   2:driver/Calibrate.c **** 公司名称:
   3:driver/Calibrate.c **** 文 件 名:
   4:driver/Calibrate.c **** 版 本 号:
   5:driver/Calibrate.c **** 程序设计:
   6:driver/Calibrate.c **** 说    明:
   7:driver/Calibrate.c **** 完成日期:
   8:driver/Calibrate.c **** 修改日期:
   9:driver/Calibrate.c **** 功能摘要:
  10:driver/Calibrate.c **** **********************************************/
  11:driver/Calibrate.c **** #define _Calibration
  12:driver/Calibrate.c **** #include  "includes.h"
  13:driver/Calibrate.c **** 
  14:driver/Calibrate.c **** void    Calibrate(void);
  15:driver/Calibrate.c **** void    SetKey(void);
  16:driver/Calibrate.c **** 
  17:driver/Calibrate.c **** void    Calibrate(void)
  18:driver/Calibrate.c **** {
  19:driver/Calibrate.c **** 
  20:driver/Calibrate.c **** 	DispBuf[ROW_5] = HIDE;		  //左面第一个数码管消隐
  21:driver/Calibrate.c ****     uchar AD_Buf[4];
  22:driver/Calibrate.c ****     uint16 i;
  23:driver/Calibrate.c **** 
  24:driver/Calibrate.c **** Start_Calibrate:
  25:driver/Calibrate.c ****     
  26:driver/Calibrate.c ****     TaskID = 1;
  27:driver/Calibrate.c **** 
  28:driver/Calibrate.c ****     IO_HighAlarm = ON;
  29:driver/Calibrate.c **** 	fH_Alarm = OFF;		
  30:driver/Calibrate.c **** 	IO_LowAlarm = ON;
  31:driver/Calibrate.c **** 	fL_Alarm = OFF;		  //关闭报警
  32:driver/Calibrate.c **** 		
  33:driver/Calibrate.c ****     Rest5460A();  
  34:driver/Calibrate.c ****     Initi5460A();
  35:driver/Calibrate.c **** 
  36:driver/Calibrate.c ****     CS_AD_A = 0;
  37:driver/Calibrate.c ****     _delay_us(3);
  38:driver/Calibrate.c ****     CS_AD_B = 0;    
  39:driver/Calibrate.c ****     Wr_ADByte(0xa0);	//发校准命令
  40:driver/Calibrate.c ****     _delay_us(3);
  41:driver/Calibrate.c ****     CS_AD_A = 1;
  42:driver/Calibrate.c ****     CS_AD_B = 1;
  43:driver/Calibrate.c ****        
  44:driver/Calibrate.c ****     Dis_info(&DispBuf[ROW_4],"adj ");    
  45:driver/Calibrate.c ****     fDispNow = 1;    
  46:driver/Calibrate.c ****     DispProcess();   
  47:driver/Calibrate.c **** 
  48:driver/Calibrate.c ****     while (!UP_KEY) wdt_reset();
  49:driver/Calibrate.c ****     SetKey();             //等待SET键按下
  50:driver/Calibrate.c **** 
  51:driver/Calibrate.c ****     //-------------------------------------- 
  52:driver/Calibrate.c **** 	   
  53:driver/Calibrate.c ****     Dis_info(&DispBuf[ROW_4],"in-1");
  54:driver/Calibrate.c ****     fDispNow = 1;     
  55:driver/Calibrate.c ****     DispProcess();
  56:driver/Calibrate.c ****         
  57:driver/Calibrate.c ****     SetKey();
  58:driver/Calibrate.c **** 
  59:driver/Calibrate.c ****     CS_AD_A = 0;
  60:driver/Calibrate.c ****     CS_AD_B = 0;
  61:driver/Calibrate.c ****     _delay_us(3);    
  62:driver/Calibrate.c ****     Wr_ADByte(0xDE);	//发同时增益校准命令
  63:driver/Calibrate.c ****     _delay_us(3);
  64:driver/Calibrate.c ****     CS_AD_A = 1;
  65:driver/Calibrate.c ****     CS_AD_B = 1;    
  66:driver/Calibrate.c ****     
  67:driver/Calibrate.c ****     Dis_info(&DispBuf[ROW_4],"run ");
  68:driver/Calibrate.c ****     fDispNow = 1;     
  69:driver/Calibrate.c ****     DispProcess();   
  70:driver/Calibrate.c **** 		
  71:driver/Calibrate.c **** 		
  72:driver/Calibrate.c **** 	i = 500;
  73:driver/Calibrate.c ****     do{
  74:driver/Calibrate.c ****     	 _delay_ms(10);
  75:driver/Calibrate.c ****          wdt_reset();
  76:driver/Calibrate.c ****        }while(--i);   
  77:driver/Calibrate.c ****    
  78:driver/Calibrate.c ****     Clear5460A();
  79:driver/Calibrate.c ****         
  80:driver/Calibrate.c ****     Dis_info(&DispBuf[ROW_4],"in-0");
  81:driver/Calibrate.c ****     fDispNow = 1; 
  82:driver/Calibrate.c ****     DispProcess();	
  83:driver/Calibrate.c ****     
  84:driver/Calibrate.c ****     SetKey();   
  85:driver/Calibrate.c ****     
  86:driver/Calibrate.c ****     CS_AD_A = 0;
  87:driver/Calibrate.c ****     _delay_us(3);
  88:driver/Calibrate.c ****     CS_AD_B = 0;    
  89:driver/Calibrate.c ****     Wr_ADByte(0xDD);	//发同时偏移校准命令
  90:driver/Calibrate.c ****     _delay_us(3);
  91:driver/Calibrate.c ****     CS_AD_A = 1;
  92:driver/Calibrate.c ****     CS_AD_B = 1;    
  93:driver/Calibrate.c ****     
  94:driver/Calibrate.c ****     Dis_info(&DispBuf[ROW_4],"run ");
  95:driver/Calibrate.c ****     fDispNow = 1;     
  96:driver/Calibrate.c ****     DispProcess();
  97:driver/Calibrate.c ****     
  98:driver/Calibrate.c **** 	i = 500;
  99:driver/Calibrate.c ****     do{
 100:driver/Calibrate.c ****          _delay_ms(10);
 101:driver/Calibrate.c ****          wdt_reset();
 102:driver/Calibrate.c ****        }while(--i);    
 103:driver/Calibrate.c ****     
 104:driver/Calibrate.c ****     Clear5460A();   
 105:driver/Calibrate.c **** 	  
 106:driver/Calibrate.c ****    //-----------------------------------
 107:driver/Calibrate.c **** 
 108:driver/Calibrate.c ****    #if 1
 109:driver/Calibrate.c **** 
 110:driver/Calibrate.c ****    	CS_AD_A = 0;
 111:driver/Calibrate.c ****     CS_AD_B = 0;    
 112:driver/Calibrate.c ****     Wr_ADByte(0xe8);	//启动CS5460A	
 113:driver/Calibrate.c ****     CS_AD_A = 1;
 114:driver/Calibrate.c ****     CS_AD_B = 1;
 115:driver/Calibrate.c **** 	
 116:driver/Calibrate.c ****     Dis_info(&DispBuf[ROW_4],"in-1");
 117:driver/Calibrate.c **** 	fDispNow = 1; 
 118:driver/Calibrate.c ****     DispProcess();
 119:driver/Calibrate.c **** 	SetKey();
 120:driver/Calibrate.c **** 
 121:driver/Calibrate.c **** 	Dis_info(&DispBuf[ROW_4]," ua ");
 122:driver/Calibrate.c **** 	fDispNow = 1; 
 123:driver/Calibrate.c ****     DispProcess();
 124:driver/Calibrate.c **** 
 125:driver/Calibrate.c **** 	SetKey();
 126:driver/Calibrate.c **** 
 127:driver/Calibrate.c **** 	CS_AD_A = 0;			
 128:driver/Calibrate.c ****     Rd5460A(AD_Buf,0x18);       //读A相电压值		
 129:driver/Calibrate.c ****     CS_AD_A = 1;
 130:driver/Calibrate.c **** 	DoPot(&DispBuf[0],DealRms(AD_Buf,0x8234));	   //0x411a=16 666
 131:driver/Calibrate.c **** 	fDispNow = 1; 
 132:driver/Calibrate.c ****     DispProcess();
 133:driver/Calibrate.c **** 	SetKey();
 134:driver/Calibrate.c **** 
 135:driver/Calibrate.c **** 	Dis_info(&DispBuf[ROW_4]," ia ");
 136:driver/Calibrate.c **** 	fDispNow = 1; 
 137:driver/Calibrate.c ****     DispProcess();
 138:driver/Calibrate.c **** 
 139:driver/Calibrate.c **** 	SetKey();
 140:driver/Calibrate.c **** 
 141:driver/Calibrate.c **** 	CS_AD_A = 0;			
 142:driver/Calibrate.c ****     Rd5460A(AD_Buf,0x16);       //读A相电流值		
 143:driver/Calibrate.c ****     CS_AD_A = 1;
 144:driver/Calibrate.c **** 	DoPot(&DispBuf[0],DealRms(AD_Buf,0x208d));	   //0x208d=8 333
 145:driver/Calibrate.c **** 	fDispNow = 1; 
 146:driver/Calibrate.c ****     DispProcess();
 147:driver/Calibrate.c **** 	SetKey();
 148:driver/Calibrate.c **** 
 149:driver/Calibrate.c **** 	Dis_info(&DispBuf[ROW_4]," pa ");
 150:driver/Calibrate.c **** 	fDispNow = 1; 
 151:driver/Calibrate.c ****     DispProcess();
 152:driver/Calibrate.c **** 
 153:driver/Calibrate.c **** 	SetKey();
 154:driver/Calibrate.c **** 
 155:driver/Calibrate.c **** 	CS_AD_A = 0;			
 156:driver/Calibrate.c ****     Rd5460A(AD_Buf,0x14);       //读A相电压值		
 157:driver/Calibrate.c ****     CS_AD_A = 1;
 158:driver/Calibrate.c **** 	DoPot(&DispBuf[0],DealRms(AD_Buf,0x6f20));	   //0x6f20=28 448
 159:driver/Calibrate.c **** 	fDispNow = 1; 
 160:driver/Calibrate.c ****     DispProcess();
 161:driver/Calibrate.c **** 	SetKey();
 162:driver/Calibrate.c **** 
 163:driver/Calibrate.c **** 
 164:driver/Calibrate.c **** 
 165:driver/Calibrate.c **** 	Dis_info(&DispBuf[ROW_4]," uc ");
 166:driver/Calibrate.c **** 	fDispNow = 1; 
 167:driver/Calibrate.c ****     DispProcess();
 168:driver/Calibrate.c **** 
 169:driver/Calibrate.c **** 	SetKey();
 170:driver/Calibrate.c **** 
 171:driver/Calibrate.c **** 	CS_AD_B = 0;			
 172:driver/Calibrate.c ****     Rd5460A(AD_Buf,0x18);       //读A相电流值		
 173:driver/Calibrate.c ****     CS_AD_B = 1;
 174:driver/Calibrate.c **** 	DoPot(&DispBuf[0],DealRms(AD_Buf,0x411a));	   //0x411a=16 666
 175:driver/Calibrate.c **** 	fDispNow = 1; 
 176:driver/Calibrate.c ****     DispProcess();
 177:driver/Calibrate.c **** 	SetKey();
 178:driver/Calibrate.c **** 
 179:driver/Calibrate.c **** 	Dis_info(&DispBuf[ROW_4]," ic ");
 180:driver/Calibrate.c **** 	fDispNow = 1; 
 181:driver/Calibrate.c ****     DispProcess();
 182:driver/Calibrate.c **** 
 183:driver/Calibrate.c **** 	SetKey();
 184:driver/Calibrate.c **** 
 185:driver/Calibrate.c **** 	CS_AD_B = 0;			
 186:driver/Calibrate.c ****     Rd5460A(AD_Buf,0x16);       //读A相功率值		
 187:driver/Calibrate.c ****     CS_AD_B = 1;
 188:driver/Calibrate.c **** 	DoPot(&DispBuf[0],DealRms(AD_Buf,0x208d));	   //0x208d=8 333
 189:driver/Calibrate.c **** 	fDispNow = 1; 
 190:driver/Calibrate.c ****     DispProcess();
 191:driver/Calibrate.c **** 	SetKey();
 192:driver/Calibrate.c **** 
 193:driver/Calibrate.c **** 	Dis_info(&DispBuf[ROW_4]," pc ");
 194:driver/Calibrate.c **** 	fDispNow = 1; 
 195:driver/Calibrate.c ****     DispProcess();
 196:driver/Calibrate.c **** 
 197:driver/Calibrate.c **** 	SetKey();
 198:driver/Calibrate.c **** 
 199:driver/Calibrate.c **** 	CS_AD_B = 0;			
 200:driver/Calibrate.c ****     Rd5460A(AD_Buf,0x14);       //读A相功率值		
 201:driver/Calibrate.c ****     CS_AD_B = 1;
 202:driver/Calibrate.c **** 	DoPot(&DispBuf[0],DealRms(AD_Buf,0x6f20));	   //0x6f20=28 448
 203:driver/Calibrate.c **** 	fDispNow = 1; 
 204:driver/Calibrate.c ****     DispProcess();
 205:driver/Calibrate.c **** 	SetKey();
 206:driver/Calibrate.c **** 
 207:driver/Calibrate.c ****    #endif
 208:driver/Calibrate.c **** 
 209:driver/Calibrate.c **** //------------------------------------------------      
 210:driver/Calibrate.c ****     Dis_info(&DispBuf[ROW_4],"end ");
 211:driver/Calibrate.c ****     fDispNow = 1; 
 212:driver/Calibrate.c ****     DispProcess();
 213:driver/Calibrate.c ****         
 214:driver/Calibrate.c ****     while (1)
 215:driver/Calibrate.c ****     {
 216:driver/Calibrate.c ****         while (1) {
 217:driver/Calibrate.c ****                      wdt_reset();
 218:driver/Calibrate.c ****                      if (!SET_KEY)
 219:driver/Calibrate.c ****                      break;
 220:driver/Calibrate.c ****                    }
 221:driver/Calibrate.c ****         i = 100;
 222:driver/Calibrate.c ****         do {
 223:driver/Calibrate.c ****             wdt_reset();
 224:driver/Calibrate.c ****             _delay_ms(10);
 225:driver/Calibrate.c **** 			_delay_ms(10);
 226:driver/Calibrate.c ****             if (SET_KEY)
 227:driver/Calibrate.c ****             goto Start_Calibrate;
 228:driver/Calibrate.c ****            } while (--i);
 229:driver/Calibrate.c **** 
 230:driver/Calibrate.c ****         Save_Calibrate();
 231:driver/Calibrate.c ****         while (1);
 232:driver/Calibrate.c ****      }
 233:driver/Calibrate.c **** }
 234:driver/Calibrate.c **** 
 235:driver/Calibrate.c **** 
 236:driver/Calibrate.c **** //-------------------------------------------
 237:driver/Calibrate.c **** void    SetKey(void)
 238:driver/Calibrate.c **** {
 106               	.LM1:
 107               	/* prologue: frame size=0 */
 108               	/* prologue end (size=0) */
 109               	.L20:
 239:driver/Calibrate.c ****     while (1) {
 240:driver/Calibrate.c ****                 wdt_reset();
 111               	.LM2:
 112               	/* #APP */
 113 0000 A895      		wdr
 241:driver/Calibrate.c ****                 if (!SET_KEY)
 115               	.LM3:
 116               	/* #NOAPP */
 117 0002 B599      		sbic 54-0x20,5
 118 0004 FDCF      		rjmp .L20
 119               	.LBB2:
 120               	.LBB3:
 122               	.Ltext1:
   1:C:/WinAVR/avr/include/util/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
   2:C:/WinAVR/avr/include/util/delay.h ****    Copyright (c) 2004,2005 Joerg Wunsch
   3:C:/WinAVR/avr/include/util/delay.h ****    All rights reserved.
   4:C:/WinAVR/avr/include/util/delay.h **** 
   5:C:/WinAVR/avr/include/util/delay.h ****    Redistribution and use in source and binary forms, with or without
   6:C:/WinAVR/avr/include/util/delay.h ****    modification, are permitted provided that the following conditions are met:
   7:C:/WinAVR/avr/include/util/delay.h **** 
   8:C:/WinAVR/avr/include/util/delay.h ****    * Redistributions of source code must retain the above copyright
   9:C:/WinAVR/avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer.
  10:C:/WinAVR/avr/include/util/delay.h **** 
  11:C:/WinAVR/avr/include/util/delay.h ****    * Redistributions in binary form must reproduce the above copyright
  12:C:/WinAVR/avr/include/util/delay.h ****      notice, this list of conditions and the following disclaimer in
  13:C:/WinAVR/avr/include/util/delay.h ****      the documentation and/or other materials provided with the
  14:C:/WinAVR/avr/include/util/delay.h ****      distribution.
  15:C:/WinAVR/avr/include/util/delay.h **** 
  16:C:/WinAVR/avr/include/util/delay.h ****    * Neither the name of the copyright holders nor the names of
  17:C:/WinAVR/avr/include/util/delay.h ****      contributors may be used to endorse or promote products derived
  18:C:/WinAVR/avr/include/util/delay.h ****      from this software without specific prior written permission.
  19:C:/WinAVR/avr/include/util/delay.h **** 
  20:C:/WinAVR/avr/include/util/delay.h ****   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21:C:/WinAVR/avr/include/util/delay.h ****   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22:C:/WinAVR/avr/include/util/delay.h ****   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23:C:/WinAVR/avr/include/util/delay.h ****   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  24:C:/WinAVR/avr/include/util/delay.h ****   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  25:C:/WinAVR/avr/include/util/delay.h ****   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  26:C:/WinAVR/avr/include/util/delay.h ****   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  27:C:/WinAVR/avr/include/util/delay.h ****   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  28:C:/WinAVR/avr/include/util/delay.h ****   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  29:C:/WinAVR/avr/include/util/delay.h ****   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  30:C:/WinAVR/avr/include/util/delay.h ****   POSSIBILITY OF SUCH DAMAGE. */
  31:C:/WinAVR/avr/include/util/delay.h **** 
  32:C:/WinAVR/avr/include/util/delay.h **** /* $Id: delay.h,v 1.1.2.1 2005/12/12 23:19:49 joerg_wunsch Exp $ */
  33:C:/WinAVR/avr/include/util/delay.h **** 
  34:C:/WinAVR/avr/include/util/delay.h **** #ifndef _UTIL_DELAY_H_
  35:C:/WinAVR/avr/include/util/delay.h **** #define _UTIL_DELAY_H_ 1
  36:C:/WinAVR/avr/include/util/delay.h **** 
  37:C:/WinAVR/avr/include/util/delay.h **** #include <inttypes.h>

⌨️ 快捷键说明

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