Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

Глава 1 3. Интерфейс 1WI (12С) и его применение R1 5,1 к +5 в---r:=J-..----1 1 Reset (ADC5) РС5 28 С1 2 RXD (ADC4) РС4 27 I o.1 З ТХD (АDСЗ) РСЗ 26 4 1NTO (PD2) (ADC2) РС2 25 +5 В 5 INT1 (РDЗ) (ADC1 ) РС1 24 6 PD4 (ТО) (PCO) ADCO 23 7 Vcc GND 22 8 GND AREF 21 9 XTAL1 AVCC 20 10 XTAL2 SCK 1 9 1 1 PD5 (Т1 ) MISO 1 8 1 2 PD6 .....,..._...,...-i 1 3 PD7 MOSI 1 7 (ОС1 В) РВ2 1 6 (ОС1д) РВ1 1 5 ATmega8 14 РВО Рис. 1 3.5. Подключение дисплея МТ-1 ОТ1 1 к контроллеру ATmega8 ПОДРОБНОСТИ 363 Если будете подключать подсветку, учтите, что внутри там просто два последова­ тельных светодиода , которые в сумме дают падение напряжения около 4,3-4,5 воль­ та . Исходя из этого, следует рассчитывать токоогранчивающий резистор так, чтобы ток подсветки составлял около 30 мА (для 5 вольт получается всего 20 Ом, и, тем не менее, без него подсветку включать нельзя) . Почему-то так же неудобно устроена подсветка у всех ЖК-дисплеев: единственное известное мне исключение представля­ ет дисплей ВСВ1 602-05, который мы будем рассматривать в главе 1 6. Тестовую программу подключения дисплея МТ- 1 ОТ ! 1 можно разыскать в архиве по адресу, указанному во введении (файл MT- 1 0T1 1 _test. asm). Она также использует включаемый файл «библиотеки» 12С. ргg, так что при компиляции он должен нахо­ диться в том же каталоге, что и программа. В этой программе мы избавимся от многочисленных проверок того, что посылки по интерфейсу I 2 c сработали, - нам все равно некуда их посылать, пока дисплей еще не работает. Программа содержит единственную достаточно длинную процедуру для общения с дисплеем: write_str. Пользователи, привычные к дисплеям с контроллерами, ко­ торые надо долго и правильно инициализировать, прежде чем что-то на них удастся вывести (см. главу 16), будут удивлены : здесь установку режима необходимо про­ изводить каждый раз заново после того, как ранее на линиях I 2 c было выставлено состояние «стоп». И каждый раз после этого подавать всю строку из 1 0 символов целиком. Конечно, можно ограничиться только необходимым количеством знаков, начиная с нулевой позиции, но, во-первых, в остальных позициях тогда может ото­ бражаться невесть что, во-вторых, каждый раз изобретать процедуру заново не­ удобно. То есть методика работы с дисплеем такая: сначала вы формируете где-то в памяти строку из десяти символов . Здесь удобно применить способ формирования массива

RkJQdWJsaXNoZXIy MTExODQxMg==