Port bővítés Shift regiszterrel

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00
Tartózkodási hely: Zalaegerszeg
Kapcsolat:

HozzászólásSzerző: SirLeslie » 2011. augusztus 1. hétfő, 17:24

Robert írta:NXP74HC595...
...Nálam a CMOS vált be, ott kb. 20mA/lábbal hajtom.... Még él :)


Ez konkrétan a fent említett nxp-s? Mertakkormosolygósszámjli :-)

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9993
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. augusztus 3. szerda, 10:06

Igen, ez van berakva...

Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00
Tartózkodási hely: Zalaegerszeg
Kapcsolat:

HozzászólásSzerző: SirLeslie » 2011. augusztus 15. hétfő, 18:35

SirLeslie írta:...Végül is csak 1 led lenne lábanként... de üzemszerűen lehet olyan is, hogy az összesnek kell világítania...


A válasz: hétszegmenses kijelzőnél nyugodtan használható - amelyikben 1 led van szegmensenként.

Avatar
winnerbt
Chipfüstölő
Hozzászólások: 894
Csatlakozott: 2007. március 25. vasárnap, 6:00
Tartózkodási hely: Kecskemét

12 bit

HozzászólásSzerző: winnerbt » 2011. augusztus 24. szerda, 11:30

16db 12 bites adatot kellene kivinnem SPI-szerűen.
Hogyan csinálnátok?
Most Shiftout S_in , Sclk , Adat , 1 , 12-vel egy word-öt viszek ki,
de a hardver SPI-t így nem tudom használni.
(és így lassú a cucc)
Fésüljem szét byte-okba a 196bites adatot és HW SPI?

JAni

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9993
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. augusztus 24. szerda, 11:34

Shiftin/shiftout vagy spiin/spiout

Ez utóbbinál azt mondod, h 12 bit (ebből lesz 16bites változó) és 12 bitet shiftelsz csak ki....

Az SPIMove-t nem találtam még meg így... ézzel meg nem sok kedvem megírni (maradt a HW megoldás)...

Avatar
winnerbt
Chipfüstölő
Hozzászólások: 894
Csatlakozott: 2007. március 25. vasárnap, 6:00
Tartózkodási hely: Kecskemét

HozzászólásSzerző: winnerbt » 2011. augusztus 24. szerda, 11:46

Szerencsére 6-bites adatok is vannak, szóval a végén FPGA lesz belőle, azt már látom.
És hogyan adnátok ki egy kimeneten 4096 impulzust minél nagyobb sebességgel? Arra gondoltam, hogy a 16-bites timert felprog 2048-as PWM-re, akkor elméletileg 4096 órajel után leesik a kimenet és azzal kapuzom a fő órajelet (már csak akkor külső órajelgen. kell).
Vagy valami más nyakatekert ötlet valakinek?
JAni

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3344
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2011. augusztus 24. szerda, 12:09

Valahol láttam, hogy XTAL2 lehet órajel kimenetnek programozni.
Hogy szinkronban járathassanak több eszközt!
De hogy ez milyen Mega volt?
:?:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9993
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. augusztus 24. szerda, 12:09

Bitszintű H és L-be állítás?

4096 impulzus:

Kód: Egész kijelölése

for i= 0 to 4095
 set portb.0 '2ck
 nop 'elhagyható
 reset portb.0 '2ck
next i


6bites adat kiküldése:

Kód: Egész kijelölése

ChipSelect=0
for i= 0 to 5
 portb.1=kiirando.i   'MOSI
 set portb.0       'ck
 nop
 nop
 reset portb.0 'ck
 portb.1=0   'MOSI (de lehet h elhagyható)
next i
ChipSelect=1

Avatar
winnerbt
Chipfüstölő
Hozzászólások: 894
Csatlakozott: 2007. március 25. vasárnap, 6:00
Tartózkodási hely: Kecskemét

HozzászólásSzerző: winnerbt » 2011. augusztus 24. szerda, 12:31

Csak ez így lassú. Most így csinálom a 4096 impulzust és a végeredményem a cuccon 50Hz, amit meg villogni látok. LED-eket hajtogatna a dolog, igaz most még csak 8MHz-ről próbálkozom, de a kaszkádosítás miatt 3 modulnál már ugyan itt vagyok, hiába emelem meg az órajelet. Most megpróbálom a szabadidőben összefésülni a 12-bites adatokat és HW-esen kivinni, aztán a PWM órajel meg majd kiderül, milyen lesz.
JAni

Avatar
winnerbt
Chipfüstölő
Hozzászólások: 894
Csatlakozott: 2007. március 25. vasárnap, 6:00
Tartózkodási hely: Kecskemét

HozzászólásSzerző: winnerbt » 2011. augusztus 24. szerda, 13:13

ebben a sorban mi az error?

Kód: Egész kijelölése

Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 2


Régi programból ollóztam ki, utolsó 2 verziós Bascom is InvalidParamétert jelez.

JAni

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3344
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2011. augusztus 24. szerda, 13:31

Csak a 2-es mert a lehetséges: CLOCKRATE = 4|16|64|128

Avatar
DOGMAN
Chipgyilok
Hozzászólások: 293
Csatlakozott: 2006. augusztus 27. vasárnap, 6:00
Tartózkodási hely: Balatonboglár

HozzászólásSzerző: DOGMAN » 2012. október 30. kedd, 14:33

Sziasztok!

A topic elolvasása után az alábbi kapcsrajzot alkottam, ez így működik a Bence által prezentált példaprogrammal?
Kép

Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Bence » 2012. október 30. kedd, 15:39

Szia!

Majdnem jó, viszont annyit kell változtatni, hogy ahogy írtam a 74HC595-ös 10-es lábát (SCL) nem kell az AVR-el összekötni, ezt elég ha +5V-ra kötöd. (Most már ebben biztos vagyok, át is írom az első hozzászólásom).

Viszont az IC3 14-es lábát (SER) rá kell kötnöd az AVR-re, hiszen innen kapja az adatot! Ez lesz a Data_out. Például, ezt bekötöd a PC3-ra (AVR 26-os láb), akkor ezt kell beállítanod: Data_out Alias Portc.3
Bence

Avatar
winnerbt
Chipfüstölő
Hozzászólások: 894
Csatlakozott: 2007. március 25. vasárnap, 6:00
Tartózkodási hely: Kecskemét

HozzászólásSzerző: winnerbt » 2012. november 5. hétfő, 20:25

SHIFTIN-OUT-nál ha külső egység adja az órajelet, akkor az utasítás beragad, ha nem jön órajel, illetve nem jön elég?
Ha pl. shiftout-ban vagyok és jön egy zavar tüske, akkor ott marad élete végéig? (mondjuk az adatkimenet meg már szintet is váltott, teháát 1-2 bit már kiment).
JAni

Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Bence » 2012. november 9. péntek, 19:14

Őszintén szólva fogalmam sincs, én nem próbáltam még külső órajelről.
Bence


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég