ASM minták?

Rendszerközeli nyelv(ek) tippjei, alkalmazásai
Avatar
ferencc
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2008. szeptember 21. vasárnap, 6:00

avr assebler

Hozzászólás Szerző: ferencc »

Sziasztok! én asm_ be szeretnép programoznia ATtiny13_at . Ehez szeretnék egy két példaprogramot ha lehet .elöre is köszönöm
Hooligan01

Hozzászólás Szerző: Hooligan01 »

Avatar
pepe
DrótVégénSzéndarab
Hozzászólások: 17
Csatlakozott: 2008. szeptember 6. szombat, 6:00

Hozzászólás Szerző: pepe »

Tanulás céljából? Mert ha igen, akkor BASCOM-AVR-rel fordíts le egy kis progit, majd AVR Studio-ban olvasd be a .hex állományt. Sokat lehet tanulni belőle, és még lépésenként futtathatod is a kódot.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Egy tuti step-by-step tananyag Mega8 chipre.

Az ASM-t nagyon jól leírja:
http://www.avrbeginners.net/
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

Re: ASM minták?

Hozzászólás Szerző: etwg »

Sziasztok

nagy keserven sikerült összeraknom a berendezésemet (két léptetömotor idövezérlése), és a 4x16 karakteres display is csatlakoztatva, söt az elsö sorban van már tisztességes szöveg is, csak valahogyan nem tudok rájönni, hogyan kell a második (3. 4.) sorba szöveget irni.

Azt irja a nagykönyv hogy ebben a kodban Konfig: 0b001dnfxx az "n" betü mondja meg melyik sorba irom a szöveget, de nem tudom, hova kell a kodot berakni.

Kösz a segitséget.
Éljenek a vonatok!

http://www.youtube.com/playlist?list=PLF2674BF4E3765682
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ASM minták?

Hozzászólás Szerző: Robert »

HD44780 LCD kijelzés:
1234567890123456
1234567890123456
1234567890123456
1234567890123456

És ez a belső memóriában:
00-19: 12345678901234567890
20-39: 12345678901234567890
40-59: 12345678901234567890
60-79: 12345678901234567890

Azaz a sorok: 1,3,2,4 és a 7890 karakterek nem látszódnak.
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

Re: ASM minták?

Hozzászólás Szerző: etwg »

Kösz, de nem nagyon értem, hogy mit is kell csinálnom. :(
Éljenek a vonatok!

http://www.youtube.com/playlist?list=PLF2674BF4E3765682
Avatar
irak
Biztosítékgyilkos
Hozzászólások: 73
Csatlakozott: 2005. november 2. szerda, 7:00

Re: ASM minták?

Hozzászólás Szerző: irak »

Hali!

Mivel nem sorfolytonos memória, ezért át kell váltani a címet a következő sor elejére.
(vagy pozícionálhatod bárhova akár)

Asm-el hajtod?
Parancs módban kiteszed a buszra 0B10000000-es értéket, alsó 7 bit a memória címe.
Hogy egyes sorok hol kezdődnek a memóriában, azt kísérletezd ki.
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

Re: ASM minták?

Hozzászólás Szerző: etwg »

Tehát valami iiyesmit:

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

Ldi r16, 0b1000000   ; sorváltás
Rcall lcd_command

Ldi r16, ´T´.            ; A T betü kiirása
Rcall lcd_data
Ez a T betüt a 2. sor elsö helyére irja? Az lcd_data eddig szépen sorba kiirta a betüket, de mindig az elsö sorba.
A hozzászólást 1 alkalommal szerkesztették, utoljára etwg 2013. szeptember 17. kedd, 20:37-kor.
Éljenek a vonatok!

http://www.youtube.com/playlist?list=PLF2674BF4E3765682
Avatar
irak
Biztosítékgyilkos
Hozzászólások: 73
Csatlakozott: 2005. november 2. szerda, 7:00

Re: ASM minták?

Hozzászólás Szerző: irak »

Hali!

Nem ez így az első sor elejére teszi a "kurzort", mivel az van a nulladik címen.
A parancs utolsó 7 bitje a cím, ami így nulla.

Így teszi 20-ra, ami lehet hogy a második sor eleje:
Ldi r16,0b10010100
Rcall lcd_command

Vagy 40-re:
Ldi r16,0b10101000
Rcall lcd_command
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

Re: ASM minták?

Hozzászólás Szerző: etwg »

Kösz majd holnap kiprobálom.
Azért zavar, mert az hittem, hogy a 0b1000 0000 val a második sorra kapcsolok, és onnan folytathatom az irást.
A display 4 soros lesz ( most még csak 2 soroson gyakorolok :D ).
Az elsö és 3. Sorban fix szöveg lesz, az alattuk levö 2. és 4. sorban meg a hozzájuk tartozo változok értéke.
Éljenek a vonatok!

http://www.youtube.com/playlist?list=PLF2674BF4E3765682
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ASM minták?

Hozzászólás Szerző: Robert »

A 2. és 4. sor elérése a leglassabb! -> Lsd memóriaszervezés.
Sorra kapcsolsz: na ilyen funkció nincs. Lsd HD44780 chip adatlap.
HOME, shiftcursor left/right és a memóriába írás. Ezekkel a parancsokkal gazdálkodhatsz!
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

Re: ASM minták?

Hozzászólás Szerző: etwg »

Robert írta:A 2. és 4. sor elérése a leglassabb! -> Lsd memóriaszervezés.
Sorra kapcsolsz: na ilyen funkció nincs. Lsd HD44780 chip adatlap.
HOME, shiftcursor left/right és a memóriába írás. Ezekkel a parancsokkal gazdálkodhatsz!
Egy kicsit érdekes ez a dolog. Elolvastam lassan egy könyvre valo anyagot a displayekröl. Az egyik másikban azt irják, hogy a négysoros display valoban " kétsoros" azaz az elsö sor 21. karaktere (4x20 esetben ) a 3. sor elsö helyén van.
Egy másik anyagban meg a 4 sor valojában 1 sor:

1.sor. 1-20
2.sor. 41-60
3.sor. 21-40
4.sor. 61-80

Hogy mi ebben a kétsoros az számomra rejtély ( és ez tévesztett meg :oops: ).
Szerencsére maga a kijelzés sebessége nem lényeges, mert percekben-orákban számolunk ( nagyon lassu folyamatok vezérlése).

Na mindegy, ha ma sikerül a két sor, akkor este kiprobálom a 4 sort is.
Éljenek a vonatok!

http://www.youtube.com/playlist?list=PLF2674BF4E3765682
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ASM minták?

Hozzászólás Szerző: Robert »

A HD44780 adatlapot leasd meg. A kijelzőchipek ez alapján működnek.
Ha az újabb KS0066 vagy KS0077-es chip van rajta, azokat _kompatibilis_ módban használja mindenki. De ha akarsz el lehet menni ezirányba is (itt lehet sorkeverés, gyorskódok, stb). Viszont esetleges kijelzőcserekor szívatod magadat... mert nem érted miért nem megy...
Válasz küldése