Пост N: 45
Зарегистрирован: 02.01.07
Откуда: Ukraine, Славута
Рейтинг:
0
Отправлено: 22.11.08 11:53. Заголовок: как правильно включить курсор в WH-1602
Здравствуйте , кто может подсказать, как включить курсор на индикаторе WINSTAR WH-1602-NGG-CT (прототип HD44780),я работаю с ним первый раз, вот и первая проблема. Так как я понял, курсор можно включить и установить в 1 ряд, крайнее левое место при инициализации индикатора, путём установления флага C или B? Я так и делаю, оставляю установленным в 1 флаг D,C,B. Толку никакого! Кто может подсказать что делать .Всё что нужно для меня я почти вывел на индикатор, а вот сделать так чтобы курсор был указателем знакоместа над которым будет произведена операция изменений ,не получается. Для меня важно как включить чтобы он был видим пока. Я уже подумываю может есть различия между HD44780 и WH-1602-NGG-CT ? Потому что перейти на русский шрифт пока тоже не получается.
Пост N: 46
Зарегистрирован: 02.01.07
Откуда: Ukraine, Славута
Рейтинг:
0
Отправлено: 23.11.08 09:36. Заголовок: как правильно включить курсор в WH-1602
Ребята ,подскажите . вот исходник инициализации индикатора. ******************************************************************************************** ;------------------------------- "РАБОЧАЯ" ЧАСТЬ "ПРОГРАММЫ" ------------------------------- ;******************************************************************************************** ; "Рабочая" инициализация ЖКИ модуля. ;============================================================================================ LCD_INIT movlw b'00111000' ; Установка: 8-бит, 2 строки, 5х7 точек. movwf PortB ; ---------------"---------------- call ENTER_BF ; "Плавающая" задержка со стробом под команду 00111000. ;----> Возврат по стеку из ПП ENTER_BF.
movlw b'00001110' ; Установка: дисплей включен, видимое отображение movwf PortB ; курсора выключено. call ENTER_BF ; "Плавающая" задержка со стробом под команду 00001100. ;----> Возврат по стеку из ПП ENTER_BF.
LCD_CLEAR movlw b'00000001' ; Установка: очистка дисплея со сбросом данных, movwf PortB ; установка курсора в начало 1-й строки. call ENTER_BF ; "Плавающая" задержка со стробом под команду 00000001. ;----> Возврат по стеку из ПП ENTER_BF.
return ; Возврат по стеку либо в начало процедуры вывода на ; индикацию тестовых надписей, либо в начало ПП DISPLAY. ;============================================================================================= ; ПП "плавающей" задержки на основе анализа состояния флага занятости BF. ;============================================================================================= ; "Запуск в работу" текущего байта, выставленного ; на выходах защелок порта В. ;------------------------------------------------- ENTER_BF nop ; Задержка в 1 м.ц. bsf PortA,E ; Установка на линии Е "1". nop ; Задержка в 1 м.ц. bcf PortA,E ; Установка на линии Е "0". ;------------------------------------------------- ; Проверка состояния флага занятости BF. ;------------------------------------------------- ; Подготовка к проверке. ;------------------------ bsf Status,RP0 ; Переход в 1-й банк. movlw .255 ; Запись в W "11111111" movwf TrisB ; Все выводы порта В работают на вход bcf Status,RP0 ; Переход в 0-й банк.
bcf PortA,RS ; Установка на линии RS "0" (режим команд). bsf PortA,RW ; Линия RW в "1" (режим чтения данных). nop ; Задержка в 1 м.ц. bsf PortA,E ; Установка на лини Е "1". POVTOR nop ; Задержка в 1 м.ц. ;----------------------- ; Сама проверка. ;----------------------- btfsc PortB,BF ; Проверка состояния флага занятости BF. goto POVTOR ; Если BF=1, то продолжение задержки до тех пор, пока ; BF не установится в "0" (программа исполняется далее). ;----------------------- ; Завершение процедуры. ;----------------------- clrf PortA ; Сброс в "0" всех защелок порта А (RW=0, RS=0, E=0). bsf Status,RP0 ; Переход в 1-й банк. clrf TrisB ; Все выводы порта В работают на выход. bcf Status,RP0 ; Переход в 0-й банк.
Наверное проще будет определить причину, если заведомо использовать исправный индикатор, или рабочую программу. На СD в текстах программ есть файл с номером 48 LCD-XT4M.ASM. Как раз 8ми битный интерфейс с видимым отображением курсора. Проверте на той программе. Хоть будет понятно, где искать. А вообще, в Вашем варианте наверное нужно сделать задержку между первой и второй инструкциями. Пару мс думаю хватит.
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет