Code:
'rtc pins
clk_pin var portb.5
data_pin var portb.4
'register address's
reg_seconds CON $02
reg_minutes con $03
reg_hours con $04
reg_days con $05
reg_weekdays con $06
reg_months_century con $07
reg_years con $08
reg_minute_alarm con $09
reg_hour_alarm con $0A
reg_day_alarm con $0B
reg_weekday_alarm con $0C
rtc_write var byte
rtc_read var byte
rtc_write=$a2
rtc_read=$a3
'time variables
seconds var byte
minutes var byte
hours var byte
days var byte
years var byte
'-----------------------------------------------------
'initial time variable values
seconds=0
minutes=0
hours=18
days=23
years=7
' -------------------------------------------------------
init:
pause 500
lcdout $fe,1
lcdout "Real Time Clock"
pause 1000
I2CWrite data_pin,clk_pin,rtc_write,reg_seconds,[seconds]
pause 10
I2CWrite data_pin,clk_pin,rtc_write,reg_minutes,[minutes]
pause 10
I2CWrite data_pin,clk_pin,rtc_write,reg_hours,[hours]
pause 10
I2CWrite data_pin,clk_pin,rtc_write,reg_days,[days]
pause 10
I2CWrite data_pin,clk_pin,rtc_write,reg_years,[years]
pause 10
main:
I2CRead data_pin,clk_pin,rtc_read,reg_seconds,[seconds]
pause 10
I2CRead data_pin,clk_pin,rtc_read,reg_minutes,[minutes]
pause 10
I2CRead data_pin,clk_pin,rtc_read,reg_hours,[hours]
pause 10
I2CRead data_pin,clk_pin,rtc_read,reg_days,[days]
pause 10
I2CRead data_pin,clk_pin,rtc_read, reg_years,[years]
pause 10
pause 500
lcdout $fe,1 ' clear lcd
lcdout dec2 hours,":",dec2 minutes,":", dec2 seconds," "
pause 500
goto main
Bookmarks