JohnyR2
Guest
Thu Dec 06, 2007 12:27 pm
Witam, chcę zbudować urządzenie, którego zadaniem będzie zliczanie impulsów
z trzech źródeł, do dalszej obróbki będę wykorzystywał różnicę ilości
impulsów z pierwszego i drugiego źródła (gdzie i1 zawsze będzie większe od
i2) i ilość impulsów z trzeciego źródła. Rzecz chcę zrealizować na AT x0C51,
i tu pytanie, czy funkcję i1-i2 trzeba zrealizować sprzętowo? Procek ma
tylko dwa liczniki. Częstoliwości impulsów <100Hz. Problemem jest także
ilość portów - wyniki będą wyświetlane na LCD z HD44780 (7 portów). Do
sterowania potrzebuję czterech przycisków.
Roman
Guest
Thu Dec 06, 2007 5:38 pm
"JohnyR2" <johnyr@orange.pl> wrote in message
news:fj8mbn$inn$1@news.dialog.net.pl...
Quote:
na AT x0C51,
i tu pytanie, czy funkcję i1-i2 trzeba zrealizować sprzętowo? Procek ma
tylko dwa liczniki. Częstoliwości impulsów <100Hz.
Przy tak małej częstotliwości można liczyć te impulsy programowo, bez
TIMER-ów procka. Wykrywasz impulsy (zbocza) metodą cyklicznego, szybkiego
"przeglądania" stanu wejść gdzie wchodzą te impulsy.
Quote:
Problemem jest także
ilość portów - wyniki będą wyświetlane na LCD z HD44780 (7 portów). Do
sterowania potrzebuję czterech przycisków.
A do LCD nie będzie potrzeba 10 pinów?
Dla wejść impulsów 3, zostaną 2 piny AT x0C51 dla 4 przycisków

trzeba
coś z tym zrobić !
Roman
Irek_K
Guest
Thu Dec 06, 2007 6:05 pm
[CIACH]
Quote:
Dla wejść impulsów 3, zostaną 2 piny AT x0C51 dla 4 przycisków

