TMP05/TMP06 Data Sheet
Rev. C | Page 24 of 28
CONTINUOUSLY CONVERTING APPLICATION
This section provides an example of how to connect one
TMP05 in continuously converting mode to a microchip
PIC16F876 microcontroller. Figure 37 shows how to interface
to the PIC16F876.
The TMP05 Program Code Example 2 shows how to
communicate from the microchip device to the TMP05. This
code can also be used with other PICs by changing the include
file for the part.
3.3V
GNDFUNC
CONV/IN
OUT
TMP05
PIC16F876
V
DD
0.1µF
PA.0
FIRST TEMP
MEASUREMENT
T
0
TIME
SECOND TEMP
MEASUREMENT
03340-039
Figure 37. Typical Continuously Converting Application Circuit
TMP05 Program Code Example 2
//=============================================================================================
//
// Description : This program reads the temperature from a TMP05 part set up in continuously
// converting mode.
// This code was written for a PIC16F876, but can be easily configured to function with other
// PICs by simply changing the include file for the part.
//
// Fosc = 4MHz
// Compiled under CCS C compiler IDE version 3.4
// PWM output from TMP05 connected to PortA.0 of PIC16F876
//
//============================================================================================
#include <16F876.h> // Insert header file for the particular PIC being used
#device adc=8
#use delay(clock=4000000)
#fuses NOWDT,XT, PUT, NOPROTECT, BROWNOUT, LVP
//_______________________________Wait for high function_____________________________________
void wait_for_high() {
while(input(PIN_A0)) ; /* while high, wait for low */
while(!input(PIN_A0)); /* wait for high */
}
//______________________________Wait for low function_______________________________________
void wait_for_low() {
while(input(PIN_A0)); /* wait for high */
}
//_______________________________Main begins here____________________________________________
void main(){
long int high_time,low_time,temp;
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(FALSE);
setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_2); //Sets up timer to overflow after 131.07ms