Stránka 1 z 1

PIC

Napsal: 22 bře 2008, 23:55
od net
Zdravím,neví někdo jak napsat rutinu co načte číslo větší než 255?Děkuji

Napsal: 23 bře 2008, 07:05
od Split
mno tazko..kedze picka je 8 bitovy register...ale mozes cislo rozdelit tak ze jeden register bude na jenotky,dalsi na desiatky,dalsi na stovky atd

Napsal: 23 bře 2008, 07:35
od jezevec
Číslo uložíš do více registrů, po přetečení prvního registru (255) zapisuješ do dalšího atd.

Napsal: 23 bře 2008, 12:31
od net
Děkuji,registry definovat zvládnu,ale další postup neznám.Můžeš to trošku více nastínit?Zkouším to.
Díky

Napsal: 23 bře 2008, 13:56
od tmz
Mno, zkus se trochu vic rozepsat, co se pak bude s tim cislem dit, ale pokud chces treba dat do registru hodnotu 20401, tak si vytvořís 2 registry a do prvního dáš horních 8 bitů (b'01001111') a do druhého dolních 8 bitů (b'10110001'). Pro početní operace exsitují už napsané rutiny, např zkus stránky microchipu

Napsal: 23 bře 2008, 14:28
od net
Potřebuji načítat impulzy např. do 99999.Potom se to bude zobrazovat,ale to už vyřeším.

Napsal: 23 bře 2008, 14:34
od tmz
Pak to tedy bude, jak psal jezevec.

Napsal: 23 bře 2008, 18:11
od Kado
Je to jednoduche, pisal to tu Jezevec...potrebujes dva registre, jeden bude nizsi bajt slova, druhy bude vyssi, pricom pri kazdom prichode impulzu inkrementujes nizsi bajt (register). po kazdom inkrementovani musis zistit ci nedoslo k preteceniu tj. 255->0 a ak doslo k preteceniu tak musis inkrementovat aj vyssi bajt slova...
EDIT: pri pouziti dvoch registrov mozes pocitat do hodnoty 65'535, ako napisal Nekmil, ked chces pocitat do 100tisic musis pouzit tri registre pricom mozes pocitat az do hodnoty 16'777'215

Napsal: 23 bře 2008, 18:35
od nekmil
pozn. při počítání do 99999 potřebuješ 3 registry,
ve vyšším jazyce je to jednodušší: DIM A as LONG a můžeš počítat do alelujá

Napsal: 23 bře 2008, 19:24
od net
Ten bohužel nemám ani neznám.

Napsal: 23 bře 2008, 20:50
od ViPali
Použiješ PIC, ktorý má T1 a povolíš prerušenie od T1.
T1 je 16 bitový, po naplnení vyvolá prerušenie, od ktorého inkrementuješ ďalší register. Spolu to bude 2 na 24 t.j. 16777216 (T1H, T1L, Reg).