Fórum témák

» Több friss téma
Fórum » PIC BASIC
 
Témaindító: hinar_, idő: Máj 7, 2008
Témakörök:
Lapozás: OK   9 / 23
(#) brato hozzászólása Márc 17, 2011 /
 
Üdv!

Már igen régóta kínlódok egy 160x80 pixeles grafikus kijelzővel.
A kijelzőn LC7981 vezérlő található. 20 tűs csatlakozó van rajta.
Kiosztása mérés alapján:
1. GND
2. VDD
3. CONTRAST
4. RS
5. RW
6. EN
7. - 14. D0-D7
15. CS
16. RESET
17. VEE
18. LED -
19. No connect
20. LED +

Sehogyan sem bírtam működésre.
Csak teljes sötét képet ad, vagy függőleges vonalakat.
Nincs valakinek egy pédaprogramja proton basic-ben vagy bármilyen nyelven amivel működésre tudnám bírni?
16F877 piccel próbálkozom.
(#) Kotesz hozzászólása Márc 18, 2011 /
 
Szertnék egy ilyen ledes villogót megvalósítani.
12f508
  1. TRISB = %00000000    
  2.         Low power
  3.         High vent
  4.         DelayMS 250000                          ' Vár 250 s
  5.        Low vent
  6.        High power
  7.         DelayMS 2000                            ' Vár 20 s
  8.         Low power
  9.         End                                     ' loop


beégetés utan próbapanelen kipróbálva 55s után már vált a "power".
És nem tudom miért.
Nincs külső kvarc rajta, xtal nincs beállítva.
Sgítséget szeretnék kérni
(#) Ideiglenes válasza Kotesz hozzászólására (») Márc 18, 2011 /
 
A DelayMS eljárás( függvény? ) ha csak 16 bittel dolgozik, akkor a 250000-es érték nem fér bele. Oszd fel 5 egyenlő részre!
DelayMS 50000
DelayMS 50000
DelayMS 50000
DelayMS 50000
DelayMS 50000
(#) Kotesz válasza Ideiglenes hozzászólására (») Márc 18, 2011 /
 
köszönöm szépen válaszod máris tesztelem.
(#) Kotesz válasza Kotesz hozzászólására (») Márc 18, 2011 /
 
Köszi szépen működik rendesen
(#) Ideiglenes válasza Kotesz hozzászólására (») Márc 18, 2011 /
 
Remek.
(#) Kotesz hozzászólása Márc 19, 2011 /
 
Proton ide compiler-ben próbálkozok a következő led villogtató progival:

  1. Device = 12F508
  2.         All_Digital = TRUE
  3.         TRISB = 0       ' PORTB minden lába kimenet          
  4.        Low portb.1
  5.        High portb.2
  6.         DelayMS 5000                            ' Vár 5 s
  7.        
  8.         High portb.1
  9.                                                
  10.         End                                     ' loop


Beégetve a picbe semmit nem csinál, tápot megkapja a pic de egyik portot sem vezérli.
A belső oscillátort akarom használni.

Mit nem csinálok jól?
(#) Thowra válasza Kotesz hozzászólására (») Márc 19, 2011 /
 
Üdv!
Lehet, hogy a lábak elnevezése a gond.
A forditó engedi portb vel is és gpio val is.
Pic12F629 et szoktam használni, ott a tris* helyett trisio*, port* helyett gpio* kell. Ha van benne A/D csak akkor kell az all digital os sor.

  1. Device = 12F508
  2.  
  3.        All_Digital = TRUE
  4.  
  5.         TRISIO = 0       ' PORT minden lába kimenet          
  6.  
  7.        Low gpio.1
  8.  
  9.        High gpio.2
  10.  
  11.        DelayMS 5000                ' Vár 5 s
  12.  
  13.         High gpio.1
  14.  
  15.         End                               ' loop
(#) Kotesz válasza Thowra hozzászólására (») Márc 19, 2011 /
 
Sajnos ez sem jó, de azért köszönöm a segítőkészségedet.
Esetleg egyéb ötleted?
(#) Thowra válasza Kotesz hozzászólására (») Márc 19, 2011 /
 
Külső oszcillátorral se megy?
(#) Thowra válasza Kotesz hozzászólására (») Márc 19, 2011 /
 
Szimulálva ez megy, a gpio0 és 1 felváltva villog.
(#) Kotesz válasza Thowra hozzászólására (») Márc 19, 2011 /
 
beégetve nem működik
(#) Thowra válasza Kotesz hozzászólására (») Márc 19, 2011 /
 
Mivel égeted?
Tettél rá külső oszcillátort?
Milyen beállításokkal programozod?
(#) alibaba40 válasza Kotesz hozzászólására (») Márc 20, 2011 /
 
Üdv!
A DEVICE=12f508 sor után tedd de még ezt a sort:
CONFIG INTRC_OSC_NOCLKOUT,WDT_OFF,BODEN_ON,MCLRE_OFF
Így már működnie kell!
(#) alibaba40 válasza alibaba40 hozzászólására (») Márc 20, 2011 /
 
Amúgy itt van egy nagyon jó kis oldal a Proton basic-eseknek:Bővebben: Link
(#) Kotesz válasza Thowra hozzászólására (») Márc 20, 2011 /
 
szilva féle pickit2 - vel.
Nem tettem rá külső oscillátort.
csatoltam a beállításokat.

pickit2.JPG
    
(#) Kotesz válasza alibaba40 hozzászólására (») Márc 20, 2011 /
 
köszönöm válaszod ddee sajna igy hibát talál a compiler.

proton.JPG
    
(#) Kotesz válasza alibaba40 hozzászólására (») Márc 20, 2011 /
 
  1. Config INTRC_OSC,WDT_OFF,MCLRE_OFF



Csak ennyi állítható be A 12F508 esetén.
De arra még nem találtam választ hogy ha GPIO.1 és a GPIO.0-t haszálom akkor tökéletesen villog mindkét led.
Ha GPIO.1 és a GPIO.2 van használatban akkor csak a GPIO.1 led működik.
Miért?
(#) Kotesz válasza alibaba40 hozzászólására (») Márc 23, 2011 /
 
Szia!
Irtam protonban egy programot mely szerint ha a gpio.1 lábat gnd-re húzom a led a Gpio.2-n 4s-ig világít.
  1. Device = 12F508
  2.         Config INTRC_OSC,WDT_OFF,MCLRE_OFF
  3.        
  4.         All_Digital = TRUE
  5.         Input GPIO.1       ' Portio 1 bement
  6.        Output GPIO.2       ' PORTIO 2 kimenet          
  7.         OPTION_REG.5 = 0
  8.         Dim be As Bit
  9.  
  10. main:  
  11.         be= PulsIn GPIO.1 , 0
  12.         GoTo led
  13.  
  14. led:
  15.         High GPIO.2
  16.         DelayMS 4000
  17.         Low GPIO.2
  18.         GoTo main
  19.  
  20. End


A próbapanelen történő összerakás után nem működik a célnak megfelelően.
A led a táp rákapcsolásakor 4s-ig világít hiába nincs gnd-n a gpio.1.Pedig a lefutó élre lett bekapcsolva a pulsin.
1s után újraindul a folyamat.
Nekem arra lenne szükségem hogyha a gpio.1-et gnd-re húzom akkor a led 4s-ig világítson, majd csak ha ujra gndre húzom akkor ismét 4s-ig világítson.
(#) Ideiglenes válasza Kotesz hozzászólására (») Márc 24, 2011 /
 
És amúgy a GPIO.1- fel van húzva ellenállással a tápra?
(#) icserny válasza Kotesz hozzászólására (») Márc 24, 2011 /
 
Nem látok feltételvizsgálat a programodban, feltétel nélkül rámegy a LED rutinra.
(#) Kotesz válasza Ideiglenes hozzászólására (») Márc 24, 2011 /
 
nincs, de ha felhúzom akkor müködik az alábbi program.

  1. Device = 12F508
  2.         Config INTRC_OSC,WDT_OFF,MCLRE_OFF
  3.        
  4.         All_Digital = TRUE
  5.         Input GPIO.1       ' Portio 1 bement
  6.        Output GPIO.2       ' PORTIO 2 kimenet          
  7.         OPTION_REG.5 = 0
  8.         Dim BE As Bit
  9. main:  
  10.         BE = GPIO.1
  11.         If BE =0 Then
  12.             High GPIO.2
  13.             DelayMS 4000
  14.             Low GPIO.2
  15.             GoTo main
  16.         Else
  17.             Low GPIO.2
  18.             GoTo main
  19.         End If
  20. End


Hogyan tudom bekapcsolni a gpio.1-en a felhúzóellenállást?
(#) Kotesz válasza Kotesz hozzászólására (») Márc 24, 2011 /
 
Itt a válasz

  1. OPTION_REG.6 = 0
(#) Kotesz válasza Kotesz hozzászólására (») Márc 24, 2011 /
 
Tovább szeretnék lépni.

Ha a gomb v. kapcsoló(gpio.1) zárva maradna akkor a program csak egyszer lefut majd csak akkor induljon újra ha a gombot előbb elengedem majd ismét zárom.

Ezt hogyan tudom a programban megirni?
(#) Thowra válasza Kotesz hozzászólására (») Márc 25, 2011 /
 
Üdv!
Egy megoldás ha a gomb elengedéséig vársz.
  1. If be=0 then
  2. elenged:
  3. if be=0 then goto elenged
  4. ...
  5. amit a gomb lenyomása után akarsz indítani
  6. ...
  7. endif
(#) Kotesz válasza Thowra hozzászólására (») Márc 25, 2011 /
 
Én azt szeretném elérni hogy ha lenyomom a gombot akkor a program fusson le egyszer még akkor is ha a gomb lenyomva marad, de ismét csak akkor fusson le ha a gombot előtte egyszer elengedem.
(#) Ideiglenes válasza Kotesz hozzászólására (») Márc 25, 2011 /
 
Le tudnád rajzolni a folyamatábráját?
(#) Jack Byrnes hozzászólása Márc 28, 2011 /
 
Üdv!

PICBACIS PRO-val kapcsolatban lenne kérdésem. PIC16F88-al szeretnék egy LCD kijelzőt vezéreltetni. De sajnos sehogy se jön össze. Ezt írtam:

DEFINE LCD_DREG PORTA
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 5
DEFINE LCD_LINES 2

trisa=0
trisb=0

LCDOUT $FE,1

kezd:
LCDOUT "SZOVEG"
GOTO kezd
END

Kötések:
D4-D7: porta 0-3
RS: portb 4
E: portb 5

Nem tudom miért, de nem működik. Tudja valaki, hol a hiba?
(#) brato válasza Jack Byrnes hozzászólására (») Márc 28, 2011 /
 
Üdv!

Protonban ha 4 bites adatbuszt használok akkor azt LCD_DTPIN PORTB.4 formában kell megadnom. Ekkor a port felső négy bitjét kell használni.
Lehet, hogy neked is igy kellene.
DEFINE LCD_DBIT 4
(#) Báddzsó válasza Jack Byrnes hozzászólására (») Márc 28, 2011 /
 
Nekem így működik egy régebbi progimban:
define OSC 4
Define LCD_DREG PORTA
Define LCD_DBIT 0
Define LCD_RSREG PORTA
Define LCD_RSBIT 4
Define LCD_EREG PORTB
Define LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 1690 'Command delay time in us
DEFINE LCD_DATAUS 40 'Data delay time in us

Ami biztos, hogy kell, amit lehagytál az ez:
DEFINE LCD_BITS 4
Következő: »»   9 / 23
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem