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

Zadanie o układach mikroprocesorowych do rozwiązania

Jaroch1 10 Kwi 2008 15:21 1887 15
  • #3 5016384
    Pituś Bajtuś
    Poziom 28  
    Posty: 934
    Pomógł: 137
    Ocena: 10
    mirekk36 napisał:
    bierzesz dowolnego proca, dowolny język i generujesz przebiegi

    A gdzie tu miejsce na układ 8253? Jak wynika z tematu posta chodzi o uzyskanie takich przebiegów na układzie 8253. Czasem zanim sie nabije posta warto trochę pomyśleć...
  • #4 5016401
    StasiuS
    Poziom 12  
    Posty: 88
    Ocena: 3
    Tutaj raczej chodzi o teoretyczne rozwiązanie tego zadania, czyli m. in. jak powinno wyglądać słowo sterujące ...
  • #6 5016501
    lelekx
    Poziom 30  
    Posty: 1220
    Pomógł: 158
    Ocena: 90
    Wygrzeb jakąś płytę od PC i podłącz oscyloskop do wyjścia głośnika. Następnie spod DOS za pomocą dowolnego języka programowania, korzystając z bogatej wiedzy dostępnej w sieci zaprogramuj tak 8253. Weź tylko poprawkę na inną częstotliwość taktowania tej kości.
  • #7 5016526
    Xeonx
    Poziom 2  
    Posty: 3
    lelekx Jaroch1 zle opisal to zadanie przeczytaj moj post do ktorego dałem link tu nie chodzi o praktyczne programowanie tego uC chodzi tu oto zeby zaprogramowac go w teori podajac sygnały na linie adresowe i linie danych
  • #9 5016567
    Jaroch1
    Poziom 10  
    Posty: 14
    Ocena: 1
    moglbys to wytlumaczyc bardziej szczegolowo??
  • #10 5016636
    lelekx
    Poziom 30  
    Posty: 1220
    Pomógł: 158
    Ocena: 90
    Podłączasz źródło zegarowe 1MHz do wejścia CLK0 i CLK1. Wyjście CLK0 podłączasz do sygnału GATE1 do wyjścia OUT0.
    Programujesz licznik 0 w tryb 3 a licznik 1 w tryb 5.

    Lepsza dokumentacja:
    www.tranzistoare.ro/datasheets/1150/45347_DS.pdf

    Dodano po 5 [minuty]:

    Wróć, poprawka. Mało tego - do wyjścia OUT1 podłączasz GATE2 i ustawiasz licznik 2 w tryb 1
  • #11 5016687
    reflexone::..
    Poziom 15  
    Posty: 186
    Pomógł: 3
    Ocena: 13
    Pozwolę sie wtrącić, ale gdyby było to dla niego jasne, to by sie nie zwracał o pomoc... tyle z op'a
  • #12 5016777
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Pituś Bajtuś napisał:

    A gdzie tu miejsce na układ 8253? Jak wynika z tematu posta chodzi o uzyskanie takich przebiegów na układzie 8253. Czasem zanim sie nabije posta warto trochę pomyśleć...


    widzę, że kolega ma wielkie problemy z wyobraźnią, współczuję... ale zapewniam, że da się z tym jakoś żyć... tylko co jakiś czas trzeba ćwiczyć

    .... na milion sposobów można uzyskać dzięki układowi 8253 różne przebiegi, jednym z nich - choć to się wydaje pitusiowi niemożliwe, jest podłączenie go do jakiegoś procesora, a co może się wydawać pitusiowi jeszcze bardziej dziwne - taki procesor można zaprogramować w dowolnym języku i uzyskać to o co autor pyta.....

    w jakiejś pierwszej lepszej dokumentacji chyba nawet tu przez kogoś przytoczonej można zobaczyć fragment kodu akurat w asemblerze do procka, który inicjalizuje ten układ peryferyjny:

    TMR_CONTROL EQU 43H
    TMR_COUNTER0 EQU 40H
    TMR_COUNTER1 EQU 41H
    TMR_COUNTER2 EQU 42H
    *********************************************************************
    ;INIT_TMR
    ; This procedure intializes the 8254 on the motherboard and programs
    ; counter 0 to generate a pulse every 65,536 clock ticks
    ;**********************************************************************
    INIT_TMR PROC FAR
       PUSH AX
       MOV AL, 00110110B ; control register
       OUT TMR_CONTROL, AL
       MOV AL, 00000000B ; LSB of clock divisor
       OUT TMR_COUNTER0, AL
       MOV AL, 00000000B ; MSB of clock divisor
       OUT TMR_COUNTER0, AL
       MOV AL, 01010100B ; control register
       OUT TMR_CONTROL, AL
       MOV AL, 18 ; LSB only clock divisor
       OUT TMR_COUNTER1, AL
       POP AX
    RET
    INIT_TMR ENDP


    zapewniam cię kolego pituś , że można to samo zrobić na dowolnym procku, a także w takich językach jak C lub Bascom

    jeśli więc czegoś w życiu nie rozumiesz to nie neguj od razu - poprostu poczytaj, poucz się trochę i wyluzuj, zapewniam , że wyjdzie ci to tylko na zdrowie

    .... ale jeśli kolega pituś jeszcze małosprytnie posługuje się takimi narzędziami jak uC to nie powód aby wypisywać takie bzdury o nabijaniu jakichś punktów.... jeśli tak ci na nich zależy to daj znać - oddam ci ich sporą część jeśli cię to choć trochę uszczęśliwi a dzięki temu może przestaniesz być przy okazji taki zgryźliwy... zaczniesz lepiej sypiać i w ogóle może pozbędziesz się różnych lęków i depresji, które jak widzę tobą ostatnio targają

    PS... poza tym na takie pytania o pomoc w podawaniu gotowców do rozwiązywania zadań nigdy nie odpowiadam szczegółowo, bo nie popieram lenistwa i tego typu zaliczeń - czyli właśnie gotowców z netu. Jak chcesz komuś pomóc to naucz go łowić ryby zamisat dać mu rybę. Jak dorośniesz to na pewno to powiedzenie zrozumiesz lepiej.

    pozdrawiam
  • #13 5016808
    Jaroch1
    Poziom 10  
    Posty: 14
    Ocena: 1
    lelekx jak powinno wyglądać slowo programujące?? albo chociaz jak do tego dojsc??
  • #14 5016896
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    :arrow: mirekk36, Pituś Bajtuś: Panowie, nie czas i nie miejsce na "docinki". Takie sprawy proszę załatwiać na PW/mail. Kolejne wycieczki na "prywatny ogródek" nagrodzę.
  • #15 5017373
    lelekx
    Poziom 30  
    Posty: 1220
    Pomógł: 158
    Ocena: 90
    Jeżeli zegar taktujący wejście CLK ma częstotliwość 1MHz, to kolejno wrzucamy do rejestów następujące dane:
    - A=11, D=00110111 // Słowo sterujące, wybieram licznik 0, mam zamiar wpisać dolną i górną wartość do licznika; wybieram tryb 3 i licznik BCD
    - A=00, D=00000000 //wpisuję dolną część dzielnika do licznika 0
    - A=00, D=00100000 // wpisuję górną część do dzielnika licznika 0; n=2000 dec; f=500Hz
    - A=11, D=01111011 // słowo sterujące, wybieram licznik 1, mam zamiar wpisać dolną i górną wartość do licznika; wybieram tryb 5 i licznik BCD
    - A=01, D=01001000 //wpisuję dolną część dzielnika do licznika 1
    - A=01, D=00000001 //wpisuję górną część dzielnika do licznika 1; n=148 Dec, T=148uS
    - A=11, D=10110011 // słowo sterujące, wybieram licznik 2, mam zamiar wpisać dolną i górną wartość do licznika; wybieram tryb 1 i licznik BCD
    - A=10, D=00000011 //wpisuję dolną część do dzielnika licznika 2
    - A=10, D=00000000 //wpisuję górną część do dzielnika licznika 2; n=3, T=3uS

    Dodano po 2 [minuty]:

    Odnośnie zadania 2, treść jest dla mnie niezrozumiała. Czy
    Cytat:
    Zaprogramuj mikrokontroler 8253 tak aby sygnalizował zmianę obrotów silnika jeżeli będą mniejsze niż 2950 obr/min a będą większe niż 3000 obr/min.

    nie powinno brzmieć:
    Zaprogramuj mikrokontroler 8253 tak aby sygnalizował zmianę obrotów silnika jeżeli będą mniejsze niż 2950 obr/min lub będą większe niż 3000 obr/min?
  • #16 5020910
    Xeonx
    Poziom 2  
    Posty: 3
    Dzieki za pierwsze zadanie.
    Tak drugie tak mniej wiecej powinno byc
    Cytat:

    nie powinno brzmieć:
    Zaprogramuj mikrokontroler 8253 tak aby sygnalizował zmianę obrotów silnika jeżeli będą mniejsze niż 2950 obr/min lub będą większe niż 3000 obr/min?


    aha jeszcze jak polonczyc ze soba wyjscia i wejscia tego uC ?

Podsumowanie tematu

✨ Dyskusja dotyczy zadania z układów mikroprocesorowych, polegającego na generowaniu określonych przebiegów za pomocą układu 8253 (licznik programowalny). Zadanie wymaga teoretycznego zaprogramowania układu, w tym określenia słowa sterującego oraz konfiguracji liczników w odpowiednich trybach pracy. Wskazano, że do układu należy podłączyć sygnał zegarowy o częstotliwości 1 MHz, a następnie zaprogramować liczniki 0, 1 i 2 w trybach 3, 5 i 1 odpowiednio, z uwzględnieniem wartości dzielników i formatu BCD. Podano przykładowe wartości rejestrów i słów sterujących, które umożliwiają uzyskanie pożądanych przebiegów. Dyskusja zawiera także linki do dokumentacji technicznej układu 8253 oraz przykłady kodu asemblerowego inicjalizującego licznik. Poruszono również kwestie praktycznego podłączenia wyjść i wejść układu oraz sugestie dotyczące wykorzystania oscyloskopu do obserwacji sygnałów.
Wygenerowane przez model językowy.
REKLAMA