'****************************************************************
'* Name : V1_1.BAS *
'* Author : Stynus *
'* Notice : Copyright (c) 2007 [ElektronicaStynus.be] *
'* : All Rights Reserved *
'* Date : 8/08/2007 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Device 16F627A
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_Off, MCLRE_on
Include "modedefs.bas"
ALL_DIGITAL TRUE
TRISA = %00000000
TRISB = %00000000
Symbol Pen1 = PORTB.5
Symbol Pen2 = PORTA.1
Symbol digitA = PORTA.0
Symbol digitB = PORTA.7
Symbol digitC = PORTA.2
Symbol digitD = PORTA.4
Symbol digitE = PORTB.3
Symbol digitF = PORTA.6
Symbol digitG = PORTB.2
Symbol peltier = PORTA.3
Symbol SCLK = PORTB.0
Symbol SDA = PORTB.1
Dim digit As Byte
digit = 0
Dim index As Word
index = 0
Dim digitEen As Byte
digitEen =0
Dim digitTwee As Byte
digitTwee = 0
Dim werkTemp As Byte
werkTemp = 0
Dim X As Byte
X = 0
'************************************************************************
'* Initialiseren temperatuursensor *
'************************************************************************
I2COUT SDA,SCLK,$90,[$00]
DelayMS 1000
hier:
'********************************************************************
'* Temperatuursensor uitlezen *
'********************************************************************
SerIn PORTA.1 , T9600 , [X]
If X="M" Then
I2CIN SDA,SCLK,$91,[werkTemp]
EndIf
werkTemp = werkTemp / 10
For index = 0 To 1 Step 1
digitTwee = werkTemp - (digitEen * 10)
If index = 0 Then
High Pen1
Low Pen2
digit = digitEen
Else
High Pen2
Low Pen1
digit = digitTwee
EndIf
Select digit
Case 1
High digitB
High digitC
Case 2
High digitA
High digitB
High digitD
High digitE
High digitG
Case 3
High digitA
High digitB
High digitC
High digitD
High digitG
Case 4
High digitB
High digitC
High digitF
High digitG
Case 5
High digitA
High digitC
High digitD
High digitF
High digitG
Case 6
High digitA
High digitC
High digitD
High digitE
High digitF
High digitG
Case 7
High digitA
High digitB
High digitC
Case 8
High digitA
High digitB
High digitC
High digitD
High digitE
High digitF
High digitG
Case 9
High digitA
High digitB
High digitC
High digitD
High digitF
High digitG
Case Else
High digitA
High digitB
High digitC
High digitD
High digitE
High digitF
EndSelect
DelayMS 10
Low digitA
Low digitB
Low digitC
Low digitD
Low digitE
Low digitF
Low digitG
Next
GoTo hier
End