<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > STC89C51RC_EEPROM 頭文件

          STC89C51RC_EEPROM 頭文件

          作者: 時間:2016-11-18 來源:網(wǎng)絡 收藏
          /************************************************************************************/

          /*****File Function : STC89C51RC_EEPROM Read and Write *****/
          /*****Program Author : ZhengWen(ClimberWin) *****/
          /*****Compile Date : 2008/2 *****/
          /*****Edition Info : V1.0 *****/
          /*****Amend Date : *****/
          /*****************************************************************************/
          #ifndef __STC89C51RC_EEPROM_CLIMBERWIN__
          #define __STC89C51RC_EEPROM_CLIMBERWIN__
          #define uchar unsigned char
          #define uint unsigned int
          #include
          /*******************************************************/

          本文引用地址:http://www.ex-cimer.com/article/201611/316035.htm

          /*****STC89C51RC特殊功能寄存器定義********/
          sfr isp_wdt = 0xE1;
          sfr isp_data = 0xE2;
          sfr isp_addrh = 0xE3;
          sfr isp_addrl = 0xE4;
          sfr isp_cmd = 0xE5;
          sfr isp_trig = 0xE6;
          sfr isp_contr = 0xE7;
          /*****************************************/

          /***************STC89CXX_EEPROM扇區(qū)擦除程序*************************/
          void STC89CXX_EEPROM_Erase(unsigned char t_addr)
          {
          isp_addrh = t_addr; //可以不要 扇區(qū)里任意一個字節(jié)的地址都是扇區(qū)地址,無需求首地址,單片機會自己處理
          isp_addrl = 0;
          EA = 0; //關中斷
          isp_contr = 0x81;
          isp_cmd = 3; //扇區(qū)擦除,要某字節(jié)為空,必須擦除1個扇區(qū)
          isp_trig = 0x46; //先送0x46再送 0xb9 ISP/IAP 觸發(fā)寄存器,每次都需要如此
          isp_trig = 0xb9; //送完0xb9后 ISP/IAP 立即被觸發(fā)啟動
          _nop_();
          _nop_();
          isp_contr = 0;
          isp_cmd = 0;
          isp_trig = 0;
          isp_addrh = 0;
          isp_addrl = 0;
          EA = 1; // 開中斷
          }
          /***********************************************/


          /***************STC89CXX_EEPROM字節(jié)寫程序*************************/
          void STC89CXX_EEPROM_Char_Write(unsigned char Write_addr_h,unsigned char Write_addr_l ,unsigned char Write_data)
          {

          isp_data = Write_data;
          isp_addrh = Write_addr_h; //送地址高位
          isp_addrl = Write_addr_l; //地址低位
          EA = 0; /* 關中斷 */
          isp_contr = 0x81;
          isp_cmd = 2; //送扇區(qū)命令
          isp_trig = 0x46;
          isp_trig = 0xb9;
          _nop_();
          _nop_();
          isp_contr = 0;
          isp_cmd = 0;
          isp_trig = 0;
          isp_addrh = 0;
          isp_addrl = 0;
          EA = 1; /* 開中斷 */

          }
          /**************************************************************/

          /***************STC89CXX_EEPROM字節(jié)讀程序*************************/
          STC89CXX_EEPROM_Char_Read(unsigned char Read_addr_h,unsigned char Read_addr_l)
          {

          unsigned char Read_isp_data;

          isp_addrh = Read_addr_h; //送地址高字節(jié)
          isp_addrl = Read_addr_l; //送地址低字節(jié)(從0開始到num-1為止)
          EA = 0; /* 關中斷 */
          isp_contr = 0x81; /*20M,是0x80 orl 1 */
          isp_cmd = 1; // 1表示字節(jié)讀
          isp_trig = 0x46; //先送0x46再送 0xb9 ISP/IAP 觸發(fā)寄存器,每次都需要如此
          isp_trig = 0xb9; //送完0xb9后 ISP/IAP 立即被觸發(fā)啟動
          _nop_(); //空指令
          _nop_(); //空指令
          isp_contr = 0; //禁止ISP/IAP 操作
          isp_cmd = 0; //去除ISP/IAP 命令
          isp_trig = 0; //防止 ISP/IAP 命令誤觸發(fā)
          isp_addrh = 0; //地址指向非EEPROM地址區(qū),防止誤操作
          isp_addrl = 0;
          EA = 1; /* 開中斷 */
          Read_isp_data=isp_data;
          return(Read_isp_data);

          }
          /**************************************************************/

          /*******************************************************************************/

          #endif



          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();