8051 rajapinnat 24c08

C

CosaNostra

Guest
vain halusi tietää, jos voin kytkeä sda ja SCL nastat kaikki nastat MC tai olemassa mitään erityisiä nastat, joihin olen liittää nämä nastat

Toiseksi halusin tietää, milloin 24c08 muisti on päättynyt, ei se automaattisesti uudelleen tai Tarvitseeko minun tehdä jotakin tyhjentää muistin

ja viimeiseksi, kun writting ulkoiseen muistiin on tarpeen antaa osoitetta joka kerta, vai onko muistin lisäys automaattisesti

 
Kaikki microcntroller yleinen I / O-nastainen tekee ..vain lisätä ulkoisen pullups ..

Sinun ei tarvitse poistaa muistista, kirjallisesti uutta tietoa korvaa vanhat tiedot ..

Määritä osoite ensimmäinen tavu ja jatkaa kirjoittaa estää tietojen (Page Mode) ..max pituus on 16 (1 15) ..katso Byte kirjoittaminen ja Page Kirjoita osoitteessa:
http://www.rennes.supelec.fr/ren/fi/elec/ftp/docs/i2c/24c16.pdf

Terveisin,
IanP

 
niin mitä SCL asia
isnt se somsort on kello ja voisi u plz sellaista antaa minulle esimerkin piiri

 
joten jos on täynnä se palaa ensimmäisen osoite automaattisesti tai Tarvitseeko minun tehdä se palaa ensimmäisen osoite minun itse

 
Quote:

Saatuaan kunkin tietoja Wordissa, IS24CXX

reagoi välittömästi, joiden myönnetään SDA-linja,

ja kolme alempi (24C01/24C02) tai neljä alempi (24C04 /

24C08/24C16) tilaustiedot sana osoite bittiä ovat sisäisestikasvatettu yhdellä, kun taas korkeammat bittiä, että tietojenIf the master device
sana osoite pysyy samana.

Jos master-laite

pitäisi välittää enemmän kuin N 1 (N = 7 24C01 / 2 ja

N = 15 24C04/08/16) sanoen ennen myöntävän STOPehto, osoite counter ohjautuu, jaOnce all N 1
aiemmin kirjoitetut tiedot korvataan.

Kun kaikki N 1

(N = 7 24C01 / 2 ja N = 15 24C04/08/16) tavuja

vastaanotettu ja STOP ehto on lähettänyt sen

Master, sisäisen Ohjelmatyöprosessi alkaa.

 
Tämä sivu sisältää rajapinnat 8051 ja 24cxxx EEPROM:

http://mcu-programming.blogspot.com/2006/09/eeproms-interfacing.html

Se voi auttaa vähän.

 
Seuraavassa on ASM tiedosto välisenä 24C08 sarjapäätettä muistia

NIMI Control_AT24Cxx

