 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
| Poglej prejšnjo temo :: Poglej naslednjo temo |
| Avtor |
Sporočilo |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 11:39 am Naslov sporočila: 16f88 + LCD |
|
|
Živijo.
Imam problem z 16f88 čipom.
Na kratko: Ko program pride do if stavka kjer bi moral LCD spremeniti prikaz, se ne zgodi to kar bi želel.
Na dolgo: Najprej sem preizskusil delovanje pic čipa (če sem vse ok sprogramiral) z priklopom led diod. Se pravi pritisnem tipko porta.0=1...ledice zasvetijo.
V proteusu dela v realnem svetu tudi.
Potem sem se lotil LCD ko sem v simulaciji uspešno vse sprogramiral, sem
ga priključil v realnem svetu. LCD se uspešno prižge,prikaže začetno besedilo.Ko pa bi se moral lcd zbrisati in pokazati novo desedilo z pritiskom porta.0=1.....pa ni nodenega odziva.
???KAKŠNE IDEJE??? |
|
| Nazaj na vrh |
|
 |
PZUFIC Vseved


Pridružen-a: Sob 17 Nov 2007 19:06 Prispevkov: 6987 Aktiv.: 31.16 Kraj: Rakek
|
Objavljeno: Tor Avg 02, 2011 12:03 pm Naslov sporočila: |
|
|
S čim si pisal program? _________________ Ne čakaj, da se bo nekaj premaknilo pojdi in nekaj premakni.
Lp Primož |
|
| Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 15.32
|
Objavljeno: Tor Avg 02, 2011 12:08 pm Naslov sporočila: Re: 16f88 + LCD |
|
|
| jarc240 je napisal/a: |
| ???KAKŠNE IDEJE??? |
Prilepi celoten program. Nima veze v čem je pisan.
Pa prilepi ga kot "Code" v sporočilo, ne kot priponko. _________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 1:12 pm Naslov sporočila: |
|
|
| Koda: |
program basic_pro_v_5.0
dim
LCD_RS as sbit at RB0_bit
LCD_EN as sbit at RB1_bit
LCD_D7 as sbit at RB5_bit
LCD_D6 as sbit at RB4_bit
LCD_D5 as sbit at RB6_bit
LCD_D4 as sbit at RB2_bit
dim
LCD_RS_Direction as sbit at TRISB0_bit
LCD_EN_Direction as sbit at TRISB1_bit
LCD_D7_Direction as sbit at TRISB5_bit
LCD_D6_Direction as sbit at TRISB4_bit
LCD_D5_Direction as sbit at TRISB6_bit
LCD_D4_Direction as sbit at TRISB2_bit
main:
OSCCON=%01111000
trisb=00000000
trisa=15
Ansel=0
ADCON0.adon=0
CMCON=7
Lcd_Init
Lcd_Cmd(_LCD_CURSOR_OFF)
lcd_out(1,1,"rtzrz")
lcd_out(2,1,"tzutzu")
delay_ms(100)
funk:
if porta=0 then
goto funk
end if
if porta=1 then
lcd_cmd(_lcd_clear)
lcd_out(1,1,"jao")
end if
end. |
Naj še enkrat ponovim program dela samo do if stavka!!!
In sploh nevem zakaj je tu tako pomemben program ker sem že v
prvem sporočilu povedal da mi ledica dela z if stavkom.
To pomeni da ni ničnarobe s programom....LOGIČNO... |
|
| Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Tor Avg 02, 2011 1:31 pm Naslov sporočila: |
|
|
| Brisana vsebina odstranjenega uporabnika. |
|
| Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 15.32
|
Objavljeno: Tor Avg 02, 2011 2:17 pm Naslov sporočila: |
|
|
| jarc240 je napisal/a: |
| Koda: |
program basic_pro_v_5.0
dim
LCD_RS as sbit at RB0_bit
LCD_EN as sbit at RB1_bit
LCD_D7 as sbit at RB5_bit
LCD_D6 as sbit at RB4_bit
LCD_D5 as sbit at RB6_bit
LCD_D4 as sbit at RB2_bit
dim
LCD_RS_Direction as sbit at TRISB0_bit
LCD_EN_Direction as sbit at TRISB1_bit
LCD_D7_Direction as sbit at TRISB5_bit
LCD_D6_Direction as sbit at TRISB4_bit
LCD_D5_Direction as sbit at TRISB6_bit
LCD_D4_Direction as sbit at TRISB2_bit
main:
OSCCON=%01111000
trisb=00000000
trisa=15
Ansel=0
ADCON0.adon=0
CMCON=7
Lcd_Init
Lcd_Cmd(_LCD_CURSOR_OFF)
lcd_out(1,1,"rtzrz")
lcd_out(2,1,"tzutzu")
delay_ms(100)
GlavnaZ: ; glavna zanka
if porta=0 then
goto GlavnaZ
end if
; sem pride, če je porta=1
lcd_cmd(_lcd_clear)
lcd_out(1,1,"jao")
GlavnaZ1
if porta=1 then ; čaka, da spustiš tipko
goto GlavnaZ1
end if
goto GlavnaZ
end. |
To pomeni da ni ničnarobe s programom....LOGIČNO... |
O, pa še kako je narobe.
1. Ukaz end je samo ukaz, da se neha zapisovati program v PIC. Če si prej vpisal večji program, kasneje pa manjšega, bo ostanek večjega ostal vpisan, če ga nisi izrecno pobrisal.
2. Ko izpiše "jao", programski števec lepo nadaljuje in išče naslednje ukaze. Seveda jih ni, zato pride okrog in spet začne z OSCCON=%01111000
Malo sem dopolnil program, da ima GlavnaZ, v kateri kroži.
Pa malo preveri sintakso, če je if porta=1 sploh prav. Ponavadi testiraš posamezen pin oziroma porta,* , kjer je * od 0 do 5 . _________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazadnje urejal/a igo Tor Avg 02, 2011 3:16 pm; skupaj popravljeno 1 krat |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 3:12 pm Naslov sporočila: |
|
|
JAO
To sem napisal samo za demo, drugače imam pa veliko večji program.
Hotel sem samo poudariti na tiste stvari ki so pri čipu 16f88 najpomembnejši za krmiljenje LCD_ja. To pa so...
| Koda: |
dim
LCD_RS as sbit at RB0_bit
LCD_EN as sbit at RB1_bit
LCD_D7 as sbit at RB5_bit
LCD_D6 as sbit at RB4_bit
LCD_D5 as sbit at RB6_bit
LCD_D4 as sbit at RB2_bit
dim
LCD_RS_Direction as sbit at TRISB0_bit
LCD_EN_Direction as sbit at TRISB1_bit
LCD_D7_Direction as sbit at TRISB5_bit
LCD_D6_Direction as sbit at TRISB4_bit
LCD_D5_Direction as sbit at TRISB6_bit
LCD_D4_Direction as sbit at TRISB2_bit
main:
OSCCON=%01111000
trisb=00000000
trisa=15
Ansel=0 'vsi pini digitalni
ADCON0.adon=0 'izklopi primerjalnik
CMCON=7
Lcd_Init
Lcd_Cmd(_LCD_CURSOR_OFF) |
nič ni narobe s programom naj ponovim!!! |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 3:14 pm Naslov sporočila: |
|
|
Izvedel sem simulacijo v proteusu, še preden sem šel praktično sestavljat vezje.
Zato bi lepo prosil če bi se usmerili od programa stran. |
|
| Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 15.32
|
Objavljeno: Tor Avg 02, 2011 3:34 pm Naslov sporočila: |
|
|
| jarc240 je napisal/a: |
| Zato bi lepo prosil če bi se usmerili od programa stran. |
Ja potem pa shemo pripni .
Če je tudi preostanek programa pisan v stilu pripetega, je možno marsikaj. Dodaj vsaj čakanje na spuščeno tipko
| Koda: |
lcd_out(1,1,"jao")
GlavnaZ1:
if porta=1 then ; čaka, da spustiš tipko
goto GlavnaZ1
end if |
, da vidiš, če bo izpisalo. Kajti lcd se lahko izpiše, nato pa tako hitro nekje pobriše, da izpisa sploh ne opaziš. Če bo sedaj izpisalo tisti "jao" se ne hecat, ampak pripni celoten program. _________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
| Nazaj na vrh |
|
 |
