Например TDA7294

Форум РадиоКот • Просмотр темы - Работа с ЖКИ на контроллере HD44780 и его аналогах
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 25, 2024 11:39:27

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2424 ]     ... , , , 25, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб дек 11, 2010 19:45:33 
Открыл глаза

Карма: 2
Рейтинг сообщений: 2
Зарегистрирован: Сб авг 07, 2010 18:38:37
Сообщений: 42
Откуда: Таганрог
Рейтинг сообщения: 0
Модераторы удалите предыдущее сообщение, вопрос снят, проблема была в задержке в вместо nop нужно было хотябы поставить 2uS


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб дек 11, 2010 20:02:11 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 18809
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
T0lik писал(а):
Модераторы удалите предыдущее сообщение, вопрос снят, проблема была в задержке в вместо nop нужно было хотябы поставить 2uS

Сам бы взял, да удалил.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Программиуемые символы
СообщениеДобавлено: Пн дек 13, 2010 16:22:47 
Встал на лапы
Аватар пользователя

Карма: 1
Рейтинг сообщений: 10
Зарегистрирован: Пн мар 30, 2009 07:38:28
Сообщений: 87
Откуда: Бурятия
Рейтинг сообщения: 0
Всем привет. Индикатор PM1551A DISPLAYTECH

Вопрос вот в чём:
В нём нет русского знакогенератора. Сделал свой на восьми
"символах, программируемых пользователем".
Коды $00 - $07.

1 Вывожу на экран слово. По русски :)

2 Программирую эти символы для другого слова, чтобы написать это другое слово.

После действия 2 первое нарисованное слово меняется на символы,
зашитые в 2. Второе слово ещё не писал!

Т.е. контроллер выводит на экран не один раз и "навсегда" до вык. питания,
а постоянно обновляет изображение из знакогенератора?

Получается невозможно нарисовать ОДНОВРЕМЕННО более 8ми своих символов?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программиуемые символы
СообщениеДобавлено: Пн дек 13, 2010 18:17:22 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс июн 14, 2009 21:36:46
Сообщений: 53
Откуда: Кап.Яр-1 Астраханская обл.
Рейтинг сообщения: 0
PANYTA писал(а):
Всем привет. Индикатор PM1551A DISPLAYTECH

Вопрос вот в чём:
В нём нет русского знакогенератора. Сделал свой на восьми
"символах, программируемых пользователем".
Коды $00 - $07.

1 Вывожу на экран слово. По русски :)

2 Программирую эти символы для другого слова, чтобы написать это другое слово.

После действия 2 первое нарисованное слово меняется на символы,
зашитые в 2. Второе слово ещё не писал!

Т.е. контроллер выводит на экран не один раз и "навсегда" до вык. питания,
а постоянно обновляет изображение из знакогенератора?

Получается невозможно нарисовать ОДНОВРЕМЕННО более 8ми своих символов?

При определении собственных символов перепрошивается ОЗУ знакогенератора. Естественно, символы, чьи коды находятся в ОЗУ дисплея изменят начертание. Сам ответил на свой вопрос - ДА не более 8 одновременно.

_________________
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Ср дек 22, 2010 13:05:18 
Родился

Зарегистрирован: Пн ноя 17, 2008 10:36:44
Сообщений: 14
Рейтинг сообщения: 0
Коты такой вопрос, сильно не пинайте новичок, есть индикатор WH1602D-TFH-CT (вернее могу купить), а надо (по схеме) HD44780, вопрос совместимы ли они, т.е. взаимозаменяемые ли они, могу я вместо HD44780 поставить WH1602D если AVR зашит под 1602...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Ср дек 22, 2010 14:06:29 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5598
Откуда: Minsk
Рейтинг сообщения: 0
NSL писал(а):
Коты такой вопрос, сильно не пинайте новичок, есть индикатор WH1602D-TFH-CT (вернее могу купить), а надо (по схеме) HD44780, вопрос совместимы ли они, т.е. взаимозаменяемые ли они, могу я вместо HD44780 поставить WH1602D если AVR зашит под 1602...


