Segitség egy (ujra-) kezdönek

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

Segitség egy (ujra-) kezdönek

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

25 éves szünet után (akkor PIC-kel) ujra nekifogtam RISC processzorok hobbi szintü programozásának.
Minden HW és SW megvan.
Kinek lenne kedve segiteni az elsö lépésekben?
Föleg szekvenciális feladatokrol van szo - egyszerü bementi jelekkel bizonyos feladatokat (feladatsorokat) kell elvégezni az ATTiny2313-s processzorrral.

A válaszokat az privát üzenetekre kérem.

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

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

??? A fórum miért nem jó?
Így több szem többet lát.... És más is tanulhat belőle....

8O
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Kösz a választ, és használni is fogom, de még nincs semmi, amit nagyon mutogatni tudnák.
Ha minden jol megy még ezen a héten meg lesz az elsö lépés, s ha nem az lesz amit szeretnék, akkor majd jövök fárasztani a társaságot.

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

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

Lépések:
1, LED villgtató
2, sorosport
3, LCD
4, gombok
5, minden más:)
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Kösz ezen már egy kicsit tul vagyok:

Az AVR DRAGONon kivül már épitettem 2 feljlesztö modult:

http://www.pollin.de/shop/downloads/D810046B.PDF

meg ezt

http://www.pollin.de/shop/dt/NjQ5OTgxOT ... _V1_0.html

A LED-eket már tudom kapcsolgatni, még a késleltetö rutinok meg hasonlo részletek hiányoznak.

Most jönnek a végleges NYÀKok az egyik majdani feladathoz.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Késleltetés:

wait
Waitms
Waitus

:)
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Kösz

sajnos Basicban (BASCOM) nem tudok programozni igy mindent ASM-ben irok.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Minden tanulható....
És az oldalon itt is van 1000 minta.


Az LCD kezelés pl. 4 sor bascomban, míg ASMben ~1,5 oldal!

Gondltam hátha beletanulnál....
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Na jo akkor utánnanézek a BASCOM-nak.

Kösz
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Igaza van Róbertnak!
Inkább itt a fórumon tanuljál.
1: mert az ASM. Nagyon el van hanyagolva itt a fórumon, és biztos másokat is érdekelne.
2: Ezért nem is találsz 1 személyes jelentkezőt oktatásra. (Bár lehet, tévedek?)
Viszont az aktuális problémához akadhat valaki, aki hozzá szólna.
3: Érdeklődő mindig van, pláne a még ismeretlen területek iránt. Ezért szívesen látnánk az
eddigi ASM. munkáidból példákat.

Ha ASM. Területen akarsz fejlődni a legjobb kiindulópont lehet:
A Bascom lib könyvtárában levő *.lib fájlok tanulmányozása. Ezek túlnyomórészt ASM-ban vannak meg írva.
Betöltöd a Bascomba, Átnevezve elmented, és már garázdálkodhatsz is benne kedvedre.
Aztán a Tools menü. Lib Manager-rel lefordítod és használhatod is a művedet.

(Mivel a Bascom részben szabadon felhasználható, nyílt forráskódú. Ezért azt hiszem nem lesz baj, ha itt tárgyaljuk ki!)

Talán vágjunk bele a közepébe!
Mivel pont az LCD kezelés lett szóbahozva, legyen ez a téma.
A 4 adatvezetékes LCD init-ett megtaláljuk az „lcd4busy.lib”-ben, legyen a mi változatunk: „mylcd4busy.lib”
Idézek a programból és oda írom mi van készen és mit kellene megoldani.

; Változók és állandók létrehozása
; Ezt kell ASM-ban megcsinálni
; Ezt a részt a Bascom "lcd4busy.bas" programban megtalálod.

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

;the default library for BASCOM can handle worst case scenarios where each pin of the LCD
;is connected to a random pin of the micro
;When we choose the data port pin in sequence, we can save some code
;This lib shows how to use the LCD in 4 bit mode


;Rs = PortB.3
;RW = PortB.2
; E = PortB.1
;E2 = PortB.0        optional for lcd with 2 chips
;Db4 = PortB.4       the data bits must be in a nibble to save code
;Db5 = PortB.5
;Db6 = PortB.6
;Db7 = PortB.7
; in your basic program use:
;$lib "lcd4busy.lib"
;Const _lcdport = Porta
;Const _lcdddr = Ddra
;Const _lcdin = Pina
;Const _lcd_e = 1
;Const _lcd_rw = 2
;Const _lcd_rs = 3
; Az INIT és a többit már itt készen van csak használni kel:

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

