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
Tartózkodási hely: Ausztria
Kapcsolat:

Segitség egy (ujra-) kezdönek

HozzászólásSzerző: etwg » 2011. március 28. hétfő, 15:33

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: 10065
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. március 28. hétfő, 21:26

??? 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
Tartózkodási hely: Ausztria
Kapcsolat:

HozzászólásSzerző: etwg » 2011. március 28. hétfő, 21:30

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: 10065
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. március 29. kedd, 4:41

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
Tartózkodási hely: Ausztria
Kapcsolat:

HozzászólásSzerző: etwg » 2011. március 29. kedd, 5:02

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: 10065
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. március 29. kedd, 5:10

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
Tartózkodási hely: Ausztria
Kapcsolat:

HozzászólásSzerző: etwg » 2011. március 29. kedd, 7:41

Kösz

sajnos Basicban (BASCOM) nem tudok programozni igy mindent ASM-ben irok.

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

HozzászólásSzerző: Robert » 2011. március 29. kedd, 8:06

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
Tartózkodási hely: Ausztria
Kapcsolat:

HozzászólásSzerző: etwg » 2011. március 29. kedd, 8:09

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

Kösz

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

HozzászólásSzerző: kapu48 » 2011. március 29. kedd, 10:55

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: 10065
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. március 29. kedd, 12:22

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
Tartózkodási hely: Ausztria
Kapcsolat:

HozzászólásSzerző: etwg » 2011. március 29. kedd, 13:42

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
Tartózkodási hely: Ausztria
Kapcsolat:

HozzászólásSzerző: etwg » 2011. április 4. hétfő, 20:00

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: 10065
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2011. április 4. hétfő, 20:10

Ú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
Tartózkodási hely: Ausztria
Kapcsolat:

HozzászólásSzerző: etwg » 2011. április 4. hétfő, 20:33

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

:D


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

Ki van itt

Jelenlévő fórumozók: Bing [Bot] valamint 1 vendég