DECLARE SDA_PIN PORTC.6 DECLARE SCL_PIN PORTC.7 SYMBOL memory_read = %10100001 SYMBOL memory_write = %10100000 SYMBOL RTC_read = %11010000 SYMBOL RTC_write = %11010001 '------ запись в 24С256 --------------------------------------- BUSOUT memory_write, Adres, [VAR2] ' '------ чтение 24С256 --------------------------------------- VAR1 = BUSIN memory_read, Adres read_time:'--------- чтение DS1307 ------------------------------------------------ DISABLE BUSIN RTC_read, 0, [sec,mins,hr,day,date,mon,yr] ENABLE tmp = mins GOSUB fix_bcd_in mins1 = tmp tmp = hr GOSUB fix_bcd_in hr1 = tmp tmp = date GOSUB fix_bcd_in date1 = tmp tmp = mon GOSUB fix_bcd_in mon1 = tmp tmp = yr GOSUB fix_bcd_in yr1 = tmp RETURN'---------------------------------------------------------- write_time:'--------------- запись в DS1307 ------------------------------ tmp = mins1 GOSUB fix_bcd_out mins = tmp tmp = hr1 GOSUB fix_bcd_out hr = tmp tmp = date1 GOSUB fix_bcd_out date = tmp tmp = mon1 GOSUB fix_bcd_out mon = tmp tmp = yr1 GOSUB fix_bcd_out yr = tmp sec = 0 DISABLE BUSOUT RTC_write, 0, [sec,mins,hr,day,date,mon,yr] ENABLE RETURN'---------------------------------------------------------- fix_bcd_in:'------------------------------------------------------------------------- tmp1 = tmp & 15 tmp = tmp >> 4 tmp = tmp1 + 10 * tmp RETURN fix_bcd_out:'------------------------------------------------------------------------ tmp1 = tmp / $A tmp = tmp - (tmp1 * $A) tmp = tmp + (tmp1 << 4) RETURN