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

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

小视频免费在线观看_夜夜b_男女隐私免费视频_国产一级性生活视频_久久综合入口_精品国内视频

技術頻道

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所有,未經許可不得轉載。

主站蜘蛛池模板: av天天干 | 精品视频亚洲 | 青青草久久 | 成人区精品一区二区 | 国产a级大片 | 精品国产乱码久久久久久丨区2区 | 天堂av中文 | 精品久久久免费 | 亚洲欧美另类在线 | 一本一本久久a久久精品综合小说 | 亚洲二区在线视频 | 免费观看av网站 | 九一成人网| 嫩草在线免费观看 | 亚洲成人精品一区 | 日韩黄色小视频 | 色婷婷影院 | 成人欧美一区二区三区在线播放 | 久久99精品视频 | 国产精品免费网站 | 色姑娘色综合 | 午夜免费| 国产精品久久久久久久久久东京 | 国产高清精 | 黄色毛片免费视频 | 国产馆 | 国产激情一区二区三区在线观看 | 亚洲最新av | √8天堂资源地址中文在线 一区免费 | 九九九九九九精品 | 国产精品一区一区三区 | 久久久鲁 | 久久精品国产亚洲一区二区三区 | 久久久久9999亚洲精品 | 欧美一区二区三区四区不卡 | 日韩不卡一区二区三区 | 国产在线一区不卡 | 国产精品久久久久久久第一福利 | 最新版天堂中文在线官网 | 欧美日韩中文字幕 | 成人h动漫精品一区二区 |