trzeba
coś z tym zrobić !
Roman
Dwa piny dla 4 przycisków, proszę:
1 przycisk pin0-przycisk-masa
2 przycisk pin1-przycisk-masa
3 przycisk pin0->>dioda>>-przycisk-pin1
4 przycisk pin0-<<dioda<<<-przycisk-pin1
Greg(G.Kasprowicz)
Guest
Thu Dec 06, 2007 6:16 pm
Quote:
Dwa piny dla 4 przycisków, proszę:
1 przycisk pin0-przycisk-masa
2 przycisk pin1-przycisk-masa
3 przycisk pin0->>dioda>>-przycisk-pin1
4 przycisk pin0-<<dioda<<<-przycisk-pin1
sprytnie, a jak zakodujesz brak wcisniecia?
do 4 przyciskow potrzebujesz 3 piny
ale do 7 tez 3 piny
za to do 3 przyciskow 2 wystarcza:)
Irek_K
Guest
Thu Dec 06, 2007 6:40 pm
Greg(G.Kasprowicz) pisze:
Quote:
Dwa piny dla 4 przycisków, proszę:
1 przycisk pin0-przycisk-masa
2 przycisk pin1-przycisk-masa
3 przycisk pin0->>dioda>>-przycisk-pin1
4 przycisk pin0-<<dioda<<<-przycisk-pin1
sprytnie, a jak zakodujesz brak wcisniecia?
do 4 przyciskow potrzebujesz 3 piny
ale do 7 tez 3 piny
za to do 3 przyciskow 2 wystarcza:)
Brak wcisniecia to 11b na obu pinach (wewnętrzny pull-up)
Procedura sprawdzania:
1)testuj pin0 i pin1 (00b, 01b, 10b = wcisniecie któregoś przycisku)
2)pin 0 jako wyjście (wpisz 0)
3) testuj pin 1 , jeśli 0 tzn że 4 przycisk wciśnięty
4) pin1 jako wyście (wpisz 0)
5) testuj pin 0 , jeśli 0 tzn że 3 przycisk wciśnięty
Irek_K
Guest
Thu Dec 06, 2007 6:45 pm
Można zrobić dowolną liczbę przycisków na 1 pinie:
Dowolny generatorek np 4060 i przyciski łączące wyjścia dzielników z tym
pinem.
Zliczając długość impulsów wejściowych mamy nr wcisniętego klawisza
Irek_K
Guest
Thu Dec 06, 2007 6:55 pm
[ciach] Rzecz chcę zrealizować na AT x0C51,
Na 20c51,30c51 .... 90c51 ? Chyba nie ma takich procków. Masz na myśli
89Cx051 ?
Roman
Guest
Thu Dec 06, 2007 7:16 pm
Użytkownik "Irek_K" <ixkuczek@poczta.onet.pl> napisał w wiadomości
news:fj9cg6$bq8$2@news.onet.pl...
Quote:
Można zrobić dowolną liczbę przycisków na 1 pinie:
Dowolny generatorek np 4060 i przyciski łączące wyjścia dzielników z tym
pinem.
Zliczając długość impulsów wejściowych mamy nr wcisniętego klawisza
! Chitre ! A gdy klawisze dać przez diody ("suma na drucie"), to nawet
będzie można naciskać kilka klawiszy jednocześnie! Skomplikuje się tylko
algorytm demodulacji takiej "sieczki".
Roman
PAndy
Guest
Thu Dec 06, 2007 7:34 pm
"Irek_K" <ixkuczek@poczta.onet.pl> wrote in message
news:fj9cg6$bq8$2@news.onet.pl...
Quote:
Można zrobić dowolną liczbę przycisków na 1 pinie:
Dowolny generatorek np 4060 i przyciski łączące wyjścia dzielników z
tym pinem.
Zliczając długość impulsów wejściowych mamy nr wcisniętego klawisza
.... z zewnetrznym ukladem to nie problem - mozna dac rezystory zwierane
przyciskami i robic pomair dlugosci czasu trwania impulsu generowanego w
555 itd, albo rejestr przesuwny 74597 i mamy mozliwosc rozbudowy do
wlasciwie dowolnej dlugosci.
Irek_K
Guest
Thu Dec 06, 2007 7:53 pm
Irek_K pisze:
Wariant 3-ci:
Wykorzystać linie DATA do wyswietlacza.
Poszczególne linie połączyć przez diody i przyciski z kolektorem z
jednym pinem portu procesora.
Jeśli ten dodatkowy pin jest na H to przyciski są nieaktywne (naciskanie
nic nie daje) i mozna wysyłać dane.
Gdy pin jest na L to testujemy przyciski ale nie wysyłamy wtedy danych
do wyswietlacza.
Irek_K
Guest
Thu Dec 06, 2007 7:54 pm
Irek_K pisze:
Wariant 3-ci:
Wykorzystać linie DATA do wyswietlacza.
Poszczególne linie połączyć przez diody i przyciski z
jednym pinem portu procesora.
Jeśli ten dodatkowy pin jest na H to przyciski są nieaktywne (naciskanie
nic nie daje) i mozna wysyłać dane.
Gdy pin jest na L to testujemy przyciski ale nie wysyłamy wtedy danych
do wyswietlacza.
Adam Dybkowski
Guest
Thu Dec 06, 2007 11:49 pm
Irek_K pisze:
Quote:
Można zrobić dowolną liczbę przycisków na 1 pinie:
Dowolny generatorek np 4060 i przyciski łączące wyjścia dzielników z tym
pinem.
Zliczając długość impulsów wejściowych mamy nr wcisniętego klawisza
To już prościej przyciskami zwierać rezystory (podobnie jak robią np.
joysticki do sterowania radiem w niektórych samochodach) - wystarczy
napięcie zmierzyć przetwornikiem A/C procesora. No ale to już nie w
starej dobrej '51.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Grzegorz Latocha
Guest
Fri Dec 07, 2007 9:58 am
JohnyR2 pisze:
Quote:
Witam, chcę zbudować urządzenie, którego zadaniem będzie zliczanie impulsów
z trzech źródeł, do dalszej obróbki będę wykorzystywał różnicę ilości
impulsów z pierwszego i drugiego źródła (gdzie i1 zawsze będzie większe od
i2) i ilość impulsów z trzeciego źródła. Rzecz chcę zrealizować na AT x0C51,
i tu pytanie, czy funkcję i1-i2 trzeba zrealizować sprzętowo? Procek ma
tylko dwa liczniki. Częstoliwości impulsów <100Hz. Problemem jest także
ilość portów - wyniki będą wyświetlane na LCD z HD44780 (7 portów). Do
sterowania potrzebuję czterech przycisków.
to ja proponuję dać wyświetlacz przez zwykły port szeregowo równoległy w
zatrzaskiem, bodajże 74x595, ale z pamięci piszę. Zajmuje 3 piny portu.
Robiłem tak multipleksowany wyświetlacz 7-seg. więc z LCD powinno być
jeszcze prościej.
Andrzej
Guest
Mon Dec 10, 2007 11:22 am
Użytkownik "Roman" <romantek@poczta.onet.pl> napisał w wiadomości
news:fj9862$voq$1@news.onet.pl...
Quote:
A do LCD nie będzie potrzeba 10 pinów?
Mozna przesyłać dane 4-ma bitami, anie 8-mioma.
pzdr,
Andrzej