Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięBascom, mikorokontrolery i to wszystko
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
-
- -
- Posty:32
- Rejestracja:17 gru 2003, o 21:11
- Kontaktowanie:
No ja zrobiłem programator maxymalnie uproszczony, ten co podawałem już pare razy, ale nie mam do niego programu, pisze do ludzi z www.pe.com.pl, bo tam jest źródło w pascalu, ale z 27 rerrorami, no wieć pisze zeby je naprawili i przysłali, ale milczą, tak można polegać , a remo powiedz mi ile ciebie wyniósł ten programator? i gdzie te programy można dostac, które osluguja go, no bo jak tak, to musze coś innego wykombinować, i prawdopodobnie będe składał właśnie ten. Co prawda dałem do elektronika wykaz elementów, ale sprzedwaca nie miał czasu zerknąć na to, wiec nie mam, napisz ile to ciebie wyniosło. Jak ktoś z PE przyśle mi naprawione programy, to opublikuje je tutaj, ale poza PE nie mogę ich nigdzie znaleść, jeśli ktoś je ma (prog2051) niech zamieści na forum.
Na PE to nie licz gdyż pismo już daweno się nie ukazuje, tylko jakimś cudem witryna istnieje nie aktualizowana już od roku.(...) pisze do ludzi z www.pe.com.pl, bo tam jest źródło w pascalu, ale z 27 rerrorami, no wieć pisze zeby je naprawili i przysłali, ale milczą, tak można polegać , (...) Jak ktoś z PE przyśle mi naprawione programy, to opublikuje je tutaj, ale poza PE nie mogę ich nigdzie znaleść, jeśli ktoś je ma (prog2051) niech zamieści na forum.
-
- -
- Posty:32
- Rejestracja:17 gru 2003, o 21:11
- Kontaktowanie:
-
- -
- Posty:32
- Rejestracja:17 gru 2003, o 21:11
- Kontaktowanie:
słuchajcie potrzebny mi ten program, ale nikt mi nie może pomóc bo nie ma kompilatora, podobno tam jest 27 errorów, ale to jest ściagniete z oficjalnej strony PE. wiec nie wiem, jak ktos potrafi pascala, to niech mi skompiluje i przysle na miala sov@o2.pl z góry dzięki
Program prog2051;
{ AT89C1051, 2051, 4051 - kasowanie i programowanie bez weryfikacji }
uses crt;
const lpt1 :word = $378; { lub $278, lub $3bc - HERCULES }
var bajt :byte;
adres,i :word;
f :file of byte;
begin
if paramcount<>1 then Halt;
assign(f,paramstr(1));
reset(f);
Port[lpt1+2]:=Port[lpt1+2] or $D; { tryb kasowania }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln('Nacisnij teraz przycisk RESET w programatorze,');
writeln('a nastepnie nacisnij dowolny klawisz na klawiaturze.');
while keypressed do readkey;
readkey;
while keypressed do readkey;
writeln(' Kasowanie pamieci FLASH w AT89');
Port[lpt1+2]:=Port[lpt1+2] or 2; { prog - ERASE }
delay(10);
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln(' Koniec kasowania');
Port[lpt1+2]:=Port[lpt1+2] and $F3; { tryb programowania }
adres:=0;
write('Programowanie pamieci FLASH w AT89 ');
repeat
read(f,bajt);
Port[lpt1]:=bajt;
Port[lpt1+2]:=Port[lpt1+2] or 2; { impuls prog }
{ for i:=1 to 100 do begin end; { krotkie opoznienie }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
delay(3); { trwa programowanie bajtu }
Port[lpt1+2]:=Port[lpt1+2] and $FE; { inc adres w AT89 }
Port[lpt1+2]:=Port[lpt1+2] or 1;
inc(adres);
gotoxy(40,WhereY);
write(adres);
until (adres=FileSize(f)) or (keypressed);
close(f);
writeln;
writeln('KONIEC PROGRAMOWANIA !!!');
while keypressed do readkey;
end.
Program prog2051;
{ AT89C1051, 2051, 4051 - kasowanie i programowanie bez weryfikacji }
uses crt;
const lpt1 :word = $378; { lub $278, lub $3bc - HERCULES }
var bajt :byte;
adres,i :word;
f :file of byte;
begin
if paramcount<>1 then Halt;
assign(f,paramstr(1));
reset(f);
Port[lpt1+2]:=Port[lpt1+2] or $D; { tryb kasowania }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln('Nacisnij teraz przycisk RESET w programatorze,');
writeln('a nastepnie nacisnij dowolny klawisz na klawiaturze.');
while keypressed do readkey;
readkey;
while keypressed do readkey;
writeln(' Kasowanie pamieci FLASH w AT89');
Port[lpt1+2]:=Port[lpt1+2] or 2; { prog - ERASE }
delay(10);
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln(' Koniec kasowania');
Port[lpt1+2]:=Port[lpt1+2] and $F3; { tryb programowania }
adres:=0;
write('Programowanie pamieci FLASH w AT89 ');
repeat
read(f,bajt);
Port[lpt1]:=bajt;
Port[lpt1+2]:=Port[lpt1+2] or 2; { impuls prog }
{ for i:=1 to 100 do begin end; { krotkie opoznienie }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
delay(3); { trwa programowanie bajtu }
Port[lpt1+2]:=Port[lpt1+2] and $FE; { inc adres w AT89 }
Port[lpt1+2]:=Port[lpt1+2] or 1;
inc(adres);
gotoxy(40,WhereY);
write(adres);
until (adres=FileSize(f)) or (keypressed);
close(f);
writeln;
writeln('KONIEC PROGRAMOWANIA !!!');
while keypressed do readkey;
end.
-
- -
- Posty:32
- Rejestracja:17 gru 2003, o 21:11
- Kontaktowanie:
Koszt elementów to ok.30zł.
Programy go obsługujące są darmowe i udostępnione na stronie Atmela (działa z AVRStudio i AVRprogiem). Po odpowiednim skonfigurowaniu BascomAVR może współpracować również z tym kompilatorem.
Możesz go obejżeć na mojej stronie (jest tam też link do AVRStudio4):
http://remo.asternet.pl/avrisp.html
Programy go obsługujące są darmowe i udostępnione na stronie Atmela (działa z AVRStudio i AVRprogiem). Po odpowiednim skonfigurowaniu BascomAVR może współpracować również z tym kompilatorem.
Możesz go obejżeć na mojej stronie (jest tam też link do AVRStudio4):
http://remo.asternet.pl/avrisp.html
Skompilowałem. Poprawiłem elementarne błędy (by mógł sie skompilować). Po poprawce wygląda tak:
Program prog2051;
{ AT89C1051, 2051, 4051 - kasowanie i programowanie bez weryfikacji }
uses crt;
const lpt1 :word = $378; { lub $278, lub $3bc - HERCULES }
var bajt :byte;
adres,i :word;
f :file of byte;
ch:char;
begin
if paramcount<>1 then Halt;
assign(f,paramstr(1));
reset(f);
Port[lpt1+2]:=Port[lpt1+2] or $D; { tryb kasowania }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln('Nacisnij teraz przycisk RESET w programatorze,');
writeln('a nastepnie nacisnij dowolny klawisz na klawiaturze.');
while keypressed do ch:=readkey;
ch:=readkey;
while keypressed do ch:=readkey;
writeln(' Kasowanie pamieci FLASH w AT89');
Port[lpt1+2]:=Port[lpt1+2] or 2; { prog - ERASE }
delay(10);
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln(' Koniec kasowania');
Port[lpt1+2]:=Port[lpt1+2] and $F3; { tryb programowania }
adres:=0;
write('Programowanie pamieci FLASH w AT89 ');
repeat
read(f,bajt);
Port[lpt1]:=bajt;
Port[lpt1+2]:=Port[lpt1+2] or 2; { impuls prog }
{ for i:=1 to 100 do begin end; { krotkie opoznienie }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
delay(3); { trwa programowanie bajtu }
Port[lpt1+2]:=Port[lpt1+2] and $FE; { inc adres w AT89 }
Port[lpt1+2]:=Port[lpt1+2] or 1;
inc(adres);
gotoxy(40,WhereY);
write(adres);
until (adres=FileSize(f)) or (keypressed);
close(f);
writeln;
writeln('KONIEC PROGRAMOWANIA !!!');
while keypressed do ch:=readkey;
end.
Swoja drogą:
-program trzeba wywołać z parametrem będącym nazwą pliku
- wywołanie bez parametrów nie robi nic
- jeżeli nazwa pliku best błędna (nia ma takiego), to program wali w glebę.
Program prog2051;
{ AT89C1051, 2051, 4051 - kasowanie i programowanie bez weryfikacji }
uses crt;
const lpt1 :word = $378; { lub $278, lub $3bc - HERCULES }
var bajt :byte;
adres,i :word;
f :file of byte;
ch:char;
begin
if paramcount<>1 then Halt;
assign(f,paramstr(1));
reset(f);
Port[lpt1+2]:=Port[lpt1+2] or $D; { tryb kasowania }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln('Nacisnij teraz przycisk RESET w programatorze,');
writeln('a nastepnie nacisnij dowolny klawisz na klawiaturze.');
while keypressed do ch:=readkey;
ch:=readkey;
while keypressed do ch:=readkey;
writeln(' Kasowanie pamieci FLASH w AT89');
Port[lpt1+2]:=Port[lpt1+2] or 2; { prog - ERASE }
delay(10);
Port[lpt1+2]:=Port[lpt1+2] and $FD;
writeln(' Koniec kasowania');
Port[lpt1+2]:=Port[lpt1+2] and $F3; { tryb programowania }
adres:=0;
write('Programowanie pamieci FLASH w AT89 ');
repeat
read(f,bajt);
Port[lpt1]:=bajt;
Port[lpt1+2]:=Port[lpt1+2] or 2; { impuls prog }
{ for i:=1 to 100 do begin end; { krotkie opoznienie }
Port[lpt1+2]:=Port[lpt1+2] and $FD;
delay(3); { trwa programowanie bajtu }
Port[lpt1+2]:=Port[lpt1+2] and $FE; { inc adres w AT89 }
Port[lpt1+2]:=Port[lpt1+2] or 1;
inc(adres);
gotoxy(40,WhereY);
write(adres);
until (adres=FileSize(f)) or (keypressed);
close(f);
writeln;
writeln('KONIEC PROGRAMOWANIA !!!');
while keypressed do ch:=readkey;
end.
Swoja drogą:
-program trzeba wywołać z parametrem będącym nazwą pliku
- wywołanie bez parametrów nie robi nic
- jeżeli nazwa pliku best błędna (nia ma takiego), to program wali w glebę.
Kontakt do mnie to: an177@poczta.fm
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 61 gości