|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Sokrat Član
Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 25.05
|
Objavljeno: Čet Apr 30, 2009 12:02 pm Naslov sporočila: |
|
|
Nekaj presledkov (' ') pred drugimi znaki ... _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.29 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Apr 30, 2009 3:13 pm Naslov sporočila: |
|
|
Lahko tako, kot ti je svetoval Sokrat. Lahko pa tudi preden začeš pisat postaviš kazalček na ustrezno vrstico.
V ta namen je tale procedura:
Koda: |
;-------------------------------------------------------
;klic procedure premakne mesto vpisa
;v prvo ali drugo vrstico
;-------------------------------------------------------
VRSTA2:
ldi tmp,0b11000001
rjmp VRSTA1a
VRSTA1:
ldi tmp,0b10000000
VRSTA1a:
cbi PORTB,RS
rcall POSLJI_ZNAK
rcall PAVZA15mS
ret |
Dejansko potrebuješ le tole:
Koda: |
ldi tmp,0b1000000+x ;x je število mest od izhodišča prve vrstice
;ali
ldi tmp,0b1100000+x ;x je število mest od izhodišča druge vrstice
cbi PORTB,RS
rcall POSLJI_ZNAK
|
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
jerny Član
Pridružen-a: Čet 17 Apr 2008 11:27 Prispevkov: 414 Aktiv.: 2.12 Kraj: Dravograd
|
Objavljeno: Sob Maj 02, 2009 1:07 pm Naslov sporočila: |
|
|
surla je napisal/a: |
Nikoli še nisem imel v rokah tega tvojega Atmela ampak mislim , da gre takole
Koda: |
ldi tmp,'U'
rcall POSLJI_ZNAK
ldi tmp,'='
rcall POSLJI_ZNAK
mov tmp,TTICA
rcall LCD_CIFRA
mov tmp,STICA
rcall LCD_CIFRA
mov tmp,DTICA
rcall LCD_CIFRA
ldi tmp,'.'
rcall POSLJI_ZNAK
mov tmp,ENICA
rcall LCD_CIFRA
ldi tmp,'V'
rcall POSLJI_ZNAK
rjmp ZANKA2
kar se pa tiče poravnave pa ne vem kaj bi rad , bolj razloži! |
|
Dopisal sem zgoraj omenjeno, in zadeva izpisauje neke čudne znake (!?II). Poizkusil sem tudi dodati U in I v tabelo in ni nič bolje. Zakaj, kaj moram storiti? _________________ Če smrdi je kemija, če kadi pa elektronika! |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.29 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sob Maj 02, 2009 3:09 pm Naslov sporočila: |
|
|
Vzrok za težavo je, da displej prejema instrukcijo. (nizek RS pin) namesto vpisa v podatkovni ram.
Glej primer:
Koda: |
ldi tmp,0b10000000+3 ;premik kazalčka v prvo vrsto na začetek + 3 znake
cbi PORTB,RS ;poslana bo instukcija
rcall POSLJI_ZNAK ;Izvede ukaz
|
Napis "Test" od 3 znaka dalje:
Koda: |
sbi PORTB,RS ;vpis v podatkovni ram (pisanje na displej)
ldi tmp,'T' ;prepis v register tmp
rcall POSLJI_ZNAK ;procedura izvede vpis
ldi tmp,'e' ;prepis v register tmp
rcall POSLJI_ZNAK ;procedura izvede vpis
ldi tmp,'s' ;prepis v register tmp
rcall POSLJI_ZNAK ;procedura izvede vpis
ldi tmp,'t' ;prepis v register tmp
rcall POSLJI_ZNAK ;procedura izvede vpis |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
jerny Član
Pridružen-a: Čet 17 Apr 2008 11:27 Prispevkov: 414 Aktiv.: 2.12 Kraj: Dravograd
|
Objavljeno: Sre Maj 13, 2009 8:16 pm Naslov sporočila: |
|
|
Hvala silvo. Vse sem nekako zmozgal le tisti pozdravni napis mi dela težave. Če pobrišem tole proceduro mi zadeva spoh ne deluje več (na lcd-ju se nič ne izpiše).
Koda: |
;pozdravni napis
rcall LCD_INIC ;inicializacija LC
ldi tmp,0b00001100
rcall POSLJI_ZNAK ;izklop cursorja
ldi ZL,low(NAPIS*2)
ldi ZH,high(NAPIS*2)
rcall LCD_TXT ;pozdravni napis 1/2 displeja
cbi PORTB,RS
ldi tmp,0b11000000 ;premik na drugo polovico
rcall POSLJI_ZNAK
ldi ZL,low(NAPIS1*2)
ldi ZH,high(NAPIS1*2)
rcall LCD_TXT ;pozdravni napis 2/2 displeja
rcall PAVZA1s
cbi PORTB,RS
ldi tmp,0b00000001 ;birsanje displeja
rcall POSLJI_ZNAK
|
_________________ Če smrdi je kemija, če kadi pa elektronika! |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.29 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Maj 13, 2009 9:26 pm Naslov sporočila: |
|
|
Ne izbrisat vsega, ampak le tole:
Koda: |
ldi ZL,low(NAPIS*2)
ldi ZH,high(NAPIS*2)
rcall LCD_TXT ;pozdravni napis 1/2 displeja
cbi PORTB,RS
ldi tmp,0b11000000 ;premik na drugo polovico
rcall POSLJI_ZNAK
ldi ZL,low(NAPIS1*2)
ldi ZH,high(NAPIS1*2)
rcall LCD_TXT ;pozdravni napis 2/2 displeja
rcall PAVZA1s |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
xsyt Član
Pridružen-a: Sre 28 Maj 2008 22:19 Prispevkov: 1346 Aktiv.: 6.95 Kraj: Slov.Bistrica
|
Objavljeno: Sre Jan 27, 2010 1:27 pm Naslov sporočila: |
|
|
Bi se dalo narediti, da bi pri določeni doseženi vrednosti ADCja preklopi en pin na visoko stanje? Se nekaj trudim okrog tega, pa me assembler muči.. |
|
Nazaj na vrh |
|
|
Silvo Moderator
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14555 Aktiv.: 65.29 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Jan 27, 2010 2:10 pm Naslov sporočila: |
|
|
xsyt je napisal/a: |
Bi se dalo narediti, da bi pri določeni doseženi vrednosti ADCja preklopi en pin na visoko stanje? Se nekaj trudim okrog tega, pa me assembler muči.. |
Seveda - vrednost primerjaš z izmerjeno. Pic nima instrukcije za direktno primerjanje, zato od izmerjene vrednosti odšteješ primerjalno vrednost ter opazuješ statusne bite. nekako tako:
Koda: |
;izmerjena vrednost je v Izmerjeno
movlw .100 ;prmeralna vrednost
subwf Izmerjeno,w
btfsc STATUS, Z
goto VednostEnaka
..... |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
|
xsyt Član
Pridružen-a: Sre 28 Maj 2008 22:19 Prispevkov: 1346 Aktiv.: 6.95 Kraj: Slov.Bistrica
|
Objavljeno: Sre Jan 27, 2010 11:06 pm Naslov sporočila: |
|
|
Aha, torej potem gledaš bit (Z - zero?) v STATUS registru, ki spremeni vrednost, ko doseže v W vrednost 0. Bolj preprosto kot sem mislil. Hvala! |
|
Nazaj na vrh |
|
|
marijan Član
Pridružen-a: Čet 10 Jul 2008 14:46 Prispevkov: 80 Aktiv.: 0.42 Kraj: ORMOŽ
|
Objavljeno: Pet Feb 12, 2010 12:11 am Naslov sporočila: |
|
|
Gospod Silvo,
naredil sem vatmeter po http://homepages.paradise.net.nz/bhabbott/wattmeter.html[url]. V originalni verziji vse deluje zelo dobro. Moj vatmeter meri napetost do 100V in tok do 50A. Spremenjen je program, na vhodu sem zamenjal tudi razdelilec napetosti. Na vhodu op. ojačevalnika sem zamenjal upor. Napetosti meri zelo dobro, a tok skače od 3A do max. vrednosti.Merenje toka je neuporabno.Zaradi toka ne meri dobro Ah in W.Autor vatmetra mi je spreminjal program.Bi mogoče vi vedli vzrok? Nevem programirati mikrokontrolerje (zelo malo), ker sem malo starejša generacija in se nisem s tem ukvarjal.Prosim moderatorja da izbriše to sporočilo če ne odgovarja tej temi.
Lep pozdrav. [/url] |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 74 dni
Powered by phpBB © 2001, 2005 phpBB Group
|