PIC

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
net
Příspěvky: 200
Registrován: 07 kvě 2004, 02:00

PIC

#1 Příspěvek od net »

Zdravím,neví nìkdo jak napsat rutinu co naète èíslo vìtší než 255?Dìkuji

Uživatelský avatar
Split
Příspěvky: 762
Registrován: 02 pro 2006, 01:00
Bydliště: Komárno

#2 Příspěvek 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
Vsetko co sa da pokazit sa raz pokazi.

Uživatelský avatar
jezevec
Hlavní moderátor
Hlavní moderátor
Příspěvky: 5414
Registrován: 13 čer 2004, 02:00
Bydliště: Břeclavsko
Kontaktovat uživatele:

#3 Příspěvek od jezevec »

Číslo uložíš do více registrů, po přetečení prvního registru (255) zapisuješ do dalšího atd.

Uživatelský avatar
net
Příspěvky: 200
Registrován: 07 kvě 2004, 02:00

#4 Příspěvek 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

tmz

#5 Příspěvek 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

Uživatelský avatar
net
Příspěvky: 200
Registrován: 07 kvě 2004, 02:00

#6 Příspěvek od net »

Potøebuji naèítat impulzy napø. do 99999.Potom se to bude zobrazovat,ale to už vyøeším.

tmz

#7 Příspěvek od tmz »

Pak to tedy bude, jak psal jezevec.

Uživatelský avatar
Kado
Příspěvky: 44
Registrován: 27 říj 2007, 02:00
Bydliště: PB, SVK

#8 Příspěvek 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
Naposledy upravil(a) Kado dne 23 bře 2008, 19:47, celkem upraveno 2 x.

Uživatelský avatar
nekmil
Příspěvky: 780
Registrován: 06 bře 2005, 01:00
Bydliště: Havířov

#9 Příspěvek 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á

Uživatelský avatar
net
Příspěvky: 200
Registrován: 07 kvě 2004, 02:00

#10 Příspěvek od net »

Ten bohužel nemám ani neznám.

Uživatelský avatar
ViPali
Příspěvky: 524
Registrován: 21 lis 2005, 01:00
Bydliště: Bratislava

#11 Příspěvek 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).
Ako elektrikár sa cítim slobodne.
Môžem hovoriť do vedenia!

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“