кусок проги: '@ device PIC16F876A, XT_osc, wdt_on, wrt_off, lvp_off, pwrt_on, protect_off
SCL VAR PORTC.4 ' I2C clock pin
SDA VAR PORTC.3 ' I2C data pin
rtc_read CON %11010000 '
sec VAR BYTE ' seconds
sec2 var byte
mins VAR BYTE ' minutes
mins1 var byte
hr VAR BYTE ' hours
hr1 VAR BYTE '
day VAR BYTE ' day
date VAR BYTE ' date
date1 VAR BYTE '
mon VAR BYTE ' month
mon1 var byte
yr VAR BYTE ' year
yr1 VAR BYTE '
d_hi VAR BYTE
d_lo VAR BYTE
'------------------------------------------------------------
gosub read_time
if sec.7 then phase0 = 10: BRANCHL br, [set_time]
main:'-------------- главная программа----------------------------------
END
set_time:'-----------меню установки часов--------------------------------
return'----------------------------------------------------------
read_time:'---------------------------------------------------------
I2CRead SDA, SCL, rtc_read, 0, [sec,mins,hr,day,date,mon,yr]
d_hi = sec / 16: d_lo = sec // 16: sec2 =d_hi * 10 + d_lo
d_hi = mins / 16: d_lo = mins // 16: mins1 =d_hi * 10 + d_lo
d_hi = hr / 16: d_lo = hr // 16: hr1 =d_hi * 10 + d_lo
d_hi = date / 16: d_lo = date // 16: date1 =d_hi * 10 + d_lo
d_hi = mon / 16: d_lo = mon // 16: mon1 =d_hi * 10 + d_lo
d_hi = yr / 16: d_lo = yr // 16: yr1 =d_hi * 10 + d_lo
return'----------------------------------------------------------
но как я понял проблема не в проге у меня такойже кусок в другом устройстве работает. тут быстрее глюк железа или разводки платы. у меня при переходе на автономное питание иногда пропадает генерация на кварце.