|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Soriyyx Član
Pridružen-a: Pet 26 Apr 2013 15:18 Prispevkov: 15 Aktiv.: 0.11 Kraj: Krško
|
|
Nazaj na vrh |
|
|
protoncek Član
Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 45.47 Kraj: Mengeš
|
Objavljeno: Pet Apr 26, 2013 3:43 pm Naslov sporočila: |
|
|
Si v bascomu dal notri ukaz config lcd? Pa Načeloma se pinov nikoli ne nastavlja v nastavitvah, ampak vedno v programu samem. Zakaj? k je tako bolj pregledno. Dati moraš ukaz config lcd=16*2 ter zatem še config lcdpin= ter tukaj navesti prave porte za posamezne pine. Sice bi delalo če določiš pine v nastavitvah, ne bo pa delalo če ne vpišeš ukaza config lcd=16*2. Je pa skrajno nepregledno, če to določaš v nastavitvah, zato tega noben ne dela.
Še to: ukaz, napisan v programu je prvi po prioriteti, kar pomeni da v nastavitvah ne rabiš nič spreminjati ker jih compiler ignorira. Jaz v bistvu nikoli ničesar ne delam v nastavitvah. Vse izključno v programu. |
|
Nazaj na vrh |
|
|
Highlag Član
Pridružen-a: Pet 23 Jan 2004 20:42 Prispevkov: 4034 Aktiv.: 18.03 Kraj: Črnuče
|
Objavljeno: Pet Apr 26, 2013 3:44 pm Naslov sporočila: |
|
|
Si poizkusil znižati kontrast na LCD-ju? Moraš nekje imeti potenciometer.
Če imaš narobe nastavljeno frekvenco procesorja tudi ne bo delovalo.
Pini morajo biti definirani kot izhodni.
Tole je generičen odgovor, ker AVR in bascoma ne poznam
Kodo lahko pripenjaš direktno na forum, slike tudi. Imaš gumb Code za kodo, sliko pa pripneš kot priponko. _________________ If at first you don't succeed, destroy all evidence that you tried. |
|
Nazaj na vrh |
|
|
Soriyyx Član
Pridružen-a: Pet 26 Apr 2013 15:18 Prispevkov: 15 Aktiv.: 0.11 Kraj: Krško
|
Objavljeno: Pet Apr 26, 2013 3:53 pm Naslov sporočila: |
|
|
Imam zraven potenciometer ter sem ga tudi spreminjal vendar se ni zgodilo nič nepričakovanega (kontrast kvadratkov se je spreminjal). Frekvenca se je nastavila avtomatsko, ko sem na programu, ki zapisuje HEX kodo na čip nastavil kateri čip uporabljam.
Bascom kodi sem sedaj nastavil LCD parametre ter output:
Koda: |
Config Portd = Output
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , E = Portd.3 , Rs = Portd.2
Cls
Lcd "Hello!"
Wait 1
End |
|
|
Nazaj na vrh |
|
|
protoncek Član
Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 45.47 Kraj: Mengeš
|
Objavljeno: Pet Apr 26, 2013 3:53 pm Naslov sporočila: |
|
|
Evo tole kodo sprogramiraj in mora delat. Tako naj bi izgledal vsak program.
PAZI!!! frekvenco kristala spremeni, če ne uporabljaš 1 MHz"
Koda: |
$regfile "m16def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Cursor Off Noblink
' Main loop
Do
Cls
Locate 1 , 1
Lcd "Hello world!"
Locate 1 , 1
Lcd "Test displeja!"
Wait 2
Loop |
EDIT: medtem, ko preizkušaš še malce nasvetov:
- ne moreš porta D konfigurirati kot output, potem ga pa uporabiti za LCD. Ali eno ali drugo.
.
VEDNO!!! naj bo v programu glava, torej regfile, crystal, potem še trije ukazi:$hwstack = 32
$swstack = 16
$framesize = 32
ki določajo velikost sklada. številke se seveda spreminjajo.
EDIT2: spremenil pind... v portd...čeprav oboje dela...
Nazadnje urejal/a protoncek Pet Apr 26, 2013 4:04 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
|
Soriyyx Član
Pridružen-a: Pet 26 Apr 2013 15:18 Prispevkov: 15 Aktiv.: 0.11 Kraj: Krško
|
Objavljeno: Pet Apr 26, 2013 4:04 pm Naslov sporočila: |
|
|
Žal je rezultat isti: kvadratki v zgornji vrsti.
Dopolnil sem svoj header z pravilnimi podatki:
Koda: |
$regfile = "m16def.dat"
$Crystal=4000000
$hwstack=40
$swstack=16
$framesize=32
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Pind.4 , Db5 = Pind.5 , Db6 = Pind.6 , Db7 = Pind.7 , E = Pind.3 , Rs = Pind.2
Cursor Off Noblink
' Main loop
Do
Cls
Locate 1 , 1
Lcd "Hello world!"
Locate 1 , 1
Lcd "Test displeja!"
Wait 2
Loop |
|
|
Nazaj na vrh |
|
|
protoncek Član
Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 45.47 Kraj: Mengeš
|
Objavljeno: Pet Apr 26, 2013 4:05 pm Naslov sporočila: |
|
|
hm...imaš vse ostale DIP stikala na OFF? poskusi izklopit LEDice, včasih lahko tudi to nagaja. |
|
Nazaj na vrh |
|
|
Soriyyx Član
Pridružen-a: Pet 26 Apr 2013 15:18 Prispevkov: 15 Aktiv.: 0.11 Kraj: Krško
|
Objavljeno: Pet Apr 26, 2013 4:13 pm Naslov sporočila: |
|
|
Vsi so sedaj na off razen za LCD osvetlitev. Sem pa sedaj opazil eno zanimivo zadevo; pomislil sem, da je mogoče kaj narobe z procesorjem in sem ga zato odstranil ter v ploščo pritrdil popolnoma novega še brez kakršnekoli kode, takoj po zamenjavi ko sem ploščo nazaj prižgal je LCD zaslonček že svetil z kvadratki. |
|
Nazaj na vrh |
|
|
protoncek Član
Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 45.47 Kraj: Mengeš
|
Objavljeno: Pet Apr 26, 2013 4:17 pm Naslov sporočila: |
|
|
Če LCD kaže črne kvadratke v gornji vrstici, to pomeni da je LCD živ, a ni inicializiran. PO domače, LCD čaka na karkoli - ukaz....
ŠE nekaj - v fusebitih - imaš JTAGEN izključen? Če ne, ga izključi.
Sicer poskusi tole: vzemi ven LCD, vključi ledice ter naloži v mego spodnji program. Če je vse v redu s procesorjem morajo ledice porta d utripati levo-desno.
Odveč je opomniti da izključi napajanje preden karkoli jemlješ ven ali daješ notri, kajne?
Koda: |
$regfile = "m16def.dat"
$Crystal=4000000
$hwstack=40
$swstack=16
$framesize=32
Config Portd = Output
Dim N As Byte
Do
For N = 0 To 7
Set Portd.n
Waitms 200
Reset portd.n
Next
For N = 6 To 1 Step -1
Set Portd.n
Waitms 200
Reset Portd.n
Next
Loop |
|
|
Nazaj na vrh |
|
|
Soriyyx Član
Pridružen-a: Pet 26 Apr 2013 15:18 Prispevkov: 15 Aktiv.: 0.11 Kraj: Krško
|
Objavljeno: Pet Apr 26, 2013 4:22 pm Naslov sporočila: |
|
|
JTAG je izključen. Koda deluje, in LEDice lepo skačejo. |
|
Nazaj na vrh |
|
|
RGorazd Član
Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1713 Aktiv.: 7.66 Kraj: Ig
|
Objavljeno: Pet Apr 26, 2013 4:24 pm Naslov sporočila: |
|
|
Kvadratki se prižgejo takoj, ko vklopiš napajanje. LCD ti pove, da deluje (kobajagi), vendar ni inicializiran.
Delo z LCDjem v Bascomu je precej enostavno. Najprej poglej z instrumentom, če ti pridejo pravi pini LCDja na prave pine AVRja. Kako imaš vezan R/W? Je vezan na maso? Bascom ne upošteva busy signala iz lcdja. Niti ne zna brati RAMa LCDja, tako da se R/W veže na maso. Če je le ta v zraku, ti LCD ne bo deloval.
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
Nazaj na vrh |
|
|
Soriyyx Član
Pridružen-a: Pet 26 Apr 2013 15:18 Prispevkov: 15 Aktiv.: 0.11 Kraj: Krško
|
|
Nazaj na vrh |
|
|
protoncek Član
Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 45.47 Kraj: Mengeš
|
Objavljeno: Pet Apr 26, 2013 4:35 pm Naslov sporočila: |
|
|
LEDice torej utripajo..pa utripajo s pravo frekvenco? Ker pavza 200 ms, bi moralo v eni sekundi priti od prve do pete....preveri. Namreč, če je frekvenca oscilatorja napačno izbrana tudi LCD ne bo delal.
Sicer je v skrajnem primeru možno, da LCD ne deluje...je nov?
Ko naložiš testni program za LCD - vklopi ledice - ti ledice porta D naključno utripajo ali se nič ne dogaja?
BTW...v prvi kodi sem najprej napačno napisal v vrstici config lcdpin - po pravilih mora biti tako, kot si imel ti - db4:PORTd.4 in ne PINd.4... sicer kot je meni znano deluje oboje, a vseeno popravi. |
|
Nazaj na vrh |
|
|
Soriyyx Član
Pridružen-a: Pet 26 Apr 2013 15:18 Prispevkov: 15 Aktiv.: 0.11 Kraj: Krško
|
Objavljeno: Pet Apr 26, 2013 4:43 pm Naslov sporočila: |
|
|
Sem štopal in dobim ustrezni čas. LCD je popolnoma nov, danes je prišel po pošti. PD2 in PD4 konstantno gorita. PD3, PD5-7 na 1 sekundo skupaj utripnejo vendar ne v polni svetlosti. |
|
Nazaj na vrh |
|
|
protoncek Član
Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 45.47 Kraj: Mengeš
|
Objavljeno: Pet Apr 26, 2013 5:09 pm Naslov sporočila: |
|
|
Ravno delam isto - samo na avr7...
ni mi še uspelo ugotoviti, zakaj se po končanem programiranju nič ne dogaja...dokler zadevo na trdo ne resetiram - izklop napajanja in ponoven vklop... Tudi reset tipka ne pomaga, mega ne dela nič, doker ne izgubi napajanja. poskusi s tem, če bo šlo... če kaj ugotovim, poročam.
EDIT: sedaj (pol ure kasneje) zadeva iz neznanih razlogov dela...
Nazadnje urejal/a protoncek Pet Apr 26, 2013 5:30 pm; skupaj popravljeno 1 krat |
|
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: 97 dni
Powered by phpBB © 2001, 2005 phpBB Group
|