;This routine is called when the LCD must be initialized
[_init_lcd]
_init_lcd:
    clr R24                          ; set all portpins low
*   out _LCDport, r24
    ser r24                             ; set port pins to output
*   out _LCDDDR, r24
    Ldi R30, 28
    Ldi R31, 78
    Rcall _lcd_delay                    ; 20 ms delay at 4 MHz

    ldi r24, &B00110000                 ; 8-bit interface high nibble
*   out _LCDport, r24
*   sbi _LCDport, _LCD_E                ; set pin
    nop                                 ; delay
    nop
*   cbi _LCDport, _LCD_E                ; disable E
    Ldi R30, 132
    Ldi R31, 19
    rcall _lcd_delay                    ; 5 mS delay at 4 MHz
*   sbi _LCDport, _LCD_E                ; nibble is already setup
    nop
    nop
*   cbi _LCDport, _LCD_E
    Ldi R30, 96                         ; 100 uS delay at 4 MHz
    Ldi R31, 0
    rcall _lcd_delay
*   sbi _LCDport, _LCD_E
    nop
    nop
*   cbi _LCDport, _LCD_E                ; clear
    Ldi R30, 96                         ; 100 uS delay at 4 MHz
    Ldi R31, 0
    rcall _lcd_delay
    ldi r24, &B00100000                 ; Command for 4-bit interface high nibble
*   out _LCDport, r24
*   sbi _LCDport, _LCD_E                ; pulse
    nop
    nop
*   cbi _LCDport, _LCD_E                ; clear enable
    ldi r24, &H28
    rcall _Lcd_control
    Ldi r24,14                          ; Display on, Cursor on, Noblink
    Rcall _Lcd_control
    Ldi r24,6                           ; Cursor moves right, text doesn       't move
    RJmp _Lcd_control                   ; return will come from _lcd_control

_lcd_delay:
   Sbiw R30,1                           ;2 cycles
   Brne _lcd_delay                      ;2 cycles
Ret

[end]
.......
(Az utasítások előtt levő „*” jelzi, hogy a változót a .bas –ban keresse a fordító.)

; Most te döntesz! Neki mersz vágni?
; Vagy inkább megtanulod a Bascomot?
:wink: :?:

Ui.: Közben már találsz is 1 példát késleltetésre:

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

    Ldi R30, 96                         ; 100 uS delay at 4 MHz
    Ldi R31, 0
    rcall _lcd_delay

_lcd_delay:
   Sbiw R30,1                           ;2 cycles
   Brne _lcd_delay                      ;2 cycles
Ret
:idea:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Illetve asm minták vannak még pár darab a mikrokontroller.net oldalon is, illetve pár kisebb tutorial. LCD, Sorsport, IO kezelés, ADC. De komplex alkalmazásra tényleg inkább magasszintű nyelvek (C, Cpp, Bascom-AVR, uPascal).

Az ASM nem olyan rossz, főleg hogy időkritikus helyen kellhet. Ekkor ASM betétet raknak általában a kódba és a többi rész megy magas szinten...
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Kösz. Már letöltöttem a BASCOM-ot, de még nem volt idöm megnézni.

Nekem is van egy sereg ASM mintám, és egy-kettöt sikerült már magamnak is irni - és a szimulátoron müködött.
Most megépitem a HW-t és majd közben utánnanézek a BASCOM-nak.
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Robert írta:Minden tanulható....
És az oldalon itt is van 1000 minta.


Az LCD kezelés pl. 4 sor bascomban, míg ASMben ~1,5 oldal!

Gondltam hátha beletanulnál....
A Hardware már elindult, most már csak a progival kell megbirkozni...:-)


http://666kb.com/i/bscyils3ua85xqu6s.jpg
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Úristen... Nem túl nagy a HW :) ?
Avatar
etwg
Pákabűvész
Hozzászólások: 213
Csatlakozott: 2011. február 7. hétfő, 7:00

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

Nagy, de mindenre jo. Egyelöre örülök, ha a LEDeket tudom villogtatni:..

:D
Válasz küldése