Hjelp A / D PIC16F877

Omformulere spørsmålet ditt, siden det er ikke klart (minst for meg) det du ønsker.

Du ønsker å konvertere 8 innganger til digitale verdier?

 
Jeg vil bruke bare ett register eller ADRESH eller ADRESL (8 biter) ...er det mulig uten å miste informasjon?

 
Det er mulig å bruke bare 8 biter, men husk at Vinput vil bli rettferdig fordelt med 255 nivåer på grunn av den 8bit utvalgsstørrelsen.

Prøvetakingen vil bli gjort i 10bits men du kan kaste de to mest signifikante bits.Husk at før du kan gå til 10 bits data, må du gå gjennom 0xFF hex eller du må fylle alle 8 biter før dataene vil fylle den 9. bit.

Ingen data vil gå tapt.

 
Sett bit 7 av ADCON1 (ADFM).
Det gjør resultatet venstrejustert.Så kan du bare bruke 8 biter i ADRESH og ignorere de to LSB's som ikke vil bli lagret i posisjoner 7:6 av ADRESL.
Dette tilsvarer å ha en 8-bits A / D.

 
Bruk A / D-konverter som en 10bits sampler deretter dykke på resultatet av 4.Det vil fjerne de 2 LSB og ta med resultatet som en 8bit heltall.sørge for at når du først prøve å bruke en lang int variabel.

Se eksempelfilen
Beklager, men du må logge inn for å vise dette vedlegget

 
Vennligst ikke være lat alltid bruke søkefunksjonen før du starter et nytt emne ...

http://www.edaboard.com/viewtopic.php?t=109876&highlight=16f877

med vennlig hilsen

 

Welcome to EDABoard.com

Sponsor

Back
Top