[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Вывод я делаю так:
1. Загрузка байта в DATA_OUT
2. Сброс
3. Проверяю импульса присутствия.
4. Сдвигаю DATA_OUT -> на 1 бит через С
5. DQ=0
6. Если в С 0, пауза ~70-80 мкс, если 1, то ~7-8 мкс.
7. DQ=1
8. Пауза ~40-60 мкс для зарядки вн. конденсатора DS1821 (при паразитном питании)
9. Переход к п.4 (и вот так все 8 бит)
Ввод:
1. Сброс
2. Проверка импульса присутствия
3. DQ=0
4. Пауза несколько мкс
5. DQ переводим в режим ввода
6. Проверяем DQ. Если 1, то в DATA_IN задвигаем 1, если 0, то 0
7. Пауза для зарядки вн. конденсатора DS1821.
8. Переход к п.3
Если так не понятно, то см. здесь ftp://ftp.elin.ru/pdf/MicroLAN/dodeka_ml.pdf.
E-mail: info@telesys.ru