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

Jak wyświetlić cyfry na LED w Bascom dla ATtiny26/Atmega8?

jacynka84 24 Lis 2006 16:10 3288 4
REKLAMA
  • #1 3258804
    jacynka84
    Poziom 26  
    Posty: 1170
    Pomógł: 13
    Ocena: 29
    Siema.
    Chcę zbudować stację Lutowniczą ,ale nie skomplikowaną ,tylko regulacja mocy 230V (o ile sie nie mylę)
    I pomiar tejże mocy na ATtiny26 i Ledach ew. atmega8. (poprzez dzielniki napięcia)
    I tu mam problem , nie wiem jak sie rozwiązuje wyświetlanie cyfrowe na ledach!
    jak to wygląda w Bascom?
    mamy 10pinów dla Ledów -7 do ledów cyfr + 3 do włączania poszczególnych cyfr.
    Jak wyświetlić jakąkolwiek cyfrę???
  • REKLAMA
  • #2 3258978
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    trzeba najpierw zewrzeć któreś z wyprowadzeń - do masy (przez rezystor szeregowy) a plus podłączyć do zasilania (najlepiej trnzytsorem którego baza przez rezystor szeregowy do portu uC)
    Ostatnio w dziale mikrokontrolery ktoś pokazał swój kod do 2 cyfrowego wyświetlacza i koledzy troche go zweryfikowali.
    Generalnie aby było prosto te 7 minusów podpinasz do portu po koleji - zeby można było wysyłać całe bajty na port. Sterowanie wyświetlaniem w przerwanu tajmera (moze być t0 8 bitowy) w miarę szybko.
    timer0_przerwanie:
    if przelacznik_led=1 then
     portd.0=1,portd.1=1,portd.2=1 'wylaczenie swiecenia
     portb=lookup(xx,zmienna(przelacznik_led)
     portd.0=0 'zalaczamy pierwszy wyswietlacz
     przelacznik_led=2
    elseif przelacznik_led=2 then
     portd.0=1,portd.1=1,portd.2=1 'wylaczenie swiecenia
     portb=look....
     portd.1=0 
     przelacznik_led=3
    elseif przelacznik_led=3 then
     ....
     przelacznik_led=1
    else
     przelacznik_led=1
    end if
  • REKLAMA
  • #3 3259357
    jacynka84
    Poziom 26  
    Posty: 1170
    Pomógł: 13
    Ocena: 29
    Jak je podłączyć to wiem , Nie wiem natomiast jak wyświetlić np. zmienną "235" w 3 miejscowym wyświetlaczu. z tymi timerami też słabo...ale poczytam.
  • REKLAMA
  • #4 3259463
    adamja
    Poziom 14  
    Posty: 41
    Pomógł: 8
    Ocena: 8
    Poszukaj na stronie www.edw.com.pl tam są materiały z "Mikroprocesorowej Oślej łączki" w których był kurs programowania w BASCOM. W kilku kolejnych lekcjach był opisany sposób wyświetlania multipleksowego na przykładzie licznika oraz zegara. Jak zapoznasz sie z tymi materiałami to bedziesz wiedział jak sterowac takim wyświetlaczem. Pozdrawiam
  • #5 3260737
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    wyswietlanie takiej liczby nie jest problemem. Jezlei masz narazie tylko to to zwykłe dzielenie i modulo (reszta z dzielenia)
    ...
    ala=235
    ela=ala mod 10 '235 podzielone przez 10(=23) i to co zostanie (=5)
    ala=ala/10
    led_cyfra(3)=ela
    ela=ala mod 10 '23 podzielone przez 10 (=2) i to co zostało (=3)
    ala=ala/10
    led_cyfra(2)=ela
    led_cyfra(1)=ala 'tu mozna tak bo wiemy ze na poczatku bylo max 3 cyfry(235)
    ...

    nastepnie te led_cyfra(x) trzeba zmusic do wyswietlenia w procedurze przerwania (to co bylo z lookup) i do tego opracowac tabele z zapisanymi wartosciami portu (tu gdzie sterujesz 7 segmentami led) aby wartosc zero zapalala odpowiednie segmenty.
REKLAMA