![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 70717273747576 ... 159 с символа с кодом 0. В этом случае сначала код 0x040 должен записываться в жидкокристаллический дисплей, а уже вслед за ним - все байты строк задаваемых пользователем символов. Перед пересылкой команд или данных на модуль жидкокристаллического дисплея для этого модуля должна быть выполнена операция инициализации. Если используется режим с 8-разрядным форматом передачи данных, подобная инициализация осуществляется с помощью такой последовательности действий: 1. Ожидание установки напряжения питания в течение более 15 мс после включения. 2. Запись кода 0x030 в жидкокристаллический дисплей и ожидание в течение 5 мс завершения исполнения соответствующей команды. 3. Запись кода 0x030 в жидкокристаллический дисплей и ожидание в течение 160 мкс завершения исполнения соответствующей команды. 4. Повторная запись кода 0x030 в жидкокристаллический дисплей и ожидание в течение 160 мкс или проверка признака «занято». 5. Задание рабочих характеристик для жидкокристаллического дисплея: -передача команды Set Interface Length (задание формата обмена по интерфейсу); - запись кода 0x008 для отключения дисплея; - запись кода 0x001 для стирания данных дисплея; - передача команды Set Си rso г Move Di rect ion (задание направления смещения курсора); - передача команды Enable Display/Cursor (разрешение использования дисплея/курсора) для активизации дисплея и курсора. Первая из приводимых ниже макрокоманд (LCD8) обеспечивает нормальное взаимодействие с жидкокристаллическим дисплеем в условиях самых жестких временных требований, поскольку реализует наибольшую скорость обмена. Чтобы инициировать эту макрокоманду, следует ввести командное слово в виде: LCD8 DataPort, EPort, EPin, RSPort, RSPin, RWPort, RWPin, Frequency, где параметр DataPort соответствует используемому 8-разрядному порту ввода/вывода данных. При этом параметры EPort и ЕРш определяют порт и линию (Е) для передачи синхронизирующих импульсов, параметры RSPort И RSPin - линию RS, а параметры RWPort и RWPin - линию R/W (в ряде случаев не используются). Параметр Frequency указывает тактовую частоту микроконтроллера и служит для расчета величин временных задержек. Единственной переменной, которая используется макрокомандами LCD8 и LCDBPoll, является 8-разрядная переменная Dlay. Макрокоманда LCD8 может применяться для микроконтроллеров младшего и среднего подсемейств. Исключение составляет лишь подпрограмма LCDPORTInit: ее нельзя использовать для РГС-микро-контроллеров младшего подсемейства. В этом случае инициализация портов ввода/вывода данных должна выполняться с помощью команд TRIS: LDC8 Macro DataPort, Eport, Ерш, RSPort, RSPin, RWPort, RWPin, Freq Variable DlaySValue, Dlay160Value, Dlay160Bit1 = -1, Dlay160Bit2 = -1, BitCount = 0 Variable Value = 128, Bit = 7 DlaySValue = ((5007 . (Freq/1000)/4000)/7) + 256 DlayieoValue = (163 • (Freq/1000)/4000)/3 while (Bit > = 0 , Определение числа битов и их позиции , в переменной Dlay160Value if ((DlayieOValue & Value) = 0) if (DlayieOBitl == -1) , Установка старшего бита DlayieOBitl = Bit else If (Dlay160Bit2 = -1) Dlay160Bit2 = Bit endif endif BitCount = BitCount + 1 endif Value = Value >> 1 Bit = Bit - 1 endw If (BitCount > 2) , Необходимы максимум два , бита If ((DlayieOBitl - 1) == Dlay160Bit2) flayieOBitl = DlayieOBitl + 1 , Сдвиг вверх на 1 layl60Bit2 = -1 , первого (старшего) бита , и удаление второго
0 ... 70717273747576 ... 159 |