PIC 16F877 ile 24C01 EPROM'u kontrol edilmiştir ve 2x16 LCD'de takip yaptırılmıştır. Devredeki PIC 16F84 ile de yapabilirsiniz. Tek farkı picbasic programında hex dosya yaparken bu PIC'i seçmeniz yeterli olacaktır.
PIC ile 24C01 EPROM kontrolü, LCD'den takip için gerekli devre şemasıdır.
' Programın Adı : 24C01 EEPROM'un 3. adresine 5 bilgisini yazma-okuma ve LCD'de gösteren program
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
SDA VAR PORTC.1
SCLK VAR PORTC.2
DEGER VAR BYTE
ANA_PROGRAM:
DEGER=0
ADRES=0
GOSUB I2CYAZ
LCDOUT $FE,1, DEC(ADRES),".YAZ DEGERI=",DEC(DEGER)
GOSUB GECIKME
GOSUB I2COKU
LCDOUT $FE,$C0, DEC(ADRES),".OKU DEGERI=", DEC(DEGER)
GOSUB GECIKME
GOTO ANA_PROGRAM
END
I2CYAZ:
DEGER=5
ADRES=3
I2CWRITE SDA,SCLK,$A0,ADRES,[DEGER]
PAUSE 10
RETURN
I2COKU:
ADRES=3
I2CREAD SDA,SCLK,$A0,ADRES,[DEGER]
PAUSE 10
RETURN
GECIKME :
PAUSE 1000
RETURN
' Programın Adı : 24C01 EEPROM'unun 1'den 10. adresine kadar, sayısal 1'den 10 sayısına kadar veri yazma-okuma ve LCD'de gösteren program
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
SDA VAR PORTC.1
SCLK VAR PORTC.2
DEGER VAR BYTE
A VAR BYTE
ANA_PROGRAM:
DEGER=0
ADRES=0
FOR A=1 TO 10
ADRES = ADRES + 1
DEGER = DEGER + 1
GOSUB I2CYAZ
LCDOUT $FE,1, DEC(ADRES),".YAZ DEGERI=",DEC(DEGER)
GOSUB GECIKME
NEXT A
ADRES=0
FOR A=1 TO 10
ADRES = ADRES + 1
GOSUB I2COKU
LCDOUT $FE,$C0, DEC(ADRES),".OKU DEGERI=",DEC(DEGER)
GOSUB GECIKME
NEXT A
GOTO ANA_PROGRAM
END
I2CYAZ:
I2CWRITE SDA,SCLK,$A0,ADRES,[DEGER]
PAUSE 10
RETURN
I2COKU:
I2CREAD SDA,SCLK,$A0,ADRES,[DEGER]
PAUSE 10
RETURN
GECIKME :
PAUSE 1000
RETURN
|