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

Atmega 16 - dwa pytania. Timer, końcówki portu C.

Maciek4141 30 Kwi 2009 17:36 1285 6
REKLAMA
  • #1 6475293
    Maciek4141
    Poziom 22  
    Witam, drodzy koledzy proszę, abyście mnie oświecili.

    1. Czy da się na którejś z końcówek PORTU C w Atmedzie 16 bez zaciągania pwm sprzętowego/programowego uzyskać napiecie 2,5 V?
    2. Jeżeli zaprzęgnę do pracy timer to końcówki wyjściowe tego timera nie mogą być już 1/0?

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 6475397
    dawid512
    Poziom 32  
    1. Owszem poprzez dodanie np. dzielnika rezystorowego.
    2. Mogą jeżeli timer nie zostanie skonfigurowany do PWM.
  • REKLAMA
  • #3 6475441
    Maciek4141
    Poziom 22  
    Dzięki, na tym porcie c potrzebuję uzyskać raz 5V a później 2,5V, dlatego pytałem się też o timer. Skoro nie da się bezpośrednio ustawić końcówki, to chyba najlepszym rozwiązaniem będzie programowe PWM?
    Można to jeszcze jakoś obejść?
  • REKLAMA
  • Pomocny post
    #4 6475448
    dawid512
    Poziom 32  
    Wg. mnie najlepiej zaprzęgnąć do tego celu timer no chyba że już zajęty to wtedy programowo PWM.
  • REKLAMA
  • #5 6476015
    Maciek4141
    Poziom 22  
    Nie mam przez weekend dostępu do programatora itp. aby sprawdzić mój program. Czy poniższy kod zadziała jak programowe pwm na pd.2 oraz czy pb.3 będzie sobie mrugał? Wiem że nie powinienem pytać, tylko to sprawdzić ale zależy mi na waszej opinii :D
    $crystal = 1000000
    $regfile = "m16def.dat"
    
    
    Config Timer0 = Timer , Prescale = 8
    On Timer0 Przerwanie
    Enable Timer0
    Enable Interrupts
    
    Config Portc = Output
    Config Pinb.3 = Output                                      'OC0 jako wyjście
    
    
    
    Do
    Set Portb.3
    Wait 1
    Reset Portb.3
    Wait 1
    
    
    Loop
    End
    
    
    Przerwanie:
       Select Case Tcnt0
    
       Case 32 : Toggle Portd.2
       Case 64 : Toggle Portd.2
       Case 96 : Toggle Portd.2
       Case 128 : Toggle Portd.2
       Case 160:  Toggle Portd.2
       Case 192 : Toggle Portd.2
       Case 224 : Toggle Portd.2
    
       End Select
    Return
    
    


    Pozdrawiam
  • #6 6476330
    arrevalk
    Poziom 25  
    Po co Ci 2,5V na pinie portu?
    Jeżeli chodzi ci o konwersje poziomów logicznych to lepiej zastosować odpowiednie kości przeznaczone do tego. Jeżeli chodzi ci o zasilanie jakiegoś innego układu to odradzam zasilanie czegokolwiek z pinów mikroprocesora.
    A jeżeli na wyjściu PWM chcesz koniecznie uzyskać napięcie stałe, to przepuść sygnał przez filtr dolnoprzepustowy, inaczej będziesz miał sygnał prostokątny o wypełnieniu różnym od 50%.
  • #7 6476366
    Maciek4141
    Poziom 22  
    Pisze program pod gotowy układ, w który nie mogę ingerować. Chcę zrobić programowe pwm i pytam się czy dobrze to robię?
REKLAMA