HD44780 - тип контроллера дисплея, WH1602D-TFH-CT - это тип самого дисплея , в нем контроллер KS0066, если перечитать эту ветку с первой страницы, то про их совместимость много чего.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re:
СообщениеДобавлено: Ср дек 22, 2010 14:35:48 
Родился

Зарегистрирован: Пн ноя 17, 2008 10:36:44
Сообщений: 14
Рейтинг сообщения: 0
sema писал(а):
KS0066 полностью аналогичен HD44780, из кодевижена библа подходит. на дисплее видна первая строка? (темные квадраты)

я так понимаю что вместо HD44780 запросто могу поставить KS0066 без переделки схемы и программы, да?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Ср дек 22, 2010 21:24:51 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс июн 14, 2009 21:36:46
Сообщений: 53
Откуда: Кап.Яр-1 Астраханская обл.
Рейтинг сообщения: 0
http://www.entrance-el.ru/products/char ... 02d_tfh_ct
подсветка - белая,
знакогенератор - рус/лат (стандартный)
ВПЕРЕД!!!

_________________
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Ср дек 22, 2010 21:58:07 
Опытный кот
Аватар пользователя

Карма: -5
Рейтинг сообщений: 24
Зарегистрирован: Вс фев 04, 2007 16:32:06
Сообщений: 782
Рейтинг сообщения: 0
подозреваю что ошибка в документе, при 8 разрядном обмене такого нет, при 4х разрядном есть при инициализации, но работает и без отправки данных двух кодов команд - не описанных в спецификации.

http://i14.fastpic.ru/big/2010/1222/d6/ ... 70f2d6.jpg


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт дек 23, 2010 16:15:13 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 117
Зарегистрирован: Сб фев 20, 2010 14:00:12
Сообщений: 2994
Откуда: Москва
Рейтинг сообщения: 0
Народ! Куда надо подключать вывод Vo (контрастность) у индикатора WH0802, чтоб без подстроечника? К плюсу или к земле?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт дек 23, 2010 16:17:34 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 18809
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
aam писал(а):
Куда надо подключать вывод Vo (контрастность) у индикатора WH0802, чтоб без подстроечника? К плюсу или к земле?

Цель? Просто куда-нить подключить или всё-таки увидеть что выводится на дисплей?

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт дек 23, 2010 16:35:20 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 117
Зарегистрирован: Сб фев 20, 2010 14:00:12
Сообщений: 2994
Откуда: Москва
Рейтинг сообщения: 0
А что при таком подключении я на нем ничего не увижу? Я думал, что чем больше контрастность, тем лучше.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт дек 23, 2010 16:47:50 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс июн 14, 2009 21:36:46
Сообщений: 53
Откуда: Кап.Яр-1 Астраханская обл.
Рейтинг сообщения: 0
aam писал(а):
А что при таком подключении я на нем ничего не увижу? Я думал, что чем больше контрастность, тем лучше.

если контраст максимальный ты увидишь ВСЕ засвеченные точки во ВСЕХ знакоместах!
Резистивный делитель по любому. Напряжение 0,2-0,5В

_________________
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт дек 23, 2010 16:51:32 
Собутыльник Кота
Аватар пользователя

Карма: 14
Рейтинг сообщений: 117
Зарегистрирован: Сб фев 20, 2010 14:00:12
Сообщений: 2994
Откуда: Москва
Рейтинг сообщения: 0
Понятно. Значит впаяю подстроечник на 20 кОм


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт дек 24, 2010 18:57:51 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
Цитата:
.include "m8def.inc" ; Микроконтроллер Atmega8
.cseg
.org 0
rjmp reset
.org OVF0addr
rjmp timer_0
;********************************************************************
reset:
ldi r16, low (RAMEND) ; Загрузим в рабочий регистр младший байт значения
out SPL, r16
ldi r16, high (RAMEND) ; Загрузим в рабочий регистр старший байт значнеия
out SPH, r16

