Een probleem met PIC16F876

D

diego101

Guest
Ik heb op de realisatie van de functie

(X-18000) * (4095/22000)

met een PIC16F876.
X is in de range 18000-40000.
Iedereen kan me helpen alstublieft!? Thanks !!!!!!

 
Welke taal u schaven te gebruiken?

In C, dit is gemakkelijk als u niet over een probleem met codesize ...

In assembler zal dit niet worden sooo gemakkelijk.

In Assembler je kan werken als volgt:
verschuiving je twee bytes nummer (dat u wenst te vermenigvuldigen met 4095) 4 bits naar links (dat is een vermenigvuldiging met 16) nu heb je een drie bytes resultaat.Voeg nu een vierde byte 0x00 byte aan uw drie bytes (je zou moeten verschuiven uw nummer 8 bits naar links die kunnen worden weggenomen door gewoon nog een 0x00 byte tot het einde van het resultaat), dat geeft je een 4 bytes resultaat (uw oorspronkelijke aantal multuplied van 4096) volgende aftrekken van uw oorspronkelijke aantal, nu heb je een tussentijdse resultaat (uw oorspronkelijke aantal vermenigvuldigd met 4095).

Daarna kan dit als volgt:
http://www.piclist.com/techref/microchip/math/div/div16or32by16to16.htm

om de splitsing door
22.000
<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />hoop dat dit helpt
Laatst gewijzigd door C-Man op 23 juni 2003 18:44; bewerkt 2 keer in totaal

 
Ik gebruik ASSEMBLER!
Programmeert de PIC16F876 i kunt gebruiken alleen de ASSEMBLER!
Kunt u me helpen!? Het
is heel belangrijk!
Dank u!

 
Gebruik een C-compiler te bouwen uw assembler code!

NeuralC

 
Ik wilde niet suggereren dat omdat de assembler code die wordt gegenereerd door bijvoorbeeld Hi-Tech C is op geen enkele manier verenigbaar met Mplab.

Ook als u gebruik maakt van hoge optimalisatie (in Hi-Tech) de code is zeer moeilijk te begrijpen en te integreren in een andere toepassing ...

Maar het is mogelijk een punt te beginnen

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Lachten" border="0" />met vriendelijke groet

 
Gebruik de het document voor de uitvoering van de volgende vaste punt routines:

- Toevoeging
- Aftrekken
- Vermenigvuldiging
- Divisie
Sorry, maar je moet inloggen om dit onderdeel te bekijken koppelingseisen

 

Welcome to EDABoard.com

Sponsor

Back
Top