Autor Beitrag
Capa
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 12.10.03 01:01 
Also ich hab hier ne kleine platine mit 8 LED's und diese hab ich an den Parallelport des PC's gelötet(über ein kabel)
und habe dann ein programm geschrieben(orientiert an einem Thread aus diesem Forum hier)
Naja nur hab ich da ein Problem und zwar macht der nicht ganz was er soll.

Ab LED5 nimmt er immer die 5te LED mit hinzu lässt sich aber nicht abschalten die anderen LED's die man danach einschaltet werden wie zu einem Merker hinzugezählt und dann miteingeschaltet.
Total verrückt das ding.

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleServer, CmAdmCtl, ExtCtrls, Led, jpeg;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Led1: TLed;
    Led2: TLed;
    Led3: TLed;
    Led4: TLed;
    Led5: TLed;
    Led6: TLed;
    Led7: TLed;
    Led8: TLed;
    Image1: TImage;
    Memo1: TMemo;
    Panel2: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Edit1: TEdit;
    Button10: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Alt, Neu : Byte; 
  L1, L2, L3, L4, L5, L6, L7, L8 : Boolean;


procedure PortOut(Port : Word; Data : Byte); stdcall; external 'io.dll';
function PortIn(Port:Word):Byte; stdcall; external 'io.dll'
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  If L1 then
  begin 
    Neu:=Alt and $B11111110; // Löscht LED1
    PortOut($378,Neu);
    Alt:=Neu;
    L1:=False;
    LED1.Status:=False;
  end
  else
  begin
    Neu:=Alt or 1; // Setzt LED1
    PortOut($378,Neu);
    Alt:=Neu;
    L1:=True;
    LED1.Status:=True;
  end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
If L2 then
  begin
    Neu:=Alt and $B11111101; // Löscht LED2
    PortOut($378,Neu);
    Alt:=Neu;
    L2:=False;
    LED2.Status:=False;
  end
  else
  begin
    Neu:=Alt or 2; // Setzt LED2
    PortOut($378,Neu);
    Alt:=Neu;
    L2:=True;
    LED2.Status:=True;
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
If L3 then
  begin
    Neu:=Alt and $B11110111; // Löscht LED3
    PortOut($378,Neu);
    Alt:=Neu;
    L3:=False;
    LED3.Status:=False;
  end
  else
  begin
    Neu:=Alt or 4; // Setzt LED3
    PortOut($378,Neu);
    Alt:=Neu;
    L3:=True;
    LED3.Status:=True;
  end;

end;

procedure TForm1.Button4Click(Sender: TObject);
begin
If L4 then
  begin
    Neu:=Alt and $B11110111; // Löscht LED4
    PortOut($378,Neu);
    Alt:=Neu;
    L4:=False;
    LED4.Status:=False;
  end
  else
  begin
    Neu:=Alt or 8; // Setzt LED4
    PortOut($378,Neu);
    Alt:=Neu;
    L4:=True;
    LED4.Status:=True;
  end;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
 PortOut(888,0);
  L1:=False;
  L2:=False;
  L3:=False;
  L4:=False;
  L5:=False;
  L6:=False;
  L7:=False;
  L8:=False;
  LED1.Status:=False;
  LED2.Status:=False;
  LED3.Status:=False;
  LED4.Status:=False;
  LED5.Status:=False;
  LED6.Status:=False;
  LED7.Status:=False;
  LED8.Status:=False;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
If L5 then
  begin
    Neu:=Alt and $B11101111; // Löscht LED5
    PortOut($378,Neu);
    Alt:=Neu;
    L5:=False;
    LED5.Status:=False;
  end
  else
  begin
    Neu:=Alt or 16; // Setzt LED5
    PortOut($378,Neu);
    Alt:=Neu;
    L5:=True;
    LED5.Status:=True;
  end;

end;

procedure TForm1.Button6Click(Sender: TObject);
begin
If L6 then
  begin
    Neu:=Alt and $B11011111; // Löscht LED6
    PortOut($378,Neu);
    Alt:=Neu;
    L6:=False;
    LED6.Status:=False;
  end
  else
  begin
    Neu:=Alt or 32; // Setzt LED6
    PortOut($378,Neu);
    Alt:=Neu;
    L6:=True;
    LED6.Status:=True;
  end;

end;

procedure TForm1.Button7Click(Sender: TObject);
begin
If L7 then
  begin
    Neu:=Alt and $B10111111; // Löscht LED7
    PortOut($378,Neu);
    Alt:=Neu;
    L7:=False;
    LED7.Status:=False;
  end
  else
  begin
    Neu:=Alt or 64; // Setzt LED7
    PortOut($378,Neu);
    Alt:=Neu;
    L7:=True;
    LED7.Status:=True;
  end;

end;

procedure TForm1.Button8Click(Sender: TObject);
begin
If L8 then
  begin
    Neu:=Alt and $B01111111; // Löscht LED8
    PortOut($378,Neu);
    Alt:=Neu;
    L8:=False;
    LED8.Status:=False;
  end
  else
  begin
    Neu:=Alt or 128; // Setzt LED8
    PortOut($378,Neu);
    Alt:=Neu;
    L8:=True;
    LED8.Status:=True;
  end;
end;


Wäre nett wenn mir einer Helfen könnte.
Capa Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 12.10.03 12:40 
Mhh also beim Lauflicht gehts ja aber wenn der die einzeln anschalten soll dann spinnt der rum, wie schon erwähnt ab der 5ten LED spinnt der dann rum.
Beim Lauflicht 1a keine Probleme.
Woran kann das liegen ???