Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

AVR-RISC Микроконтроллерры - Трамперт В.

Трамперт В. AVR-RISC Микроконтроллерры — МК- Пресс , 2006. — 458 c.
ISBN 966-8806-07-7
Скачать (прямая ссылка): mikrokontrolerri2006.pdf
Предыдущая << 1 .. 202 203 204 205 206 207 < 208 > 209 210 211 212 213 214 .. 215 >> Следующая

000003 4f
000004 66
000005 6d
000006 Id
000007 07
.db $7F,$6F,$77,$7C,$39,$5E,$00,$40 ; Шестнадцатеричные 8..D,Е=пробел,Г=минус
000008 If
000009 6f
00000a 77
00000b 7c
00000c 39
OOOOOd 5e
00000e 00
OOOOOf 40
;.db $7F,$6F,$77,$7C,$39,$5E,$79,$71 ; Альтернатива; шестнадцатеричные 8..F
В )той программе после обычного определения регистров-переменных и кон-
таит следует описание макросов. Поскольку все четыре макроса состоят только > одной команды, их, в принципе, можно было бы и не объявлять как макросы, однако использование макросов делает программу более наглядной. Это объяснялся тем, что сигналы [2С выдаются по технологии открытого коллектора, и пото-
4 у и случае реализации для микроконтроллеров AVR порты соответствующих выходов постоянно находятся в состоянии лог. О, а уровень переключается с по-\чэ1ц:>ю регистра направления передачи данных (см. главу 10). Так, на шину в результате установки направления записи как "‘Выход’' (посредством 1) выдается лог. 0. Аналогичным образом, переключение в высокоомное состояние (лог. 1, полученная в шине с помощью подтягивающего сопротивления) осуществляется посредством установки 0 в соответствующем регистре направления передачи данных.
Описание подпрограмм
Каждая из описанных ниже подпрограмм завершается в момент окончания фазы высокого уровня тактового сигнала. Это гарантиурет определенную точку входа для следующей части программы.
Подпрограмма Wait250 вызывает задержку приблизительно на 250 мс. Для этого Т/СО инициализируется значением $00, а его флаг переполнения сбрасывается. Затем отсчитываются 256 импульсов на тактовом входе до тех пор, пока не возникнет переполнение. Частота входного такта получается делением частоты ;¦ поемной синхронизации 4 МГц на 1024, и потому задержка составляет 256 х 1024 / 4 МГц = 65,536 мс. Как только опять устанавливается флаг переполнения,
Использование микроконтроллера AVR в качестве ведущего устройства 12С 439
цикл задержки прерывается, а затем повторяется еще трижды, чтобы получить требуемую задержку 262 мс.
В подпрограммах WaitSus и Wait4us реализованы задержки на 5 мкс и на
4 мкс соответственно. Эти задержки необходимы для тактирования шины 1~С.
Подпрограмма Restart готовит повторение условия старта для ГС. Для этого высокий уровень такта SCL, оставшийся от предыдущей операции квитирования, снимается, и в линию SDA выдается сигнал высокого уровня. После задержки на
5 мкс следует нарастающий фронт сигнала SCL. Далее ожидаем, пока ведомое устройство на перейдет в состояние ожидания (лог. О в линии SCL), и после еще одной задержки в 5 мкс переходим к следующей части прог раммы.
Подпрограмма Start — переход в режим выдачи условия начала передачи, которое представляет собой установку низкого уровня сигнала SDA при высоком уровне сигнала SCL. После описанной выше задержки можно выполнить передачу адреса ведомого устройство с помощью подпрограммы WriteByte.
Подпрограмма WriteByte передает один байт ведомому устройству. Сразу же после условия старта должен следовать адрес ведомого устройства. Тем не менее, во время передачи ведомому устройству может пересылаться последовательность из нескольких байтов, поэтому подпрограмма WriteByte может также перейти непосредственно к выдаче байта (как в подпрограмме Our.Disp). Все восемь разрядов байта, представленного в виде переменной dbyt, последовательно сдви-I а юте я влево и передаются по линии SDA (начиная со старшего разряда).
11од программа Get Ас к считывает реакцию ведомого устройства на только что переданный байт. Лог. О указывает на корректный прием (положительное квитирование), а лог. 1 — на сбой (отрицательное квитирование). Здесь также после ус-
I яновки сигнала высокого уровня в линии SCI., реализована задержка до перехода t.e іомоі о устройства в состояние ожидания.
Подпрограмма ReadByte считывает байт из адресуемого ведомою устройства. По аналогии с подпрограммой WriteByte, она последовательно сдвигает влево восемь принятых битов (начиная со старшего), сохраняя их в переменной dbyt:.
Предыдущая << 1 .. 202 203 204 205 206 207 < 208 > 209 210 211 212 213 214 .. 215 >> Следующая