基于mikroC和microchip的TC74的温度测量方案
char temperature[] = " 000 C";
void main() { CMCON = 0x07; // Disable comparators
ADCON1 = 0x0F; // Disable Analog functions
TRISA = 0x00;
TRISC = 0x00;
TRISB = 0x00;
I2C1_Init(100000); // Initiate I2C
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // CLEAR display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1,1,"Testing TC74");
Lcd_Out(2,1,"Thermal sensor");
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
do { check_device(TC74A0);
num = Read_Temp();
// Check for negative temperature
if (num > 127) {
temperature[0] = -;
num = ~num +1;
}
else temperature[0] = +;
temperature[1] = num/100 + 48;
temperature[2] = (num/10)%10 + 48;
temperature[3] = num%10 + 48;
temperature[5] = 223;
// eliminate 0s at beginning
if (temperature[1] == 0) {
temperature[1] = ;
if (temperature[2] == 0) temperature[2] = ;
}
Lcd_Out(2,4,temperature);
Delay_ms(500); } while(1);
}
五、输出
下面的照片显示装置显示正面和负面的温度。一种热焊棒尖端饱和的传感器在127°C。测试负温度读数的时候,该装置放进冰箱。

图7 测量室内的温度

图8 最大的测量温度

图9 放在冰箱中的温度显示
六、总结
本实验对微芯片的TC74传感器与PIC单片机测量环境温度的接口技术进行了探讨,并且证明方案是可以成功的。与TC74传感器的通信是通过 PIC18F2550的一个I2C总线接口完成的。8位温词是从内部温度寄存器读取和经过PIC18F2550单片机在液晶屏上显示的。再者,借助虹科电 子的便利的编译器MikroC Pro for PIC,也让刚方案显得更加容易,更加稳定。

评论