Po opravě displeje z kasy jsem potřeboval tento doma odzkoušet před zpětnou montáží na jiném místě,vzhledem k tomu že řídící jednotka zůstala na místě padla volba na počítač PC než na psaní a výrobu zařízení s jednočipovým mikroprocesorem.Vzhledem k tomu že elektronika displeje pracuje pouze na příjmu dat bylo napsání programu rychlé a jednoduché,zdrojový program je uveden níže.Po volbě portu již píšeme buď malá nebo velká písmena nebo věty,po napsání písmena stiskneme Enter napsané písmeno na monitoru počítače se zobrazí na displeji stejně postupujeme i po napsání věty.Program neumožňuje psát písmena s háčky a čárkami je pouze na odzkoušení má posloužit jako inspirace pro pokusy s podobnými displeji které je možno sehnat ve výprodeji a podobně,program se ukončí vysláním „ 0 „.Displej používá ke komunikaci integrovaný obvod SN 75 189 napájení displeje je 4.5V=.Pro komunikaci displeje s PC je použit výstup TXD a GND.
Popis programu
Program jde spustit na počítačích s OS DOS , WINDOWS95/98 zde jde spustit z příkazové řádky nebo po startu počítače se stiskem klávesy F8 zvolí pouze volba DOS.pokud je na počítači OS WINDOWS 2000,XP jde program spustit pouze z příkazové řádky pokud je uvedený OS nainstalovaný jako 32-bitová verze.
Program
displej;
uses
fdelay,CRT,CRT1,DOS;
var
hodnota:Byte;
Ch:Char;
BA:integer;
procedure
rychlost;
var
hodnota : Byte;
begin
Port
[BA+3]:=128;
Port
[BA]:= 12;
Port
[BA+1]:= 0;
Port
[BA+3]:= 7;
Port
[BA+4]:= 3;
hodnota
:= Port [BA];
end;
procedure
vypni;
begin
Port
[BA+4]:= 0;
end;
procedure
prenos (hodnota : Byte );
begin
repeat
until
Port [BA+5] and 32 = 32;
Port
[BA]:= (hodnota);
end;
procedure
port;
begin
gotoxy(24,2);
write('<<C>2012
VAGNER > TEST DISPLEJE');
gotoxy(22,4);
write('!
VYBER PORT PRO DISPLEJ <0> KONEC !');
gotoxy(22,6);
write('!<1>COM1;
<2>COM2; <3>COM3; <4>COM4!');
repeat
until keypressed;
ch:=readkey;
case ch
of
'1':
begin
ba:=$3F8;
end;
'2':
begin
ba:=$2F8;
end;
'3':
begin
ba:=$3E8;
end;
'4':
begin
ba:=$2E8;
end;
end;
end;
begin
clrscr;
cursoroff;
textbackground(white);
textcolor(black);
clrscr;
cursoroff;
port;
delay(100);
vypni;
delay(200);
rychlost;
clrscr;
cursoron;
repeat
clrscr;
gotoxy(5,10);
write('Napis
pismeno nebo slovo <0>konec ');read(Ch);
hodnota
:= integer (Ch);
prenos
(hodnota);
until
Ch= chr(48);
vypni;
clrscr;
cursoron;
normvideo;
clrscr;
cursoron;
end.
Bližší
informace : vagnervlastimil@seznam.cz