ldi r16, 0b111 ; Настройка порта
out ddrd, r16

ldi r16, 0b1111 ; Настройка порта
out ddrc, r16
;****************Прерывания от таймеров/счетчиков********************
ldi r16, 0b0 ; Настройка прерывания от переполнения T0
out TIMSK, r16
;****************Настройка предделителей таймеров/счетчиков**********
ldi r16, 0b1 ; Cброс предделителя
out SFIOR, r16
ldi r16, 0b000 ; "Таймер/счетчик T0 остановлен"
out TCCR0, r16
;****************Инициализация LCD***********************************
ldi r16, 0b000 ; Загрузим в РОН "RS=0, RW=0, E=0"
out portd, r16
rcall delay_20000us
rcall init_8bit
rcall delay_4100us
rcall init_8bit
rcall delay_100us
rcall init_8bit
rcall init_IR
;********************************************************************
delay_20000us:
cli ; I=0 (SREG)
ldi r16, 0b1 ; Разрешили прерывание по переполнению
out TIMSK, r16
ldi r16, 0b10110010 ; Заносим в TCNT0 178
out TCNT0, r16
ldi r16, 0b100 ; TCCR0 предделитель 256
out TCCR0, r16 ; Поехали!!!
A:
in r16, TIFR
sbrs r16, 0 ; Пропустить, если TOV0=1
rjmp A ; Переход A
sei ; I=1 (SREG)
ret
;********************************************************************
delay_4100us:
cli ; I=0 (SREG)
ldi r16, 0b1 ; Разрешили прерывание по переполнению
out TIMSK, r16
ldi r16, 0b11000000 ; Заносим в TCNT0 192
out TCNT0, r16
ldi r16, 0b011 ; TCCR0 предделитель 64
out TCCR0, r16 ; Поехали!!!
B:
in r16, TIFR
sbrs r16, 0 ; Пропустить, если TOV0=1
rjmp B ; Переход B
sei ; I=1 (SREG)
ret
;********************************************************************
delay_100us:
cli ; I=0 (SREG)
ldi r16, 0b1 ; Разрешили прерывание по переполнению
out TIMSK, r16
ldi r16, 0b10011100 ; Заносим в TCNT0 156
out TCNT0, r16
ldi r16, 0b001 ; TCCR0 предделитель отсутсвтует (работа от clk0)
out TCCR0, r16 ; Поехали!!!
C:
in r16, TIFR
sbrs r16, 0 ; Пропустить, если TOV0=1
rjmp C ; Переход C
sei ; I=1 (SREG)
ret
;********************************************************************
timer_0:
cli ; I=0 (SREG)
ldi r16, 0b000 ; Остановим таймер
out TCCR0, r16
ldi r16, 0b0 ; Запретили прерывание по переполнению
out TIMSK, r16
reti
;********************************************************************
init_IR:
ldi r18, 0b0010 ; Выбираем разрядность парралельной шины данных 4 бит
rcall write_lcd8 ; Запись в lcd
ldi r18, 0b0000 ; Старший байт
ldi r19, 0b1000 ; Изображение выключено, курсоров нет
rcall write_lcd4 ; Запись в lcd
ldi r18, 0b0010 ; Старший байт
ldi r19, 0b1000 ; Младший байт
rcall write_lcd4
ldi r18, 0b0000 ; Старший байт
ldi r19, 0b0110 ; Младший байт
rcall write_lcd4
ldi r18, 0b0000 ; Старший байт
ldi r19, 0b0001 ; Младший байт
rcall write_lcd4
ret
;********************************************************************
init_8bit:
ldi r16, 0b00 ; Загрузим в РОН "RS=0, RW=0"
out portd, r16
ldi r16, 0b0011 ; Загрузим в РОН "Установка 8-бит режима"
out portc, r16
ldi r16, 0b100 ; Загрузим в РОН "E=1"
out portd, r16
clr r16 ; "E=0" ; Стробирование
out portd, r16
ldi r16, 0b000 ; Data line Hi-Z
out portd, r16
ret
;********************************************************************
write_lcd8:
rcall test_BF
ldi r17, 0b00 ; "RS=0, RW=0"
out portd, r17
out portc, r18 ; Разрядность шины данных 4 бит
ldi r17, 0b100 ; + "E=1"
out portd, r17
ldi r17, 0b000 ; "E=0"
out portd, r17
ldi r17, 0b000 ; Data line Hi-Z
out portd, r17
ret
;********************************************************************
write_lcd4:
rcall test_BF
ldi r17, 0b00 ; "RS=0, RW=0"
out portd, r17
out portc, r18 ; Запись старшего байта
ldi r17, 0b100 ; + "E=1"
out portd, r17
ldi r17, 0b000 ; "E=0"
out portd, r17
out portd, r19 ; Запись младшего байта
ldi r17, 0b100 ; + "E=1"
out portd, r17
ldi r17, 0b000 ; "E=0"
out portd, r17
ldi r17, 0b000 ; Data line Hi-Z
out portd, r17
ret
;********************************************************************
test_BF:
ldi r16, 0b10 ; "RS=0, RW=1"
out portd, r16
ldi r16, 0b110 ; + "E=1"
out portd, r16
in r16, pind ; Пересылка PIND=> r16
ldi r17, 0b010 ; "E=0"
out portd, r17
sbrs r16, 7 ; Пропустить, если BF=1
ret
rjmp test_BF
;********************************************************************


