pic basic proda dimleme nasıl yazılır

Başlatan Mr.Thinking, 27 Aralık 2009, 19:27:20

Mr.Thinking

İyi akşamlar.
pic 16f84A da PortB nin tüm bitlerine konulmuş ledleri dimlemek için Pic basic Proda nasıl bir komut dizisi yazmalıyım.Pbp de dimmer komutu yok.Pwm ile yapılabilirmi bilmiyorum.örnek komutlarla yardımcı olursanız çok sevininrim.Çıkışlara mosfet transistör koyacağım.
sadece dimmerli yanıp sönen 8 harfli  bir kelime tabela yapacağım.
saygılarımla
ego=1/Knowledge

teknikelektronikci

hocam dimmer yapmak zaten pwm kullanmak olmuyormu ? ayrıcca dimmer komutu hangi derleyicide varki ?
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

ete

PortB nin tamamına PWM uygulayan programı aşağıda veriyorum. PWM iş zamanının azalma ve çoğalma zamanı DELAY etiketi altındaki I döngüsü değerinin artırılması veya azaltılması ile ayarlanabilir.

Ete
'****************************************************************
'*  Name    : PWM-TMR0.BAS                                      *
'*  Author  : [ E T E ]                                         *
'*  Notice  : Copyright (c) 2007 [E.T.E]                        *
'*          : All Rights Reserved                               *
'*  Date    : 3/2/2007                                          *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
define osc 4
PORTA=0:portb=0
TRISB=%00000000  '
TRISA=%00000000   '
'-----------------------------------------------------------------
@ DEVICE pic16F628                      'işlemci 16F628                                
@ DEVICE pic16F628, WDT_OFF              	'Watch Dog timer kapalı
@ DEVICE pic16F628, PWRT_ON             	'Power on timer açık
@ DEVICE pic16F628, PROTECT_OFF          'Kod Koruma kapalı
@ DEVICE pic16F628, MCLR_off           	 'MCLR pini kullanılmıyor.
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT  'Dahili osilatör kullanılacak 
'-----------------------------------------------------------------
'-------------------------------------------------------------------------
ON INTERRUPT GoTo KESME  
OPTION_REG=%00001000   '
INTCON=%10100000

CMCON=7   
'----------------------------------------------------------------------------
 I   VAR word 
 R  var byte
 RH VAR BYTE 
 RL  VAR BYTE 
 x   var byte
 W   var bit
'-----------------------------------------------------------------------------
CLEAR  'tüm değişkenler sıfırlandı
PAUSE 200
TMR0=243
R=50
RH=r:RL=100-rH

'-----------------------------------------------------------------------------

BASLA:
     FOR R=1 to 98
        gosub delay
     next
     
     gosub delay
     
     for R=98 to 1 step-1
        gosub delay
   
     next
     
     gosub delay   
'--------------------------------------       
GOTO BASLA

DELAY:
      FOR I=0 TO 600:NEXT 
      RETURN

DISABLE
KESME: 

      IF PORTB=255 then
        RH=RH-1
        IF RH=0 then 
           PORTB=0
           RH=R
        ENDIF
      ELSE
        RL=RL-1
        IF RL=0 then
          PORTB=255
          RL=100-rh
        endif
      endif
                 
      TMR0=240
      INTCON.2=0       
      RESUME
      ENABLE
      
END
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

Mr.Thinking

Alıntı yapılan: "ete"PortB nin tamamına PWM uygulayan programı aşağıda veriyorum. PWM iş zamanının azalma ve çoğalma zamanı DELAY etiketi altındaki I döngüsü değerinin artırılması veya azaltılması ile ayarlanabilir.

Ete
[code]
']

çok teşekkür ederim hocam.
ego=1/Knowledge