新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STC單片機內部EEPROM程序

        STC單片機內部EEPROM程序

        作者: 時間:2016-12-02 來源:網絡 收藏
        #include
        #include
        #define uchar unsigned char
        #define uint unsigned int

        sfr ISP_DATA = 0x00E2; //EEPORM數據寄存器
        sfr ISP_ADDRH = 0x00E3; //地址寄存器高八位
        sfr ISP_ADDRL = 0x00E4; // 地址寄存器低八位
        sfr ISP_CMD = 0x00E5; //EEPORM命令寄存器
        sfr ISP_TRIG = 0x00E6; //EEPROM(ISP/IAP) 命令觸發寄存器
        sfr ISP_CONTR = 0x00E7; //(ISP/IAP)控制寄存器

        /********打開ISP,IAP功能********/
        void ISP_IAP_enable(void)
        {
        // EA=0;
        ISP_CONTR |= 0X18;
        ISP_CONTR |= 0X00;
        ISP_CONTR |= 0X80;
        }
        /********關閉ISP,IAP功能********/
        void ISP_IAP_disable(void)
        {
        ISP_CONTR &= 0X7f;
        ISP_TRIG = 0X00;
        // EA=1;
        }
        /********公用的觸發代碼*********/
        void ISPgoon(void)
        {
        ISP_IAP_enable();
        ISP_TRIG = 0X46;
        ISP_TRIG = 0Xb9;
        _nop_();_nop_();
        }
        /*******讀字節*****************/
        uchar byte_read(uint byte_adder)
        {
        ISP_ADDRH = (uchar)(byte_adder>>8);
        ISP_ADDRL = (uchar)(byte_adder & 0x00ff);
        ISP_CMD = ISP_CMD & 0xf8;
        ISP_CMD = ISP_CMD | 0X01;
        ISPgoon();
        ISP_IAP_disable();
        return(ISP_DATA);
        }
        /********擦除扇區*************/
        void SectorErase(uint sector_adder)
        {
        static uint iSector;
        iSector = sector_adder & 0xfe00;
        ISP_ADDRH = (uchar)(iSector>>8);
        ISP_ADDRL = 0X00;
        ISP_CMD &= 0XF8;
        ISP_CMD |= 0X03;
        ISPgoon();
        ISP_IAP_disable();
        }
        /***********寫字節***********/
        void byte_write(uint byte_adder,uchar orginal_data)
        {
        ISP_ADDRH = (uchar)(byte_adder>>8);
        ISP_ADDRL = (uchar)(byte_adder & 0X00FF);
        ISP_CMD &= 0xf8;
        ISP_CMD |= 0x02;
        ISP_DATA = orginal_data;
        ISPgoon();
        ISP_IAP_disable();
        }


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 松阳县| 霍山县| 东乡县| 平凉市| 广水市| 滁州市| 广昌县| 扎鲁特旗| 怀来县| 南涧| 抚州市| 宁波市| 临桂县| 定边县| 清水县| 馆陶县| 富锦市| 武城县| 田林县| 临夏市| 务川| 拜泉县| 肇源县| 常德市| 邓州市| 邵阳市| 佛坪县| 海宁市| 曲周县| 娱乐| 土默特右旗| 翁源县| 城步| 罗甸县| 赤城县| 南康市| 察隅县| 搜索| 多伦县| 莆田市| 上林县|