ник: snipe
чета до меня только сейчас дошло
имеем
три провода (три младших разряда) в порту 888
в которых за 48 полупериодов (шагов цикла) нужно выкинуть слово из 24 бит
т.е.
все время работы цикла на одном проводе удерживаем 1
на другом по нечетным тактам устанавливаем дату (данные)
за первый полупериод тактовую частоту переводим с 0 в 1
во второй полупериод тактовую частоту переводим с 1 в 0
для этого необходимо передавать в порт десятичные 1 3 5 7
а если использовать два порта 888 и 890
например в порт 888 просто передавать на один провод данные
а в порт 890 передавать тактовую частоту и разрешение на изменение
тогда в момент изменения инфы в 890 будет передаваться или 1 или 3
все упростится до следующего
cl=1
for i=1 to 24
Out 888, data ' или 0 или 1
for j=1 to 2
if cl=1 then
cl=3
else
cl=1
end if
Out 890, cl
Call Sleep(2)
next j
next i
Out 888, 0
Out 890, 0