Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

przytrzymanie przycisku - szybsze naliczanie

Sojeros 03 Dec 2006 18:12 1443 12
  • #1
    Sojeros
    Level 12  
    Witam

    Pytanie z techniki cyfrowej.
    Buduje sobie zegarek i mam taki problem. Nie wiem jak zrealizować funkcję przycisku.
    Chodzi o nastawiania czasu (minuty) tak aby dłuższe przytrzymanie switch'a powodowało przyśpieszenie naliczania wartości. (tak jak to było w zegarkach elektronicznych na rękę).

    W jaki sposób sa realizowane takie funkcje??


    Dodam że projekt robię w MaxPlus+'ie


    Pozdrawiam
  • #2
    HMD
    Level 19  
    Witam

    Jesli jest to zwykly uklad licznikowy i kazda zmiana wartosci potrzebuje podania np sygnalu 0 lub 1 logicznej to robisz prosty generatorek chocby na NAND tak aby np pierwsza s dawala tylko 1 impuls a kazde kolejne np 100ms dawalo kolejny impulsik :) Natomias jesli jest to uklad uP to sprawa wyglada jeszcze prosciej bo to tylko kwestia programu :)

    Dodano po 7 [minuty]:

    Jednakze jesli znasz sie na procuszkach to proponuje zastosowac jakis uklad czasu rzeczywistego a moze i bedziesz miec znacznie wiecej mozliwosci takich jak np kalendarz, termometr, budzik i kilka jeszcze innych zaleznie jaki uklad bys zastosowal i jaki programik bys napisla :D :)
  • #4
    Sojeros
    Level 12  
    Tak to jest zwykły układ licznikowy po podawaniu sygnałów nastepuje inkrementacja. Ale nie wiem jak zrobić taki generator:/
  • #5
    HMD
    Level 19  
    dokladnie cos tego typu mialem na mysli jak to podal Oksy jednakze jest mozliwe zamiast uzycia 4 bramek tylko jednej ale to i tak w jednej obudowie sa 4 bramki :)
  • #6
    Sojeros
    Level 12  
    Dzięki Oksy ale ja to chciałbym zrobić bez elementów analogowych. Trzeba to robić pewnie na lakimś liczniku/dzielniku. I to jest projekt jak narazie 'wirtualny' chciałbym zobaczyć jak to na sumulacji wychodzi.
  • #7
    HMD
    Level 19  
    do takiego generatorka o jakim wspominalem (podobny do tego co Oksy) potrzeba:
    2 diody
    3 rezystorki
    1 kondensatorek
    1 bramka NAND
    i jesli jeszcze to dla Ciebie za duzo analogowki to powodzenia w budowie skomplikowanego ukladu czysciutko cyfrowego :P
  • #8
    Sojeros
    Level 12  
    Rozumiem że w prosty, łatwy sposób można to wykonac, ale tak jak napisałem wczesniej nie mogę wykorzystać do tego elementów analogowych.

    Jakies pomysły?

    Pozdrawiam
  • #9
    mcoola
    Level 19  
    Po przytrzymaniu ładuje ci sie nieweilki kondensator, i uruchamia generator NE555 i tyle. Ja mam tak w zasilaczu do szybszej zmainy napięcia
  • #10
    Sojeros
    Level 12  
    ale tak jak pisałem wcześniej zalezy mi tylko na elementach cyfowych. W analogówce jest to proste mamy kondensator i możemy sobie zmieniać stałą czasowa jak chcemy.

    A jak to zrobić w technice czysto cyfrowej?
  • #11
    HMD
    Level 19  
    No to nie wiem czy jest jaki kolwiek uklad czysto cyfrowy, ktory by mogl zrealizowac taka funkcje :| Kazdy generator z tego co wiem oparty jest na ladujacym i rozladowujacym sie kondensatorze. Jedynym rozwiazaniem jakie mi teraz przychodzi do glowy to probowac coscik zrobic z czasem reakcji poszczegolnych ukladow cyfrowych.
    Do licznikow i tak potrzebujesz zewnetrzny generator tak wiec rowniez odpadaja.
    Ale skoro nie chcesz z jakiegos powodu zastosowac zadnego elementu analogowego to powodzenia bo ja odpadam gdyz nie mam tak wiele czasu na kombinowanie :P
    Chyba ze zastosujesz najprostrzy procesorek z wbudowanym oscylatorem np ATtiny 15 :)

    Dodatkowo to i tak potrzebujesz zastosowac rezystorek do samego przycisku bo wejscie cyfrowe nie moze wisiec w powietrzu a przycisk bedzie tylko zwierac albo do masy albo do zasilania :P
  • #12
    Sojeros
    Level 12  
    hmm... w sumie macie rację mógłbym to uzyskać wyłącznie z czasów propagacji bramek.
    A gdybym miał jakis zewnętrzny generator sygnałów cyfrowych to jam mam go wykorzystać w projekcie?

    Pozdr.

    Dodano po 5 [godziny] 40 [minuty]:

    Tak więc użyłem zewnętrznego generatora oraz układu licznikowego :-)

    DZięki za zainteresowanie

    Pozdrawiam
  • #13
    _jta_
    Electronics specialist
    Np. rejestr przesuwny SIPO z zerowaniem. Jak przycisk nie jest wciśnięty, rejestr jest zerowany.
    Jak wciśnięty - wpisują się 1-ki. Któraś pozycja włącza przekazywanie impulsów zegara na wyjście.
    No i pierwszy impuls zegara jest zawsze przekazywany. Jeśli opóźnienie zadziałania zliczania nie
    ma być duże, to można jakiś dekoder (coś w stylu 74138) do wyjść rejestru SIPO, i np. stany
    '000' i '111' na wejściach adresowych powodują przepuszczanie sygnałów zegarowych na wyjście.
    Wtedy pierwszy impuls przejdzie, drugi i trzeci nie, i wszystkie dalsze przejdą. Ze 2-4 imp/sek.