Эта программа ничего не выводит на экран, всего лишь делает N=1 (режим отображения 2 строки)
Но код в железе нифига не работает...
Странно, ведь все сделал правильно.

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб дек 25, 2010 11:47:13 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Программа и не должна ничего выводить. Вот то, что получилось на скорую руку.
Вложение:
STALKER.ASM


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт дек 30, 2010 21:57:17 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
Хотелось бы узнать.
Можно ли делать некоторые операции с МК в промежутках между вот этими операциями, кроме
E=1, E=0
т.е. после занесения старшей тетрады, или младшей...

Просто у меня еще выдержка есть между п. 4 и п. 5
Далее, между 4 и 5 у меня находится команда RS=0, RW=0, E=0 - этозначит, что DB0-DB7 - Hi-Z.
Можно ли так?)


Вложения:
Безымянный.JPG [31.79 KiB]
Скачиваний: 440

_________________
Не умеешь - не берись, но не взявшись не научишься...
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт дек 31, 2010 00:14:37 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
напишите пожалуйста словами последовательность вывода символа на дисплей.
дисплей уже проинициализирован.
ведь правильно?:
1) D=1
2) RS=1, вывести данные, кодирующие символ.

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт дек 31, 2010 00:23:04 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
Цитата:
.include "m8def.inc" ; Микроконтроллер Atmega8
.cseg
.org 0
rjmp reset
.org OVF0addr
rjmp timer_0
;********************************************************************
reset:
ldi r16, low (RAMEND) ; L байт стека
out SPL, r16
ldi r16, high (RAMEND) ; H байт стека
out SPH, r16
rcall init_m8_lcd ; Инициализация LCD

ldi r16, 0b11100000
ldi r19, 0b00000000 ; должен загореться курсор....
rcall lcd_text
t:
rjmp t






