Страница 49 из 123
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср июл 25, 2012 09:04:09
medved10
всем здрасьте
имеется прога для 2 строчного M202MD15AJ
требуется переделать для работы с 4 строчным 036x3-124-09420
в даташите противоречие про busy
написано что высокий уровень для записи а на диаграммах наоборот
выводится только мигающий курсор и не управляется совсем(
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср июл 25, 2012 15:13:34
Chiper
Имеется дисплей Winstar WH1602L-PGP-CT.
Хочу использовать в проекте одновременно прогрессбар, для отображения при регулировке параметров, и визуальный эквалайзер. Соответсвенно для отображения горизонтальных стобиков в первом случае, и вертикальных для эквалайзера. При этом 8 "своих" символов маловато. Вот я хочу, перепрошивать таблицу символов по мере необходимости

Для эквалайзера однин набор символов, а для прогрессбара другой.
Вопрос следующий:
Возможно ли это практически, какое время необходимо дисплею для записи собственных 8 символов в ПЗУ (или что там у него, может ОЗУ или flash?), сколько будет занимать времени (перепрошивка 8 символов в реалтайме) и не будет ли фигово дисплею от частой перепрошивки, может он для такого не преднозначен и имеет определёный лимит на перезапись?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср июл 25, 2012 22:43:25
vitalik_1984
если хорошенько подумать,можно уменьшить количество необходимых символов.Например для прогресс бара достаточно трех символов, если использовать во всю длину сроки
а для эквалайзера можно использовать уже имеющийся символ _

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Чт июл 26, 2012 10:25:37
Chiper
Да нет, это не солидно....
Я хочу нормальный прогрессбар и нормальные столбики с плавным попиксельным заполнением, в 8 символов тут никак не уложиться несмотря на то, что есть символ нижнего подчёркивания и полностью заполненный квадратик в таблице символов
Так что там по поводу реал-тайм перезаписи ПЗУ ?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июл 28, 2012 15:15:19
спящий
здравствуйте, уже все перепробывал немогу найти ошибку,хочу чтобы хоть пиксель появился)
.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m48def.inc"
.nolist
.list
.def temp = r16;
.def counter = r17;
.def delay = r25;
.def delay1 = r18;
.def delay2 = r19;
rjmp init;
zapoln:
ldi delay,0x01;
ldi delay1,0x5;
;задерка
loop:
subi delay,1;
sbci delay1,0;
brcc loop;
ret
init:
clr temp;
ldi temp,0b00000001;настраиваем LCD на команду (E=1,RS=0)
out portd,temp;
ldi temp,0b00111000;выбираем 8-битную передачу
out PORTB,temp;
rcall zapoln;тупо задержка
ldi temp,0b00001100;включили дисплей
out PORTB,temp;
rcall zapoln;
ldi temp,0b00000001;очистили дисплей
out PORTB,temp;
rcall zapoln;задержка
ldi temp,0b10000001;задаем запись в DDRaM(на экран)
out PORTB,temp;
rcall zapoln;задержка
ldi temp,0b00000101;настраиваем LCD на данные (E=1,RS=1)
out portd,temp;
rcall zapoln;задержка
start:
ldi temp,0X31;выводим "1"
out portb,temp;
rjmp start;
если можете дайте какойнибудь простую программу чтобы символ выдавала на дисплей.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб июл 28, 2012 21:40:27
vitalik_1984
насколько я понял, дисплей ожидает увидеть падающий фронт на ноге enable при готовых других ногах.
то есть вам нужно сначала настроить команда, данные, а потом активировать низким уровнем.
вроде даже при каждой смене команды или данных нужно дергать ногой.
Пусть меня специалисты поправят.
тоже все собираюсь такой же дисплей запустить, все руки ну доходят.лежит мертвым грузом пока что.
и делайте макросы ваш
превратится в
размер кода не уменьшит, зато читабельность повысится

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс июл 29, 2012 23:59:22
vitalik_1984
Посмотрел на ваш код скомпилировал действительно не показывает символы.
Немного отредактировал, чтобы читаемо было
Спойлер
Код: Выделить всё
.include <m48Pdef.inc>
.def temp = r16;
.def counter = r17;
.def delay = r25;
.def delay1 = r18;
.def delay2 = r19;
.macro outi ; макрос вывода константы в порт
ldi temp,@1
out @0,temp
.endm
.macro ENABLE; макрос активировать дисплей
cbi PORTD,0
.endm
.macro SET_COMAND
outi PORTD,0b00000001;настраиваем LCD на команду (E=1,RS=0)
.endm
.macro SET_DATA
outi PORTD,0b00000101;настраиваем LCD на данные (E=1,RS=1)
.endm
.list
.macro SEND_BITE
outi PORTB,@0;выводим данные
nop
ENABLE ;активируем дисплей
.endm
.nolist
rjmp init;
Wait_busy:
ldi delay,0x02;
Wait:
ldi delay1,0x05;
;задержка
loop:
dec delay1;
brne loop;
dec delay;
brne loop;
ret
init:
outi DDRB,0xFF
outi DDRD,0b00000101
SET_COMAND
SEND_BITE 0b00111000;выбираем 8-битную передачу
rcall Wait;тупо задержка
SET_COMAND
SEND_BITE 0b00001100;включили дисплей
rcall Wait;
SET_COMAND
SEND_BITE 0b00000001;очистили дисплей
rcall Wait;задержка
SET_DATA
SEND_BITE 0x31
rcall Wait;задержка
SET_DATA
SEND_BITE 0x32
rcall Wait_busy;задержка
SET_DATA
SEND_BITE 0x33
rcall Wait;задержка
start:
rjmp start;
И заметил, что протеус сообщает о том, что контроллер принимает данные, пока занят
Увеличил паузу.Теперь выводит символы
Смотрите по даташиту какая команда дисплея сколько требует времени и считайте сколько в цикле тупить для вашей частоты процессора.
Занимайтесь
PS Кстати у вас вроде даже на картинке протеуса нет контакта между контроллером и дисплеем.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср авг 01, 2012 12:59:59
central30
Добрый день!Нужна ваша подсказка!Сейчас делаю заказ одного исполнительного устройства с выводом на LCD,тоесть нажал одну кнопку,пишет какое то слово,нажал другую,пишет другое слово.Это не важно.В чем собственно вопрос,выводить информацию надо на турецком языке.Тоесть надо мне добавить еще 4 пользовательских символа(Ş),(Ç)и т.д.Преобразовал эти буквы,проверил в протеусе,на железе пока не проверяю.Вообщем эти самые символы моргают в слове (ÇALIŞIR)Может я не так что делаю
Код: Выделить всё
#include <mega8.h>
#asm
.equ _lcd_port=0x18
#endasm
#include <alcd.h>
#include <delay.h>
typedef unsigned char byte;
flash byte char0[8]={
0b0001110,//S
0b0010001,
0b0010000,
0b0001110,
0b0000001,
0b0010101,
0b0001110,
0b0000000};
flash byte char1[8]={
0b0001110,//C
0b0010001,
0b0010000,
0b0010000,
0b0010000,
0b0010101,
0b0001110,
0b0000000};
void define_char(byte flash *pc,byte char_code)
{
byte i,a;
a=(char_code<<3)|0x40;
for (i=0; i<8; i++) lcd_write_byte(a++,*pc++);
}
void main(void)
{
PORTC=0x3F;
DDRC=0x00;
PORTD=0xFF;
DDRD=0xFF;
lcd_init(20);
lcd_putsf(" KLIMATEX ");//выводим информацию
delay_ms(3000);//ждем 3 секунды
lcd_clear();//очистка дисплея
define_char(char0,0);
define_char(char1,1);
while (1)
{
lcd_gotoxy(7,0);
lcd_putsf("ALI IR");
lcd_gotoxy(6,0);
lcd_putchar(1);
lcd_gotoxy(10,0);
lcd_putchar(0);
}
}
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср авг 01, 2012 13:44:14
zero648
Думаю, может в параметрах функции поставить не 0 а 1

