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

bascom, ściemnianie i rozjaśnianie diody

maxled 24 Mar 2009 16:52 4024 12
  • #1 6326384
    maxled
    Poziom 10  
    witam.
    znalazłem na forum taki programik pod bascom , który miał sciemniać i rozjaśniać diodę.

    Kod:
    $regfile = "m8def.dat" 
    $crystal = 8000000 
    
    Config Pinb.1 = Output 
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1 
    
    Dim I As Byte 
    
    Do 
       For I = 1 To 255 
          Pwm1a = I 
          Waitms 50 
       Next I 
       For I = 255 To 1 Step -1 
          Pwm1a = I 
          Waitms 50 
       Next I 
    Loop  
    


    wgrałem ten program do mojej atmegi 16 i podpiąłem diodę pod PB1, jednak program nie działa.dioda tylko świeci. ktoś może wie gdzie tkwi przyczyna?kompilator błędu nie wykrywa a układ nie działa

    Proszę umieszczać kod w znacznikach [code] - dodałem.
    Przeniosłem z Programowanie początkujący.
    [Dr.Vee]
  • #2 6326415
    comer3
    Poziom 27  
    Jeśli masz Atmegę 16 to zmień w porgramie $regfile = "m8def.dat" na:
    $regfile = "m16def.dat"

    Zakładam, że fuse bity ustwiłeś na taktowanie 8MHz, gdyż tyle masz w kodzie.. Jeśli to nowa ATmega i nie bawiłeś się fusebitami, to zamień w kodzie programu $crystal na
    $crystal = 1000000
    ,gdyż takie taktowanie jest domyślnie ustawione fabrycznie.
  • #3 6326476
    maxled
    Poziom 10  
    już to zrobiłem ale to nic nie dało. coś tu nie tak... tylko gdzie? moze coś brakuje w tym programie, ale ja tego nie wiem , bo jestem początkujący...
  • #4 6327209
    wader_669
    Poziom 28  
    program jest ok. Jak juz to masz problem z hardware. Ja stawiam ze do zlego wyjscia podlaczyles diode.
  • #5 6327229
    dawid512
    Poziom 32  
    Cytat:
    i podpiąłem diodę pod PB1
    A powinieneś do PD5.
  • #6 6327238
    wader_669
    Poziom 28  
    oczywisce http://www.mcu.hk/GIF/ATmega16.gif
    ja podlaczyles do pinub.1 to zdolny jestes, bo pwm1a (czyli oc1a) jest na pind.5

    ___________________________________________________________
    widze, ze dawid512 byl pierwszy :D
  • #7 6327262
    yokoon
    Poziom 29  
    wader_669 napisał:
    oczywisce http://www.mcu.hk/GIF/ATmega16.gif
    ja podlaczyles do pinub.1 to zdolny jestes, bo pwm1a (czyli oc1a) jest na pind.5

    ___________________________________________________________
    widze, ze dawid512 byl pierwszy :D


    W programie jest przecież Atmega 8.
  • #8 6327280
    wader_669
    Poziom 28  
    maxled napisał:

    wgrałem ten program do mojej atmegi 16 i podpiołem diode pod PB1, jednak program nie działa.dioda tylko świeci. ktoś moze wie gdzie tkwi przyczyna?kompilator błędu nie wykrywa a ukłąd nie działa
  • #9 6327959
    janbernat
    Poziom 38  
    config pind.5=output

    Dodano po 58 [sekundy]:

    No i podczep tam diodę...
  • #11 8739049
    przybor16
    Poziom 12  
    $regfile = "m8def.dat"
    $crystal = 1400000
    
    Config Pinb.1 = Output
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1
    
    Dim I As Byte
    
    Do
       For I = 1 To 50
          Pwm1a = I
          Waitms 50
       Next I
       For I = 50 To 1 Step -1
          Pwm1a = I
          Waitms 50
       Next I
    Loop
  • #12 10506502
    zoorgon
    Poziom 11  
    witam a jak zmienić ten kod aby rozjasniło do 255 i tak zostało?
  • #13 10511721
    arktik1
    Poziom 27  
    "witam a jak zmienić ten kod aby rozjasniło do 255 i tak zostało?"
    Możesz tak:
    
    $regfile = "m8def.dat"
    $crystal = 1400000                                           'z czego bierzesz taką częstotliwość?
    
    Config Portb = Output
            Portb = &B00000000
    
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1
    
    Dim I As Byte
    
    I = 0
    
    Do
    
    If I < 255 Then Incr I
    
    Pwm1a = I                                                   'PINB.1
    
    Waitms 50
    Loop
    
REKLAMA