tmp05art-reel7 Analog Devices, Inc., tmp05art-reel7 Datasheet - Page 22

no-image

tmp05art-reel7

Manufacturer Part Number
tmp05art-reel7
Description
?0.5?c Accurate Pwm Temperature Sensor In 5-lead Sc-70
Manufacturer
Analog Devices, Inc.
Datasheet
TMP05/TMP06
#include <stdio.h>
#include <ADuC812.h>
void delay(int);
sbit Daisy_Start_Pulse = 0xB7;
sbit P3_4 = 0xB4;
long temp_high0,temp_low0,temp_high1,temp_low1,temp_high2,th,tl; //Global variables to allow
int timer0_count=0,timer1_count=0,tempsegment=0;
void int0 () interrupt 0
{
if (TR1 == 1)
TR1=1;
Already
if (tempsegment == 1)
if (tempsegment == 2)
timer0_count=0;
timer1_count=0;
if (tempsegment == 3)
tempsegment++;
}
void timer0 () interrupt 1
{
timer0_count++;
}
void timer1 () interrupt 3
{
timer1_count++;
{
th = TH1;
tl = TL1;
th = TH1;
TL1 = 0;
TH1 = 0;
}
{
temp_high0 = (TH0*0x100+TL0)+(timer0_count*65536); //Convert to integer
TH0=0x00;
TL0=0x00;
timer0_count=0;
}
{
temp_low0 = (th*0x100+tl)+(timer1_count*65536);
temp_high1 = (TH0*0x100+TL0)+(timer0_count*65536); //Convert to integer
TH0=0x00;
}
{
temp_low1 = (th*0x100+tl)+(timer1_count*65536);
temp_high2 = (TH0*0x100+TL0)+(timer0_count*65536);
TH0=0x00;
TL0=0x00;
timer0_count=0;
timer1_count=0;
}
TL0=0x00;
Rev. B | Page 22 of 28
//ADuC812 SFR definitions
//Daisy_Start_Pulse = P3.7
//INT0 Interrupt Service Routine
//To avoid misreading timer
//Start timer1 running, if not running
//Keep a record of timer0 overflows
//Keep a record of timer1 overflows
//Reset count
//Convert to integer
//Reset count
//Convert to integer
//Reset count
//access during ISR.
//See
Figure 32
.

Related parts for tmp05art-reel7