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

📄 flash_api.h

📁 51代码综合,ISP,用于8051单片机应用编成
💻 H
字号:
/****************************************************************************
*
*           (c) ATMEL-Wireless and Microcontrollers 2001
*
*
*****************************************************************************/

/*H***************************************************************************
* NAME: flash_api.h          
*----------------------------------------------------------------------------
* CREATED_BY:    Jean-sebastien Berthy && Rapha雔 L'etendu
* CREATION_DATE: 1/03/2000  
* AUTHOR:        $Author: jberthy $
* REVISION       $Revision: 1.3 $
* DATE:          $Date: 2001/09/07 12:54:24 $
*----------------------------------------------------------------------------
*****************************************************************************/


#ifndef _FLASH_API_H_
#define _FLASH_API_H_

/*_____ C O N F I G U R A T I O N ____________________________________________*/

/* define here the needed functions */
#define  __API_FCT_SET_1
#define  __API_FCT_SET_2

#define  __API_WR_CODE_BYTE
#define  __API_WR_CODE_PAGE

#define  __API_RD_EEPROM_BYTE
#define  __API_WR_EEPROM_BYTE


/******************************************************************************/
/******************************************************************************/
/***                                                                        ***/
/***       WARNING :TAKE CARE OF THESE TWO DEFINES                          ***/
/***                                                                        ***/
/******************************************************************************/
/******************************************************************************/

#define EETIM_VALUE     0x37  /* For exact EETIM value : see T8951RD2 Data Sheet
*/
                // Example :value of EETIM  mhz*5=0x37 @ 11 mhz = 0x3C @ 12 mhz 


/******************************************************************************/
/******************************************************************************/
/***                                                                        ***/
/***       MEMORY MODEL                                                     ***/
/***                                                                        ***/
/******************************************************************************/
/******************************************************************************/

/* IF NEEDED ( LARGE MEMORY MODEL USED ) uncomment this line : */

//  #define LARGE_MEMORY_MODEL


/*_____ END C O N F I G U R A T I O N
____________________________________________*/


#ifdef __API_FCT_SET_1
  Uchar __api_fct_set_1 (Uchar _R1, Uint16 _DPTR);

  #define __api_rd_manufacturer()         __api_fct_set_1(0, 0)
  #define __api_rd_device_id1()           __api_fct_set_1(0, 1)
  #define __api_rd_device_id2()           __api_fct_set_1(0, 2)
  #define __api_rd_device_id3()           __api_fct_set_1(0, 3)
  #define __api_erase_SBV()               __api_fct_set_1(4, 0)

  #define SSB_ALLOW_WR    ((Uchar)0xFE)       
  #define SSB_SECURITY_WR ((Uchar)0x00)   
  #define SSB_SECURITY_RD ((Uchar)0x01)

  #define __api_wr_SSB(SSB)               __api_fct_set_1(5, SSB)
                                
  #define __api_wr_SSB_RD_WR_SECURITY()   __api_wr_SSB(SSB_SECURITY_RD)
  #define __api_wr_SSB_WR_SECURITY()      __api_wr_SSB(SSB_SECURITY_WR)
  #define __api_wr_SSB_NO_SECURITY()      __api_wr_SSB(SSB_ALLOW_WR)

  #define __api_rd_SSB()                  __api_fct_set_1(7, 0)
  #define __api_rd_BSB()                  __api_fct_set_1(7, 1)
  #define __api_rd_SBV()                  __api_fct_set_1(7, 2)
  #define __api_rd_HSB()                  __api_fct_set_1(7, 3)
  #define __api_rd_bootloader_version()   __api_fct_set_1(8, 0)

#endif


#ifdef __API_FCT_SET_2
  Uchar __api_fct_set_2 (Uchar _ACC, Uchar _DPL);
  
  #define __api_wr_BSB(BSB)               __api_fct_set_2(BSB, 0)
  #define __api_wr_SBV(SBV)               __api_fct_set_2(SBV, 1)
            
#endif

#define __api_rd_code_byte(address)       (*((Uchar code*) (address)))

#ifdef  __API_WR_CODE_BYTE
  Uchar __api_wr_code_byte  (Uint16 , Uchar);
#endif

#ifdef  __API_WR_CODE_PAGE
  Uchar __api_wr_code_page  (Uint16 , Uint16, Uchar);
#endif


/*------------------------------- EEPROM -------------------------------*/

#define EEPROM_NOT_BUSY ((Uchar) 0)
#define EEPROM_BUSY     ((Uchar) 1)
  

#define  __api_eeprom_busy()  (EECON&1) 

#ifdef   __API_RD_EEPROM_BYTE
  Uchar    __api_rd_eeprom_byte     (Uint16);
#endif

#ifdef   __API_WR_EEPROM_BYTE
  Uchar  __api_wr_eeprom_byte  (Uint16, Uchar);
#endif



#endif /* _FLASH_API_H_ */

⌨️ 快捷键说明

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