; Tämä kokoelma rutiinien avulla AT89C2051 mikro lukea
Ja kirjoittaa AT24Cxx perhe sarjapääte CMOS EEPROMS.Tämä versio on
; Koodi on vasta AT89C2051 johtuu siitä, että paikka, jossa
, Data-puskurin ja pino RAM.Koodia voidaan muuttaa toimimaan
; AT89C1051 siirtämällä tai koon puskurin ja pino mahtuu
; Pienempi määrä RAM olevia AT89C1051.Huomaa, että vähintään
; Puskurivarojen määräytyy sivun koosta AT24Cxx.
;
; Kaikki viisi AT24Cxx laitteen toiminnot ovat tuettuja.Byte Kirjoita Nykyinen
; Osoite Lue ja Random Lue toteutetaan toimintojen WRITE_BYTE,
; READ_CURRENT ja READ_RANDOM vastaavasti.Page kirjoittaminen ja Sequential Lue
; Ovat erikoistapauksista toimintoja WRITE_BLOCK ja READ_BLOCK vastaavasti.
; WRITE_BLOCK ja READ_BLOCK prosessi yhden tavun, montako tavua
, Ja sivun ja siirtää tietoja välillä AT24Cxx ja RAM-puskuriin.
;
; Koodia tukee useita AT24Cxx laitteiden kohti linja-autolla, joista jokaisella on omat
; Osoite määräytyy sen johdotus on osoite nastat (A0, A1, A2).The
, Kolme-bittinen ohjelmoitava osoite välitetään WRITE_BYTE, READ_CURRENT,
; READ_RANDOM, WRITE_BLOCK ja READ_BLOCK toimintoja, jos se on yhdistetty
; Kanssa AT24Cxx kiinteä osoite (FADDR) ja käyttää osoite laite on
, Linja-autolla.Katso AT24Cxx perheen tiedot lisätietoja
; Laite käsitellään.
;
; Functions BYTE_FILL, VERIFY_BYTE_FILL, PAGE_FILL ja VERIFY_PAGE_FILL ovat
; Esineitä siitä vianetsinnän ja palvella havainnollistaa käyttöä koskevien
; Laite lukea ja kirjoittaa toimintoja, joiden AT24C64.Voit muokata koodia varten
; Eri jäsen, AT24Cxx perhe, yksinkertaisesti uudelleen arvot SIZE
(Lukumäärä bytes per laite) ja PSIZE (montako tavua per sivu).
; Haluat muuttaa täyttää arvon uudelleen TÄYTETÄÄN.Jos haluat vaihtaa ohjelmoitavaa osaa
; Ja laitteen osoite, uudelleen PADDR joiden arvo nollasta seitsemään.
;
; Koodi täyttää kaikki AT24Cxx perhe ajoitus vaatimukset täytetään, jonka
; AT89Cx051 mikro, jossa on 12 MHz kello.Koodi muutokset voidaan
; Vaadita, jos nopeammin kello on sijainen.FADDR EQU 0a0h; kiinteä osoite AT24Cxx EEPROMs
PADDR EQU 0; ohjelmoitava osoite (0 .. 7)
SIZE EQU 2000h; bytes per AT24C64
PSIZE EQU 32; bytes per page for AT24C64
TÄYTETÄÄN EQU 55h, esimerkiksi täyttää arvo

; Rekisteröidy määritelmiä.

hakemisto EQU r0; buffer pointer
kount EQU r1; byte count rekisteri
zdata EQU r1; tiedot rekisteriin
addr_lo EQU r2; 2-tavuisille osoite rekisteri
addr_hi EQU r3;

, Mikro-yhteydet AT24Cxx Serial Bus linjat.

SCL BIT p1.2; sarjapäätettä kellon
SDA BIT p1.3; sarjapäätettä tiedotDSEG AT 20H

Org 40H
puskuri: DS PSIZE, varastointi lukea / kirjoittaa tietoa

Org 60H; pinon alkuperä
pino: DS 20H; pinon syvyysCSEG

ORG 0000H; teho / reset vektori
jmp on_reset

ORG 0003H ulkoiset keskeyttää 0 vektori
reti; undefined

Org 000BH; ajastin 0 overflow vektori
reti; undefined

ORG 0013H ulkoiset keskeyttää 1 vektorin
reti; undefined

Org 001BH; ajastin 1 overflow vektori
reti; undefined

ORG 0023H; sarjaportin I / O keskeyttää vektori
reti; undefined

ORG 0080H; aloittaa koodi tilaa
KÄYTTÄMÄLLÄ 0; rekisteri pankki nolla
on_reset:
mov sp, # (pino-1); alustaa stack pointer

; Alusta AT24Cxx Serial Bus linjat.

setb SDA, korkeat
setb SCL, korkeatpuhelun byte_fill
jc vika

puhelun verify_byte_fill
jc vika

puhelun page_fill
jc vika

puhelun verify_page_fill
jc vika

Vikailmoitukset:
jmp $byte_fill:

; Täytä jokainen tavu on AT24Cxx jolla on sama arvo.
; Kirjoittaa yksi osoite kerrallaan (sivu-tila ei ole käytössä).
; Palauttaa CY asettaa ilmoittamaan kirjoittaa aikakatkaisu.
; Tuhoaa A, B, DPTR, XDATA, ADDR_HI: ADDR_LO.

mov zdata, # TÄYTETÄÄN; perustaa täyttää tiedot
mov dptr, # 0; alustaa osoite pointer
x51:
mov addr_lo, DPL; perustaa osoite
mov addr_hi, DPH;

mov b # 120; retry counter
x52:
mov a # PADDR; ohjelmoitava osoite
puhelun write_byte; yrittää kirjoittaa
jnc x53; hypätä jos kirjoittaa OK

