329
#include <xc.h> #include <stdio.h> #include <string.h> #define _XTAL_FREQ 20000000 // Configuration bits #pragma config FOSC = HS // High-speed oscillator #pragma config WDTE = OFF // Watchdog Timer disabled #pragma config PWRTE = OFF // Power-up Timer disabled #pragma config BOREN = OFF // Brown-out Reset disabled #pragma config LVP = ON // Low-Voltage Programming enabled #pragma config CPD = OFF // Data EEPROM Code Protection disabled #pragma config WRT = OFF // Flash Program Memory Write Protection disabled #pragma config CP = OFF // Flash Program Memory Code Protection disabled // LCD control pins #define RS PORTCbits.RC3 #define RW PORTCbits.RC4 #define EN PORTCbits.RC5 // DS1620 pins #define DQ PORTCbits.RC0 #define DQ_TRIS TRISCbits.TRISC0 #define CLK PORTCbits.RC1 #define RST PORTCbits.RC2 // DS1620 Commands #define START_CONVERT 0xEE #define STOP_CONVERT 0x22 #define READ_TEMP 0xAA #define WRITE_CONFIG 0x0C #define READ_CONFIG 0xAC // Global variables static char temp_str[16];