PIC16F887 + LM335 temperaturgivare

V

Vor3n

Guest
Hälsningar, jag försöker läsa ut värdet av min sensor och visa den på 3x 7-segments displayer. Jag skriver det här programmet i församlingen för ett skolprojekt, men jag stötte på några problem, hoppas du kan hjälpa till. Mitt program läser värdet från givaren bra, men jag har svårt att konvertera avläst värde i en Kelvin eller Celsius läsning (värdet jag får på displayen är 153) på grund av att processorn inte verkar stödja flytande punkt. Jag vet den formel som jag ska använda är (READVALUE/255) * 500 = Kelvin (även detta är millivolt), men eftersom jag inte kan räkna över 255, och kan inte använda flyttal beräkning, jag är stilla. Kan någon hjälpa mig med detta? Dessutom läste jag någonstans i manualen som jag behöver använda den medföljande TL431 Spänningsreferens att få en korrekt läsning, men återigen jag har ingen aning vad jag ska göra med den. Om någon kan upplysa mig eller få mig började jag skulle vara mycket tacksam. Jag har bifogat min nuvarande ASM fil
 
Hej, Har bara använt mycket enklare LM35 enhet utan tror att detta kan hjälpa dig. Dina LM335 utgångar 10mV för varje 1 grader kelvin, så vad du läser i din ADC är redan en Kelvin värde, nästan. Förutsatt att du kör din chip på 5V, då vart och ett av 1024 ADC stegen lika 4.883mv. Så avrundning att upp till 5mV, för nu, därefter var två steg av ADC värdet är 1deg K, så efter att ha läst LM335 helt enkelt dela hela din ADC värde / 2. För att få en Centrigrate temp så tror jag att du helt enkelt kan lägga till 273. Som du kan se detta enkla sätt ger ett fel på appox 2,5%, eftersom ADC steget är endast 4.88mv istället för 5mV. Detta kan lösas hårdvara klokt genom att använda en spänningsreferens enhet - i stort sett standard ADC rutinen används VDD som sin spänning referens, men genom att ställa in Adcon att använda + Vref du kan mata din egen spänning referens i AN3. Även speciella enheter som den du listan kan användas, kan du för teständamål helt enkelt använda en 10k multiturn trimmer ansluten till +5 och 0V med reglaget till AN3 - hittar du en Vref spänning på ca 2.56v kommer då att motsvara 2,5 mv per ADC steg (låter dig arbeta med de matematik för den ut). Så den här gången måste du dela upp ADC resultatet med 4 för att ge grader K
 

Welcome to EDABoard.com

Sponsor

Back
Top