djnz b, x52, yritä uudelleen
setb c; asettaa aikakatkaisun virhe lippu
jmp x54; poistuaksesi
x53:
inc dptr; etukäteen osoite pointer
; Mov a, DPL, tarkista alhainen byte
; Cjne a # (LOW SIZE), x51, siirtyä, jos ei kestä
mov a DPH, tarkista korkea byte
cjne a # (KORKEAT SIZE), x51, siirtyä, jos ei kestä
CLR c; selvä virhe lippu
x54:
retverify_byte_fill:

, Tarkista, että kaikki bytes on AT24Cxx vastaavat täyttää arvo.
; Lukee ja tarkastaa yksi tavu kerrallaan (sivu-tila ei ole käytössä).
; Suorittaa Satunnainen Lue toiminnon alustaa sisäisen
; Osoite counter ja tarkastusten sisällöstä ensimmäinen osoite.
; Sitten suorittaa useita Nykyinen Osoite Lue toimintoja askel
; Kautta jäljellä addressess.
; Palauttaa CY asettaa ilmoittamaan lukea aikakatkaisu tai vertailla epäonnistua.
; Tuhoaa A, B, DPTR.

mov dptr, # 0; alustaa osoite pointer / counter
mov addr_lo, DPL; perustaa osoite
mov addr_hi, DPH;

mov b # 120; retry counter
x81:
mov a # PADDR; ohjelmoitava osoite
puhelun read_random; yrität lukea
jnc x82; hypätä jos lukea OK

djnz b, x81, yritä uudelleen
jmp x86, asettaa virhe lippu ja poistu
x82:
cjne a # TÄYTETÄÄN, x86, siirtyä, jos vertaa virhe
jmp x85; tehdä jäljellä osoitteet
x83:
mov a # PADDR
puhelun read_current
jc x87; hypätä jos lukea epäonnistuu

cjne a # TÄYTETÄÄN, x86, siirtyä, jos vertaa virhe
x85:
inc dptr; etukäteen osoite pointer
mov a DPH, tarkista korkea byte
cjne a # (KORKEAT SIZE), x83, siirtyä, jos ei kestä
CLR c; selvä virhe lippu
jmp x87; poistuaksesi
x86:
setb c; asettaa virhe lippu
x87:
retpage_fill:

; Täytä jokainen tavu on AT24Cxx jolla on sama arvo.
; Kirjoittaa yksi sivu kerrallaan.
; Palauttaa CY asettaa ilmoittamaan kirjoittaa aikakatkaisu.
; Tuhoaa A, B, DPTR, KOUNT, hakemisto, ADDR_HI: ADDR_LO.

; Ensimmäisen täyttää puskuriin.

mov b # PSIZE; bytes per sivu
mov-hakemisto, # puskuri, kohta puskuroimiseksi
x61:
mov @ hakemisto, # TÄYTETÄÄN; saattaa täyttää arvo puskuri
inc hakemisto; etukäteen pointer
djnz b, x61; ensi byte

; Kopioi puskuri laitteen yksi sivu kerrallaan.

mov dptr, # 0; alustaa osoite pointer
x62:
mov addr_lo, DPL; perustaa osoite
mov addr_hi, DPH;
mov kount, # PSIZE; bytes per sivu

mov b # 120; retry counter
x63:
mov a # PADDR; ohjelmoitava osoite
puhelun write_block; yrittää kirjoittaa
jnc x64; hypätä jos kirjoittaa OK

djnz b, x63, yritä uudelleen
setb c; asettaa aikakatkaisun virhe lippu
jmp x66; poistuaksesi
x64:
; Lisää sivun koon osoite osoitinta.

mov a, DPL; saada alhainen byte
lisätä, # PSIZE, lisätä sivun kokoa
mov DPL, a; tallentaa alhainen byte
jnc x65; hypätä jos korkea tavu ei vaikuta
inc DPH; inkrementti korkea byte
x65:
; Cjne a # (LOW SIZE), x62, siirtyä jos alhainen tavu ei kestä
mov a DPH, tarkista korkea byte
cjne a # (KORKEAT SIZE), x62, siirtyä, jos ei kestä
CLR c; selvä virhe lippu
x66:
retverify_page_fill:

, Tarkista, että kaikki bytes on AT24Cxx vastaavat täyttää arvo.
; Lukee ja tarkastaa yksi sivu kerrallaan.
; Palauttaa CY asettaa ilmoittamaan lukea aikakatkaisu tai vertailla epäonnistua.
; Tuhoaa A, B, DPTR, KOUNT, hakemisto, ADDR_HI: ADDR_LO.

; Kopioi laitteen sivun puskuriin.

mov dptr, # 0; alustaa osoite pointer
x71:
mov addr_lo, DPL; perustaa osoite
mov addr_hi, DPH;
mov kount, # PSIZE; bytes per sivu

mov b # 120; retry counter
x72:
mov a # PADDR; ohjelmoitava osoite
puhelun read_block; yrität lukea
jnc x74; hypätä jos lukea OK

djnz b, x72, yritä uudelleen
x73:
setb c; asettaa virhe lippu
jmp x77; poistuaksesi
x74:
; Tarkista puskurin sisältö.

mov b # PSIZE; bytes per sivu
mov-hakemisto, # puskuri, kohta puskuroimiseksi
x75:
cjne @ hakemisto, # TÄYTETÄÄN, x73, siirtyä, jos vertaa ei
inc hakemisto; etukäteen pointer
djnz b, x75; ensi byte

; Lisää sivun koon osoite osoitinta.

mov a, DPL; saada alhainen byte
lisätä, # PSIZE, lisätä sivun kokoa
mov DPL, a; tallentaa alhainen byte
jnc x76; hypätä jos korkea tavu ei vaikuta
inc DPH; inkrementti korkea byte
x76:
; Cjne a # (LOW SIZE), x71, siirtyä jos alhainen tavu ei kestä
mov a DPH, tarkista korkea byte
cjne a # (KORKEAT SIZE), x71, siirtyä, jos ei kestä
CLR c; selvä virhe lippu
x77:
retwrite_block:

; Kirjoita yksi tavu on yhden sivun tiedot on AT24Cxx.
; Called ohjelmoitava osoite A, osoite ensimmäisen tavun
; Rekisterin pari ADDR_HI: ADDR_LO, tiedot puskuri, byte count
; Rekisterin KOUNT.
; Ei odota kirjoittaa elinkaaren loppuun.
; Palauttaa CY määrä osoittaa, että linja-auto ei ole käytettävissä
, Tai että osoitettu laite ei tunnistanut.
; Tuhoaa, KOUNT, HAKEMISTO.

puhelu alkaa
jc x38; keskeyttää, jos bussi ei ole saatavilla

rl a; ohjelmoitava osoite bittiä 3:1
orl a # FADDR, lisätään kiinteä osoite
CLR acc.0; täsmentää kirjoitustoiminto
puhelun huutaa; lähettää laitteen osoite
jc x37; keskeyttää, jos mitään tunnustusta

mov a, addr_hi; lähettää korkean byte osoite
puhelun huutaa;
jc x37; keskeyttää, jos mitään tunnustusta

mov a, addr_lo; lähettää alhainen byte osoite
puhelun huutaa;
jc x37; keskeyttää, jos mitään tunnustusta

mov-hakemisto, # puskuri, kohta puskuroimiseksi
x36:
mov a @ hakemisto; saada tietoja
puhelun huutaa; lähettää tietoja
jc x37; keskeyttää, jos mitään tunnustusta

inc hakemisto; etukäteen buffer pointer
djnz kount, x36; ensi byte
CLR c; selvä virhe lippu
x37:
puhelun lopettaa
x38:
retread_block:

; Lue yhden tavun yhden sivun tietojen alkaen AT24Cxx.
; Suorittaa Satunnainen Lue joka laajennetaan osaksi Sequential Lue
, Kun useampi kuin yksi tavu on lukea.Called ohjelmoitava osoite
, A, osoite ensimmäisen tavun rekisterin pari ADDR_HI: ADDR_LO,
; Byte count rekisterin KOUNT.
; Palauttaa tiedot puskuriin.Palauttaa CY määrä osoittaa, että linja-auto on
; Ei ole saatavilla tai että osoitettu laite ei tunnistanut.
; Tuhoaa, KOUNT, HAKEMISTO.

; Lähetä harjoitustestien kirjoittaa komento puuttua ensimmäinen tavu.

puhelu alkaa
jc x35; keskeyttää, jos bussi ei ole saatavilla

rl a; ohjelmoitava osoite bittiä 3:1
orl a # FADDR, lisätään kiinteä osoite
mov-indeksi, a; tallentaa kopion laite osoite
CLR acc.0; täsmentää kirjoitustoiminto
puhelun huutaa; lähettää laitteen osoite
jc x34; keskeyttää, jos mitään tunnustusta

mov a, addr_hi; lähettää korkean byte osoite
puhelun huutaa;
jc x34; keskeyttää, jos mitään tunnustusta

