My actual code is:
Code:
' ====== FUSES ====================================================================================
' PIC 16F690
@ __Config _FCMEN_OFF &_IESO_OFF &_CPD_OFF &_WDT_OFF &_INTRC_OSC_NOCLKOUT &_BOR_OFF &_CP_OFF &_PWRTE_OFF &_MCLRE_OFF
' ====== DEFINES ==================================================================================
DEFINE OSC 4
DEFINE SHIFT_PAUSE 250 'for MAX6675 conversion time
DEFINE LCD_DREG PORTC 'LCD data port
DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4 on µC
DEFINE LCD_RSREG PORTC 'LCD Register Select port
DEFINE LCD_RSBIT 4 'LCD Register Select bit
DEFINE LCD_EREG PORTC 'LCD Enable port
DEFINE LCD_EBIT 5 'LCD Enable bit
DEFINE LCD_BITS 4 'LCD bus size 4 or 8
DEFINE LCD_LINES 2 'Number lines on LCD
' ====== REGISTERS ================================================================================
' 76543210
OPTION_REG = %10000000 ' PORT A&B Pull-Ups disabled (look WPUA & WPUB)
'OSCCON = %01100000 ' Internal RC set to 4Mhz - not to be used with XTal
ANSEL = %00000000 ' Analog inputs Channels 0 to 7
ANSELH = %00000000 ' Analog inputs Channels 8 to 11
ADCON0 = %00000000 ' A/D Module is OFF
CM1CON0 = %00000000 ' Comparator1 Module is OFF
CM2CON0 = %00000000 ' Comparator2 Module is OFF
INTCON = %00000000 ' INTerrupts CONtrol / RA2 is ON
PORTA = %00000000 ' Ports High/Low (0 to 5)
TRISA = %00000000 ' Set Input/Output (0 to 5)
PORTB = %00000000 ' Ports High/Low (4 to 7)
TRISB = %00000000 ' Set Input/Output (4 to 7)
PORTC = %00000000 ' Ports High/Low (0 to 7)
TRISC = %00000000 ' Set Input/Output (0 to 7)
' ====== VARIABLES ================================================================================
MAX6675_SDO var PORTB.4
MAX6675_CS var PORTB.5
MAX6675_SCK var PORTB.6
Temperature var word
Temperature = 0
' ====== PROGRAM ==================================================================================
MAX6675_READ:
MAX6675_CS = 0
shiftin MAX6675_SDO,MAX6675_SCK,0,[Temperature\16]
MAX6675_CS = 1
Temperature = Temperature >> 3
lcdout $FE,2,DEC Temperature/4,",",DEC (Temperature//4)*25," C"
PAUSE 1000
Goto MAX6675_READ:
END
Bookmarks