M
mak_goel
Guest
您好Everbody。
余米大会有如下的经营,8051 24C08编码。但同样,即时面临的问题
, 运行相同的编码及硬件24C1024。特等让我知道你的valueble建议解决这个问题。;--------------- EERPROM模块阶段------------------------------- ---------------------------------------
Write_L_C:
检验手段EEAddr,#从00;西铁的地址..
检验手段R0,#3通道
;检验手段ByteCnt,#4小时;发送4个字节..
EE_W_Loop:
检验手段EEData,@ R0
LCALL EE_Write
公司R0
公司EEAddr
LCALL Delay_20ms
; DJNZ ByteCnt,EE_W_Loop
退赛
;---------------读电子工程----------------------------
Read_L_C:
检验手段EEAddr,#从00;路地址..
检验手段R0,#3通道
;检验手段ByteCnt,#4小时;获得4个字节..
EE_R_Loop:
LCALL EE_READ
检验手段@ R0,EEData
公司R0
公司EEAddr
LCALL Delay_20ms
; DJNZ ByteCnt,EE_R_Loop
退赛
;--------------- EEPROM的例程的24C02,按照A2 =格A1 =累啊= 0 -------------------
;一个字节..
EE_WRITE:
LCALL EE_START;寄阶段标志EEPROM的..
检验手段甲,#0A0H;指定一个@地址0小时..写的EEPROM
LCALL SH_OUT;输出设备的地址位移..
Jc的WR_ABORT;若没有应答从EEPROM中止..
检验手段甲,EEAddr;得到的EEPROM内存地址..
LCALL SH_OUT;输出位移的内存地址..
Jc的WR_ABORT;若没有应答从EEPROM中止..
检验手段甲,EEData;获取数据写入..
LCALL SH_OUT;有关数据..位移
Jc的WR_ABORT
CLR的ç
WR_ABORT:
LCALL EE_STOP;发送停止条件的EEPROM ..
;等待的24C02写入时间为10ms()..
; EEPROM的时间为10ms国内存储数据。您可以..
;放入处于等待状态,或继续执行的微控制器,
;记住,EEPROM数据是不相称的存储10ms的!..
退赛,返回主计划..
;---------------读EEPROM的数据-首先执行'虚写'---------------
;一个字节..
EE_READ:
检验手段EEData,#从00;清除旧数据..
LCALL EE_START;寄阶段标志的EEPROM ..
检验手段甲,#0A0H;指定一个写到EEPROM @地址0小时..
LCALL SH_OUT;执行'虚写'..
Jc的RD_ABORT;若没有应答中止..
检验手段甲,EEAddr;负荷的EEPROM存储单元中
, 读取..
LCALL SH_OUT;写的EEPROM内存位置..
Jc的RD_ABORT;若没有应答中止..
而现在读取数据!..
LCALL EE_START;寄阶段旗..
检验手段甲,#0A1H;指定阅读从EEPROM ..
LCALL SH_OUT;输出EEPROM的地址位移..
Jc的RD_ABORT;若没有应答中止..
LCALL SH_IN;在数据从EEPROM SHIFT键..
检验手段EEData,阿;存储数据..
LCALL否定确认;寄否定确认(无应答)向EEPROM ..
CLR的荤,清除错误标志..
RD_ABORT:
LCALL EE_STOP;全部完成..
退赛
;--------------- EE_START位,邦斯甲启动序列到EEPROM(嗨到低SDA的过渡,SCL高电平)..
EE_START:
SETB SDAPin
SETB SCLPin;套两个位..
NOP产品向导;延迟..
CLR的SDAPin;阶段条件- SDA的喜低变..
NOP产品向导
NOP产品向导; EEPROM的存取时间延迟..
CLR的SCLPin
CLR的荤,清除错误标志..
退赛,全部完成..
;--------------- EE_STOP序列发送停止向EEPROM(低到高的SDA的过渡,SCL高电平)..
EE_STOP:
CLR的SDAPin
NOP产品向导
NOP产品向导
SETB SCLPin
NOP产品向导
NOP产品向导;设定时延..
SETB SDAPin;发出停止条件..
退赛
;--------------- SH_OUT位移数据输出到EEPROM ---------------------
SH_OUT:
单键乙
检验手段乙,#8;节省乙和负荷位计数..
EE_OUT:
肺总量甲; SHIFT键位左(肺总量=向左7860携带)..
检验手段SDAPin,荤,获得数据位从融资..
NOP产品向导
SETB SCLPin,在1个时钟位..
NOP产品向导;时钟高电平时间..
CLR的SCLPIN;时钟现已低..
DJNZ乙,EE_OUT;做8次..
SETB SDAPin;释放的应答SDA的..
NOP产品向导
NOP产品向导
SETB SCLPin;应答钟..
NOP产品向导
检验手段荤,SDAPin;收到ACK信息..
CLR的SCLPin,清理中的时钟位..
持久性有机污染物乙,乙的RESTORE无论是..
退赛
;--------------- SH_IN位移数据从EEPROM中-----------------------
SH_IN:
SETB SDAPin,使数SDA的安输入..
单键乙
检验手段乙,#8;节省乙和SET位计数器..
EE_IN:
NOP产品向导
SETB SCLPin;系列时钟..
NOP产品向导
NOP产品向导; EEPROM的存取时间..
SETB SDAPin;设置= 1,以便作为输入..
检验手段荤,SDAPin,阅读1位..
肺总量甲; SHIFT键位左..
CLR的SCLPin;清除钟位..
DJNZ乙,EE_IN;获得如果不那么下一位大于8位读..
持久性有机污染物乙
退赛
;---------------发送一个应答的EEPROM ACKNOWLDEGE ----------------------
应答:
CLR的SDAPin
NOP产品向导
NOP产品向导
SETB SCLPin;时钟的应答..
NOP产品向导
CLR的SCLPin;把时钟低..
退赛
;---------------否定确认发送无应答----------------------------
否定确认:
SETB SDAPin
NOP产品向导
NOP产品向导
SETB SCLPin;时钟的否定确认..
NOP产品向导
CLR的SCLPin;把时钟低..
退赛
余米大会有如下的经营,8051 24C08编码。但同样,即时面临的问题
, 运行相同的编码及硬件24C1024。特等让我知道你的valueble建议解决这个问题。;--------------- EERPROM模块阶段------------------------------- ---------------------------------------
Write_L_C:
检验手段EEAddr,#从00;西铁的地址..
检验手段R0,#3通道
;检验手段ByteCnt,#4小时;发送4个字节..
EE_W_Loop:
检验手段EEData,@ R0
LCALL EE_Write
公司R0
公司EEAddr
LCALL Delay_20ms
; DJNZ ByteCnt,EE_W_Loop
退赛
;---------------读电子工程----------------------------
Read_L_C:
检验手段EEAddr,#从00;路地址..
检验手段R0,#3通道
;检验手段ByteCnt,#4小时;获得4个字节..
EE_R_Loop:
LCALL EE_READ
检验手段@ R0,EEData
公司R0
公司EEAddr
LCALL Delay_20ms
; DJNZ ByteCnt,EE_R_Loop
退赛
;--------------- EEPROM的例程的24C02,按照A2 =格A1 =累啊= 0 -------------------
;一个字节..
EE_WRITE:
LCALL EE_START;寄阶段标志EEPROM的..
检验手段甲,#0A0H;指定一个@地址0小时..写的EEPROM
LCALL SH_OUT;输出设备的地址位移..
Jc的WR_ABORT;若没有应答从EEPROM中止..
检验手段甲,EEAddr;得到的EEPROM内存地址..
LCALL SH_OUT;输出位移的内存地址..
Jc的WR_ABORT;若没有应答从EEPROM中止..
检验手段甲,EEData;获取数据写入..
LCALL SH_OUT;有关数据..位移
Jc的WR_ABORT
CLR的ç
WR_ABORT:
LCALL EE_STOP;发送停止条件的EEPROM ..
;等待的24C02写入时间为10ms()..
; EEPROM的时间为10ms国内存储数据。您可以..
;放入处于等待状态,或继续执行的微控制器,
;记住,EEPROM数据是不相称的存储10ms的!..
退赛,返回主计划..
;---------------读EEPROM的数据-首先执行'虚写'---------------
;一个字节..
EE_READ:
检验手段EEData,#从00;清除旧数据..
LCALL EE_START;寄阶段标志的EEPROM ..
检验手段甲,#0A0H;指定一个写到EEPROM @地址0小时..
LCALL SH_OUT;执行'虚写'..
Jc的RD_ABORT;若没有应答中止..
检验手段甲,EEAddr;负荷的EEPROM存储单元中
, 读取..
LCALL SH_OUT;写的EEPROM内存位置..
Jc的RD_ABORT;若没有应答中止..
而现在读取数据!..
LCALL EE_START;寄阶段旗..
检验手段甲,#0A1H;指定阅读从EEPROM ..
LCALL SH_OUT;输出EEPROM的地址位移..
Jc的RD_ABORT;若没有应答中止..
LCALL SH_IN;在数据从EEPROM SHIFT键..
检验手段EEData,阿;存储数据..
LCALL否定确认;寄否定确认(无应答)向EEPROM ..
CLR的荤,清除错误标志..
RD_ABORT:
LCALL EE_STOP;全部完成..
退赛
;--------------- EE_START位,邦斯甲启动序列到EEPROM(嗨到低SDA的过渡,SCL高电平)..
EE_START:
SETB SDAPin
SETB SCLPin;套两个位..
NOP产品向导;延迟..
CLR的SDAPin;阶段条件- SDA的喜低变..
NOP产品向导
NOP产品向导; EEPROM的存取时间延迟..
CLR的SCLPin
CLR的荤,清除错误标志..
退赛,全部完成..
;--------------- EE_STOP序列发送停止向EEPROM(低到高的SDA的过渡,SCL高电平)..
EE_STOP:
CLR的SDAPin
NOP产品向导
NOP产品向导
SETB SCLPin
NOP产品向导
NOP产品向导;设定时延..
SETB SDAPin;发出停止条件..
退赛
;--------------- SH_OUT位移数据输出到EEPROM ---------------------
SH_OUT:
单键乙
检验手段乙,#8;节省乙和负荷位计数..
EE_OUT:
肺总量甲; SHIFT键位左(肺总量=向左7860携带)..
检验手段SDAPin,荤,获得数据位从融资..
NOP产品向导
SETB SCLPin,在1个时钟位..
NOP产品向导;时钟高电平时间..
CLR的SCLPIN;时钟现已低..
DJNZ乙,EE_OUT;做8次..
SETB SDAPin;释放的应答SDA的..
NOP产品向导
NOP产品向导
SETB SCLPin;应答钟..
NOP产品向导
检验手段荤,SDAPin;收到ACK信息..
CLR的SCLPin,清理中的时钟位..
持久性有机污染物乙,乙的RESTORE无论是..
退赛
;--------------- SH_IN位移数据从EEPROM中-----------------------
SH_IN:
SETB SDAPin,使数SDA的安输入..
单键乙
检验手段乙,#8;节省乙和SET位计数器..
EE_IN:
NOP产品向导
SETB SCLPin;系列时钟..
NOP产品向导
NOP产品向导; EEPROM的存取时间..
SETB SDAPin;设置= 1,以便作为输入..
检验手段荤,SDAPin,阅读1位..
肺总量甲; SHIFT键位左..
CLR的SCLPin;清除钟位..
DJNZ乙,EE_IN;获得如果不那么下一位大于8位读..
持久性有机污染物乙
退赛
;---------------发送一个应答的EEPROM ACKNOWLDEGE ----------------------
应答:
CLR的SDAPin
NOP产品向导
NOP产品向导
SETB SCLPin;时钟的应答..
NOP产品向导
CLR的SCLPin;把时钟低..
退赛
;---------------否定确认发送无应答----------------------------
否定确认:
SETB SDAPin
NOP产品向导
NOP产品向导
SETB SCLPin;时钟的否定确认..
NOP产品向导
CLR的SCLPin;把时钟低..
退赛