89C51 I2C

P

Pad

Guest
Labas,

Gegužės Žinau funkcija I2C dėl AT89C51 yra kuris PIN?Ar Pin16 Port3.6 ir Pin17 Port3.7?Bet kas gali pasakyti .....

Ačiū ....
Paskutinį kartą redagavo Help rugpjūtis 12, 2005 9:11; Redaguota 1 kartą iš viso

 
ASUS zapowiedział wprowadzenie na rynek serii wydajnych notebooków ASUS G74. Nowe komputery należą do rodziny produktów ASUS Republic of Gamers, stworzonej z myślą o wymagających użytkownikach komputerów - graczach.

Read more...
 
AT89C51 neturi I2C autobusas, todėl nėra skirta kaiščiais SCL ir SDA.
Kiti nariai 8051-šeima su I2C sąsaja naudoti P1.6 kaip SCL (laikrodis) ir P1.7 kaip SDA (duomenų) ..
Linkėjimai,
IanP

 
Pagalba rašė:

Labas,Gegužės Žinau funkcija I2C dėl AT89C51 yra kuris PIN?
Ar Pin16 Port3.6 ir Pin17 Port3.7?
Bet kas gali pasakyti .....Ačiū ....
 
Hi idlebrain,

Prašome Ar galite parodyti man nuorodą ir imties dizainas grandinės ryšys?

Ačiū ...

 
SCK BIT P3.6; I2C的时钟线
Nuomoju BIT P3.7; I2C的数据线
;读写I2C总线器件要用到的寄存器
ERRFLAG BIT 00h
TEMP1 kongresas 1AH
DELAYCOUNT kongresas 1BH
ADDREHI kongresas 1CH;读写的地址
ADDRELO kongresas 1DH
WRITE_DATA kongresas 1EH;单字节写入的数据
READ_DATA kongresas 1FH;单字节读出的数据
WRITE_BYTE: LCALL STARTI2C
JB ERRFLAG, WRITE_B_RE;不是空闲返回
MOV, # 0A0H
LCALL SHOUT_DATA
JB ERRFLAG, WRITE_B_STOP;出错停止
, MOV, ADDREHI;送高位地址
; LCALL SHOUT_DATA
; JB ERRFLAG, WRITE_B_STOP
MOV, ADDRELO;送低位地址
LCALL SHOUT_DATA
JB ERRFLAG, WRITE_B_STOP
MOV, WRITE_DATA
LCALL SHOUT_DATA
JB ERRFLAG, WRITE_B_STOP
CLR ERRFLAG;正常清出错位
WRITE_B_STOP: LCALL STOPI2C
MOV DELAYCOUNT, # 0AH
LCALL DELAY
WRITE_B_RE: Ret
READ_BYTE: LCALL STARTI2C
JB ERRFLAG, READ_RE
MOV, # 0A0H
LCALL SHOUT_DATA
JB ERRFLAG, READ_STOP
, MOV, ADDREHI
; LCALL SHOUT_DATA
; JB ERRFLAG, READ_STOP
MOV, ADDRELO
LCALL SHOUT_DATA
JB ERRFLAG, READ_STOP
LCALL READ_CURRENT
LJMP READ_RE
READ_STOP: LCALL STOPI2C
READ_RE: Ret
READ_CURRENT: LCALL STARTI2C
JB ERRFLAG, RE_CURRENTRE
MOV, # 0A1H
LCALL SHOUT_DATA
JB ERRFLAG, RE_CURRENTST
LCALL SHIN_DATA
LCALL NAK
CLR ERRFLAG
RE_CURRENTST: LCALL STOPI2C
RE_CURRENTRE: RetSHOUT_DATA: mov R6, # 08H
SHOUT_DATA1: RLC
MOV SDA, C
NOP
SETB SCK
NOP
NOP
NOP
NOP
CLR SCK
DJNZ R6, SHOUT_DATA1
SETB Nuomoju
NOP
NOP
SETB SCK
NOP
NOP
NOP
NOP
MOV C, SDA
MOV ERRFLAG C
CLR SCK
RETSHIN_DATA: SETB Nuomoju
MOV R6, # 08H
SHIN_DATA1: NOP
NOP
NOP
SETB SCK
NOP
NOP
MOV C, SDA
RLC
NOP
CLR SCK
DJNZ R6, SHIN_DATA1
MOV READ_DATA,
RET

STARTI2C: SETB Nuomoju
SETB SCK
NOP
JNB SDA, STARTI2C_ERR
JNB SCK, STARTI2C_ERR
NOP
CLR Nuomoju
NOP
NOP
NOP
NOP
CLR SCK
CLR ERRFLAG
LJMP STARTI2C_RE
STARTI2C_ERR: SETB ERRFLAG
STARTI2C_RE: Ret
STOPI2C: CLR Nuomoju
NOP
NOP
SETB SCK
NOP
NOP
NOP
NOP
SETB Nuomoju
RET

Ack: CLR Nuomoju
NOP
NOP
SETB SCK
NOP
NOP
NOP
NOP
CLR SCK
RET

NAK: SETB Nuomoju
NOP
NOP
SETB SCK
NOP
NOP
NOP
NOP
CLR SCK
RET
PABAIGA

 
taikos vobis

naudojant programinę įrangą, siunčiama iš Philips, bet reikia įdėti atsigriebti rezistorius į du kaiščiai (10 KΩ) į 5volt.

 
Labas
paprastas 89C51 neturi I2C autobusų todėl reikia sau padaryti savo protokolas
Jūs galite pamatyti mano bando ant EEPROM I2C C kodą.
Viva Persija
Iki
Atsiprašome, bet jums reikia prisijungęs, kad galėtumėte peržiūrėti šį priedą

 
Labas,

Ar kuriate EEPROM grandinė?Ar jūs naudojate šį 24LC02 lustą, kaip jūsų EEPROM ...

Ačiū ...

 
paprastas 89c51 nebuvo 12C autobusas
pupelės išsamias PIN descrpition Chek duomenų lapas
U bus BRT ans
linkėjimai
Haider

 
Hi padėti,

Jūs tiesiog sujungti dviejų IO smeigtukai su Nuomoju ir SCL nuo EEPROM.Jūs turite prisijungti pullup rezistorius ir SDA PIN.Patikrinti tokį sakinį lape.

"SDA autobusų reikalauja pullup rezistorius VCC (tipiškas 4.7K už 100KHZ, 1K už 400kHz)"

Prisijungimas A2/A1/A0 į VCC arba GND (VSS), kaip už sprendžiant reikalavimus.Šie trys smeigtukai atitinka 3,2,1 bitų adreso baitas.Bit 0 yra skaityti / rašyti kontrolė

Jei norite rašyti kontrolės apsaugoti prisijungti prie kito labai PIN, jei ne tiesiog prisijungti prie žemės.

Naudoti su Start / stop sąlygos ir ACK mechanizmas.

Dar vienas punktas pridėti, galite skaityti / rašyti 8 baitų metu ne maksimalų laiką.

Vedos

 

Welcome to EDABoard.com

Sponsor

Back
Top