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:
Nem tudom megmagyarázni, de ha az ADCON0, ADCON1 biteket nem külön-külön állítom akkor megy:
TRISC.0:=1; ANSELC.0:=1; ADCON0:=%0010000; ADCON1:=%11010000; ennyi az inicializálás, és tökéletes. Ugyan ez volt a ADCinit eljárásban is, csak bitenként. Lehet hogy valami MikroPascal bug?
Amikor bitenként állítod be akkor minden bitnek adj értéket, mert lehet, hogy az alapértelmezett beállítása neked nem megfelelő.
Ezek az ADCON0 bitjei:
A hozzászólás módosítva: Dec 19, 2013
Nekem ez így jó, szépen méri az elem feszültségét is. Köszi a segítséget.
Sziasztok!
Szeretnék eepromba adatokat írni és abból visszaolvasni. A tárolandó adatok egy függvény együtthatói, amik valós számok.A változónak amit tárolni akarok real adattípust adtam ami így néz ki: viz_bea:real;. Fordításnál figyelmeztetést kaptam mely így szól: 145 1509 Warning: Implicit typecast performed from "byte" to "real" és amire vonatkozik: eeprom_write(41,viz_bea); Segítsetek megfejteni és javítani ! A hozzászólás módosítva: Dec 21, 2013
Az eeprom 41. byte-jába akartál tizedes törtet írni.
Vagy kerekítsd a kapott eredményt 0 és 255 közötti kerek egész számra (floor - lefelé kerekít; ceil - felfelé kerekít), vagy 2 byte-ba írd be a mentendő adatot (modf - szétbontja az egész és a tizedes részére a törtet). Természetesen utóbbi esetben is mindkét byte 0..255 közötti szám lehet. Súgóban találsz részletes leírást a kapcsolódó függvényekről. A hozzászólás módosítva: Dec 21, 2013
Köszönöm a segítséget, én is gondoltam, hogy valami ilyesmi miatt figyelmeztetett a rendszer.
Sziasztok.
Segítséget szeretnék kérni PIC16F84A programozásában. Lépésről lépésre. ASM-ben azért megyeget a dolog. Most MIKROPASCAL-ban szeretnék programot írni. MIKROPASCAL-BAN ctrl+d és ez jön ki. Lásd TXT gondolom ezekkel tudok majd dolgozni. Borland delphi7-ben már kreáltam pár szoftvert, de ez nem az . ![]() Ebben kérném a segítségeteket. PIC RA PIN -bemenet PIC RB PIN -kimenet Ide hogyan kell helyesen megadni a paramétereket. { Declarations section } begin RB0-pin bekapcsol TIMER-késleltetésnek RB0-pin kikapcsol stb end. Példaprogramok is jöhetnek, minden mennyiségben. Köszönöm. Hali A hozzászólás módosítva: Jan 27, 2014
Szia!
A mikropascal-ban van néhány példaprogram, azokból el tudsz indulni. pl: MikroPascal\Examples\Development Systems\BIGPIC5\Led Blinking
Tele a net példákkal, használati útmutatókkal, szakdolgozatokkal, és ahogyan gthomas mondta, a pascal könyvtárában is vannak demok.
Sziasztok!
Tud abban valaki segíteni, hogy hogyan kell egy 18F67j60 Pic-et rávenni hogy a külső (OSC1/OSC2) lábakra kötött 25MHz - es osc.körről vegye a belső órajelet? Átolvastam a doksit, de nekem mindig (függetlenül attól hogy mit állítok) 31 kHz-en működik: Így próbáltam: T1CON.T1RUN_bit:=0; OSCCON.3:=0; OSCCON.1:=1; OSCCON.0:=0; OSCTUNE:=$40; Köszi!
A "Project\Edit project" menüre felbukkanó ablakban állítsd az "Oscillator Selection"-t "HS oscillator"-ra, az "Oscillator Frequency"-t pedig 25.0 értékre.
A hozzászólás módosítva: Jan 29, 2014
Igen, így kezdtem, mint minden eddigi PIC-nél, amivel foglalkoztam.
A teszt program 1 másodpercig felvillant egy ledet, majd 1 másodpercig elalszik. Így kellene működnie. De ha HS vagy HS+PLL osc-t használok, és a Freq 25 MHz, kb. fél percig ég és fél percig elalszik. Nem mértem, de hosszú idő. Ha a frekvencia 0.316..... akkor működik jól, másodperces ciklussal. Innen gondolom, hogy 31 kHz-cel megy. A hozzászólás módosítva: Jan 29, 2014
Üdv.
A példaprogit beillesztettem a MikroPascal6.0-ba Hibaüzenetet kaptam. Argument is out of range "11111111"to'byte" A többi a jpg-fájlban látszik. Pálda progi, igen sok van benne ,de nem teljesen jók, Hiányosak illetve nem műnködnek. Küldjetek légyszives zip-ben, kompletten leforditott fájlokat amik üzemképesek. PIC16F84A-hoz. Hali
A TXT-ben vannak a declaration.
Gondolom én ebből kéne dolgozni. (CTRL+D gomb.)
Valóban! A % karaktert kihagytam a bináris szám elől.
Tehát helyesen: trisa := %11111111; De megadhatod 16-os számrendszerben is: trisa := $FF; A hozzászólás módosítva: Jan 30, 2014
Köszi a segitséget.
Most már üzemel a villogó. Igaz az integrált A1-változóval megszenvedtem amire elfogadta. const A1 = 30; // idözitési változó Én ezt még úgy ismertem hogy ( integer : ; ) Most már tudok tovább haladni. ![]() Üzemképes példaprogram a ZIP-ben Hali
Sziasztok. ( PIC16F887 )
Feltétel iráshoz kérnék némi segitséget. A gomb a PORTA0-ra kerül. ( RA0) RB7,RB6,RB5,RB4 led világit alapjáraton. RB3,RB2,RB1.RB0 nem világit a led alapjáraton. Amikor a gomb lenyomásra kerül (PORTA0) , akkor RB7,RB6,RB5,RB4 nem világit a led, de a RB3,RB2,RB1.RB0 világit. a többi a fájl-ban. Hali.
Alapesetben így kell:
Nem árt még a porta.0-t pergésmentesíteni egy boolean változó beiktatásával. A hozzászólás módosítva: Márc 17, 2014
Üdv. ( PIC16F887)
Szimulátorba betöltöttem, forditás után folyamatosan villognak a led-ek. Nekem is ugyan ez a hiba jött ki. Amikor én ezt megirtam, termlészetesen nem münködött . ![]() Ezt használtam forrásnak. (csatolt fájl eredeti) De ezzel sem ment. Napersze átirtam benne amit kell. asm-ben is megirom, aztán majd kiderül gyorsan hogy mi kell még hozzá hogy münködjön. Ma este átteszem a programot PIC16F84-re is, és megnézem hogy ott mit csinál vele. Hali A hozzászólás módosítva: Márc 17, 2014
Kapcsolásoddal lesz szerintem a baj.
Pl, ha minden porta és porte bemenet, akkor ezeknek a nem használt lábait nem árt 10k ellenállással testre, vagy tápra kötni. A nyomógomb bekötésénél szintén kell a helyesen bekötött ellenállás. adcon0 és adcon1 regisztereket állítsd még nullára. A hozzászólás módosítva: Márc 17, 2014
ansel és anselh regisztereket is állítsd nullára.
Ezzel az AN lábakat analógról digitálisra váltod át.
Szia, csatoltam a programot.
Nem írtad, hogy aktív alacsony vagy magas a gomb, én alacsonyra írtam. (tehát kell egy felhúzó ellenállás a PORTA0-ra) Üdv. A hozzászólás módosítva: Márc 17, 2014
Sziasztok.
Az én progim-ból sok minden hiányzott még. A PORTA0 lábon van egy 10K ellenállás.Bővebben: Gomb 10K ohm asm-ben megirtam, ott egy kicsit könyebb volt a dolog. De igy is jó. Most nézem hogy mi micsoda az mpas-fájlban. hali
Sziasztok!
Használt már valaki tcp connectet? Egy 18f67j60 at programozok mikropascalban : Net_Ethernet_Intern_connectTCP(ip, port_remote, port_local, socket) -tel próbálkozok kapcsolódni. Lehallgatva a hálózatot látszik, hogy ki megy a kérés a tcp szerver felé, a szerver válaszol is, de nem kapcsolódik valamiért a pic. Valakinek sikerült ezt használni?
Sziasztok!
Tanácstalan lettem a Sleep parancs használatával kapcsolatban. Azt tapasztaltam, hogy ha alvó módba akarok tenni egy külső kvarcról (T1OSO/T1OSI lábak) üzemelő órát, akkor a programom fő része továbbra is fut, és frissíti az LCD szövegét. Készítettem a hiba megtalálásához egy teszt kódot és Proteusz kapcsolást. Itt beállítottam egy Timer1 időzítést és a főprogramban villogtatok egy ledet, majd azonnal alvómódba teszem a mikrokontrollert. A Timer1-nek valójában nincs is köze a villogtatáshoz, annak csak a háttérben kellene futnia. Ennek ellenére azt tapasztalom, hogy ha a Timer1 inicializálva van, akkor a led a sleep mód ellenére is villog, ha viszont kikapcsoloma Timer1-et, akkor megmarad az utolsó állapotában, tehát valóban "elalszik" a mikrokontroller (16F886). Ennek így kell működnie, vagy én követek el valami hibát? Idézet: „INTCON.INTE := 1;” A külső RB0 megszakítás bekapcsolva, az RB0 láb bemenet. Fix logikai szint van rá kapcsolva? A hozzászólás módosítva: Ápr 7, 2014
Azzal szeretném felébreszteni a PIC-et, azért állítottam 1-re.
Ha testre kötöm akkor is fennáll a probléma. Arra gyanakszok, hogy a többi lábára kapott impulzus miatt esik mindig ki az alvó módból, és mivel külső kvarcot használok órának, ezért az RC1/T1OSI lábra folyamatosan kapja a jeleket. Ha átállítom a Timer1-et belső órára, és kiveszem a kvarcot az áramkörből, akkor mintha működne rendesen. A hozzászólás módosítva: Ápr 7, 2014
Mit lehet ez ellen tenni?
Nem lehet alvó módba tenni a PIC-et, ha használom a Timer1 órát? |
Bejelentkezés
Hirdetés |












