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

Atiny 2313 ,Bascom AVR skaner diodowy

pawel102102 18 Mar 2011 20:29 1772 3
REKLAMA
  • #1 9293070
    pawel102102
    Poziom 11  
    Witam zrobiłem efekt knight ridera (skaner , linijka) na mikroprocesorze Atiny 2313.
    Spis elementów:
    -17rezystorów 3,7
    -tranzystory BC337
    -mikroprocesor Atiny2313
    -stabilizator 5V
    -16 LED
    -kondensatory ceramiczne i elektrolityczne
    Zaprogramowanie dzięki programatorowi pod LPT składający się ze zworek, 3 rezystorów, kondensatora ceramicznego.
    Program został przerobiony z Atmega.
    Efekt to diody zapalające się od lewej do prawej i od prawej do lewej i tak w kółko i nie gasną nagle tylko powoli przygasają.
    Moje pierwsze pytanie to jak zmienić ilość zapalających się w jednym momencie diód, a drugie jak przerobić na efekt taki jak na filmie.
    A to film czy da się przerobić na taki efekt- http://www.youtube.com/watch?v=wC5yJt55JJQ&feature=related

    
    
    'KITT Read
    'zmiany do pracy z klczami tranzystorowymi
    'Fuse LOW 0xE4
    'Fuse HIGH 0xDF
    $regfile = "Attiny2313.dat"
    $crystal = 8000000
    Dim C As Byte , Ne As Byte , A As Byte , B As Byte
    Dim Pwmc As Byte , Pwmc0 As Byte , Pwmc1 As Byte , Pwmc2 As Byte , Pwmc3 As Byte , Pwmc4 As Byte , Pwmc5 As Byte , Pwmc6 As Byte , Pwmc7 As Byte , Pwmc8 As Byte , Pwmc9 As Byte , Pwmc10 As Byte , Pwmc11 As Byte , Pwmc12 As Byte , Pwmc13 As Byte , Pwmc14 As Byte , Pwmc15 As Byte
    
    Config Timer0 = Timer , Prescale = 1
    Enable Interrupts
    Enable Timer0
    On Timer0 Tim0_int
    
    Config Portb = Output
    Config Porta = Output
    Config Portd = Output
    Portb = 0
    Porta = 0
    Portd = 0
    
    Do
    A = 0
    B = 32
    For Ne = A To B
    Pwmc0 = Lookup(ne , Tab0)
    Pwmc1 = Lookup(ne , Tab1)
    Pwmc2 = Lookup(ne , Tab2)
    Pwmc3 = Lookup(ne , Tab3)
    Pwmc4 = Lookup(ne , Tab4)
    Pwmc5 = Lookup(ne , Tab5)
    Pwmc6 = Lookup(ne , Tab6)
    Pwmc7 = Lookup(ne , Tab7)
    Pwmc8 = Lookup(ne , Tab8)
    Pwmc9 = Lookup(ne , Tab9)
    Pwmc10 = Lookup(ne , Tab10)
    Pwmc11 = Lookup(ne , Tab11)
    Pwmc12 = Lookup(ne , Tab12)
    Pwmc13 = Lookup(ne , Tab13)
    Pwmc14 = Lookup(ne , Tab14)
    Pwmc15 = Lookup(ne , Tab15)
    Waitus 200
    Next
    For Ne = A To B
    Pwmc0 = Lookup(ne , Tab0)
    Pwmc1 = Lookup(ne , Tab1)
    Pwmc2 = Lookup(ne , Tab2)
    Pwmc3 = Lookup(ne , Tab3)
    Pwmc4 = Lookup(ne , Tab4)
    Pwmc5 = Lookup(ne , Tab5)
    Pwmc6 = Lookup(ne , Tab6)
    Pwmc7 = Lookup(ne , Tab7)
    Pwmc8 = Lookup(ne , Tab8)
    Pwmc9 = Lookup(ne , Tab9)
    Pwmc10 = Lookup(ne , Tab10)
    Pwmc11 = Lookup(ne , Tab11)
    Pwmc12 = Lookup(ne , Tab12)
    Pwmc13 = Lookup(ne , Tab13)
    Pwmc14 = Lookup(ne , Tab14)
    Pwmc15 = Lookup(ne , Tab15)
    Waitus 200
    Next
    Loop
    
    Tim0_int:
    If Pwmc = 0 Then
    Porta = Porta And &B11111100
    Portb = Portb And &B10000000
    Portd = Portd And &B10000000
    End If
    
    If Pwmc = Pwmc0 Then
    Set Portd.0
    End If
    
    If Pwmc = Pwmc1 Then
    Set Portd.1
    End If
    
    If Pwmc = Pwmc2 Then
    Set Porta.0
    End If
    
    If Pwmc = Pwmc3 Then
    Set Porta.1
    End If
    
    If Pwmc = Pwmc4 Then
    Set Portd.2
    End If
    
    If Pwmc = Pwmc5 Then
    Set Portd.3
    End If
    
    If Pwmc = Pwmc6 Then
    Set Portd.4
    End If
    
    If Pwmc = Pwmc7 Then
    Set Portd.5
    End If
    
    If Pwmc = Pwmc8 Then
    Set Portd.6
    End If
    
    If Pwmc = Pwmc9 Then
    Set Portb.0
    End If
    
    If Pwmc = Pwmc10 Then
    Set Portb.1
    End If
    
    If Pwmc = Pwmc11 Then
    Set Portb.2
    End If
    
    If Pwmc = Pwmc12 Then
    Set Portb.3
    End If
    
    If Pwmc = Pwmc13 Then
    Set Portb.4
    End If
    
    If Pwmc = Pwmc14 Then
    Set Portb.5
    End If
    
    If Pwmc = Pwmc15 Then
    Set Portb.6
    End If
    
    Pwmc = Pwmc + 1
    Return
    
    Tab0:
    Data 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab1:
    Data 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab2:
    Data 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab3:
    Data 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab4:
    Data 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab5:
    Data 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab6:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab7:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab8:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab9:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab10:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab11:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255 , 255
    Tab12:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255 , 255
    Tab13:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255 , 255
    Tab14:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255 , 255
    Tab15:
    Data 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 255 , 0 , 55 , 105 , 135 , 155 , 175 , 195 , 205 , 215 , 225 , 235 , 240 , 245 , 250 , 255 , 255 , 255
    
  • REKLAMA
  • #2 9293944
    cyklop1977
    Poziom 10  
    zly adres zapodales na youtube
  • REKLAMA
  • #3 9294589
    pawel102102
    Poziom 11  
    Już poprawiłem link. Na tą chwilę to potrzebuje pilnie jak zmniejszyć ilość zapalających się w jednym momencie diód.
  • #4 10120972
    pawel102102
    Poziom 11  
    Witam skaner zrobiony już dawno, ale teraz jest film, oto mój skaner http://www.youtube.com/watch?v=dsvf0trCF4I
    I od razu coś powiem- nie lubię gdy ktoś mówi np. nie wiesz jak programować mikroprocesory to się nie bierz. Elektroniki uczę się sam od 3 lat wykonując rózne układy, więc jeśli się chce to się wszystko zrobi. Zresztą jak się nie zacznie próbować to nigdy się nie będzie umiało. Co po niektórych wypowiedziach z forum, sądzę że niektórzy od razu wszystko wiedzieli.
REKLAMA