Elektronica Stynus
 

Lichteffecten vlieger eeprom progger code.

Terug naar het project

De code van de eeprom programmer (pic-baisc)

'****************************************************************
'*  Project : seriële poort eeprom progger                      *
'*  Auteur  : Coenen Stijn [Stynus]                             *
'*  Notice  : Copyright (c) 2007 [www.elektronicastynus.be]     *
'*          : All Rights Reserved                               *
'*  Datum   : 8/10/2007                                         *
'*  Versie  : 2.3                                               *
'****************************************************************
'*  Bij data ontvangen een 1 terug sturen  Code; 49             *
'*  Bij time out een 2 terug sturen        Code; 50             *
'*  Bij eeprom schrijf fout 3 terug sturen Code; 51             *
'****************************************************************
'Config
    Device            16F628
    Config            WDT_OFF, PWRTE_ON, MCLRE_OFF, INTRC_OSC_NOCLKOUT
    ALL_DIGITAL       TRUE    
'Seriële interface
    Declare HSERIAL_BAUD    9600 
    HSERIAL_RCSTA = %10010000 ' Enable serial port and continuous receive
    HSERIAL_TXSTA = %00100000 ' Enable transmit and asynchronous mode
'Eeprom
    Symbol  SCL         =   PORTA.0
    Symbol  SDA         =   PORTA.1
    Dim     dData       As  Byte
    Dim     Adres       As  Word
    Dim     Control     As  Byte
    Clear

	Declare I2C_SLOW    On
'Leds
    Symbol LedGroen1    =   PORTA.2
    Symbol LedGroen2    =   PORTA.3
    Symbol LedRood      =   PORTB.0
    TRISA.2             =   0
    TRISA.3             =   0
    TRISB.0             =   0

Clear
    Control             =   $A0 
    Adres               =   0       
Main:
    'Data binnenkrijgen
    dData = HRSin, {1000, Timeout}
    'Data naar eeprom schrijven
    I2COUT SDA, SCL, $A0 , Adres, [dData]
    DelayMS 9
    'bevestiging
    I2Cin   SDA, SCL, $A1 , Adres, [dData]
    High    LedGroen2   
    HSerOut [49]
    HSerOut [dData]
    High    LedRood 
    'Adres verhogen
    Inc Adres    
    'Ledjes aansturen
    Low     LedGroen1
    Low     LedGroen2

GoTo    Main
    
Timeout:
    HSerOut [50]
    High    LedGroen1
    Low     LedRood
    Adres   = 0
    DelayMS 50
GoTo    Main

End

Top

Reactie's