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

Dobór kwarcu i obliczanie rezystorów podciągających dla 89c2051

15 Paź 2006 09:22 1348 8
REKLAMA
  • #1 3117994
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #2 3118010
    maciek_slon
    Poziom 29  
    Posty: 942
    Pomógł: 143
    Ocena: 27
    co do kwarcu - podłączasz najczęściej taki jaki masz pod ręką, byle się mieścił w granicach dozwolonych dla danego uC. Ale jakiś czas temu był temat na forum że na AVRach dało się podłączyć nawet 2x szybszy kwarc niż dozwolony i działało :) A najbardziej zależy to od Twoich wymagań.
  • REKLAMA
  • Pomocny post
    #3 3118205
    bartek_zet
    Poziom 17  
    Posty: 311
    Pomógł: 15
    Ocena: 8
    tridio napisał:
    -Na jakiej zasadzie dobiera sie kwarc do procka (daje sie jaki sie ma pod ręką??)

    Tak jak poprzednik napisał, dajesz taki który się mieści w granicach opisanych w dokumentacji procka. Zawsze jednak lepiej dobrać częstotliwość do konkretnej aplikacji, w jednych jest potrzebny szybki, w innych wysoka częstotliwość nie będzie aż tak potrzebna więc można dać wolniejszy co zaoszczędzi energii. Dla zastosowań w których ważne są dokładne zależności czasowe najlepiej używać tych 11,5coś MHz bo łatwiej się to wszystko liczy.

    tridio napisał:

    -jak sie to puźniej oblicza w programie dla np. 89c2051

    W większości 51 trzeba podzielić częstotliwość zegara (kwarcu) przez 12 ponieważ tyle trwa jeden cykl. W avr nie trzeba tego robić bo tam jeden cykl trwa jeden takt zegara.

    tridio napisał:

    -czy w C w programie trzeba jakoś zaznaczyć ten kwarc? bo w bascomie sie podaje jaki sie używa kwarc

    To pewnie zależy od kompilatora (nie wiem dokładnie bo nie programuję niestety jeszcze w C procków - ciągle asm)


    tridio napisał:

    -jak sie oblicza te rezystory podciągające? jest na to jakiś wzór?

    Ja tam nic nie obliczam tylko daję 10k i zawsze wszystko działa ;)
  • REKLAMA
  • #4 3118309
    Bęben
    Poziom 16  
    Posty: 180
    Pomógł: 12
    Ocena: 13
    Witam
    Kwarc zalezy jak szybko program ma być wykonywany
    Jesli dla 51, dasz kwarc 12MHz, to wiedz ze zostanie ona podzielona przez
    12 (tyle wynosi cykl maszynowy), czyli instrukcje wykonywane w jednym cyklu maszynowym zostaną wykonane w ciągu 12/12000000=1us
    lub w ciągu 1 sekundy, zostanie ich wykonanych 1 milion.
    Szybszy kwarc zpowoduje wykonanie wiekrzej ilosci instrukcji.
    Pytasz jak to sie oblicza? to zalezy co potrzebujesz obliczyć
    czy jakieś opoznienie z wykorzystaniem licznika, czy moze prędkość transmisji przez rs 232. Dla tego ostatniego, aby uzyskac transmisje
    z standardową prędkością, np 19200, 9600 bodów, to kwarc nie do końca może być dowolny, zazwyczaj stosuje sie wtedy 11,059 - I można
    ten rezonator obliczyć.
  • REKLAMA
  • #5 3119432
    Konto nie istnieje
    Konto nie istnieje  
  • #6 3119961
    bartek_zet
    Poziom 17  
    Posty: 311
    Pomógł: 15
    Ocena: 8
    tridio napisał:
    A nie na odwrót? czyli 12/12000000=1us


    1/Hz = s

    12MHz/12 = 1MHz
    1/1MHz = 1us
  • #7 3121212
    Bęben
    Poziom 16  
    Posty: 180
    Pomógł: 12
    Ocena: 13
    Racja, mój błąd
  • #8 3186042
    Konto nie istnieje
    Konto nie istnieje  
  • Pomocny post
    #9 3186747
    bartek_zet
    Poziom 17  
    Posty: 311
    Pomógł: 15
    Ocena: 8
    Jeżeli tylko program obsługujący programator może otwierać HEX'y (a raczej każdy może) to jak najbardziej.

Podsumowanie tematu

✨ Dobór kwarcu do mikrokontrolera 89c2051 opiera się na wyborze częstotliwości mieszczącej się w granicach określonych w dokumentacji układu oraz dostosowanej do wymagań aplikacji. Często stosuje się kwarce o częstotliwości około 11,059 MHz, co ułatwia obliczenia i zapewnia stabilne parametry transmisji, np. dla RS232. W mikrokontrolerach 8051 cykl maszynowy trwa 12 taktów zegara, więc efektywna częstotliwość taktowania jest częstotliwością kwarcu podzieloną przez 12 (np. dla 12 MHz cykl maszynowy to 1 µs). W programowaniu w języku C konieczność deklaracji częstotliwości kwarcu zależy od używanego kompilatora; w Bascomie podaje się ją jawnie, natomiast w innych środowiskach może to być różne. Rezystory podciągające (pull-up) do linii mikrokontrolera zwykle mają wartość około 10 kΩ, co jest standardowym rozwiązaniem i nie wymaga skomplikowanych obliczeń. Możliwe jest również kompilowanie programów w C do plików HEX i wgrywanie ich do mikrokontrolera za pomocą programatora obsługiwanego przez Bascom 8051, pod warunkiem, że programator akceptuje pliki HEX.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA