|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
muc82 Neznanec
Pridružen-a: Čet 13 Feb 2014 7:43 Prispevkov: 3 Aktiv.: 0.02
|
Objavljeno: Tor Sep 16, 2014 9:34 pm Naslov sporočila: Branje 10-bit podatka v bascom 8051 |
|
|
Lepo pozdravljeni,
Imam 10-bitni A/D pretvornik MCP3008, katerega bi rad bral z Atmelovim krmilnikom AT89C4051 preko bascom 8051 programa. Krmilnik bo dovolj za to nalogo.
Ne vem kako naj si sploh nastavim sistem branja teh 10-ih bitov. Ker lahko operiram z byti vem da moram podatek shranit v dva byta in potem to pretvorit, ampak si nekako ne morem nastavit enega pametnega sistema tega branja. Komunicirata preko SPI vodila. A ima kdo kakšen predlog? |
|
Nazaj na vrh |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.05
|
Objavljeno: Tor Sep 16, 2014 11:31 pm Naslov sporočila: |
|
|
Vprašanje je precej na široko zastavljeno.
V osnovi imaš 24-bitna okna (3x8).
MCU oddaja CS' , SCLK in Din (v smeri proti MCP), sprejema pa Dout (podatek iz MCP).
Če je ni na spletu, boš moral zanko sestaviti sam.
Pripraviš si 4 bite (SGL/DIF3, D2,D1,D0) oziroma v nek števec shraniš 0x00 ali 0x08
in začneš zanko.
X1z:
CS = 0
7x (
SCLK=1
SCLK=0
)
Din=1 (start)
nato pošlješ 4 bite, ki si si jih pripravil že prej (pazi, da pri pomikanju registra ohraniš njegovo prvotno vrednost -> pomikaj kopijo).
Nato le še v zanki oddajaš uro in bereš vhod
12x(
SCLK=1
SCLK=0
beri in shrani Dout pin
)
ko končaš za en AD vhod, daš
CS=1
shraniš prebrano 16-bitno spremenljivko (zgornjih 6 bitov je pač enakih '0' ),
povečaš števec za 1 (naslednji vhod) in ponoviš zanko od X1z še 7-krat.
V glavnem sem tole povzel po hitrem preletu skozi datasheet, SPI mode 0.0..
S 16-bitnimi rezultati potem počneš, kar želiš. _________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 70 dni
Powered by phpBB © 2001, 2005 phpBB Group
|