RGorazd Član


Pridružen-a: Čet 20 Maj 2004 15:57 Prispevkov: 1717 Aktiv.: 6.95 Kraj: Ig
|
Objavljeno: Tor Avg 02, 2011 3:43 pm Naslov sporočila: |
|
|
Hja no, če ti napiše tisti blabla v prvem delu, potem je pravilno povezan, in če ne deluje je kriv samo program.
Zakaj ne neradiš ene neskončne zanke, kjer s tipko postavljaš en flag, na podlagi tega flaga pa izven te zanke izpisuješ ustrezen tekst?
LP G _________________ .
._. _ _ ._. _.__. _|
[ (_](_)[ (_] /_(_]
._| |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 3:54 pm Naslov sporočila: |
|
|
Dobro zmagal ste predajam se.
Ampak potem res upam na kakšne dobre nasvete.
[code]program MyProject
'!!!!!izsklopi v winpic 800 (LVP)!!!!!
nič nebo s programom

Nazadnje urejal/a jarc240 Tor Avg 02, 2011 7:59 pm; skupaj popravljeno 1 krat |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 3:57 pm Naslov sporočila: |
|
|
porta.0=1 ===== porta=1
preverjeno |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 4:25 pm Naslov sporočila: |
|
|
Sigurno je kriva testna testna ploščica ki zapisuje program v izbrani pic.
Jaz imam ploščico ki smo jo naredili v srednji:| .Kaj pa vem.
Kaj pa mogoče če bi kdo pogledal na svoji testni ploščici in 16f88 kako dela vse skupaj pri njemu, kakšne nastavitve je uporabil...itd
Če ma kdo testno ploščico z vgrajenim LCD-jem...  |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 4:32 pm Naslov sporočila: |
|
|
16f88 plačam jaz  |
|
| Nazaj na vrh |
|
 |
jarc240 Član

Pridružen-a: Pon 12 Apr 2010 16:41 Prispevkov: 23 Aktiv.: 0.12 Kraj: Lj
|
Objavljeno: Tor Avg 02, 2011 5:04 pm Naslov sporočila: |
|
|
No kar pogumno.
OGLAS:
Prijazen mladenič ki ne grize in ima izbran smisel za humor, išče elektronika, ki bi mu vprogramiral program v PIC. Zaželena testna ploščica z vgrajenim LCD-jem.
Cena--- 0 eu
Podkupnina--- Pic 16f88 + Pijača(po dogovoru)
Oglasu poteče veljavnost 8.avgusta.2011 |
|
| 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: 233 dni
Powered by phpBB © 2001, 2005 phpBB Group
|