Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Program .bas lub .asm do timera na 89c2051

qbu 26 Kwi 2004 15:17 1955 6
  • #1 26 Kwi 2004 15:17
    qbu
    Poziom 10  

    timer na 892051 4 wyswietlalcze led sterowane :włączanie wyłaczanie wyświetlaczy--poprzez tranzystory z portów P1.4-P1.7 sterowanie wyswietlaczami (cyfry) poprzez uklad dekodera bcd na kod 7-mio segmentowy z portów P1.0 P 1.2 P1.3 P3.7 klawiatura start ustaw przesun i stop(mozliwosc powrotu do ponownego liczenia) i reset -wszystko zrealizowane na 4 guzikach --P1.1 P3.2--P3.4 migajaca dioda(co sekunde) -port P 3.0 syrena P3.5 kwarc 11059 lub 12 mhz calosc na papierze dziala:)) nie potrafie poradzić sobie z napisaniem programu a właściwie poprawnej obługi klawiatury i wyświelacza na elektrodzie nie znalazłem nic odpowiedniego prosiłbym o jakies linki lub wskazówki do utworzenia procedur moge dolaczyc schemat

    0 6
  • #2 26 Kwi 2004 17:20
    wisiena
    Poziom 18  

    Witaj !!
    Napisz kolego w jakim jezyku chcesz to napisac i jakim dysponujesz kompilatorem. Programic z Bascoma jakiś mam ale z wykożystaniem zewnętrznego RTC DS1307.

    (M.)

    0
  • #3 27 Kwi 2004 10:44
    qbu
    Poziom 10  

    asembler lub bascom(z tym ze bascom dla 8xxx51) ewentulanie c

    0
  • #4 27 Kwi 2004 10:50
    Tdv
    Poziom 33  

    Na mojej stronie znjadziesz tajmera na 89C51 - jest schemat i plik .hex do zassania, możesz go wrzucić do debugera albo disasemblera, powinno pomóc, w razie pytań pisz na maila.

    0
  • #5 27 Kwi 2004 11:50
    szymtro
    Poziom 30  

    Proponuję zacząć od obsługi wyświetlacza. Do tego celu chyba najlepszy będzie timer1. Trzeba tylko policzyć z jaką częstotliwością ma on działać. Masz 4 wyświetlacze to po 250Hz na każdy wystarczy.

    Code:

    config timer1=timer,gate=internal,mode=1
    on timer1 tajmer1_przerwanie:enable timer1:enable interrupts

    dim przelacznik as byte

    do
    loop
    end

    tajmer1_przerwanie:
     tl1=&h17 : th1=&hFC'dla 12MHz przerwanie co 0,001sek(1KHz)
     select case przelacznik
      case 0:
       przelacznik=1
       p1.7=0:p1.6=1:p1.5=1:p1.4=1'sterowanie tranzystorami
       p1.0=0:p1.2=0:p1.3=0:p3.7=0'sterowanie dekoderem 7 segmentow
      case 1:
       przelacznik=2
       p1.7=1:p1.6=0:p1.5=1:p1.4=1
       p1.0=0:p1.2=0:p1.3=0:p3.7=0
      case 2:
       przelacznik=3
       p1.7=1:p1.6=1:p1.5=0:p1.4=1
       p1.0=0:p1.2=0:p1.3=0:p3.7=0
      case 3:
       przelacznik=0
       p1.7=1:p1.6=1:p1.5=1:p1.4=0
       p1.0=0:p1.2=0:p1.3=0:p3.7=0
     end select
    return

    i to ma zaświecić cztery "0" na wyświetlaczach. Jak dojdziesz do tego że zadziała to potem można wprowadzić dodatkową zmienną i sterować nią dekoderem.

    0
  • #6 16 Maj 2004 07:43
    qbu
    Poziom 10  

    no i minal miesiac i nic ..mam kazdy kawalek posprawdzalem procedurami czy calosc ukladu jest ok i ...dalej nie umiem tego posklejac:(( juz nawet nie wiem co mam poprawiac..chcialem sam ale chyba sie poddam chyba ze jeszcze ktos cos podrzuci dzieks za pomoc

    0
  • #7 16 Maj 2004 09:35
    2P
    Poziom 19  

    Z wypowiedzi i przedstawionego problemu wygląda mi na to, że kolega dopiero zaczyna przygodę z mikrokontrolerami. Dlatego proponuję BASCOM. C już wymaga sporej wiedzy o tym co dzieje się "w środku". Że nie wspomnę już o asemblerze.
    Nie będę tutaj przedstawiał wszystkich możliwości teoretycznych, ponieważ rozumiem, że przerobił Pan już to wszystko a problem jest tylko na poziomie implementacji w konkretnym urządzeniu. A trudno mówić o konkretnej implementacji nie znając schematu. Jeśli jest Pan gotów udostępnić schemat oraz procedury które zostały już napisane - znajdę chwile i pomogę to połączyć. Wszystko jedno czy to BASCOM, ASM czy C.

    Pozdrawiam

    0