jakeselectronics
Member
I had my wisdon teeth out friday and saw it as a great oportunity to get stuck into making a Thermometer on my week off.
I am 99% there. I have a somewhat 'simple' but MASSIVELY confusing issue and I cannot rectify it.
Please help.
My situation:
I read the datasheet for the DS18B20 direct to digital Temperature Sensor over & over & over & over & over while waiting for the part to arrive.
Getting my head around Dallas's "1-Wire" communication was a challenge, but I grasped it and start coding.
The part arrived, Built the circuit, smoothed out some bugs and its working. To an extent.
I have tested the timing and communication with the Temp Sensor and am reading data from it sucesfully.
I am using 12-bit resolution as I want to have the display display to 1 decimal place. i.e, 25.4
12-bit resolution gives increments of 0.0625 degrees C. Which i can round to the neartest .1 of a degree.
MY DILEMA comes when trying to display the number on a 3 digit 7 Segment display which I am multiplexing.
I am Calling 3 Tables, 1 for each of the digits of the display.
I have tried everything I can think of and want to ask someone to check it out.
The assembly code is heavily commented to show what I am trying to do.
The display only display the 2 LS digits, then if i physically swap position of the DIGIT_ONES and DIGIT_TENS routines the display does something else.
(The code is too long to paste here so I have placed it here, click to view. PIC16F628A - DS18B20 Digital Thermometer)
I am 99% there. I have a somewhat 'simple' but MASSIVELY confusing issue and I cannot rectify it.
Please help.
My situation:
I read the datasheet for the DS18B20 direct to digital Temperature Sensor over & over & over & over & over while waiting for the part to arrive.
Getting my head around Dallas's "1-Wire" communication was a challenge, but I grasped it and start coding.
The part arrived, Built the circuit, smoothed out some bugs and its working. To an extent.
I have tested the timing and communication with the Temp Sensor and am reading data from it sucesfully.
I am using 12-bit resolution as I want to have the display display to 1 decimal place. i.e, 25.4
12-bit resolution gives increments of 0.0625 degrees C. Which i can round to the neartest .1 of a degree.
MY DILEMA comes when trying to display the number on a 3 digit 7 Segment display which I am multiplexing.
I am Calling 3 Tables, 1 for each of the digits of the display.
I have tried everything I can think of and want to ask someone to check it out.
The assembly code is heavily commented to show what I am trying to do.
The display only display the 2 LS digits, then if i physically swap position of the DIGIT_ONES and DIGIT_TENS routines the display does something else.
(The code is too long to paste here so I have placed it here, click to view. PIC16F628A - DS18B20 Digital Thermometer)