Правильно было бы при BC1=BDIR=0 выставить данные на шину данных, после чего выставить одновременно BC1 и BDIR в соответсвии с тем что пишем (адрес/данные), после чего сного выставить BC1=BDIR=0 и только после этого снимать данные с шины данных.