Fórum témák
» Több friss téma |
Fórum » MikroPascal kérdések
Témaindító: bozsokiandras, idő: Máj 15, 2006
Témakörök:
Szia!
Kipróbáltam úgy is, hogy a Brown Out Detect-et kikapcsoltam de sajnos semmi.
Szia!
Rosszul írtam, vagyis folyamatosan világít a led nem villog.
Helló!
Tapasztaltam egy furcsa dolgot! Delay_ms(500) -al kb 150 másodpercenként kapcsolgatja a ledet. Ha lecsökkentem az időzítést 1 -re akkor kb 1,5 másodpercenként villog. Ez mitől van? Véletlenül vettem észre, hogy működik a program csak nem helyesen.
Ha a belső oszcillátort használod, akkor a program első soraiban be kellene állítanod, hogy mekkora legyen a rezgési frekvenciája. Ezt az OSCCON regiszteren keresztül lehet megtenni (adatlap). Az alaphelyzet, ha minden igaz: 31,25 kHz. Mivel 8 MHz-et állítottál be órajelnek, így a késleltetési idők se fognak stimmelni (jelentősen nőni fognak).
Szia!
Köszi a segítséget így már jó lett.
Sziasztok!
Egy kis segítségre lenne szükségem, szertnék írni egy óra programot Pic16F819 -re de sehogyan sem sikerül a Timer0 elindítanom. Program szamlalo; var szamlalo,i:integer; Procedure interrupt; begin if(INTCON.TMR0IF) then begin inc(szamlalo); if(szamlalo = 10000) then begin inc(i); szamlalo := 0 ; end; end; INTCON.TMR0IF := 0 ; end; Begin adcon1 := %10001110; trisb := 0; trisa.0 := 1; INTCON.TMR0IF := 0 ; INTCON.TMR0IE := 1 ; OPTION_REG.T0CS := 0 ; OPTION_REG.PS2 := 0 ; OPTION_REG.PS1 := 0 ; OPTION_REG.PS0 := 0 ; OPTION_REG.PSA := 1 ; while true do Begin //Itt iratnám ki az i értékét de sajnos nem számol End; End.
Az INTCON.GIE bitet is be kell kapcsolni, hogy a megszakításra ugorjon a Timer0 túlcsordulásakor.
Szia
Bekapcsoltam INTCON.GIE bitet sajnos így sem számol.
Köszi, megoldodott.
Az INTCON.GIE bitet bekapcsoltam és az OSCCON := %01110000 ; -re állítással.
Sziasztok!
Megint van egy kis problémám. Letöltöttem a Nokia3310 unitot de sajna nem akar lefordulni. A unitban ezt a hibát találja a fordító. 3.80 pro MikroPascalom van. 119 sor 304 Syntax error: Expected ";" but "data" found nokia_3310_lcd.mpas
Hello
Ha jól emlékszem, akkor azt a data változót át kell írni másra, mivel a fordító ezen verziójában a "data" foglalt szó. Üdv.
Szia
Átírtam a data -t mindenhol, de ugyanaz a hiba. Melyik verziójú fordítóval működik jól?
Az unitban sorold fel a használni kívánt eljárásokat az implementation rész ellőtt!
Kösz szépen
Megint van valami hiba.
program lcdtest; Uses NokiaLcd; Begin Nok_Init(PortB, 0, 1, 2, 3, 5); NOK_Clear; Nok_Out(0,1,'Teszt progi'); End. Nem a szöveg jelenik meg a kijelzőn hanem egy halom pixel. És amikor lekapcsolom a feszültséget egy egyenes vonal látszik kb 3 másodpercig. A feszültség: 3,38V
Lehet hogy sok a feszültség neki, amit a portokon kap!
Kipróbáltam 2,3V -al az eredmény ugyanaz.
Szia !
Állíts minden lábat digitálisra : ADCON0:=0xFF; ADCON1:=0xFF; Adatlapon nézd meg mire kell állítani , ez a 0xFF csak has/kb. Csinálj egy inicializáló részt , amit csak egyszer hívsz meg + a főprogram ( végtelen ciklus ) procedure InitMain(); begin ADCON0:=0xFF; ADCON1:=0xFF; Nok_Init(PortB, 0, 1, 2, 3, 5); NOK_Clear; End; főprogram ... begin { Main program } InitMain(); while TRUE do Begin Nok_Out(0,1,'Teszt progi'); // jó , egy utasításnál nem kell begin/end End; end. {Main program } //Én strukturáltan írtam a programrészleteket , de ez a hozzászólásszerkesztő kiszedte a sor eleji szóközöket. Bocsánat minden paszkálostól// Üdv Qka
Köszi a segítséget de nem tudom kipróbálni ugyanis történt egy kis baleset. Egy-két vezeték lelógott az asztalról a kutyám (Ördög) lerántotta, és még rá is harapott, a kijelző totálkáros lett
![]() Szereznem kell egy másik 3310 Lcd-t. Van még egy 3210 -es kijelzőm itthon de annak sajnos gumi a kivezetése és elképzelésem sincsen, hogy azt hogyan tudnám illeszteni.
Szia
Sikerült beszereznem egy másik lcd -t de sajnos azzal sem megy. Minden portot digitálisra állítottam, a comparátorokat letiltottam. Az lehet a hiba oka, hogy a belső oszcillátort használom? A belső oszcillátort az összes variációval próbáltam már. program lcdtest; Uses NokiaLcd; Begin trisa:=0; trisb:=0; ccp1con := %00000000; //comparátorok tiltása ADCON0.adon:=0; portb:=0; porta:=0; Nok_Init(PortB, 0, 1, 2, 3, 5); NOK_Clear; while true do begin Nok_Out(0,1,'Teszt progi'); end; End. Nem a szöveg jelenik meg a kijelzőn hanem egy halom pixel, és kb. 25 másodperc alatt a megjelenített pixelek, pixelenként törlödnek.
A belső oszcillátor használata nem okozhat ilyen problémát. Az tök mindegy, hogy külsőt vagy belsőt használsz.
Valamelyik config regiszterben lesz a kutya elásva. Egy ötletem van így hirtelen, az adatlap 84-ik oldalát nézd át, az adcon 1 regiszter 0-3 bitjének adni kell egy 011-es értéket, akkor állitja digitre a portokat
Szia!
Kipróbáltam de sajnos semmi változás. Így írtam be. adcon1.pcfg1:=1; adcon1.pcfg2:=1; adcon1.pcfg3:=0;
Hello
Van kondenzátor az LCD 6-os és 7-es lába között? Üdv.
Igen van 4,7u.
Valami difi van a verziok kozott. A 8.0-val siman mukodik.
(semmit sem kell inicializalni, AD atalakitok PortA-n vannak, komparator pedig alapbol tiltva)
Szia!
El tudod küldeni azt a 3310lcd unitot ami műkődik 8.0 -val neked, valahonnan leszedem a Mikropascal 8.0 -at és kipróbálom.
Probald meg ezt.
Helló
Köszi szépen de sajnos így sem megy.
Most nincs itthon más procim csak ez a 16F819 -es, majd veszek egy másik típust és azzal is kipróbálom, más ötletem nincs.
Szimulatorban mukodik.
Csatolom a hexet kulon is. (Indulaskor 8.1 a verzioszam. Aboutban viszont 8.0.0.1) |
Bejelentkezés
Hirdetés |