Problém s PIC16F876A

D

diego101

Guest
Musím si uvedomiť, funkcie

(X-18000) * (4095/22000)

s PIC16F876A.
X je v rozsahu 18000-40000.
Anyone can help me please!? Vďaka !!!!!!

 
Aký jazyk ste hobľovanie používať?

V jazyku C je to jednoduché, ak nemáte problém s codesize ...

V assembleri, to nebude ľahké sooo.

V Assembler by ste mohli pracovať takto:
presunúť svoje dva byty číslo (ktoré chcete vynásobiť 4095) 4 bity vľavo (čo je násobenie 16) Teraz máte tri byty výsledok.Teraz pridajte štvrtiny bajt 0x00 byte do troch bajtov (budete musieť presunúť svoje číslo 8 bitov doľava, ktoré možno odstrániť jednoduchým pridaním ďalšej bajt 0x00 až do konca svojho výsledku), ktorá vám dáva výsledok 4 byty (vaša pôvodný počet multuplied od 4096), ďalšie mínus pôvodné číslo, teraz máte priebežnom výsledku (vaše pôvodné číslo vynásobí 4095).

Potom použite tento:
http://www.piclist.com/techref/microchip/math/div/div16or32by16to16.htm

na to delenie 22000

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsmev" border="0" />hope this helps
Naposledy upravil C-Man dňa 23. júna 2003 17:44 scénograf: 2 krát v celkom

 
I'm using ASSEMBLER!
Naprogramovať PIC16F876A môžem používať len ASSEMBLER!
Mohli by ste mi pomôcť?? Je to veľmi dôležité!
Ďakujeme vám!

 
Použite C kompilátor pre tvorbu vášho assembler code!

NeuralC

 
Nechcel som o tom, pretože kód assembleri, ktorý vzniká napríklad Hi-Tech C je v žiadnom prípade v súlade s MPLAB.

Tiež ak používate vysokej optimalizácia (v Hi-Tech), kód je veľmi ťažké pochopiť a integrovať do inej aplikácie ...

Ale to by mohlo byť miesto pre štart

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Úsmev" border="0" />s pozdravom

 
Použite dokument pre vykonávanie týchto Fixed Point rutiny:

- Doplnenie
- Odčítanie
- Násobenie
- Divízia
Ospravedlňujeme sa, ale musíte prihlásiť do zobrazenie túto prílohu

 

Welcome to EDABoard.com

Sponsor

Back
Top