LCD WM-1611-62c

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
gri
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 336
Зарегистрирован: Чт июн 29, 2006 21:17:41
Откуда: Мариуполь

Сообщение gri »

Написал программу:
program tes16f628a;

var
i,j,k:byte;
d:word;

procedure LCD1611cv110(x,d:byte);

begin
SetBit(PORTB,7);
ClearBit(PORTB,6);
if x=0 then x:=10;
for j:=1 to 10 do
for i:=3 downto 0 do
begin
VDelay_ms(5*d);
if TestBit(x,i)=1 then SetBit(PORTB,6);
VDelay_ms(1*d);
ClearBit(PORTB,7);
VDelay_ms(2*d);
SetBit(PORTB,7);
ClearBit(PORTB,6)
end;
{ClearBit(PORTB,7)}
end;


begin
CMCON:=7;
TRISA:=$10;
PORTA:=$F;

TRISB:=$3F;
PORTB:=$00;

for i:=0 to 16 do
begin
PORTA:=i;
d:=200+10*i;
VDelay_ms(d);
end ;
k:=0;
LCD1611cv110(k,10);
repeat
if TestBit(PORTA,4)=0 then
begin
k:=k+1;
LCD1611cv110(k,10);
end;
until false;

end.
Для этой маленькой дешевенько радости))) Есть два бага. Для указанных в даташите временных промежутков последовательного интерфейса обмена микроконтроллера с дисплеем ничего не работает. Питаю все хозяйство 20 см шлейфом - может длинно? Увеличил задержки в 10 раз - все работает но 10 цифр долго загоняются. Это в принципе ерунда, может удастся с коротким шлейфом.
Основаная запарка - это то то через несколько секунд этот шалопай переходит в режим часов. В даташите написано After all the data sent to the HT1611c, the _SC pin is set to avoid switching to the timer mode. Я оставлял его и так и сяк а он все равно свитчинг и хоть шо ты хочешь с ним делай :cry:
:]\/\/\/\/ххх\/\/\/\/\/\/ххх\/\/\/\/\/ххх\/\/\/\/\/\[:
В мае на гульках 2 баяна порвал...одной лапой.
Другая болела, после того, как потрогал паяльник.
Контактная информация:
Реклама
gri
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 336
Зарегистрирован: Чт июн 29, 2006 21:17:41
Откуда: Мариуполь

Сообщение gri »

Думал обезжучивание на этот раз затянется на всегда а оказалось....
Вот правильный текст программы:
program tes16f628a;
var
i,j,k:byte;
d:word;

procedure LCD1611cv110(x:byte);

begin {7 нога PORTB - CLOCK}
{6 нога PORTB - Data}
SetBit(PORTB,7);
ClearBit(PORTB,6);
if x=0 then x:=10;
for j:=1 to 10 do
begin
VDelay_ms(10); {Возможно понадобится коррекция задержек}
for i:=3 downto 0 do
begin
SetBit(PORTB,7);
if TestBit(x,i)=1 then SetBit(PORTB,6)
else ClearBit(PORTB,6);
VDelay_ms(10);
ClearBit(PORTB,7);
VDelay_ms(10);
end
end;
end;


begin
CMCON:=7;
TRISA:=$10;
PORTA:=$F;

TRISB:=$3F;
PORTB:=$00;

for i:=0 to 16 do
begin
PORTA:=i;
d:=200+10*i;
VDelay_ms(d);
end ;
k:=7;
for k:=15 downto 5 do
begin
VDelay_ms(2000);
LCD1611cv110(k);
end;
{ LCD1611cv110(k,1);
repeat
if TestBit(PORTA,4)=0 then
begin
k:=k+1;
LCD1611cv110(k,1);
end;
until false;}

end.
Вложения
tes16f628a.asm
Ассемблерный текст прилагается для нелюбителей пасика))))
(18.66 КБ) 582 скачивания
:]\/\/\/\/ххх\/\/\/\/\/\/ххх\/\/\/\/\/ххх\/\/\/\/\/\[:
В мае на гульках 2 баяна порвал...одной лапой.
Другая болела, после того, как потрогал паяльник.
Контактная информация:
Реклама
gri
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 336
Зарегистрирован: Чт июн 29, 2006 21:17:41
Откуда: Мариуполь

Сообщение gri »

К сожалению проблема не разрешена. НЕ могу разделить посылки. Получается шлю разряды последовательно (как бы в двоично десятично коде) но при посылке следующей цифры предыдущая просто сдвигается и получается абракадабра - можно ли вообще в таком экранчике както сбросить показания или нет или придется мудрить с программной чисткой. Оно и так не быстро обновляется а тут в два разы дольше придется се это делать. А еще эта мистика с переходом или не переходом в режим таймера. Неужели никто хотябы краем уха не слышал ничего про программирование для экранчиков таких - их ведь вроде на АОНы ставят часто?
:]\/\/\/\/ххх\/\/\/\/\/\/ххх\/\/\/\/\/ххх\/\/\/\/\/\[:
В мае на гульках 2 баяна порвал...одной лапой.
Другая болела, после того, как потрогал паяльник.
Контактная информация:
gri
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 336
Зарегистрирован: Чт июн 29, 2006 21:17:41
Откуда: Мариуполь

Сообщение gri »

Вопрос снят - сам разобрался. Обращаемся за прогой, если кому надо. Только она на микропаскале. 800 слов.
:]\/\/\/\/ххх\/\/\/\/\/\/ххх\/\/\/\/\/ххх\/\/\/\/\/\[:
В мае на гульках 2 баяна порвал...одной лапой.
Другая болела, после того, как потрогал паяльник.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»