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

Kalkulator czyli 2+2=4 - prototyp

S.e.n.t.i.n.e.l 27 Sie 2007 20:39 6912 21
REKLAMA
  • Kalkulator czyli 2+2=4 - prototyp

    Witam
    Chciałbym zaprezentować mój projekt. Jest to najprostszy w świecie kalkulator. Ponieważ to dopiero prototyp, dlatego zmontowałem go szybko na płytce uniwersalnej, nie ma obudowy a kod programu jest troszeczkę nieuporządkowany. Użyty w projekcie mikrokontroler to AT89C55, klawiatura 4x4 + przycisk SHIFT. Jak tylko będę miał czas przerobie go na urządzenie z prawdziwego zdarzenia.
    Jak na razie ogranicza się do:
    -dzielenia
    -mnożenia
    -dodawania
    -odejmowania
    Ponadto posiada parę przydatnych funkcji takich jak:
    -możliwość edycji znaków przy ich wprowadzaniu
    -wyłączenie kursora
    -wyłączenie (wprowadzenie w stan power down)

    Dwie diody czerwona i żółta koło mikrokontrolera oznaczają odpowiednio stan power down oraz pracę mikrokontrolera, a potencjometr przy wyświetlaczu jak każdy wie służy do regulacji kontrastu. Co do schematu to jest jedynie u mnie w głowie, jak tylko go narysuje zamieszczę na stronie. Jeżeli jednak ktoś nie chce czekać zapraszam do Internetu, tam można znaleźć proste podłączenie wyświetlacza oraz klawiatury do mikrokontrolera.

    Na koniec jeszcze parę zdjęć:

    Kalkulator czyli 2+2=4 - prototyp

    Kalkulator czyli 2+2=4 - prototyp

    Kalkulator czyli 2+2=4 - prototyp

    Kalkulator czyli 2+2=4 - prototyp

    Kalkulator czyli 2+2=4 - prototyp

    Oraz kod źródłowy:

    http://eros.vlo.gda.pl/~sentinel/MSC51/kalkulator/

    W razie pytań proszę pisać.
    Pozdrawiam Adam

    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 4222066
    ciapciok
    Poziom 20  
    Posty: 503
    Pomógł: 3
    Ocena: 109
    Skoro prototyp, to lepiej zastosować procesor z '51 z ISP, łatwiej program wgrywać.

    Oczywiście projekt mało przydatny. Taniej jest kupić starego palmtopa i wgrać jakiś kalkulator. Przynajmniej ja tak zrobiłem.

    Pozdrawiam
  • #3 4222525
    dexiu
    Poziom 11  
    Posty: 15
    A ja uważam że pomysł ekstra, dobry bo edukacyjny, nie zawsze to co lepsze jest prostsze :)

    Pozdrawiam
  • #4 4222664
    coyot
    Poziom 17  
    Posty: 255
    Pomógł: 15
    Ocena: 7
    Proponuje dopisać obsługę nawiasów, kiedyś na studiach napisałem taki kalkulator "stosowy" to było w C na PC, ale w sam raz nadaje sie do µP

    Pozdrawiam
  • #5 4222921
    _Arecki_
    Poziom 15  
    Posty: 247
    Pomógł: 1
    Ocena: 110
    coyot napisał:
    Proponuje dopisać obsługę nawiasów


    Zaletą stosowania odwrotnej notacji polskiej jest brak konieczności używania nawiasów.

    A co do projektu, to bardzo fajna sprawa.
    Nie chodzi tu o funkcjonalność, ale o stworzenie czegoś wartościowego samemu. Co z tego, że lepszy, ładniejszy i bardziej funkcjonalny kalkulator można kupić za grosze. Chodzi o wartość edukacyjną jak w każdym własnoręcznie wykonanym urządzeniu.

    Pozdrawiam
  • REKLAMA
  • #6 4223139
    parafka
    Poziom 20  
    Posty: 587
    Pomógł: 11
    Ocena: 181
    Pomysł genialny. Czemu ja na to nie wpadłem?
    Gimnastyka głowy przy oprogramowaniu świetna. Ja przy okazji powalczę z avr bo łatwiej programować.
    Kol. ciapciok o odwrotnej notacji polskiej pewnie nie słyszał i wydaje mu się mało przydatne.
    -dlatego w Polsce dalej będą kopać węgiel i buraki. Wszyscy chcą łatwiej i taniej.
    Na politechnikach i innych powinien taki temat być standardem na laborkach a nie 4 godziny zdejmować ch-kę z rezystora.
  • #7 4223407
    dir3ctor
    Poziom 27  
    Posty: 1150
    Pomógł: 71
    Ocena: 50
    A ja bym dolorzyl mu liczenie caleczek za pomoca jakiejs prostej metody :-)
  • #8 4223422
    coyot
    Poziom 17  
    Posty: 255
    Pomógł: 15
    Ocena: 7
    parafka napisał:
    Pomysł genialny. Czemu ja na to nie wpadłem?
    Gimnastyka głowy przy oprogramowaniu świetna. Ja przy okazji powalczę z avr bo łatwiej programować.
    Kol. ciapciok o odwrotnej notacji polskiej pewnie nie słyszał i wydaje mu się mało przydatne.
    -dlatego w Polsce dalej będą kopać węgiel i buraki. Wszyscy chcą łatwiej i taniej.
    Na politechnikach i innych powinien taki temat być standardem na laborkach a nie 4 godziny zdejmować ch-kę z rezystora.


    Co do rezystorów, to jest to potrzebne ale nie na taką skale.

    _Arecki_ napisał:
    coyot napisał:
    Proponuje dopisać obsługę nawiasów


    Zaletą stosowania odwrotnej notacji polskiej jest brak konieczności używania nawiasów.



    A Faktycznie :D
  • #9 4223439
    S.e.n.t.i.n.e.l
    Poziom 12  
    Posty: 26
    Jako iż właśnie wybieram się na studia techniczne (elektronika) myślę, że obliczanie całek bardzo ułatwiłoby mi życie.
  • #10 4223493
    ciapciok
    Poziom 20  
    Posty: 503
    Pomógł: 3
    Ocena: 109
    Cytat:
    Jako iż właśnie wybieram się na studia techniczne (elektronika) myślę, że obliczanie całek bardzo ułatwiłoby mi życie.


    Najwyżej uda Ci się zrobić kalkulator liczący całki w sposób numeryczny, a na studiach, zwłaszcza na matematyce potrzebne jest liczenie symboliczne.

    Pozdrawiam
  • #11 4223537
    Remeknapr
    Poziom 33  
    Posty: 3808
    Pomógł: 138
    Ocena: 186
    parafka napisał:

    Kol. ciapciok o odwrotnej notacji polskiej pewnie nie słyszał i wydaje mu się mało przydatne.

    Mógłbyć rzucić jakiś przykład zastosowania ONP w asemblerze pod PC IBM, tzn. prawdziwego pisania własnego programu od podstaw, a nie korzystania z gotowych procedur HL?

    Pozdrawiam Remek
  • #12 4223745
    świerzy jerzy
    Poziom 11  
    Posty: 41
    Ocena: 1
    Naprade niezłe. Rozumiem że jesteś (tak jak ja) początkującym. W Naszym przypadku takie projekty to świetna sprawa. Co do samego kalkulatora, ja bym go za bardzo nie obudowywał, a taki "goły" zabrał na maturę:P
  • REKLAMA
  • #13 4223923
    dir3ctor
    Poziom 27  
    Posty: 1150
    Pomógł: 71
    Ocena: 50
    Jesli chcialbys dodac numeryczne obliczanie calek to gogluj za wzorami trapezu i parabol. Na poczatek proponuje wzory "proste", a potem moze jakas implementacje zlorzonych :-)

    Fakt ze nie policzysz tym caleczki bardzo dokladnie, ale zawsze po wyniku mozna tez wyswietlac delte (dokladnosc) z jaka zostala policzona.
  • #14 4225205
    m3
    Poziom 12  
    Posty: 77
    dir3ctor napisał:
    gogluj za wzorami trapezu i parabol

    Może być problem ze znalezieniem odpowiedniej strony. Lepiej wpisać metoda parabol (m. simpsona) i metoda trapezu.

    A dokładność zależy w dużej mierze również od nas - np. od tego jaką ilością trapezów aproksymujemy naszą krzywą.

    Co do projektu, to muszę przyznać, że świetna sprawa. I również myśle że szkoda byłoby zamykać go w jakieś pudełko. Raczej skup się na na jego rozbudowie, zwiększeniu funkcjonalności. :) Powodzenia!
  • #15 4225911
    pidpawel
    Poziom 26  
    Posty: 1025
    Pomógł: 13
    Ocena: 18
    Fajnie fajnie szkoda że jeszcze nie skończony. Wsadź w to jeszcze elektroniczną ściągę i gites :D
  • REKLAMA
  • #16 4226398
    cukras
    Poziom 17  
    Posty: 295
    Pomógł: 14
    Ocena: 28
    Oj ciapok masz racje ,liczenie całek na uP to tylko tak jak na metodach numerycznych(metoda symboliczna),nic trudnego, kwestia wymyślenia algorytmu.
    kolego parafka,jak zdjęcie char R zajęło 4h??Gdzie studiujesz(-wałeś). Myślę że polibuda to jest to co mi sie mogło najlepszego w życiu trafić(narazie), i nas uczyli jak sie liczy całki na uP(przynajmniej moc dla przebiegów sinusoidalnych ale i tak można było podać inna funkcje niż sin(x) i działało)ale nie wiem czy taki proc jak tu temu podoła-raczej ciężko.
    pzdr
  • #17 4227223
    dir3ctor
    Poziom 27  
    Posty: 1150
    Pomógł: 71
    Ocena: 50
    Podola podola... kwestia to wlasnie wyznaczyc niezbyt duza ilosc przedzialow :-) Ewentualnie ilosc przedzialow obliczac kazdorazowo dla zadanej dokladnosci wyniku.
  • #18 4227326
    jankomuzykant
    Poziom 14  
    Posty: 183
    Pomógł: 5
    Ocena: 569
    To teraz taki w assemblerze :)

    A tak przy okazji - natknął się ktoś na procedury w asmie na '51 działań matematycznych, zwłaszcza tych bardziej skomplikowanych? Chętnie bym to postudiował, a nie chce mi się szukać.

    Budowa własnego kalkulatora nie tylko jest przyjemnością edukacyjną. Można sobie zaprojektować urządzenie zoptymalizowane i ergonomiczne, czego o większości kalkulatorów powiedzieć się nie da. Zawsze np. brakowało mi historii ostatnich kilku działań, czy wygodnie zarządzanej pamięci z podglądem kilku zmiennych. Oczywiście można użyć palma, ale...
  • #19 4229562
    Piotr007
    Poziom 12  
    Posty: 33
    Ocena: 3
    jankomuzykant napisał:
    To teraz taki w assemblerze :)

    A tak przy okazji - natknął się ktoś na procedury w asmie na '51 działań matematycznych, zwłaszcza tych bardziej skomplikowanych? Chętnie bym to postudiował, a nie chce mi się szukać.


    Obawiam się, że rozmiar pamięci i szybkość działania '51 jest wystarczająco niska, aby niekoniecznie to się udało.

    Ale zawsze można zerknąć do podręcznika matematyki lub na
    wikipedię http://pl.wikipedia.org/wiki/Funkcje_trygonometryczne
    a konkretnie
    http://pl.wikipedia.org/wiki/Funkcje_trygonometryczne#W.C5.82asno.C5.9Bci_analityczne
    Definicja analityczna
    rozwinięcie funkcji w szereg . praktycznie to chyba wystarczy 5 lub 6 pierwszych elementów policzyć
    I spróbować policzyć sinus albo podobnie pierwiastek w asmie '51
    Sam jestem ciekawy jak to wyjdzie czasowo

    W sprawie historii działania : niektórzy księgowi(księgowe) wciąż namiętnie liczą na starych kalkulatorach z wydrukiem :D

    W sprawie RPN - mój NS Mathematican obchodzi 30 urodziny i ma się świetnie .. tylko baterie 9V żre coraz szybciej. Ale przez 15 lat był "najszybszy w klasie" :) Sinus liczył ok pół sekundy widać było "jak liczy"
  • #20 4269676
    mareczek_
    Poziom 11  
    Posty: 8
    A można schemat do płytki od autora ?
  • #21 5651985
    albercik506
    Poziom 10  
    Posty: 35
    Ocena: 1
    Witam mam zamiar zrobic taki kalkulator. Wyczytałem w pewnej madrej ksiązce ze można do wyświetlacza wprowadzać dane 4 bitami lub 8. Jak jest u ciebie?

    Dodano po 4 [minuty]:

    Oczywiscie z takiego samego mikrokontrolera.Ja podłączyłem na 8 bitów. do portu P1. a sterowanie zrobiłem z p3.2 p3.3 p3.4. Zamieszczony przez ciebie program bedzie działał do takiej konfiguracji?
  • #22 5664835
    S.e.n.t.i.n.e.l
    Poziom 12  
    Posty: 26
    Witam
    W moim kalkulatorze komunikacja z wyświetlaczem prowadzona jest poprzez pierwsze 4 bity portu P0(P0_0-P0_3), a reszta pinów (P0_4-P0_6)
    służą do sterowania. W bibliotece wyświetlacza powinny sie znajdować definicje owych wyprowadzeń. Tak więc jeżeli chciałbyś dostosować program do swojego układu to wystarczy w tej bibliotece zmienić konfigurację portów.

    Pozdrawiam Adam

