Więc tak:
1. Przeprogramowałem Atmela i dołożyłem układ wykonawczy i teraz Atmel steruje mi nastawnikiem i bocznikiem. Wrażenia niesamowite !!!
Jeżeli będzie ktoś zaineresowany to napiszę co i jak.
2. Odniosę się teraz do tego co napisał Ryszard-san, więc:
a) Obecne kompy posiadają 5 pinów 2 kierunkowych, Piny 2-9 są tylko Output więc nie 8 I/O !!!. Kiedyś tak było, że 2-9 były 2 kierunkowe, ale to dawno i nieprawda. Te 5 pinów wykorzystywane jest np. Nortonie Commaderze do Inerlinku po LPT pomiędzy 2 komputerami i bajty są przesyłane połówkowo po 4 pianch, a 5 sygnalizacyjny. Więc nie pisz bzdur. Zresztą nie wiem po co pisałeś o LPT. Mogłeś jeszcze napisać prawo Ohma, Kirchoffa itp.
b) Rozwiązanie moje na przełączniku o cyklu pracy 1,2,3,1,2,3 itd. i odpowiedni program do Atmela traktuje to tak jakby były połączone do niego końcówki 1,2,3 przecież na pozycji 3 żaden pin nie jest połączony z masą i to też jest informacja, a zyskuje o jeden pin mniej podłączonego do Atmela
7. przy zastosowaniu wyłączników 3 sekcyjny zyskujesz przewagę nad twoim rozwiązaniem gdyż niemasz pustej pozycji na której nie jest naciśniety klawisz
Przyznam szczerze nie wiem o co Tobie chodzi?
c) Zasade działania myszki znam i wiem, że ciężko będzie odczytać informacje z niej przez urządzenie zewnętrzne. Więc proszę Was bardzo nie denerwujcie mnie z tą myszką, tylko myszka i myszka i cholera wie co po?!
d) Faktycznie można zastosować tranzystory MOSFET, ale wolałem kontaktrony, bo chyba polowe jak dioda, a nie chce mi się dochodzić do potencjałow pomiędzy styczkami klawiszy.
e)Dawno już stwierdzono, że elektronika programowalna ma znaczną przewagę, w każdej chwili można przeprogramować zmieniając zasadę działania i dostosowując poprzez zmianę programu do potrzeb. Jednocześnie zmniejsza się ilość zastosowanych elementów. Procki są bardzo tanie, ja kupiłem za 5 zł, gdzie byle przełącznik koszuje o wiele więcej.
f)Piszesz, że zrobiłeś w Mechaniku na przełączniku 6 pozycyjnym, ale zauważ, że Mechanik to tylko (chyba, że się mylę) EN57, a w EU jest nie pamiętam dokładnie ok.48 pozycji. Konia z zrzędem temu, co dostanie przełącznik 48 pozycyjny. Jeszcze jedno, czy w twoim zastosowanym przełączniku klawisz klawiatury wysterowowywany był na stałe? Bo jeżeli tak do do dupy takie rozwiązanie. Jeżeli natomiast nie na stałe, to musiałeś zastosować dodatkowy element sterujący, co też jest rozwiązaniem do d.... W mojej konepcji klawisz klawiatury wysterowywany jest na chwilę i steruje tym Atmel. Nie muszę pisać dlaczego wysterowywanie ciągłe klawisza jest złe.
g) Zrób nastawnik jaki chcesz i jak chcesz mnie to rybka, ja podałem gotowca wraz z programem, tylko brać i korzystać. Nawet jak zrobisz, to nieprzekonasz mnie do swojej koncepcji bez procka.
PS.
Nie pisz co Ty byś zrobił, tylko to zrób!
Ja nie twierdzę, że moje rozwiązanie obiektywnie jest najlepsze. Każdy ma inną koncepcję, ja wybrałem taką i według mnie jest dobra i sprawdzona.
PS2
Widzę po Twoich postach, że na wszystkim się znasz, to albo jesteś geniuszem, albo co się często zdarza w życiu, kto się zna na wszytkim, ten się zna na niczym. Nie wiem do której kategorii się zaliczasz?
PS3
Nowy program do Atmela. Dokładamy jeszcze raz taki sam układ wykonaczy i jeszcze jeden taki przełącznik. Przełącznik ten podłączamy do portu 3.2 i 3.3, a z portu 1.5 i 1.4
steruje się klawiszami "*" i "/". Program trzeba skompilować, jak podałem w dokumentacji nastawnika.
org 00h
x equ 127 ;deklaracja zmiennych
y equ 126
z equ 125
xy equ 124
spr equ 123
pin30 equ 122
pin31 equ 121
pin32 equ 120
pin33 equ 119
sjmp start
start:
mov a,#00000000b
mov p1,a ;wstaw na port p1 zawartosc akumul.
mov a,#11111111b
mov p3,a ;wstaw na port p3 zawartosc akumul.
mov a,p3
mov pin30,#0
mov pin31,#0
mov pin32,#0
mov pin33,#0
jnb p3.0,start1
mov pin30,#1
start1:
jnb p3.1,start2
mov pin31,#1
start2:
jnb p3.2,start3
mov pin32,#1
start3:
jnb p3.3,glowna
mov pin33,#1
glowna:
mov a,p3
mov spr,a
lcall petla3
mov a,p3
cjne a,spr,glowna
a1:
mov a,pin30
cjne a,#0,a11
jb p3.1,a11
setb p1.6
lcall petla3
clr p1.6
mov pin30,#1
mov pin31,#0
ljmp glowna
a11:
a2:
mov a,pin30
cjne a,#0,a21
jnb p3.0,a21
jnb p3.1,a21
setb p1.7
lcall petla3
clr p1.7
mov pin30,#1
mov pin31,#1
ljmp glowna
a21:
a3:
mov a,pin31
cjne a,#0,a31
jnb p3.0,a31
jnb p3.1,a31
setb p1.6
lcall petla3
clr p1.6
mov pin30,#1
mov pin31,#1
ljmp glowna
a31:
a4:
mov a,pin31
cjne a,#0,a41
jb p3.0,a41
setb p1.7
lcall petla3
clr p1.7
mov pin30,#0
mov pin31,#1
ljmp glowna
a41:
a5:
mov a,pin30
cjne a,#1,a51
mov a,pin31
cjne a,#1,a51
jb p3.0,a51
setb p1.6
lcall petla3
clr p1.6
mov pin30,#0
mov pin31,#1
ljmp glowna
a51:
a6:
mov a,pin30
cjne a,#1,a61
mov a,pin31
cjne a,#1,a61
jb p3.1,a61
setb p1.7
lcall petla3
clr p1.7
mov pin30,#1
mov pin31,#0
ljmp glowna
a61:
b1:
mov a,pin32
cjne a,#0,b11
jb p3.3,b11
setb p1.4
lcall petla3
clr p1.4
mov pin32,#1
mov pin33,#0
ljmp glowna
b11:
b2:
mov a,pin32
cjne a,#0,b21
jnb p3.2,b21
jnb p3.3,b21
setb p1.5
lcall petla3
clr p1.5
mov pin32,#1
mov pin33,#1
ljmp glowna
b21:
b3:
mov a,pin33
cjne a,#0,b31
jnb p3.2,b31
jnb p3.3,b31
setb p1.4
lcall petla3
clr p1.4
mov pin32,#1
mov pin33,#1
ljmp glowna
b31:
b4:
mov a,pin33
cjne a,#0,b41
jb p3.2,b41
setb p1.5
lcall petla3
clr p1.5
mov pin32,#0
mov pin33,#1
ljmp glowna
b41:
b5:
mov a,pin32
cjne a,#1,b51
mov a,pin33
cjne a,#1,b51
jb p3.2,b51
setb p1.4
lcall petla3
clr p1.4
mov pin32,#0
mov pin33,#1
ljmp glowna
b51:
b6:
mov a,pin32
cjne a,#1,b61
mov a,pin33
cjne a,#1,b61
jb p3.3,b61
setb p1.5
lcall petla3
clr p1.5
mov pin32,#1
mov pin33,#0
ljmp glowna
b61:
ljmp glowna
petla3:
mov x,#70 ;zmiana tej wartosci powoduje wydluzenie /zmniejszenie czasu wysylania impulsu do klawiatury
petla4:
mov z,#0
djnz z,$
djnz x,petla4
ret
Pozdrawiam
Mariusz