Atmel programozás avr studio-ban
VFX
info at vfx.hu
Sun Jan 8 21:30:43 CET 2006
Hali!
electroboy wrote:
>
> Sziasztok!
>
> Sajnos rákényszerülök, hogy legalább "alapfokon" megtanuljam asm-ben
> progizni a megákat. Tudna nekem küldeni valaki egy asm fájlt, amiben
> van port olvasás és írás, mondjuk egy végtelen ciklusba zárva. Teljesen
> kezdõ vagyok asm ügyileg, pic-et programoztam asm-ben, utoljára 4 éve.
> Esetleg egy jó linket tudna valaki ajánlani? Egyenlõre csak port
> kezelésre lenne szükségem. Láb billegetés, meg hasonlók. Nem tudom
> mennyire lényeges, AVR studio-ban szeretném írni a progit.
Itt csak asm file-okat talasz AVRre:
http://avr.vfx.hu/
Azt ugyan nem irtad melyik mega, de nagy altalanossagban az adatalp
korrekten leirja a portkezelest.
Bemasolom ide:
DDxn PORTxn PUD I/O Pull-up Comment
(in MCUCR)
0 0 X Input No Tri-state (Hi-Z)
0 1 0 Input Yes Pxn will source
current if ext. pulled low.
0 1 1 Input No Tri-state (Hi-Z)
1 0 X Output No Output Low (Sink)
1 1 X Output No Output High
(Source)
Egy porthoz tarozik:
DDRx - az poret iranyat hatarozza meg
PORTx - a port allapota ha kimenetnek allitottad, vagy pull up ki-be
kapcsolo ha bemenetnek allitottad
PINx - a port fizikai allapota, nem biztos, hogy azonos PORTx-vel
sbi DIRD,0 ;PD0 kimenet
cbi PORTD,0 ; es alacsony szintu
cbi DIRD,0 ;PD0 bemenet
cbi PORTD,0 ; es nincs pull-up
olvasni a portrol pl. in R16,PIND utasitassal tudsz
cbi DIRD,0 ;PD0 bemenet
sbi PORTD,0 ; es pull-up van
olvasni a portrol pl. in R16,PIND utasitassal tudsz
ciklusba szervezve pl.:
ldi XL,low(ciklusszam 0..0xFFFF -ig barmi)
ldi Xh,high(ciklusszam)
ldi R17,1
vissza:
in R16,PORTD ;olvasunk a prtrol
eor R16,R17
out PORTD,R16 ;visszairjuk!!!! ,de irom lentebb...
sbiw XL,1 ;csokken a ciklus szamlalo
brne vissza ;ha van meg, ugras vissza
A ciklusban csaltunk, mert nem a labon levo erteket invertaljuk, hanem
az altalunk elvart erteket
in R16,PIND helyett az in R16,PORTD-t hasznaltuk
Ennek akkor van jelentosege, ha valami beterheli a labat es pl. nem
tudja magasra huzni. Vagy tul nagy a port lab kapacitiv terhelese es ido
kell, mig beall az uj ertek. Pl. 40cm hosszu nyakon telifoldelve az
egesz nya. ekkor kelhet 3-4 orajelciklus is mig beall az uj ertek a
porton.
Nos ez igy bizonyara zavaros, de az adatlap sokkal jobban elmagyarazza,
az instruction manualt is javaslom. Nem sok utasitasa van, es konnyu
megtanulni. Foleg, hogy az ember alig hasznal 20-40 fajta utasitasnal
tobbet.
UDV. VFX.
http://www.vfx.hu
More information about the Elektro
mailing list