mov a, addr_lo; lähettää alhainen byte osoite
puhelun huutaa;
jc x34; keskeyttää, jos mitään tunnustusta

; Lähetä lukea komennon ja vastaanottaa tietoa.

puhelu alkaa,
ja toinen alkaa lukea
jc x34; keskeyttää, jos bussi ei ole saatavilla

mov a, hakemisto; saada laite osoite
setb acc.0; täsmentää lukea toiminta
puhelun huutaa; lähettää laitteen osoite
jc x34; keskeyttää, jos mitään tunnustusta

mov-hakemisto, # puskuri, kohta puskuroimiseksi
x31:
puhelun shin; vastaanottamaan dataa tavu
mov @ indeksi, a; tallentaa tiedot

cjne kount, # 1, x32, siirtyä jos ei viimeinen tavu
puhelun NAK,
älä tunnustaa viimeinen tavu
jmp x33; tehnyt
x32:
puhelun ACK; tunnustaa byte
inc hakemisto; etukäteen buffer pointer
djnz kount, x31; ensi byte
x33:
CLR c; selvä virhe lippu
x34:
puhelun lopettaa
x35:
retwrite_byte:

; AT24Cxx Byte Kirjoita toiminto.
; Called ohjelmoitava osoite A, byte osoite
; Rekisteröidä pari ADDR_HI: ADDR_LO, tietojen rekisterin XDATA.
; Ei odota kirjoittaa elinkaaren loppuun.
; Palauttaa CY määrä osoittaa, että linja-auto ei ole käytettävissä
, Tai että osoitettu laite ei tunnistanut.
; Tuhoaa A.

puhelu alkaa
jc x49; keskeyttää, jos bussi ei ole saatavilla

rl a; ohjelmoitava osoite bittiä 3:1
orl a # FADDR, lisätään kiinteä osoite
CLR acc.0; täsmentää kirjoitustoiminto
puhelun huutaa; lähettää laitteen osoite
jc x48; keskeyttää, jos mitään tunnustusta

mov a, addr_hi; lähettää korkean byte osoite
puhelun huutaa;
jc x48; keskeyttää, jos mitään tunnustusta

mov a, addr_lo; lähettää alhainen byte osoite
puhelun huutaa;
jc x48; keskeyttää, jos mitään tunnustusta

mov a, zdata; saada tietoja
puhelun huutaa; lähettää tietoja
jc x48; keskeyttää, jos mitään tunnustusta

CLR c; selvä virhe lippu
x48:
puhelun lopettaa
x49:
retread_current:

; AT24Cxx Nykyinen Osoite Lue-toimintoa.
; Called ohjelmoitava osoite A. Palauttaa tiedot A.
; Palauttaa CY määrä osoittaa, että linja-auto ei ole käytettävissä
, Tai että osoitettu laite ei tunnistanut.

puhelu alkaa
jc x45; keskeyttää, jos bussi ei ole saatavilla

rl a; ohjelmoitava osoite bittiä 3:1
orl a # FADDR, lisätään kiinteä osoite
setb acc.0; täsmentää lukea toiminta
puhelun huutaa; lähettää laitteen osoite
jc x44; keskeyttää, jos mitään tunnustusta

puhelun shin; vastaanottamaan dataa tavu
puhelun NAK,
älä tunnustaa byte
CLR c; selvä virhe lippu
x44:
puhelun lopettaa
x45:
retread_random:

; AT24Cxx Satunnainen Lue-toimintoa.
; Called ohjelmoitava osoite A, byte osoite
; Rekisteröidä pari ADDR_HI: ADDR_LO.Palauttaa tiedot A.
; Palauttaa CY määrä osoittaa, että linja-auto ei ole käytettävissä
, Tai että osoitettu laite ei tunnistanut.

push b
mov b, a; tallentaa kopion ohjelmoitava osoite

; Lähetä harjoitustestien kirjoittaa komento asettaa sisäinen osoite.

puhelu alkaa
jc x47; keskeyttää, jos bussi ei ole saatavilla

rl a; ohjelmoitava osoite bittiä 3:1
orl a # FADDR, lisätään kiinteä osoite
CLR acc.0; täsmentää kirjoitustoiminto
puhelun huutaa; lähettää laitteen osoite
jc x46; keskeyttää, jos mitään tunnustusta

