'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2016 Braun Antal                    *
'*          : All Rights Reserved                               *
'*  Date    : 2016.04.07.                                       *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
    Device              16F628A
        Config WDT_OFF, PWRTE_ON, MCLRE_OFF, INTRC_OSC_NOCLKOUT, LVP_off
        ALL_DIGITAL         = true
    '****************************************************************   
        Symbol  digit1   = PORTB.5
        Symbol  digit2   = PORTA.1
        Symbol  digitA   = PORTA.0
        Symbol  digitB   = PORTA.7
        Symbol  digitC   = PORTA.2
        Symbol  digitD   = PORTB.6
        Symbol  digitE   = PORTB.3
        Symbol  digitF   = PORTA.6
        Symbol  digitG   = PORTB.2
       
        Symbol  peltier  = PORTB.4
     
        Symbol  SCL      = PORTB.0
        Symbol  SDA      = PORTB.1
     
        Symbol inpFEL = PORTA.4
        Symbol inpLE = PORTA.5
       
        Dim     getal1   As Byte
        Dim     getal2   As Byte
        Dim     getal    As Byte
        Dim     index    As Byte
        Dim  temperatuur As Float
        Dim gewenst As Float  
        gewenst   = 10   
     
    '****************************************************************     
    init:
        Clear
        I2Cin SDA,SCL,$90,[$00]   
    '****************************************************************
    main:
        While 1 = 1
            GoSub sensorIn
           
            getal1 = temperatuur / 10
            getal2 = (temperatuur - (getal1 * 10))
            GoSub dispUit
           
            If temperatuur < gewenst Then
                Low peltier
            Else
                High peltier
            EndIf
        Wend
     
        If inpFEL = 1 Then
        gewenst = gewenst +1
        DelayMS 800
        End If
     
     
        If inpLE = 1 Then
        gewenst = gewenst -1
            If gewenst = -1 Then
                gewenst = 0
            End If
            DelayMS 800
        End If
     
     
    '****************************************************************     
    sensorIn:
        I2Cin SDA, SCL,$91,[temperatuur]
    Return
    '****************************************************************   
    dispUit:
        '    A
        '  F   B
        '    G
        '  E   C
        '    D
        For index = 0 To 1
            If index = 0 Then
                getal = getal1
                High digit1
            EndIf
            If index = 1 Then   
                High digit2
                getal = getal2   
            EndIf
            Select getal
                Case 0   
                    High digitA
                    High digitB
                    High digitC
                    High digitD
                    High digitE
                    High digitF
                    Low  digitG           
                Case 1
                    Low  digitA
                    High digitB
                    High digitC
                    Low  digitD
                    Low  digitE
                    Low  digitF
                    Low  digitG       
                Case 2
                    High digitA
                    High digitB
                    Low  digitC
                    High digitD
                    High digitE
                    Low  digitF
                    High digitG       
                Case 3
                    High digitA
                    High digitB
                    High digitC
                    High digitD
                    Low  digitE
                    Low  digitF
                    High digitG       
                Case 4
                    Low  digitA
                    High digitB
                    High digitC
                    Low  digitD
                    Low  digitE
                    High digitF
                    High digitG       
                Case 5
                    High digitA
                    Low  digitB
                    High digitC
                    High digitD
                    Low  digitE
                    High digitF
                    High digitG       
                Case 6
                    High digitA
                    Low  digitB
                    High digitC
                    High digitD
                    High digitE
                    High digitF
                    High digitG       
                Case 7
                    High digitA
                    High digitB
                    High digitC
                    Low  digitD
                    Low  digitE
                    Low  digitF
                    Low  digitG       
                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
                    Low  digitE
                    High digitF
                    High digitG           
            EndSelect
            DelayMS 2   
            Low digitA
            Low digitB
            Low digitC
            Low digitD
            Low digitE
            Low digitF
            Low digitG
            Low digit1
            Low digit2
        Next
    Return
     
    '****************************************************************
    End




