AT x0C51 projekt urządzenia

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.

Reply to
JohnyR2
Loading thread data ...

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.

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

Reply to
Roman
[CIACH]

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
Reply to
Irek_K

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:)

Reply to
Greg(G.Kasprowicz

Greg(G.Kasprowicz) pisze:

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
Reply to
Irek_K

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 :)

Reply to
Irek_K
[ciach] Rzecz chcę zrealizować na AT x0C51,

Na 20c51,30c51 .... 90c51 ? Chyba nie ma takich procków. Masz na myśli

89Cx051 ?
Reply to
Irek_K

Użytkownik "Irek_K" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:fj9cg6$bq8$ snipped-for-privacy@news.onet.pl...

! 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

Reply to
Roman

... 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.
Reply to
PAndy

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.

Reply to
Irek_K

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.

Reply to
Irek_K

Irek_K pisze:

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.

Reply to
Adam Dybkowski

JohnyR2 pisze:

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.

Reply to
Grzegorz Latocha

Użytkownik "Roman" snipped-for-privacy@poczta.onet.pl> napisał w wiadomości news:fj9862$voq$ snipped-for-privacy@news.onet.pl...

Mozna przesyłać dane 4-ma bitami, anie 8-mioma. pzdr, Andrzej

Reply to
Andrzej

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.