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

📄 eeprom.c

📁 一款电力行业使用的温湿度控制器源代码 湿度传感器采用HF3223 温度采用DS18B20 单片机采用mega8 编程采用winavr2007
💻 C
字号:
#define EEPROM_C  1
#include "inc/config.h"
/************************************************************************************
**--------------------   file name : EEPROM.c -----------------------------------
** author:	 
** date:	20080201
** version:	1.0
** remaks 
**--------------------------------------------------------------
** modify:
** author:
** date:
**-----------------------------------------------------------------------------------
************************************************************************************/








/** the global variables used by eeprom **/
//--------------------------------------
 int16   TH    =1350   ;    //温度上限启动值
 int16   TH_Z  =999  ;      //温度上限返回值
 int16   TL    =-50  ;    //温度上限启动值
 int16   TL_Z  =100  ;      //温度上限返回值
//--------------------------------------
 u08     HH    = 90  ;    //湿度上限启动值


u08 BAUDRATE;
u08 AUTOSWITCH;

/*****************************************************************************
*-----------------------------------------------------------------------------
* subroutine:       read_byte_from_eeprom(u08 eeprom_adress)
* function:         used by keyprocess ,compare relay
* globle variable:  
* date:             2006.09.16
* author:           
* abstract:        
******************************************************************************/
uint8 read_byte_from_eeprom(uint16 eeprom_adress)
{
      return ( eeprom_read_byte ((  u08 *)eeprom_adress) );
}
/*****************************************************************************
*-----------------------------------------------------------------------------
* subroutine:       write_byte_to_eeprom(u08 eeprom_adress)
* function:         used by keyprocess ,compare relay
* globle variable:  
* date:             2006.09.17
* author:           
* abstract:        
*-----------------------------------------------------------------------------
******************************************************************************/
BOOL write_byte_to_eeprom(uint16 eeprom_adress,u08 value)
{
    eeprom_write_byte ((u08 *)(eeprom_adress), (u08)(value));

    return OK;
}
/*****************************************************************************
**  name:       void SynE2prom(void )
**  date:       20060917
**  purpose:    synchronize the variables in ram and eeprom 
**  abstract:
**
**  -------------------------------------------------------------------------
**  note
*****************************************************************************/
#define EEPROM_START_ADRESS 0x20


void SynRamFromE2prom(void )

{
///////######################################################################

    
     TH      =(int16) (( read_byte_from_eeprom(EEPROM_START_ADRESS)<<8)
                         +   read_byte_from_eeprom(EEPROM_START_ADRESS+1));

     TH_Z   = (int16)(( read_byte_from_eeprom(EEPROM_START_ADRESS+2)<<8)
                         +   read_byte_from_eeprom(EEPROM_START_ADRESS+3));

///////######################################################################

     TL     = (int16)(( read_byte_from_eeprom(EEPROM_START_ADRESS+4)<<8)
            		
                	 +   read_byte_from_eeprom(EEPROM_START_ADRESS+5));

     TL_Z   = (int16)(( read_byte_from_eeprom(EEPROM_START_ADRESS+6)<<8)
         
  		 +               read_byte_from_eeprom(EEPROM_START_ADRESS+7));

     HH     =  		 read_byte_from_eeprom(EEPROM_START_ADRESS+8);




}

void SynE2promFromRam(void )
{
  	
    write_byte_to_eeprom(EEPROM_START_ADRESS,HIGHBYTE(TH)) ;
    write_byte_to_eeprom(EEPROM_START_ADRESS+1,LOWBYTE(TH )) ;  
    write_byte_to_eeprom(EEPROM_START_ADRESS+2,HIGHBYTE(TH_Z )) ;
    write_byte_to_eeprom(EEPROM_START_ADRESS+3,LOWBYTE(TH_Z )) ;  

  
    write_byte_to_eeprom(EEPROM_START_ADRESS+4,HIGHBYTE(TL )) ;
    write_byte_to_eeprom(EEPROM_START_ADRESS+5,LOWBYTE(TL )) ;  
    write_byte_to_eeprom(EEPROM_START_ADRESS+6,HIGHBYTE(TL_Z )) ;
    write_byte_to_eeprom(EEPROM_START_ADRESS+7,LOWBYTE(TL_Z )) ;  

    write_byte_to_eeprom(EEPROM_START_ADRESS+8,HH ) ;
}

⌨️ 快捷键说明

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