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

📄 eeporm.c

📁 STC12C5410AD模拟串口再现多串口通讯
💻 C
字号:
#include"include.h"

/**
********************************************************************************************************
** 名  称: void eepIAP_Disable(void)
** 功  能:
** 作 者: 李  伟 
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人: 	
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void EepIAP_Disable(void)
{
    ISP_CONTR = 0x00;
    ISP_CMD   = 0x00;
    ISP_TRIG  = 0x00;
}
/**
********************************************************************************************************
** 名  称: uint8 EepReadByte(uint16 address)
** 功  能:
** 作 者: 李  伟 
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人: 	
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
uint8 EepReadByte(uint16 address)
{
    uint8 ISD,ADRH,ADRL;
    ADRH=(uint8)(address>>8);
    ADRL=(uint8)(address&0xff);
    ISP_CONTR=0x83;
    ISP_CMD  =0x01;
    ISP_ADDRH=ADRH;  //
    ISP_ADDRL=ADRL;  //
    EA = 0;          //关中断
    ISP_TRIG =0x46;
    ISP_TRIG =0xB9;
    _nop_();
    ISD=ISP_DATA;
    EA = 1;          //开中断
    EepIAP_Disable();
    return(ISD);
}
/**
********************************************************************************************************
** 名  称: uint16 EepReadWord(uint16 address)
** 功  能:
** 作 者: 李  伟 
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人: 	
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
uint16 EepReadWord(uint16 address)
{
    uint16 word1,word2,word;
    word1 = EepReadByte(address);
    _nop_(); _nop_();
    _nop_(); _nop_();
    word2 = EepReadByte(address+1);
    word1 = word1 << 8;
    word  = word1 | word2;
    return(word);
}
/**
********************************************************************************************************
** 名  称: void EepWriteByte(uint8 dat,uint16 address)
** 功  能:
** 作 者: 李  伟 
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人: 	
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void EepWriteByte(uint8 dat,uint16 address)
{
    uint8 ADRH,ADRL;
    ADRH = (uint8)(address >> 8);
    ADRL = (uint8)(address & 0xff);
    ISP_CONTR = 0x83;
    ISP_CMD   = 0x02;
    ISP_ADDRH = ADRH;  //
    ISP_ADDRL = ADRL;  //
    ISP_DATA  = dat;
    EA = 0;
    ISP_TRIG = 0x46;
    ISP_TRIG = 0xB9;
    _nop_();
    EA = 1;
    EepIAP_Disable();
}
/**
********************************************************************************************************
** 名  称: void EepWriteWord(uint16 dat,uint16 address)
** 功  能:
** 作 者: 李  伟 
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人: 	
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void EepWriteWord(uint16 dat,uint16 address)
{
    uint8 high_byte,low_byte;
    high_byte = (uint8)(dat>>8);
    EepWriteByte(high_byte,address);
    _nop_(); _nop_();
    _nop_(); _nop_();
    low_byte = (uint8)(dat&0xff);
    EepWriteByte(low_byte,(address+1));
}
/**
********************************************************************************************************
** 名  称: void  EepSectotErase(uint16 address)
** 功  能:
** 作 者: 李  伟 
** 日 期: 2008年12月10日
**------------------------------------------------------------------------------------------------------
** 修改人: 	
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**/
void  EepSectotErase(uint16 address)
{
    uint8 ADRH,ADRL;
    ADRH = (uint8)(address>>8);
    ADRL = (uint8)(address&0xff);
    ISP_CONTR = 0x83;
    ISP_CMD   = 0x03;
    ISP_ADDRH = ADRH;  //
    ISP_ADDRL = ADRL;  //
    EA = 0;
    ISP_TRIG = 0x46;
    ISP_TRIG = 0xB9;
    _nop_();
    EA = 1;
    EepIAP_Disable();
}
/********************************************************************************************************
                                               End of file
********************************************************************************************************/

⌨️ 快捷键说明

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