TC74 - temperature sensor
'****************************************************************
'*  Name    : Read_TC74.BAS                                     *
'*  Author  : TDCBYTE                                     *
'*  Notice  : Copyright (c) 2009                                *
'*          : All Rights Reserved                               *
'*  Date    : 7/01/2009                                         *
'*  Version : 1.0                                               *
'*  Notes   : Leest temp van TC74 binnen en plaats het op       *
'*          : een lcd                                           *
'****************************************************************
     
Config XT_OSC, WDT_OFF, PWRTE_ON, BODEN_OFF, CP_OFF, LVP_OFF, MCLRE_ON

         
       
Optimiser_Level = 3 ' Set for maximum optimiser level
Device 16F628

Xtal = 4                        'LCD voor debugging
       
Declare LCD_DTPin = PORTB.4
Declare
LCD_RSPin = PORTB.3
Declare
LCD_ENPin = PORTB.0
Declare
LCD_Interface = 4
Declare
LCD_Lines = 2                   ' ! 2 lijnig lcd
Declare LCD_Type = 0
        
     
 
'76543210
       
TRISA = %00000000                'alle PORTA's zijn uitgangen
                                         '
       
CMCON = %00000111                'comparators uit       
       
       
Dim T As Word
        Dim
dummy As Byte
        Dim
temp As Byte
        Dim
gra As Byte
       
        Declare
SDA_Pin = PORTA.3         'verbinden met TC74 zoals in datasheet
       
Declare SCL_Pin = PORTA.4          'Telkens 5K pull-up weerstanden bij op zetten
           
       
DelayMS 100
        Print $FE,$40,$07,$05,$07,$00,$00,$00,$00,$00   
' in aders 0 in't lcd staat °
  
        
Cls                                        'clear display
        
BusOut %10011010,1 ,[%00000000]            ;oneshot in t-sensor.  (haal em uit standby)
;-----------------------------                      ' eerste 7 bit's zijn't unieke adres, laatste bit is schrijven of lezen.
                                                    'maar is weinig van belang omdat busout of busin deze parameter overschrijft
                                                    ' 2de setting is het configuratieadres -> zie datasheet
                                                    '3de setting is de echte data
                                                   
main:
             
'adres  ,lezen,config lezen en in dummy zetten
       
BusIn %10011010,1,[dummy]                 ;lees config register van T-sensor

       
If dummy.6=1 Then                         ;1=conversion ready, 0=not ready
           
BusIn %10011011,0,[temp]              ;lees T-sensor
       
End If

        DelayMS
100         
    
        If temp.7 = 0 Then          
;positieve temperatuur
       
gra = temp
        Print At 1,1,
" "
       
Print At 1,2, Dec gra,$0, "C" ," "  'laatste spatie om als we eerst 3 karaters lang zijn geweest, de C te wissen
  
  
       
Else                          ;negatieve T
       
gra = temp 
        gra  = 255 - gra            
'alles toggelen en offset van 1°C, zie datasheet
       
gra = gra + 1
        Print At 1,1,
"-"
       
Print At 1,2, Dec gra ,$0, "C" ," "
  
       
End If


        GoTo
main

       
       
       
Here an older project where I read the temperature from a TC74. My code is for PROTON PICBASIC. I used a 16F628 PIC microcontroller.
Note that there are a few variants about BASIC compilers for micrcontrollers, so the syntax may not be compatible for each version of compiler.