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:
Lapozás: OK   7 / 29
(#) potyo válasza icserny hozzászólására (») Márc 5, 2009 /
 
Nemis olyan bonyolult a hét napjának kiszámítása: An_algorithm_to_calculate_the_day_of_the_week

Az évszázados tábla eredménye fixen beépíthető, a néggyel való osztás valójában két hellyel jobbra shiftelés, azt pedig, hogy szökő év-e, azt egy AND művelettel meg lehet állapítani. Szóval leprogramozni se nagy valami, főleg magasabb szintű programnyelvben.

Igaz, hogy link volt, de ha ugyanolyan hosszú a szövege, mint maga a link, akkor ugyanúgy széttolja az oldalt. Kicsit rövidítettem.
-- kobold
(#) pako válasza gthomas hozzászólására (») Márc 5, 2009 /
 
Szia!
Bevallom őszintén, én csak az óra, perc és másodperc regisztereket olvasom ki belőle, a többire eddig nem volt szükségem. Szóval ebben nem tudok segíteni. :no:

Amúgy tegnap adtam tápot a LED kockának, több mint 1 hét után. Tapasztalat: 10 másodpercet késett csak a vekker része.
(#) icserny válasza potyo hozzászólására (») Márc 5, 2009 /
 
Tévedés ne essék, én meg tudom csinálni, csak nem feltételezem, hogy az alapvetően számlálóként működő RTC IC-be emiatt programozható logikát tegyenek, s ezzel drágítsák.
(#) potyo válasza icserny hozzászólására (») Márc 5, 2009 /
 
Nem nagy drágítás az ilyesmi, és tisztán hardveresen is meg lehet oldani az egészet.
(#) gthomas válasza pako hozzászólására (») Márc 5, 2009 /
 
Jó lesz az a kis késés. Ha jól számolok az évi 8 percet jelent. Végül is nem atomórát építünk. Bár én azt hittem hogy a kvarc ennél pontosabban rezeg. Bólogattam is magamban (már amennyire értek hozzá), hogy 32,768 kHz elég precízen meg van határozva a frekvencia. Vagy a csipp torzít? Nem tudom, de nem precíz az biztos. :no: Az enyém siet fél másodpercet naponta 15 pF-os kondival.
De ha kiszámoljuk az óra árát meg a kvarcot, így király ahogy van. :yes:
A Casio biztos nem ilyet használ, de nem veszi többért az biztos.
A kocka mikor lesz kész? Már megnézném.

Hali!
(#) pako válasza gthomas hozzászólására (») Márc 6, 2009 /
 
Most kíváncsivá tettél. Meg is néztem egy "preciziós" oscillator adatlapját, amin azt írják, hogy a pontossága +-30 ppm. Ez ha jól sejtem azt jelenti, hogy 1 perc alatt hány rezgést téveszthet. Ha ezt visszaszámoljuk frekvenciába, akkor az +-0.5 Hz, vagyis 32767.5 és 32768.5 között változhat. (25 c.fokon) Ezt a kondikkal lehet pontosan beállítani, de a legpontosabb akkor lesz, ha a hőmérséklete is állandó marad.

Ma már csinálok a kockáról videót, csak rá kell jönöm, hogy kell jútúbra feltölteni.
(#) proli007 válasza pako hozzászólására (») Márc 8, 2009 /
 
Hello!
A 30ppm elég gyatra eredmény. Ez évente majdnem +-16 perc. Egy sima kavicsra is 20ppm-et írnak.
üdv! proli007
(#) pako válasza proli007 hozzászólására (») Márc 9, 2009 /
 
Üdv!
Legalább nem csak nekem tűnik soknak
Én egy alaplapi kavicsot használtam, az gondoltam elég pontos lesz. Amúgy ezt az adatlapot néztem:
SX1555

Gthomas:
A videó még várat magára. Sajnos nem "kamera barát" frekvencián megy, valamit ki kell okoskodnom, mert így nem élvezhető.
(#) proli007 válasza pako hozzászólására (») Márc 9, 2009 /
 
Hello!
Mondjuk, ennek a toleranciája 30ppm, a hőfokfüggése 10...40 fok között csak 10ppm. Azért ez jobban hangzik..
(Persze nem tudom, milyen tartományban húzható el egy kondival, De ha procival működik akkor érdemesebb a programmal korrigálni.)
üdv! proli007
(#) pako hozzászólása Márc 14, 2009 /
 
Sziasztok!

Teszteltem az MMC és a PS/2 library-t. Az MMC_Fat_Init-et egy 1GB-os SD karival próbáltam, de nem ismerte fel. (előtte formáztam FAT16 fájlrendszerre, 3v3-ra illesztve volt 74HC245-el.) De legalább a kártya túlélte :whistle:
A PS2 viszont szuperul műxik! Egy multimédiás Compaq billel próbáltam, még a plusz 10-en akárhány gombot is kezeli!
(#) gthomas válasza proli007 hozzászólására (») Márc 14, 2009 /
 
Sziasztok!

16F690. A programozás sorám kifgytam a ROM-ból.
A PIC adatlapján az szerepel, hogy a program memória 4096 words. Az azt jelentené hogy 4096x16 azaz 65kByte?
A portok száma elegendő lenne. Mire, milyen PIC-re váltsak, amelyikben több a ROM?
(#) El_Pinyo válasza gthomas hozzászólására (») Márc 14, 2009 /
 
Szia!

Nem egészen. A 16F690 -es programmemóriája 4096 (4K) X 14 bit szervezésű. Az utasítások 14 bitesek, tehát összesen 4096 utasítást tudsz tárolni a programmemóriában.
Konkrét típust nem tudok ajánlani, annyira nem vagyok gyakorlott, de mondok egy használható megoldást.
Létezik a microchipnek egy ún. product selection tools nevű online (letölthető verzióban is elérhető) alkatrészkeresője, megadod a paramétereket, és ő eredményül kidobja az adott tulajdonsággal rendelkező kontroller nevét.
Product Selection Tools

Üdv.
(#) pako válasza gthomas hozzászólására (») Márc 15, 2009 /
 
Én ezeket javasolnám:
16F876A - 8K word - 28 láb
16F877A - 8K word - 40 láb
18F452 - 32K word - 40 láb
Ezeknél legalább tudnád használni a hardweres I2C-t is. A szoftveres elvesz párszáz wordot a memóból "feleslegesen". Ezekkel meg vagyok elégedve, strapabírók.
(#) pako hozzászólása Márc 16, 2009 /
 
Letölthető a mikroPascal 8.0.0.1 verziója is, amihez készült "gyógyítás" is. ZIP_12_MB
(#) icserny válasza gthomas hozzászólására (») Márc 16, 2009 /
 
Idézet:
„Mire, milyen PIC-re váltsak, amelyikben több a ROM?”

Például PIC24HJ128GP502-re (128 KB ROM, 8 KB RAM - 28 láb).
(#) gthomas válasza El_Pinyo hozzászólására (») Márc 16, 2009 /
 
Ez tényleg nagyon jó tool, köszi!
(#) pako válasza pako hozzászólására (») Márc 16, 2009 /
 
Az imént próbáltam az MMC_FAT_Init-et 8.1 alól. Ebben kijavították a hibát, szuperul kezeli az 1 GB-os kártyát! (szintillesztés nélkül próbáltam, a 18F452 3v3-ról járt.)

Talán ebben a verzióban már működik a Manchaster library is, de most RF modul hiányában nem tudom kipróbálni...
(#) gthomas válasza pako hozzászólására (») Márc 16, 2009 /
 
Akkor legyen 16F877A rendelem, köszi.
(#) potyo válasza gthomas hozzászólására (») Márc 16, 2009 /
 
Akkor inkább 16F887-et rendelj, az olcsóbb és többet tud.
(#) pako válasza gthomas hozzászólására (») Márc 16, 2009 /
 
Nincs mit!
Amúgy 22 MHz-en is stabilan fut!
(#) szilva válasza gthomas hozzászólására (») Márc 16, 2009 /
 
Inkább ne ezeket az elavult típusokat használd! Ha megteheted, hogy új, korszerű típusra tervezel és nem vagy valami miatt hozzáláncolva az elavult és drága típusokhoz, akkor minden szempontból jobban jársz. Pl. egy 16F877A árából lehet venni két 16F887-et, ami újabb és ráadásul többet is tud.
(#) wangi hozzászólása Márc 21, 2009 /
 
Tisztelet mindenkinek.Van egy 18F4550-em,
és gondom van az LCD kiiratással.(Mikropascal)
Port def.OK,bekötés OK,program simulatoron OK,
csak hogy semmit sem látni.Fizikailag sem,szimulátoron
sem(OshonSoft).Mellékelném a minta progit:

Program LCD_Sample;
Var Text :array[3] of char;
TSzam,XTab:byte;
BEGIN
PORTB:=0;
TRISB:=0;
intcon:=0;
Lcd_Init(PORTB);
Lcd_Cmd(LCD_CURSOR_OFF);
Lcd_Cmd(LCD_CLEAR);
Lcd_Out(1,1,'Proba..');
Delay_ms(50);
Lcd_Out(2,1,'...Karakter DEMO');
Delay_ms(50);
Lcd_Cmd(LCD_CLEAR);
Lcd_Out(1,1,'Ertek=');
TSzam:=32;
XTab:=1;
REPEAT
ByteToStr(TSzam,Text);
Lcd_Out(1,7,Text);
Lcd_Chr(2,XTab,TSzam);
inc(TSzam);
if TSzam=0 then TSzam:=32;
inc(XTab);
if XTab>16 then XTab:=1;
Delay_ms(5);
UNTIL 0=1;
END.

Ha tud valaki bármi útba igazitást elöre is kösz.
(#) m.joco válasza wangi hozzászólására (») Márc 21, 2009 /
 
Hello
A probléma szerintem az, hogy a Text változót te char-nak deklarálod, pedig szerintem string-nek kéne. Próbáld meg ezzel a deklarációval:
var Text: string[3];
Üdv.
(#) pako válasza wangi hozzászólására (») Márc 21, 2009 /
 
Üdv!
A késleltetéseket is tedd nagyobbra, kb. 4-500 ms körüliekre. Lehet hogy nincs elég ideje frissíteni. Ezen kívül ellenőrizd a kontrasztbeállítást is a kijelzőn.
(#) wangi hozzászólása Márc 21, 2009 /
 
Nos a "Text"változó string lett,
ez a parancs hogy:
"Lcd_Out(1,1,'Proba..');" sem jelenik
meg.Egyszóval semmi.Megjegyzem még a
szimulátoron sem, ahol az LCD kontrasztját
szükségtelen babrálni,mert nincs!
Szóval fiúk tényleg nem tudok ép magyarázatot
adni hogy mégis mi van...Várom a további jó
ötleteket...Köszi.
(#) wangi hozzászólása Márc 21, 2009 /
 
Leirnám a biztositékokat is:

[DeviceFlags]
Count=22
Value0=_PLLDIV_5_1L = $00FC
Value1=_CPUDIV_OSC1_PLL2_1L = $00E7
Value2=_USBDIV_2_1L = $00FF
Value3=_FOSC_HSPLL_HS_1H = $00FE
Value4=_FCMEM_OFF_1H = $00BF
Value5=_IESO_OFF_1H = $007F
Value6=_PWRT_OFF_2L = $00FF
Value7=_BOR_ON_2L = $00FF
Value8=_BORV_21_2L = $00FF
Value9=_VREGEN_ON_2L = $00FF
Value10=_WDT_OFF_2H = $00FE
Value11=_WDTPS_32768_2H = $00FF
Value12=_MCLRE_ON_3H = $00FF
Value13=_LPT1OSC_OFF_3H = $00FB
Value14=_PBADEN_OFF_3H = $00FD
Value15=_CCP2MX_ON_3H = $00FF
Value16=_STVREN_ON_4L = $00FF
Value17=_LVP_OFF_4L = $00FB
Value18=_ICPRT_OFF_4L = $00DF
Value19=_XINST_OFF_4L = $00BF
Value20=_DEBUG_OFF_4L = $00FF
Value21=_WRTB_ON_6H = $00BF
(#) m.joco válasza wangi hozzászólására (») Márc 21, 2009 /
 
Próbáld meg beiktatni ezt a parancsot a kijelző inicializálása után:
lcd_cmd(lcd_turn_on);
Üdv.
(#) wangi hozzászólása Márc 21, 2009 /
 
Ezt is megpróbáltam de semmi...

Program LCD_Sample;

Var Text :string[3];
TSzam,XTab:byte;

BEGIN
PORTB:=0;
TRISB:=0;
intcon:=0;
Lcd_Init(PORTB);
Lcd_Cmd(LCD_TURN_ON);
Lcd_Cmd(LCD_CURSOR_OFF);
Lcd_Cmd(LCD_CLEAR);
Lcd_Out(1,1,'Proba..');
Delay_ms(20);
Lcd_Out(2,1,'...Karakter DEMO');
Delay_ms(20);
Lcd_Cmd(LCD_CLEAR);
Lcd_Out(1,1,'Ertek=');
TSzam:=32;
XTab:=1;
REPEAT
ByteToStr(TSzam,Text);
Lcd_Out(1,7,Text);
Lcd_Chr(2,XTab,TSzam);
inc(TSzam);
if TSzam=0 then TSzam:=32;
inc(XTab);
if XTab>16 then XTab:=1;
Delay_ms(5);
UNTIL 0=1;
END.
(#) pako válasza wangi hozzászólására (») Márc 21, 2009 /
 
A késleltetéseket kisebbre tetted, nem nagyobbra. : A kijelzőn HD44780 vezérlő van amúgy?
(#) wangi hozzászólása Márc 21, 2009 /
 
Hát nem bosszantó?Ha 16F877-el vagy 16F887-el
próbálkozom minden OK.
Következő: »»   7 / 29
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