RGB Led Pic İle

Başlatan furkanov, 20 Eylül 2010, 12:09:43

furkanov

Arkadaşlar merhaba ben elimdeki PIC16f877A pici ile Rgb ledini kullanarak sırayla renk değiştirecek bi aydınlatma işlemi yapmayı düşünüyorum. CCS ile nasıl bi program yazmalıyım acaba benzer bi uygulama gösterebilir misiniz? yardımcı olacak arkadaşlara şimdiden teşekkürler.

rck8942

Elektroniker für Betriebstechnik

parametre


furkanov

teşekkür ederim verdiğiniz linkleri inceliyorum kafama yatan şekliyle uygulamaya geçeceğim inşallah.

MC_Skywalker

pic basic ile bir iki satır yazdım fikir vermesi açısından aşağıdaki kodlara baka bilirsin. ustalar daha sağlıklı kod için seni yönlendirler. benim bilgim sınırlı.

'****************************************************************
'*  Name    : 1_RGB_LED.PBP                                     *                                       *
'*         1 |--U--| 18                                         *
'*         2 |     | 17                                         *
'*         3 |     | 16                                         *
'*         4 |     | 15                                         *
'*   PS- - 5 |     | 14 - PS+                                   *     
'* LED1B - 6 |     | 13                                         *
'* LED1G - 7 |     | 12                                         *
'* LED1R - 8 |     | 11                                         *
'*         9 |_____| 10                                         *
'****************************************************************
@ DEVICE pic16F628A                         'islemci 16F628A

@ DEVICE pic16F628A, MCLR_ON                'MCLR pini kullaniliyor.
@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT     'Dahili osilatör kullanilacak
@ DEVICE pic16F628A, LVP_OFF
@ DEVICE pic16F628A, BOD_OFF
define OSC 4
'****************************************************************
tR     VAR BYTE
tG     VAR BYTE
tB     VAR BYTE
a      VAR BYTE
i      VAR BYTE

CMCON=7                      'CCP iptal hepsi giriş çıkış
OPTION_REG.7=0               'pull-up dirençleri aktif
TrisA=0 
TrisB=0 
PortA=0 
PortB=0


main:
    for tR = 0 to 255 step 1
    for tG = 0 to 255 step 5
    for tB = 0 to 255 step 2

       for a = 0 to 25
            for i = 0 to 255 step 3
       
            if i <= tR  THEN  PortB.0 = 1
            if i > tR then  PortB.0 = 0           
            if i <= tG  THEN PortB.1 = 1           
            if i > tG then PortB.1 = 0 
            if i <= tB  THEN PortB.2 = 1 
            if i > tB then  PortB.2 = 0 
            next i
        next a

    next tB
    next tG
    next tR    
        
        
Return