Podsumowanie tematu

LABEL_AI_GENERATED
Przedstawiono prototyp prostego kalkulatora opartego na mikrokontrolerze AT89C55, z klawiaturą 4x4 oraz przyciskiem SHIFT, z funkcjami podstawowych działań arytmetycznych: dodawania, odejmowania, mnożenia i dzielenia. Urządzenie posiada dodatkowe funkcje, takie jak edycja wprowadzanych znaków, wyłączanie kursora oraz tryb power down sygnalizowany diodami LED. Komunikacja z wyświetlaczem realizowana jest w trybie 4-bitowym przez port P0, a sterowanie przez pozostałe piny tego portu. Dyskutowano o możliwościach rozbudowy kalkulatora, m.in. o implementacji obsługi nawiasów, odwrotnej notacji polskiej (ONP) oraz numerycznego obliczania całek metodami trapezów i parabol (Simpsona). Poruszono kwestie ograniczeń pamięci i szybkości mikrokontrolera '51 w kontekście bardziej zaawansowanych obliczeń symbolicznych. Wskazano na wartość edukacyjną samodzielnego tworzenia urządzenia, mimo dostępności tańszych gotowych rozwiązań. Autor udostępnił informacje o konfiguracji portów do wyświetlacza, umożliwiając adaptację programu do innych układów. Wskazano także na potencjał rozwoju projektu poprzez zwiększenie funkcjonalności i ergonomii urządzenia.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA