اطلاعیه

Collapse
No announcement yet.

مشکل با آیسی tlc5940

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با آیسی tlc5940

    سلام دوستان
    لطفا یک برنامه نمونه جهت راه اندازی آیسی tlc5940 بگذارید
    هر چی تلاش کردم راه اندازیش کنم ،نتونستم ،لطفا کمکم کنید :angry:

    #2
    پاسخ : مشکل با آیسی tlc5940

    سلام .
    بعد تلاش خیلی زیاد تونستم راه اندازیش کنم.
    برنامه اینجا می زارم تا دیگران هم استفاده کنند

    $regfile = "m32def.dat"
    $crystal = 16000000
    $hwstack = 50
    $swstack = 50
    $framesize = 100

    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Rs = Porta.0 , E = Porta.1 , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5
    Config Portc = Output
    Cursor Off
    Cls
    Sin_ Alias Portc.0
    Sclk Alias Portc.2
    Xlat Alias Portc.3
    Gsclk Alias Portc.4
    Dcprog Alias Portc.5
    Blank Alias Portc.6
    Vprog Alias Portc.7
    Locate 1 , 1
    Lcd "TEST TLC5940"
    Dim Ledchannel As Byte , Bitmask As Byte , Bitcounter As Byte , Dotcorrectionvalues(16) As Byte
    Dim Datacounter As Word , Gsclkcounter As Long , A As Byte , Pwm(16) As Word , Ch As Byte
    '*********************
    Dcprog = 1

    Gosub Setinitialdotcorrection
    Pwm(1) = 4095
    Pwm(2) = 3000
    Pwm(3) = 2500
    Pwm(4) = 2000

    Pwm(5) = 1000
    Pwm(6) = 500
    Pwm(7) = 250
    Pwm(8) = 200

    Pwm(9) = 100
    Pwm(10) = 80
    Pwm(11) = 50
    Pwm(12) = 30

    Pwm(13) = 20
    Pwm(14) = 10
    Pwm(15) = 5
    Pwm(16) = 1



    Do

    Gosub Setinitialgrayscalevalues
    Loop

    End
    'end program

    Setinitialdotcorrection:
    ' (unsigned Char * Dotcorrectionvalues)


    Vprog = 1

    Blank = 1


    For Ledchannel = 1 To 16



    For Bitcounter = 5 To 0 Step -1
    Dotcorrectionvalues(ledchannel) = 63

    Sin_ = Dotcorrectionvalues(ledchannel).bitcounter


    Sclk = 1
    Waitus 200
    Sclk = 0
    Waitus 200



    Next

    Next


    Xlat = 1
    Waitus 200
    Xlat = 0
    Waitus 200
    Return

    Setinitialgrayscalevalues:
    '{

    Vprog = 0


    Gsclkcounter = 0


    Datacounter = 0




    Blank = 0

    For Ch = 16 To 1 Step -1
    For A = 11 To 0 Step -1
    Sin_ = Pwm(ch).a

    ' Waitus 20

    Sclk = 1
    ' Waitus 20
    Sclk = 0
    ' Waitus 20

    Gsclk = 1
    Gsclk = 0
    'Waitus 20

    Next

    Next '


    For Gsclkcounter = 0 To 3903



    Gsclk = 1
    'Waitus 20
    Gsclk = 0
    ' Waitus 20
    Next

    Blank = 1
    ' Waitus 20
    Xlat = 1
    ' WAITUS 20
    Xlat = 0
    ' WAITUS 20

    Blank = 0


    Sclk = 1
    ' WAITUS 20
    Sclk = 0
    'WAITUS 20
    Return

    دیدگاه

    لطفا صبر کنید...
    X