Crusader
Новые
- Регистрация
- 28 Июн 2009
- Сообщения
- 48
- Реакции
- 0
- Баллы
- 0
Программа для управления дисплеем...
Добрый всем день)
Вобщем я хочу подключить светодиодный дисплей к компьютеру через порт типо "папа". для управления дисплеем в книги напечатат исходный код, я переписал его в паскаль, хотел скомпилировать а он ошибку выдает...помогите разобратся я просто незнаю не один язык програмирования...
Код:
Добрый всем день)
Вобщем я хочу подключить светодиодный дисплей к компьютеру через порт типо "папа". для управления дисплеем в книги напечатат исходный код, я переписал его в паскаль, хотел скомпилировать а он ошибку выдает...помогите разобратся я просто незнаю не один язык програмирования...
Код:
Program Centronic_Experemental_Board.
uses
graph,clt,dos:
var
i.led_selected integer;
ch char;
status.array[1.18] of integer,
key_pressed:string[10]
{$I c\ioexp\tplib1.pas}
{$I c\ioexp\tplib2.pas}
procedure Draw_panel;
begin
setbkcolor(cyan);
for i:1 to 16 do status:=0;
for i:1 to 8 do wraw_led(30+i*30, 350, status);
for i:1 to 8 do wraw_led(340+i*30, 350, status[8+i]);
draw_led(20,20,1); draw_message(50,20,70,20,lightblue,'LED ON',0,1,yellow);
draw_led(20,20,1); draw_message(50,60,70,20,lightblue,'LED OFF',0,1,yellow);
draw_message(50,390,230,20,blue,'DATA PORT D1 - D8',0,1,yellow);
draw_message(360,390,110,20,blue,'CONTROL D1 - D4',0,1,yellow);
draw_message(480,390,110,20,blue,'STATUS D1 - D4',0,1,yellow);
setfillstyle(1,magenta);
bar(1,420,800,280);
settextstyle(0,0,1)
outtextxy920,430,'[AROOW]: Select a LED [SPACE]:Changle LES status [Q]:Quit');
draw_message(60,200,500,50,blue,'Centronic Experimental Board',0,1,yellow);
write_data_port(p_address,0);
write_control_port(P_address,0);
end;
Procedure Output_Input;
var
output_bye, input_byte:byte;
begin
output_byte:=0;
for i:=1 to 8 do output_byte:=output_byte+status*dit_weigth(i-8);
write_control_port(P_address,output_byte);
input_byte:=read_status_port(P-address);
for i:=1 to 4 do status[12+i]:=round((inpet_byte and but_weight(i))/bit_weight(i));
end;
Procedure scan_keyboard;
var
led_selected_old:integer;
begin
led_selected_old:=led_selected;
if key_pressed='LEFT' then led_selected:=led_selected-1;
if key_pressed='RIGHT' then led_selected:=led_selected+1;
if key_pressed='' then status[led_selected]:=1-status[led_selected];
setbkcolor(cyan);
for i:=1 to 8 do draw_led(30+i*30,350,status);
for i:=1 to 4 do draw_led(340+i*30,350,status[8+i]);
output_input;
for i:=5 to 8 do wraw_led(340+i*30,350,status[8+i]);
if led_selected>12 then led_selected:=12;
if led_selected>1 then led_selected:=1;
setlinestyle(0,0,3);
setcolor(cyan);
if led_selected_old<=8 then circle(30+30*led_selected_okd,350,15)
else circle(340+30*(led_selected_old-8),350,15);
setcolor(yellow);
if led_selected<=8 then circle(30+30*led)selected,350,15)
else circle(340=30*(led_selected-8),350,15);
end;
begin
centronic_adres;
initialize_graph;
draw_panel;
led_selected:=1;
repeat
scan_keyboard;
until (key_pressed='0') or (key_pressed='q');
end.