init_m8_lcd:
rcall init_port_m8_enable
;****************Прерывания от таймеров/счетчиков********************
ldi r16, 0b00000001 ; Разрешить прерывание по переполнению T0
out TIMSK, r16
;****************Инициализация LCD***********************************
ldi r16, 0b00000011 ; Выбор режима 8 бит
ldi r18, 0b10110010 ; TCNT0=178
ldi r19, 0b00000000 ; RS=0, RW=0, E=0 (Data line Hi-Z)
ldi r20, 0b00000100 ; Предделитель 256
rcall delay_n ; Пауза перед включением 20мс
ldi r18, 0b11000000 ; TCNT0=192
ldi r20, 0b00000011 ; Предделитель 64
rcall delay_n ; Пауза 4,1мс
ldi r18, 0b01000010 ; TCNT0=66
ldi r20, 0b00000001 ; Предделитель 1
rcall delay_n ; Пауза 100мкс
rcall init_IR ; Настройка параметров lcd
rcall init_port_m8_disable ; Восстановление портов ВВ C, D
ret
;********************************************************************
delay_n:
out TCNT0, r18
out TCCR0, r20 ; Запуск T0
test_TIFR:
in r18, TIFR ; Считывание данных в r18
sbrs r18, 0 ; Проверка TOV0
rjmp test_TIFR ; Переход, если TOV0=0
sei ; I=1
nop ; 1 такт для обнаружения прерывания
cli ; I=0
rcall init_8bit_4bit
ret
;********************************************************************
timer_0:
out TCCR0, r17 ; Останов T0
reti
;********************************************************************
init_8bit_4bit:
out portd, r19 ; RS=(0, 1), RW=0, E=0
write_lcd:
out portc, r16 ; Запись в lcd
sbi portd, 2 ; E=1
cbi portd, 2 ; E=0
out portd, r17 ; Data line Hi-Z
ret
;********************************************************************
init_IR:
ldi r16, 0b00000010 ; Выбор режима 4 бит
rcall init_8bit_4bit
ldi r16, 0b10000010 ; Выбор режима 4 бит, N=1, F=0
rcall write_4bit ; Отправка байта
ldi r16, 0b10000000 ; D=0, C=0, B=0
rcall write_4bit ; Отправка байта
ldi r16, 0b00010000 ; Очистка дисплея, AC=0
rcall write_4bit ; Отправка байта
ldi r16, 0b01100000 ; I/D=1, S=0
rcall write_4bit ; Отправка байта
ret
;********************************************************************
write_4bit:
rcall test_BF ; Проверка готовности
rcall init_8bit_4bit ; Запись ниббла
swap r16 ; Перестановка тетрад
rcall write_lcd ; Запись ниббла
ret
;********************************************************************
test_BF:
out ddrc, r17 ; Настройка порта C
sbi portd, 1 ; RW=1
A:
rcall read_BF
mov r0, r18 ; Копирование данных r18 в r0
rcall read_BF
cbi portd, 1 ; RW=0
sbrc r0, 3 ; Проверка BF
rjmp A ; Переход, если BF=1
ldi r18, 0b00001111 ; Настройка порта C
out ddrc, r18
ret
;********************************************************************
read_BF:
sbi portd, 2 ; E=1
in r18, pinc ; Считывание данных в r18
cbi portd, 2 ; E=0
ret
;********************************************************************
init_port_m8_enable:
ldi r18, 0b00000101 ; PUD=1, сброс предделителеля T0
out SFIOR, r18
ldi r18, 0b00000111 ; Настройка порта D
out ddrd, r18
ldi r18, 0b00001111 ; Настройка порта C
out ddrc, r18
ldi r17, 0b00000000 ; RS=0, RW=0, E=0 (Data line Hi-Z)
ret
;********************************************************************
lcd_text:
rcall init_port_m8_enable
rcall write_4bit ; Отправка байта
init_port_m8_disable:
out ddrc, r17 ; Настройка порта C
out portc, r17 ; RES=0, Hi-Z
out ddrd, r17 ; Настройка порта D
out portd, r17 ; RES=0, Hi-Z
out SFIOR, r17 ; PUD=0
ret




этот код всего лишь инициализирует лцд.
выводит всего 2 строки и все.
а символы не хочет
как видно, я хотел зажечь в основной программе курсор в виде подчерка - ничего не горит...

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт дек 31, 2010 08:35:35 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 0
Здравствуйте. ИМХО, стало гораздо лучше,но... Работая с реальными устройствами, нужно учитывать их ограниченное быстродействие. В программе поставил небольшие задержки. Посмотрите этот документ. http://radioded.ru/component/option,com ... Itemid,34/
Вложение:
STALKER.ASM


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2424 ]     ... , , , 25, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y