? Моргает только этот символ.
define_char(char0,
1);
define_char(char1,1);
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср авг 01, 2012 13:48:22
zero648
Я кажись понял, тебенадо вот эту строку выводить отдельно, пробел перекрывает.
lcd_putsf("ALI IR");
Сделай вот так:
Код: Выделить всё
while (1)
{
lcd_gotoxy(6,0);
lcd_putchar(1);
lcd_gotoxy(7,0);
lcd_putsf("ALI");
lcd_gotoxy(10,0);
lcd_putchar(0);
lcd_gotoxy(11,0);
lcd_putsf("IR");
}
}
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср авг 01, 2012 17:22:14
central30
Точно замечено!Спасибо за помощь,вот теперь возник еще вопрос,так как код получается огромный и неудобный,каким образом мне его записать в блок,чтоб потом можно было его лишь одной командой выводить?Может через #define?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Ср авг 01, 2012 20:24:41
vitalik_1984
конечно через дефайн можно.
я так понимаю что у созданных символов есть свои адреса?
создаешь строку в виде массива с адресами нужных букв.
в массиве пишешь свои буквы, потом этот массив скармливаешь дисплею.можно и через путсф вроде как.
что там у нас массив может вывести?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 03, 2012 09:54:27
medved10
medved10 писал(а):всем здрасьте
имеется прога для 2 строчного M202MD15AJ
требуется переделать для работы с 4 строчным 036x3-124-09420
в даташите противоречие про busy
написано что высокий уровень для записи а на диаграммах наоборот
выводится только мигающий курсор и не управляется совсем(
подскажите мне...

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 03, 2012 12:36:55
vitalik_1984
что подсказать то?
мало информации.
что на что меняете даташит на оба, какая программа, как хотите поменять?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Пт авг 03, 2012 22:16:43
medved10
программа для вывода напряжений, токов и тд
т.е информация динамически меняется
с инициализацией вроде разобрался
теперь проблема с кириллецей
не хочет хавать таблицу кот здесь выкладывали
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Сб авг 04, 2012 20:15:20
vitalik_1984
теперь сразу все стало ясно

что ж вы сразу то не сказали.
может вы нам пример программы своей дадите, а то непонятно что вы хотите поменять. и почему не работает у вас.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 05, 2012 13:41:09
I-Basil
Уважаемые коты! Может быть, я не совсем по теме, поэтому заранее извиняюсь. Имеется индикатор WH1602B- YGH - CTK# (хотя, "узкоплёночные" братья как всегда слукавили, наклеив сей лейбл поверх WH1602F

). Неожиданно проявился вот такой дефект, хотя прежде всё было ОК"
Ошибка монтажа исключена, проверено на других устройствах и с аналогичными индикаторами, "тестовые полоски" показал преднамеренно, чтобы было видно - какие элементы не высвечиваются... Подскажите пожалуйста - ЭТО дефект чипа ( платы ) или самого ЖК?
З.Ы : В режиме 8Х2 работает нормально, но всё-таки как-то обидно использовать в этом режиме 16х2

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 05, 2012 16:48:26
zero648
Либо контакты у дисплея хреновые, либо на выходе контроллера дисплея косяк, под пластмасской наверно резинки, прижаты плохо может?
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 05, 2012 17:03:07
I-Basil
Проверял, разобрал индикатор "до винтика"... Контакт вроде бы неплохой - на резинках имеются отпечаткки контактных площадок, крепежи затянул "с пристрастием"

, но результата нет

... Попробую ещё феном с паяльной станции на работе прогреть. Таким "макаром" удалось "реанимировать" видюхи, может и здесь поможет

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Добавлено: Вс авг 05, 2012 22:21:28
vitalik_1984
Не вздумайте вместе с резинками там феном шурудить.Только хуже сделаете.
А не пробовали весь экран заполнять? может понятнее картинка станет?