stc單片機EEPROM讀寫--最簡潔的的拿來就用保證沒錯^_^簡潔至上!

sfr isp_data=0xe2;
sfr isp_addrh=0xe3;
sfr isp_addrl=0xe4;
sfr isp_cmd=0xe5;
sfr isp_trig=0xe">

      技術頻道

      stc eeprom的實用讀寫演示,提供了一種eeprom動

      stc單片機EEPROM讀寫--最簡潔的的拿來就用保證沒錯^_^簡潔至上!

      sfr isp_data=0xe2;
      sfr isp_addrh=0xe3;
      sfr isp_addrl=0xe4;
      sfr isp_cmd=0xe5;
      sfr isp_trig=0xe6;
      sfr isp_contr=0xe7;

      unsigned char eeprom_read(unsigned int addres);
      void eeprom_write(unsigned int address,unsigned char wdata);
      void eeprom_eares(unsigned int addres);//扇區擦除。

      void eeprom_eares(unsigned int addres)//扇區擦除。
      {unsigned i;
      isp_addrl=addres; //低位地址
      isp_addrh=addres>>8; //高位地址
      isp_contr=0x01;
      isp_contr=isp_contr|0x80; //設時間與充ISP操作。
      isp_cmd=0x03; //扇區命命令
      isp_trig=0x46; //觸發
      isp_trig=0xb9; //觸發啟動。
      for(i=0;i<3;i++);
      isp_addrl=0xff;
      isp_addrh=0xff;
      isp_contr=0x00;
      isp_cmd=0x00;
      isp_trig=0x00;

      }
      void eeprom_write(unsigned int addres,unsigned char write_data)//寫數據。
      {unsigned char i;
      isp_data=write_data; //要寫入的數據。
      isp_addrl=addres; //低位地址
      isp_addrh=addres>>8; //高位地址
      isp_contr=0x01;
      isp_contr=isp_contr|0x80; //設時間與充ISP操作。
      isp_cmd=0x02; //寫命令
      isp_trig=0x46; //觸發
      isp_trig=0xb9; //觸發啟動。
      for(i=0;i<3;i++);
      isp_addrl=0xff;
      isp_addrh=0xff;
      isp_contr=0x00;
      isp_cmd=0x00;
      isp_trig=0x00;


      }
      unsigned char eeprom_read(unsigned int addres)
      {unsigned char i,z;
      isp_addrl=addres; //低位地址
      isp_addrh=addres>>8; //高位地址
      isp_contr=0x01;
      isp_contr=isp_contr|0x80; //設時間與充ISP操作。
      isp_cmd=0x01; //寫命令
      isp_trig=0x46; //觸發
      isp_trig=0xb9; //觸發啟動。
      for(i=0;i<3;i++);
      isp_addrl=0xff;
      isp_addrh=0xff;
      isp_contr=0x00;
      isp_cmd=0x00;
      isp_trig=0x00;
      z=isp_data;
      return(z);


      }

      最給一個匯編的:
      ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
      ;;; 內部EEPROM讀寫定義
      ISP_DATA EQU 0E2H ;寫入讀出數據寄存器.
      ISP_ADDRH EQU 0E3H ;地址寄存器高8位
      ISP_ADDRL EQU 0E4H ;地址寄存器低8位
      ISP_CMD EQU 0E5H ;命令模式寄存器
      ISP_TRIG EQU 0E6H ;命令觸發寄存器
      ISP_CONTR EQU 0E7H ;ISP/IAP控制寄存器.
      ISP_IAP_BYTE_READ EQU 1 ;字節讀
      ISP_IAP_BYTE_PROGRAM EQU 2 ;字節編程,要空才能寫
      ISP_IAP_SECTOR_ERASE EQU 3 ;扇區擦除,
      WAIT_TIME EQU 1 ;20M以下為1
      BYTE_ADDR_HIGH EQU 60H ;高位地址
      BYTE_ADDR_LOW EQU 61H ;低位地址
      BYTE_WRITE_DATA EQU 62H ;要寫入的數據

      ;***********************內部EEPROM操作*************************
      READ_EEPROM:MOV ISP_ADDRH,ISP_ADDRH ;送高地址
      MOV ISP_ADDRL,ISP_ADDRL ;送低地址
      MOV ISP_CONTR,#01h ;設置等等待時間
      ORL ISP_CONTR,#80h ;允許ISP/IAP操作
      MOV ISP_CMD,#01h ;送讀命令
      MOV ISP_TRIG,#46H ;觸發
      MOV ISP_TRIG,#0B9H ;觸發啟動.
      NOP
      NOP
      MOV ISP_CONTR,#00H
      MOV ISP_CMD,#00H
      MOV ISP_TRIG,#00H
      MOV ISP_ADDRH,#0FFH
      MOV ISP_ADDRL,#0FFH
      MOV 6AH,ISP_DATA ;讀出的數據放到6AH單元中。

      RET
      WRITE_EARES: MOV WDT,#34H
      CLR EA ;關中斷
      MOV ISP_ADDRH,ISP_ADDRH ;送高地址
      MOV ISP_ADDRL,ISP_ADDRL ;送低地址
      MOV ISP_CONTR,#1h ;設置等等待時間
      ORL ISP_CONTR,#10000000B ;允許ISP/IAP操作
      MOV ISP_CMD,#3h ;送扇區命令
      MOV ISP_TRIG,#46H ;觸發
      MOV ISP_TRIG,#0B9H ;觸發啟動.
      NOP
      NOP
      MOV ISP_CONTR,#00H
      MOV ISP_CMD,#00H
      MOV ISP_TRIG,#00H
      MOV ISP_ADDRH,#0FFH
      MOV ISP_ADDRL,#0FFH
      SETB EA
      RET
      WRITE_EEPROM:MOV WDT,#34H
      CLR EA
      MOV ISP_DATA,BYTE_WRITE_DATA ;要寫入的數據
      MOV ISP_ADDRH,ISP_ADDRH ;送高地址
      MOV ISP_ADDRL,ISP_ADDRL ;送低地址
      MOV ISP_CONTR,#1h ;設置等等待時間
      ORL ISP_CONTR,#10000000B ;允許ISP/IAP操作
      MOV ISP_CMD,#02h ;送寫命令
      MOV ISP_TRIG,#46H ;觸發
      MOV ISP_TRIG,#0B9H ;觸發啟動.
      NOP
      NOP
      MOV ISP_CONTR,#00H
      MOV ISP_CMD,#00H
      MOV ISP_TRIG,#00H
      MOV ISP_ADDRH,#0FFH
      MOV ISP_ADDRL,#0FFH
      SETB EA ;開中斷

      RET

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 一区二区三区www| 久久久一区二区三区| 精品一区二区三区无码免费视频| 亚洲高清毛片一区二区| 亚洲国产精品一区二区九九| 中文字幕日韩精品一区二区三区| 国产美女精品一区二区三区| 一区二区三区免费电影| 精品女同一区二区三区在线| 国产精品一区在线播放| 日产精品久久久一区二区| 在线精品亚洲一区二区三区 | 久久久人妻精品无码一区| 日韩在线视频一区| 亚洲精品日韩一区二区小说| 中文字幕一区一区三区| 精品无码日韩一区二区三区不卡 | 亚洲国产精品乱码一区二区 | 日韩少妇无码一区二区三区| 亚洲国产高清在线精品一区| 国模私拍一区二区三区| 久久精品无码一区二区app| 一区二区不卡久久精品| 亚洲成a人一区二区三区| 亚洲A∨精品一区二区三区| 一区视频免费观看| 中日av乱码一区二区三区乱码| 精品国产AⅤ一区二区三区4区 | 中文字幕一区二区人妻| 丝袜人妻一区二区三区| 精品久久一区二区| 国产伦精品一区二区三区| 久久一区二区三区免费播放| 色国产精品一区在线观看| 韩国福利一区二区美女视频| 在线|一区二区三区| 日本一区二区三区在线视频| 国产福利电影一区二区三区久久久久成人精品综合 | 中文无码一区二区不卡αv| 怡红院一区二区在线观看| 亚洲av片一区二区三区|