
#include?
sbit?CS=P2^7
sbit?SK=P2^6
sbit?DI=P2^5
sbit?DO=P2^4
/*
extern?unsigned?char?ReadChar(unsigned?char?address)
extern?void?WriteChar(unsigned?char?address,unsigned?char?InData)
extern?void?ReadString(unsigned?char?data?*RamAddress,unsigned?char?RomAddress,
unsigned?char?Number)
extern?void?WriteString(unsigned?char?data?*RamAddress,unsigned?char?RomAddress,unsigned?char?Number)
*/
//?Write?enable?must?precede?all?programming?modes.
void?Ewen(void)?{
unsigned?char?temp,InData
CS=0?
SK=0
CS=1
InData=0x98?//?10011XXXX
for(temp=9temp!=0temp--)?{?//?9
DI=InData&0x80
SK=1?SK=0
InData<<=1
}
CS=0
}
//?Disables?all?programming?instructions.
void?Ewds(void)?{
unsigned?char?temp,InData
CS=0
SK=0
CS=1
InData=0x80?//?10000XXXX
for(temp=9temp!=0temp--)?{?//?9
DI=InData&0x80
SK=1?SK=0
InData<<=1
}
CS=0
}
// Reads?data?stored?in?memory,?at?specified?address.
unsigned?int?Read(unsigned?char?address)?{
unsigned?char?temp
unsigned?int?result
Ewen()
SK=0?DI=1?//?110?A5-A0
CS=0?CS=1
SK=1?SK=0???//?1
address=address&0x3f|0x80
for(temp=8temp!=0temp--)?{?//?8
DI=address&0x80
SK=1?SK=0
address<<=1
}
DO=1
for(temp=16temp!=0temp--)?{?//?16
SK=1
result=(result<<1)|DO
SK=0
}
CS=0
Ewds()
return(result)
}
//?Writes?memory?location?An?-?A0.
void?Write(unsigned?char?address,unsigned?int?InData)?{
unsigned?char?temp
Ewen()
SK=0?DI=1?//?101?A5-A0
CS=0?CS=1
SK=1?SK=0???//?1
address=address&0x3f|0x40
for(temp=8temp!=0temp--)?{?//?8
DI=address&0x80
SK=1?SK=0
address<<=1
}
for(temp=16temp!=0temp--)?{?//?16
DI=InData&0x8000
SK=1?SK=0
InData<<=1
}
CS=0?DO=1
CS=1?SK=1
while(DO==0)?{???//?busy?test
SK=0?SK=1
}
SK=0?CS=0
Ewds()
}
/*
//?Erase?memory?location?An?-?A0.
void?Erase(unsigned?char?address)?{
unsigned?char?temp
Ewen()
SK=0?DI=1?//?111?A5-A0
CS=0?CS=1
SK=1?SK=0???//?1
address|=0xc0
for(temp=8temp!=0temp--)?{?//?8
DI=address&0x80
SK=1?SK=0
address<<=1
}
CS=0?DO=1
CS=1?SK=1
while(DO==0)?{
SK=0?SK=1
}
SK=0?CS=0
Ewds()
}
//?Erases?all?memory?locations.?Valid?only?at?VCC?=?4.5V?to?5.5V.
void?Eral(void)?{
unsigned?char?temp,InData
Ewen()
CS=0
SK=0
CS=1
InData=0x90?//?10010XXXX
for(temp=9temp!=0temp--)?{?//?9
DI=InData&0x80
SK=1?SK=0
InData<<=1
}
CS=0?DO=1
CS=1?SK=1
while(DO==0)?{
SK=0?SK=1
}
SK=0?CS=0
Ewds()
}
//?Writes?all?memory?locations.?Valid?only?at?VCC?=?4.5V?to?5.5V.
void?Wral(unsigned?int?InData)?{
unsigned?char?temp,address
Ewen()
CS=0
SK=0
CS=1
address=0x88?//?10001XXXX
for(temp=9temp!=0temp--)?{?//?9
DI=address&0x80
SK=1?SK=0
address<<=1
}
for(temp=16temp!=0temp--)?{?//?16
DI=InData&0x8000
SK=1?SK=0
InData<<=1
}
CS=0?DO=1
CS=1?SK=1
while(DO==0)?{
SK=0?SK=1
}
SK=0?CS=0
Ewds()
}
*/
unsigned?char?ReadChar(unsigned?char?address)?{
unsigned?char?temp=address>>1
if(address&0x01)?return((unsigned?char)(Read(temp)>>8))
else?return((unsigned?char)(Read(temp)))
}
void?WriteChar(unsigned?char?address,unsigned?char?InData)?{
unsigned?char?temp=address>>1
if(address&0x01)?Write(temp,(unsigned?int)(Read(temp)&0x00ff|(InData<<8)))
else?Write(temp,(unsigned?int)(Read(temp)&0xff00|InData))
}
void?ReadString(unsigned?char?data?*RamAddress,unsigned?char?RomAddress,unsigned?char?Number)?{
while(Number!=0)?{
*RamAddress=ReadChar(RomAddress)
RamAddress++
RomAddress++
Number--
}
}
void?WriteString(unsigned?char?data?*RamAddress,unsigned?char?RomAddress,unsigned?char?Number)?{
unsigned?int?temp
if(Number==0)?return
if(RomAddress&0x01)?{
WriteChar(RomAddress,*RamAddress)
RamAddress++
RomAddress++
Number--
}
if(Number==0)?return
while(Number>>1)?{
temp=*RamAddress
RamAddress++
temp=temp|(*RamAddress)<<8
RamAddress++
Write(RomAddress>>1,temp)
RomAddress++
RomAddress++
Number--
Number--
}
if(Number)?WriteChar(RomAddress,*RamAddress)
51单片机录入:dycxin 责任编辑:dycxin
93C46是一种串行EEPROM芯片,其中存储着一些数据。如果这些数据是程序代码,那么通常情况下可以将其读出来。但是需要注意的是,读取出来的数据可能会被加密、压缩或进行其他处理,需要逆向工程才能还原出原始代码。为了读取93C46中的数据,通常需要使用EEPROM编程器或类似的设备,并按照芯片型号和接口规范进行连接。然后,使用相应的软件工具来读取和解析EEPROM中的数据。需要注意的是,EEPROM编程 *** 作具有一定的危险性,不当 *** 作可能会损坏芯片或数据,因此需要谨慎 *** 作并备份好原始数据。同时,在进行任何读取或修改EEPROM数据的 *** 作之前,请确保您对相关技术和法规有足够的了解,并且遵守相关规定。
1:先检查传感器信号线有无焊反,2:出现93C46是要短路重新标定就可以了。输入6699/65008,去皮,去皮,放100kg,去皮
各个牌子的校正方法不一样,这是超众牌台式电子称的.
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)