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.
profesör tam olarak istediğin buysa kolay zaman aralıklarında ayar istiyormusun .hex yeterlimi pıc programlayıp gönderelimmi
Akşama yazmaya çalışırım buraya eklerim dökümanları
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.
#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...
Çıkış ta PORTB=1;
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
Arkadaşlar hepinize teşekkür ederim.Yolda olduğum için bugün bakabildim.Deneyip sonucu yazacağım.
iyi çalışmalar.
Biraz geç oldu bir devre de benden
Kristal 4MHz, Tüm PORTB çıkışlarını kullanabilirsiniz.
(https://www.teknolojiekibi.com/yeni/proxy.php?request=http%3A%2F%2Fimg89.imageshack.us%2Fimg89%2F701%2Faaaky2.png&hash=82086827ca7b251139a718d408b0dd900dd3fe3c)
:020000040000FA
:10000000860183168601FF30850083121D2801308A
:10001000A2000630A4000F30A600A60B0D28A40BEA
:100020000B28A20B092808000130A2001430A400FC
:10003000A40B1828A20B16280800FF3086040720FE
:10004000003086050720FF30860414200030860526
:100050000720072007200720072007200720072068
:100060000720072007200720072007200720072058
:0A00700007200720072007201D28A5
:00000001FF
İkişer pals arası dediğiniz gibi 6000uS:
(https://www.teknolojiekibi.com/yeni/proxy.php?request=http%3A%2F%2Fimg113.imageshack.us%2Fimg113%2F416%2F24102996nk1.jpg&hash=88a728af2160ba8a185fe53f98351ff1a9d1ac22)
İki pals arası 300uS, birinci pals 300uS, ikinci pals 70uS
(https://www.teknolojiekibi.com/yeni/proxy.php?request=http%3A%2F%2Fimg89.imageshack.us%2Fimg89%2F7351%2F93722514xw4.jpg&hash=eb616fb502b2d6873b7e41ec0a0229a76fe6c252)
ahmet merhaba yazdığın proğramı PIC 16F84 e yükledim fakat çalıştıramadım.sence hata nerede kolay gelsin.