logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Prosty zegarek

S.e.n.t.i.n.e.l 21 Lut 2007 22:33 7487 21
REKLAMA
  • Prosty zegarek
    Witam wszystkich entuzjastów elektroniki.
    Chciałbym się podzielić z wami moim projektem. Od jakiegoś czasu programuje mikrokontrolery z rodziny 8051 w języku C. Umiejąc już conieco zdecydowałem się zbudować najprostszy w świecie zegarek. Moją konstrukcję oparłem o mikrokontroler firmy Atmel AT89S52. Program główny obsługuje jeden z timerów w trybie autoprzeładowania, co naprawdę dobrze zdało egzamin, bo zegarek już od dłuższego czasu chodzi punktualnie. Obudowy na razie nie będzie, bo nie mam na nią czasu (dla mnie goła elektronika świetnie się prezentuje). Schematu również nie ma, bo na bieżąco go wymyślałem. Mam nadzieję, że po maturze będę miał trochę więcej czasu i rozszerzę mój projekt o takie funkcje jak alarm czy pokazywanie aktualnej daty.

    Oto kilka zdjęć:

    Prosty zegarek

    Prosty zegarek

    Prosty zegarek

    Prosty zegarek

    Prosty zegarek

    Fajne? Ranking DIY
    O autorze
    S.e.n.t.i.n.e.l
    Poziom 12  
    Offline 
    S.e.n.t.i.n.e.l napisał 26 postów. Jest z nami od 2007 roku.
  • REKLAMA
  • #2 3601634
    charwer
    Poziom 15  
    Posty: 187
    Pomógł: 4
    Ocena: 3
    Hmm wiek maturalny i mikrokontrolery Amel... No niezły wynik jak na takie młode lata. Powiem tak brak obudowy to nic. Na palcach jednej ręki moznaby policzyć ludzi w twoim wieku umiejących zrobić samemu coś takiego. Dla mnie super sprawa. Pozdrawiam.
  • #3 3602128
    KJ
    Poziom 31  
    Posty: 2370
    Pomógł: 68
    Ocena: 945
    Czy ja wiem czy taki młody wiek na uC :) Ja zaczynałem w gimnazjum bądź co bądź projekt ciekawy, osobiście nigdy nie chciało mi się implementować RTC na gołym procku jak potrzebuję mierzyć czas zawsze doklejam zegarek na i2c.
  • REKLAMA
  • #4 3602339
    PiotrWitk
    Poziom 12  
    Posty: 49
    Bardzo ciekawy projekt. Na razie obudowa nie jest potrzebna, ale musisz jakoś mocować wyświetlacz.
  • #5 3602522
    Tranzystor_1992
    Poziom 16  
    Posty: 260
    Ocena: 3
    Po co taki duży procek :?: Wisz nie, żebym się czepiał, ale AT89C4051 chyba by wystarczyło.
  • #6 3602620
    ras
    Poziom 14  
    Posty: 88
    Ocena: 1
    Po pierwsze nie procesor a uC a po drugie zawsze go można wyjąć jak się zegarek znudzi i zbudwać coś bardziej wymagającego ;)
  • #7 3602723
    Tranzystor_1992
    Poziom 16  
    Posty: 260
    Ocena: 3
    O ile wiem mikroprocesor to też swego rodzaju procesor. Może i tak, ale jak na zegarek to ten procek troche za duży.

    Ile zajmuje Ci program :?:
  • #8 3603001
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    Tranzystor_1992 napisał:
    Po co taki duży procesor :?: Wisz nie, żebym się czepiał, ale AT89C4051 chyba by wystarczyło.

    Mi taki zagarek, a dodatkowo pomiar temperatury na DS1820, zmieścił się w 89C2051, program również w C:
    -> http://www.elektroda.net/nauka/dyplomowe/dyplomowe.html - pozycja nr 21.
    Tylko wyświetlacz jest trochę większy.
    A zabawę z mikrokontrolerami (a raczej mikroprocesorami - Z80, mało kto pewnie go pamięta) zaczynałem w wieku 15 lat .
  • #9 3603043
    Tranzystor_1992
    Poziom 16  
    Posty: 260
    Ocena: 3
    Ja zaczynam od 1,5 roku, ale z AVR. A z '51 chce zacząć za niedługo. Wiesz wydaje mi się, że ten wyświetlacz o dużo więcej pamięci nie zajmie.
  • #10 3603391
    S.e.n.t.i.n.e.l
    Poziom 12  
    Posty: 26
    Witam ponownie.
    Nie miałem za bardzo wyboru, jeśli chodzi o wielkość mikrokontrolera, bo mój programator może obsługiwać tylko i wyłącznie układy w obudowach DIL 40, ale w zasadzie mi to nie przeszkadza, na moje potrzeby to ważne żeby poprawnie działał. Jeśli chodzi o program to wielkość pliku do wgrania wynosi 1717 bajtów.
    Pozdrawiam
  • REKLAMA
  • #11 3603393
    maciekglovplale
    Poziom 12  
    Posty: 41
    Ocena: 46
    Widzę ze w konstrukcji to nie jest za trudne, ale zaprogramować tobym tego uC nie umiał, nie znam sie na języku C. Bardzo starannie wykonane, daje 5+ :D Można jakiś schemat, albo link.
  • #12 3603401
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    Pokaż nam jeszcze kod źródłowy programu, wszyscy jesteśmy jego ciekawi...
  • REKLAMA
  • #13 3604147
    PiotrWitk
    Poziom 12  
    Posty: 49
    Przydałaby się jakiś schemat itd.
  • #14 3604228
    TheWiktus
    Poziom 19  
    Posty: 378
    Pomógł: 9
    Ocena: 8
    No ładnie ja jestem w 2 gim. i potrafię zrobić coś takiego ,ale nie mam ostatnio czasu.Nie polecam 89s52 ponieważ jest to troszkę przestarzała technologia .AVR są nowsze i według mnie lepsze.Nie zaczynałbym od nich nauki programowania ze względu na trudność w programowaniu(od strony elektrycznej).
  • #15 3604240
    Tranzystor_1992
    Poziom 16  
    Posty: 260
    Ocena: 3
    MAsz racje, AVR jest oszczędniejszy i szybszy. Ja w 1 gim juz umiałem, a w klasie 6 się uczyłem programować :)
  • #16 3604296
    S.e.n.t.i.n.e.l
    Poziom 12  
    Posty: 26
    Do pobrania zamieszczam kod programu
    Załączniki:
    • zegarek.rar (3.15 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #18 3604541
    S.e.n.t.i.n.e.l
    Poziom 12  
    Posty: 26
    Witam ponownie
    Jak najbardziej nie chcę się nikogo tutaj czepiać ale w 100% zgadzam się z użytkownikiem Goofy89. Jeśli chodzi o projekt użytkownika Tranzystor_1992 to graluluję, ale z drugiej strony to chciałbym powiedzieć, że kiedy ja byłem w 6 klasie czy tam w gimnazjum (6, 7 lat temu) to w Polsce programowanie nie było takie łatwe, a poza tym nie było tak wielkiej różnorodności elementów jak dzisiaj. Dlatego bardzo proszę abyście nie kłócili się o to, kto co i kiedy potrafił. Zwracam się szczególnie do tych młodszych pasjonatów elektroniką, cieszcie się, że jesteście tak młodzi i tyle potraficie. Ja w waszym wieku mogłem sobie tylko pomarzyć o takiej wiedzy.
    Pozdrawiam
  • #19 3604851
    lechoo
    Poziom 39  
    Posty: 5161
    Pomógł: 377
    Ocena: 546
    S.e.n.t.i.n.e.l napisał:
    Do pobrania zamieszczam kod programu

    Twierdzisz, że od jakiegoś czasu programujesz '51 w C, a niestety przedstawiony przez Ciebie program to "raczkowanie"... Takie rzeczy jak obsługa multipleksowania wyświetlacza LED robi się w przerwaniach, a nie w pętli głównej programu. Przejrzyj sobie kod mojego zegara, do którego zamieściłem link powyżej. Dodatkowo jest tam obsługa magistrali 1WIRE - niektórzy twierdzą, że nie będzie to prawidłowo działać przy włączonych przerwaniach... Czasami wystarczy tylko wszystko logicznie przemyśleć.
    Życzę powodzenia przy dalszych projektach :)
  • #20 3604863
    dir3ctor
    Poziom 27  
    Posty: 1150
    Pomógł: 71
    Ocena: 50
    za mocna jednostka jak do zegarka... chyba ze chcesz rozbudowywac projekt w przyszlosci.
  • #21 3605041
    coyot
    Poziom 17  
    Posty: 255
    Pomógł: 15
    Ocena: 7
    Witam !

    Gratuluje udanego projektu, co do programowania w C to wszystko przed Tobą, jednak zpośród moich kolegów z uczelni (2 rok inf.) jest nie więcej niż 7 osobników, którzy zrozumieli by twój kod więc nie łam się.
  • #22 3605639
    jaceknowacki
    Poziom 2  
    Posty: 2
    Bravo!
    Moim zdaniem:
    a. obudowa nie jest do niczego potrzebna bo kto będzie tego używał :)
    b. cpu może za duże ale to nie jest prototyp przed produkcją seryjną
    c. jest to prawdopodobnie jeden z pierwszych etapów na drodze do wszystkomającego robota albo stacji orbitalnej albo tomografu komputerowego :)

    Jacek

Podsumowanie tematu

✨ Projekt prostego zegarka oparty na mikrokontrolerze Atmel AT89S52 został zrealizowany z wykorzystaniem timera w trybie autoprzeładowania, co zapewnia dokładne odmierzanie czasu. Autor programuje w języku C i zamieścił kod źródłowy oraz zdjęcia konstrukcji. Dyskusja poruszała kwestie doboru mikrokontrolera – niektórzy sugerowali mniejsze modele z rodziny 8051, np. AT89C4051 lub AT89C2051, a także alternatywę w postaci nowszych mikrokontrolerów AVR, które są bardziej oszczędne i szybsze, choć trudniejsze w programowaniu od strony sprzętowej. Wskazano, że program zajmuje około 1717 bajtów i że obsługa multipleksowania wyświetlacza LED powinna być realizowana w przerwaniach, a nie w pętli głównej. Poruszono też temat braku obudowy i mocowania wyświetlacza, co nie jest krytyczne na etapie prototypu. Wskazano na możliwość rozbudowy projektu o funkcje alarmu i wyświetlania daty. Dyskusja zawierała także refleksje na temat rozwoju umiejętności programistycznych i różnorodności dostępnych elementów elektronicznych.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA