Haberler:

[move]Türkiye'nin Elektronik ve Metal Dedektörlerini Buluşturan İlk Sitesi Teknoloji Ekibi'ne Hoş Geldiniz.[/move]

Ana Menü

darbe üreteci

Başlatan YAK, 09 Kasım 2008, 22:59:38

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

YAK

pic ustalarından bir ricam var, Üzerinde çalıştığım bir devre için basit bir üreteç lazım.Pıc 16F84 veya 628 olabilir.İstediğim tam olarak şöyle:
300usn genişliğinde bir darbe sonra 300usn boşluk ve boşluğun bitiminde 70usn darbe bunun bitiminde 6000usn boşluk tekrar başa dön.
ilgilenen olursa sevinirim.
iyi çalışmalar.
Linkback: darbe üreteci

asenkron

profesör tam olarak istediğin buysa  kolay zaman aralıklarında ayar istiyormusun .hex yeterlimi pıc programlayıp gönderelimmi

Uykusuz

Akşama yazmaya çalışırım buraya eklerim dökümanları

UNIQUE - TA5DF

buyur profesör kardeş istediğin yazılım. 16f628 ve 4 mhz kristal için yazdım. inşallah işini görür.

http://www.savefile.com/files/1879498

PORT B nin tamamını  kullanabilirsin.
TA5DF

remzi


#include <16F628.h>

#FUSES NOWDT                      // Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES PROTECT                  //Code protected from reads
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection

#use delay(clock=4000000,RESTART_WDT)

#byte PORTA  =    GETENV("SFR:PORTA")
#bit  D2     =    GETENV("SFR:PORTA").0
#bit  D3     =    GETENV("SFR:PORTA").1
#bit  role1  =    GETENV("SFR:PORTA").2     
#bit  role2  =    GETENV("SFR:PORTA").3       
#bit  D0     =    GETENV("SFR:PORTA").6       
#bit  D1     =    GETENV("SFR:PORTA").7

#byte PORTB  =    GETENV("SFR:PORTB")
#bit  cikis  =    GETENV("SFR:PORTB").1
#bit  role4  =    GETENV("SFR:PORTB").2
#bit  sw1    =    GETENV("SFR:PORTB").4
#bit  sw2    =    GETENV("SFR:PORTB").5
#bit  sw3    =    GETENV("SFR:PORTB").6
#bit  sw4    =    GETENV("SFR:PORTB").7

void main()
{
   
   set_tris_a(0x00);
   set_tris_b(0x00);
   
   PORTA=0x00;
   PORTB=0x00;
   
   for(;;)
   {
   cikis=1;
   delay_us(300);
   cikis=0;
   delay_us(300);
   cikis=1;
   delay_us(70);
   cikis=0;
   delay_us(6000);
     
   }
}


CCS ile derlersen olur. 16F628 için yazıldı. Osilatör dahili.


:1000000000308A003028000021308400831300086B
:1000100003191B280130F800BF30F7006400F70B0C
:100020000E28F80B0C284A30F700F70B15280000B3
:100030006400800B0A2855281230A202031C2F28C6
:10004000223084008313FC3080050310800C800C68
:10005000000803192F282D286400800B2C285A280B
:10006000840183131F30830507309F000030650033
:10007000660085018601861464006330F700F70B83
:100080003F280000861064006330F700F70B462815
:100090000000861464001630F700F70B4D28502836
:1000A000861064000530A10004280930A1006C30DE
:0C00B000A2001C28A10B57283B2863006D
:02400E00180395
:00000001FF
;PIC16F628



Bu da hex dosyası bunuda pic e yükleyebilirsin.

Süreleri değiştirmek istersen delay_us lerin içindeki sayıları değiştirmen yeterli...

remzi


UNIQUE - TA5DF

TRISA=0
TRISB=0
define osc 4
@ DEVICE pic16F628                      'işlemci 16F628                               
@ DEVICE pic16F628, WDT_ON              'Watch Dog timer açık
@ DEVICE pic16F628, PWRT_ON             'Power on timer açık
@ DEVICE pic16F628, PROTECT_OFF         'Kod Protek kapalı
@ DEVICE pic16F628, MCLR_ON             'MCLR pini kullanılıyor.

CMCON=7                    '16F628 de komparatör pinleri iptal hepsi giriş çıkış
OPTION_REG.7=1             'portB deki dahili PULL-UP lar iptal edildi.
portb=0
PORTA=0
ana:
    PORTB=255
    PAUSEUS 300
    PORTB=0
    PAUSEUS 300
    PORTB=255
    PAUSEUS 70
    PORTB=0
    PAUSE 6
    GOTO ANA


-----------bunlarda pic basic kodları. pauseus yanındaki değerler bekleme süresi,
------------hex i vermiştim zaten
TA5DF

YAK

Arkadaşlar hepinize teşekkür ederim.Yolda olduğum için bugün bakabildim.Deneyip sonucu yazacağım.
iyi çalışmalar.

Uykusuz

#8
Biraz geç oldu bir devre de benden

Kristal 4MHz, Tüm PORTB çıkışlarını kullanabilirsiniz.



:020000040000FA
:10000000860183168601FF30850083121D2801308A
:10001000A2000630A4000F30A600A60B0D28A40BEA
:100020000B28A20B092808000130A2001430A400FC
:10003000A40B1828A20B16280800FF3086040720FE
:10004000003086050720FF30860414200030860526
:100050000720072007200720072007200720072068
:100060000720072007200720072007200720072058
:0A00700007200720072007201D28A5
:00000001FF


İkişer pals arası dediğiniz gibi 6000uS:



İki pals arası 300uS, birinci pals 300uS, ikinci pals 70uS




YAK

ahmet merhaba yazdığın proğramı PIC 16F84 e yükledim fakat çalıştıramadım.sence hata nerede kolay gelsin.


Paylaş whatsappPaylaş facebookPaylaş linkedinPaylaş twitterPaylaş myspacePaylaş redditPaylaş diggPaylaş stumblePaylaş technoratiPaylaş delicious