mov a, addr_hi; lähettää korkean byte osoite
puhelun huutaa;
jc x46; keskeyttää, jos mitään tunnustusta

mov a, addr_lo; lähettää alhainen byte osoite
puhelun huutaa;
jc x46; keskeyttää, jos mitään tunnustusta

; Call Nykyinen Osoite Lue-toimintoa.

mov a, b; saada ohjelmoitava osoite
puhelun read_current
jmp x47; poistuaksesi
x46:
puhelun lopettaa
x47:
pop b
retalkaa:

; Lähetä START,
jotka on määritelty korkea-to-alhainen SDA kanssa SCL korkea.
; Paluu SCL, SDA alhainen.
; Palauttaa CY vahvistaa, jos linja-auto ei ole käytettävissä.

setb SDA
setb SCL

; Tarkista bussi käytettävissä.

JNB SDA, x40, siirtyä, jos ei ole korkea
JNB SCL, x40, siirtyä, jos ei ole korkea

NOP; valvoa asennuksen viivästyminen ja syklin viive
CLR SDA
NOP; valvoa pidä viivyttää
NOP;
NOP;
NOP;
NOP;
CLR SCL

CLR c; selvä virhe lippu
jmp x41
x40:
setb c; asettaa virhe lippu
x41:
retpysäkki:

; Lähetä STOP, määritellään matalasta korkeaan SDA kanssa SCL korkea.
; SCL odotetaan pieni merkintä.Paluu SCL, SDA korkea.

CLR SDA
NOP; valvoa SCL alhainen ja data-asetukset
NOP
setb SCL
NOP; valvoa setup viive
NOP;
NOP;
NOP;
NOP;
setb SDA
rethuutaa:

; Vaihto a tavu on AT24Cxx useimmat merkitsevää bittiä ensin.
; SCL, SDA odotetaan pieni merkintä.Paluu SCL alhainen.
; Called tiedot lähettämään A.
; Palauttaa CY asettaa ilmoittamaan laiminlyöntiä orja ilmoittaa.
; Tuhoaa A.

push b
mov b # 8; bit counter
x42:
rlc a; siirtää bittinen osaksi CY
mov SDA, c; tuotos bittinen
NOP; valvoa SCL alhainen ja data-asetukset
setb SCL; nostaa kellon
NOP; valvoa SCL korkea
NOP;
NOP;
NOP;
CLR SCL; pudota kellon
djnz b, x42; ensi bittinen

setb SDA; release SDA varten ACK
NOP; valvoa SCL alhainen ja TAA
NOP;
setb SCL; nostaa ACK kellon
NOP; valvoa SCL korkea
NOP;
NOP;
NOP;
mov c, SDA; saada ACK bittinen
CLR SCL; pudota ACK kellon

pop b
retpotka:

; Vaihto on byte alkaen AT24Cxx useimmat merkitsevää bittiä ensin.
; SCL odotetaan pieni merkintä.Paluu SCL alhainen.
; Palauttaa saanut tietoja byte in A.

setb SDA; tehdä SDA tulosignaalin

push b
mov b # 8; bittinen count
x43:
NOP; valvoa SCL alhainen ja data-asetukset
NOP;
NOP;
setb SCL; nostaa kellon
NOP; valvoa SCL korkea
NOP;
mov c, SDA; panos bittinen
rlc a; siirtää bittinen osaksi byte
CLR SCL; pudota kellon
djnz b, x43; ensi bittinen

pop b
retACK:

; Kello pois tunnustaa bittinen (alhainen).
; SCL odotetaan pieni merkintä.Paluu SCL, SDA alhainen.

CLR SDA; ACK bittinen
NOP; valvoa SCL alhainen ja data-asetukset
NOP;
setb SCL; nostaa kellon
NOP; valvoa SCL korkea
NOP;
NOP;
NOP;
CLR SCL; pudota kellon
retNAK:

; Kello ulos negatiivinen tunnustaa bittinen (korkea).
; SCL odotetaan pieni merkintä.Paluu SCL alhainen, SDA korkea.

setb SDA; NAK bittinen
NOP; valvoa SCL alhainen ja data-asetukset
NOP;
setb SCL; nostaa kellon
NOP; valvoa SCL korkea
NOP;
NOP;
NOP;
CLR SCL; pudota kellon
retENDAnteeksi, mutta sinun on kirjautumistunnuksen nähdäksesi tämän liitäntävaatimuksia

 

Welcome to EDABoard.com

Sponsor

Back
Top