pic i programlarken; kristal kullandigin için xt seçenegini seçmen gerekir. aksi taktirde sen elini deydirdigin zaman çalişir. Bunun nedenide sen elini deydirdiginde rc devresi gibi bişi oluyosnu onun yüzünden pic kafasina göre takiliyo :)
arkadaşlar mplab 7.6 kullanıyorum. uzun zamandır bu programı kullanmıyordum. enson 5.7 sürümüydü yanlış hatırlamıyorsam onu kullanmıştım. ama bu sürümünde baya birşeyler değişmiş. size sorum şu; yazdığım programı derlemeye çalışınca "The project contains no source files." diye bir hata alıyorum bunun nedeni neden olabilir. şimdiden yardımlarınız için sağolun...
bi sorun daha vista işletim sisteminde 5.7 sürümünü yükleyemedim. onun için 7.6 sürümünü yükledim. ancak bu sürümde de baya bi değişiklik olduğu için tam olarak adapte olamadım...
PIC e yükleyeceğin programı iki şekilde yazabilirsin. 1- 35 komuttan oluşan PIC assembly adı verilen dil ile.(asm komutları) 2- pic basic gibi bir dil ile. MPLAP ı microchip in sitesinden indirebilirsin.programı yazarken asm komutları kullanman gerekir. programı yazdıktan sonra ,mplab bunu hex uzantılı dosyaya çevirir.bu dosyayı "picup" adındaki programı kullanarak(google da ara,birçok sayfa gelecektir) bu basit devre ile(mouse portunu kullanan) < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > pic e yükleyeceksin.basit devrede 16f84 yerine soket takıp,programı yüklemeden önce 16f84 ü bu sokete takarsın.bu devre ve picup programı sadece 16f84 içindir. picbasic lisanslı bir programdır.internette bir araştır. programı pic e yükledikten sonra, yine basit bir uygulama devresi ile deneyebilirsin. < Resime gitmek için tıklayın > devrede yine soket kullanmalısın.programı yazılmış pic i sokete takıp çalıştır. bu devrede portB0 a bağlı bir led var.buna uygun basit programları (asm veya picbasic) bir kitap edinerek bulabilirsin.bu konuda altaş yayınlarının güzel kitapları var
örnek picbasic programı _____________________ TRISB=%00000000 ' PORTB bütün pinler çıkış(açıklama satırı) PORTB.0=0 ' portb.0 a bağlı led i söndür(açıklama satırından önce ' işareti konulur pause 500 ' 500 ms bekle git: portb.0=1 ' led i yak pause 1000 '1000 ms bekle portb.0=0 'led i söndür pause 1000 '1 saniye bekle goto git end
-benzer programın assembly kodu
LIST P=16F84 INCLUDE “P16F84.INC” SAY1 EQU h’0C’ SAY2 EQU h’0D’ CLRF PORTB BSF STATUS,5 CLRF TRISB BCF STATUS,5 DONGU MOVLW h’00’ MOVWF PORTB CALL ZAMAN MOWLW h’FF’ MOVWF PORTB CALL ZAMAN GOTO DONGU ZAMAN MOWLW h’FF’ MOVWF SAY1 CEV1 MOWLW h’FF’ MOVWF SAY2 CEV2 DECFSZ SAY2,F GOTO CEV2 DECFSZ SAY1,F GOTO CEV1 RETURN END
led in yanma ve sönme süresi "call" komutu ile gidilen "zaman" satırından sonra başlayan kod ile ayarlanıyor.return komutu ile call komutundan sonra işlem devam ediyor.
elinde tam anlamıyla çalışan yada malzemeleri tam olsa oda olur böyle bir asansör devresi olan varmı en az 3 katlı yada bana bu konu hakkında fikir edinip yardım alabileceğim bir yer önerebilirmisiniz..... hatta şunu diyim elimde bir proje var internette bulmanız zor çünkü yok :D bi arkadaşımın yaptığı bir proje okul bitirme projesiyidi her neyse bu proje üzerinde bir kaç tane kondansatörün değeri yok onları bulabiliriz diyen varmı devrenin özellikleri iki tane 8 katlı asansör yani tek değil çift asansör var :) cevap verebilecek olanlar hızlı olabilir mi 4 hafta gibi bir süremiz kaldı da :D
slm arkadaşlar. pic ile trafik ışıkları projesi ile ilgili projeyi daha önce yapmış yada programı bilen arkadaş varsa bi an önce yardımcı olursa çok sevinirim bitirme projem.
merhaba arkadaslar pic16f628a nın CCP birimini kullanarak frekans ölçmek istiyorum ama ölçeceg,m frekans 10-20hz arasında olacak picle eger 4 mhz lik kristal osilator kullanırsam minimum 15.25 hz ölçebiliyorum nedeni de şöyle; 4mhz/4=1mhz ve periyot olarak 1/1mhz=1mikrosaniye(her bir komut cevrimi icin) ve CCP birimi timer1 kullandigi icin timer1 max 65536 olabilir cünkü timer1 16 bitlik bi sayıcıdır...1mikrosaniye*65536=65536mikrosaniye yapar frekansa cevirince 15.25 hz yapıyo bende 2mhz lik bi kristal kullanmayı dusunuyorum bunun icin gerekli kondansatörler ne olmalı 15-33pf arası olsa olurmu bana bi yardımcı olursanız cok sevinirim...Tesekkürler kolay gelsinn....
arkadaslar ben pic proje yapabilecek bir arkadas ariyorum :))) YAKLASIK 10 TANE PIC PROJE YAPACAK BIR ELEMAN ARAMAKTAYIM .... BU PROJELERI YAPABILECEK ARKADASLAR BANA pm ATABILIRLER MI ACABA
herkese selamlar ben bir kayan yazı çalışması yapmak istiyorum birçok kayan yazı devresi buldum ve bir tanesine karar verdim benim yapmayı düşündüğüm devre 72 sütun ve PIC16F628A ile tasarlanmış.farklı yazılar yazmak istediğimde her defasında picin programıyla oynamamam gerekiyor bu yazıyı pc bağlantısıyla veya sonradan yapılabilecek bir keypad kullanarak değiştirebiliriz devrede nasıl değişiklikler yapmam gerekir veya elinde bu tarz devreler olan arkadaşlar varsa yardımcı olabilir misiniz? şimdiden teşekkürler iyi çalışmalar
selamlar yeni yapmış oldugum led tabelam için yürüyen devreye ihtiyacım var arkadaşlar. devrenin özellikleri harfler yanarak gidecek ve ensonunda hepsi birlikte yavaşca sönecek tabi bu yanma hızları ayarlanabilmeli ve 16 kanal olmalı ben bdx 53 transistörleri bu devre ile sürerek amacıma ulaşmak isttiyorum böyle bir devreyi nasıl bulabilirim . ektra olarak bir iki buton ile degişik modlarda olabilir istendiinde diger modlara geçilebilir yardım edebilecek bir arkaş varmı? şimdiden teşkkürler.
Elimde hazır durumda butonla program değiştirilebilir otomatik/manuel program değişen ve hız ayarlı şekilde yazılmış PIC Basic dosyaları var. Farklı çıkışlarda yine reklam tabelası için yapmıştım. 16 çıkışlı olması lazım ama olmasa bile sadece çıkış sayısı değiştirilerek kısa sürede istediğin hali alabilir.
Arkadaşlar bana bir konuda yardımcı olabilir misiniz. pic 16f84 ile çizdiğim bir devre var.. iki ışık sensörü ve iki dc motor kullandım. amacım sensörlerden birine ışık çarparsa motorlardan birinin çalışması, diğer sensöre ışık çarparsa diğerinin çalışması, iki sensöre de ışık çarparsa iki motorun da çalışması.. motorlar tek yönde dönecekler.. buna uygun bir program yazmaya çalıştık ama programda sorun var.. hata veriyor. program doğru yazılmamış.. yardımcı olabilecek varsa lütfen yazsın.. program şu:
bi sorun daha vista işletim sisteminde 5.7 sürümünü yükleyemedim. onun için 7.6 sürümünü yükledim. ancak bu sürümde de baya bi değişiklik olduğu için tam olarak adapte olamadım...
< Bu mesaj bu kişi tarafından değiştirildi robtek -- 26 Şubat 2008; 13:11:27 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 3 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
Teşekkürler
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
http://bilpaylaspic.blogcu.com/
Tüm dosyaları için;
http://www.4shared.com/file/48147120/76a08781/PIC_LCD_Ton_Control.html
Kolay gelsin....
DEVRENİN ASM PROGRAMI
;
;PIC0004 PIC16F84 ILE TRAFIK ISIKLARI
;PIC84 ILE YAYA LAMBASI KONTROLU
;HSERIMER 7/97
LIST P = 16F84, F = INHX8M, n = 66
PIC84 equ H'03FF'
;REGISTER TANIMLAMALARI
W EQU H'0000'
F EQU H'0001'
INDF EQU H'0000'
TMR0 EQU H'0001'
PCL EQU H'0002'
STATUS EQU H'0003'
FSR EQU H'0004'
PORTA EQU H'0005'
PORTB EQU H'0006'
EEDATA EQU H'0008'
EEADR EQU H'0009'
PCLATH EQU H'000A'
INTCON EQU H'000B'
OPTION_REG EQU H'0081'
TRISA EQU H'0085'
TRISB EQU H'0086'
EECON1 EQU H'0088'
EECON2 EQU H'0089'
HCOUNT equ H'000D'
LCOUNT equ H'000E'
ZAMAN equ H'0028'
msb equ 0x29 ;delay register
lsb equ 0x2A ;delay register
FLCOUNT equ H'0027' ;flas SAYACI
WAITC equ H'0026' ;wait ve run
SPECIAL equ H'0025' ;special function registeri
COUNT1 equ H'0021' ;system timer counter
COUNT2 equ H'0021' ;system flas timer counter
SYSFUNC equ H'0020' ;system control register
;----- STATUS Bits --------------------------------------------------------
IRP EQU H'0007'
RP1 EQU H'0006'
RP0 EQU H'0005'
NOT_TO EQU H'0004'
NOT_PD EQU H'0003'
Z EQU H'0002'
DC EQU H'0001'
C EQU H'0000'
__MAXRAM H'AF'
__BADRAM H'07', H'30'-H'7F', H'87'
_CP_ON EQU H'3FEF'
_CP_OFF EQU H'3FFF'
_PWRTE_ON EQU H'3FFF'
_PWRTE_OFF EQU H'3FF7'
_WDT_ON EQU H'3FFF'
_WDT_OFF EQU H'3FFB'
_LP_OSC EQU H'3FFC'
_XT_OSC EQU H'3FFD'
_HS_OSC EQU H'3FFE'
_RC_OSC EQU H'3FFF'
__CONFIG _CP_OFF & _WDT_ON & _XT_OSC
;
;
goto START
;
START
clrw ; RESET ALG.
movlw D'5' ; reset durumunda
movwf ZAMAN ; 5 sn cikislar kapali tutulur
call SAY ; RESET ALG.
clrwdt
movlw D'60' ; flash süresi 60sn
movwf FLCOUNT
bsf STATUS,RP0
movlw H'00'
movwf TRISB ;PORTB pinleri out
movlw H'03'
movwf TRISA ;PORTA pinleri bazilari input
bcf STATUS,RP0
movlw H'00'
movwf PORTA
movwf PORTB
goto FLAS_PROG ; baslangic flash programi
;
MAIN
CLRW
clrwdt
movlw H'10' ;set flas time delay 10 sn
movwf FLCOUNT
bsf STATUS,RP0
movlw H'00'
movwf TRISB ;PORTB pins output
movlw H'03'
movwf TRISA ;PORTA same pins input
bcf STATUS,RP0
movlw H'00'
movwf PORTA
movwf PORTB
movlw D'18' ; wait step süresi
movwf WAITC
TEST_BUTTON
clrwdt
btfsc PORTA,0 ;flas input
goto TEST_BUTTON_1
goto FLAS_PROG
TEST_BUTTON_1
clrwdt
;****************************wait step1**************************************
movlw B'01100100' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 1 - 0 - 0 - 1 - 0 - 0
; -yaya -- oto 1 --- oto 2 --
movwf PORTB
movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'5'
movwf ZAMAN
call SAY2
btfss SYSFUNC,1 ; butona basilmis ise
goto TEST_BUTTON_2
goto TEST_BUTTON_3
TEST_BUTTON_2
movlw D'2' ; wait step zamani
movwf WAITC
decfsz WAITC
goto TEST_BUTTON
goto TEST_BUTTON_3
TEST_BUTTON_3
clrf WAITC
movlw D'20'
movwf ZAMAN
call SAY2
bcf SYSFUNC,1 ; button kaydedicisi=0
RUN_PROG
;****************************step1*******************************************
;***************************** 3 sn******************************************
movlw B'01010010' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 1 - 0 - 0 - 1 - 0
; -yaya -- oto 1 --- oto 2 --
movwf PORTB
movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY2
;****************************step2*******************************************
;**************************** 3 sn ******************************************
movlw B'01001001' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 0 - 1 - 0 - 0 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB
movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY2
;****************************step3*******************************************
;**************************** 30 sn *****************************************
movlw B'10001001' ;yes-kir-yes-sar-kir-yes-sar-kir
; 1 - 0 - 0 - 0 - 1 - 0 - 0 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB
movlw B'00011000' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'25'
movwf ZAMAN
call SAY2
;****************************step4*******************************************
;**************************** 3 sn ******************************************
movlw B'01001001' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 0 - 1 - 0 - 0 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB
movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY2
;****************************step5*******************************************
;**************************** 3 sn ******************************************
movlw B'01011011' ;yes-kir-yes-sar-kir-yes-sar-kir
; 0 - 1 - 0 - 1 - 1 - 0 - 1 - 1
; -yaya -- oto 1 --- oto 2 --
movwf PORTB
movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY2
;****************************step5********************************************
goto MAIN
;
SAY
clrwdt
call vlong
decfsz ZAMAN
goto SAY
return
SAY2
clrwdt
call del1sn
decfsz ZAMAN
goto SAY2
return
;
del1sn
clrwdt
movlw D'26'
movwf COUNT2
goto del1
del1
clrwdt
bsf PORTA,4
call delay20
decfsz COUNT2
goto del1
clrwdt
movlw D'26'
movwf COUNT2
del2
bcf PORTA,4
call delay20
decfsz COUNT2
goto del2
return
;****************************************************************************
;*- Delay Routines -*
;****************************************************************************
vlong
movlw 0xff ;very long delay, approx 200msec
movwf msb
goto d1
delay20 ;20 msec delay
movlw .26
movwf msb
goto d1
delay16 ;16 msec delay
movlw .21
movwf msb
goto d1
delay1 ;approx 750nsec delay
movlw .1
movwf msb
d1 movlw 0xff
movwf lsb
d2 decfsz lsb,F
goto d2
decfsz msb,F
goto d1
;*********************** BUTTON TEST ***************************************
btfsc PORTA,1 ; button input
goto d3
bsf SYSFUNC,1 ; buttun lacth set
d3
return
;*********************** FLAS PROGRAM **************************************
FLAS_PROG
btfsc PORTA,0 ;flas input testi
goto F2
goto F1
F1
movlw H'10' ;flas zamani (min 10 sn)
movwf FLCOUNT
F2
;****************************step1*******************************************
;****************************0.5 sn******************************************
clrwdt
movlw B'01010010' ;yes-kir-yes-sar-kir-yes-sar-kir
movwf PORTB ; 0 - 1 - 0 - 1 - 0 - 0 - 1 - 0
; -yaya -- oto 1 --- oto 2 --
movlw B'00010100' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY
;****************************step2********************************************
;****************************0.5 sn*******************************************
clrwdt
movlw B'00000000' ;yes-kir-yes-sar-kir-yes-sar-kir
movwf PORTB ; 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0
; -yaya -- oto 1 --- oto 2 --
movlw B'00000000' ;***-***-***-sar-yes-kir-***-***
; 0 - 0 - 0 - 1 - 0 - 1 - 0 - 0
; -----------FLAS--YAYA---INPUT
movwf PORTA
movlw D'3'
movwf ZAMAN
call SAY
decfsz FLCOUNT
goto FLAS_PROG
goto RUN_PROG
;****************************0.5 sn*******************************************
FINISH
org H'3FF'
goto START
end
ASM yi HEX dosyasına dönüştüremedım nolur yardım edin
Bu mesaja 1 cevap geldi. Cevapları Gizle
http://rapidshare.com/files/117090200/trafik.rar.html
Bu mesaja 1 cevap geldi. Cevapları Gizle
YAKLASIK 10 TANE PIC PROJE YAPACAK BIR ELEMAN ARAMAKTAYIM .... BU PROJELERI YAPABILECEK ARKADASLAR BANA pm ATABILIRLER MI ACABA
< Bu mesaj bu kişi tarafından değiştirildi mukremin42 -- 26 Ekim 2008; 7:31:24 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
şimdiden teşekkürler iyi çalışmalar
devreyle ilgili proteus çizimi ve hex dosyaları linkteb bulunuyor
http://rapid-share.com/files/159080449/kayanyazi.rar.html
aradaki "-"yi kaldırıp deneyin
Bu mesaja 1 cevap geldi. Cevapları Gizle
yardım edebilecek bir arkaş varmı?
şimdiden teşkkürler.
Bu mesaja 1 cevap geldi. Cevapları Gizle
LIST P=16f84
INCLUDE "P16f84.INC"
BSF STATUS,5
CLRF TRISA
MOVLW h'FF'
MOVWF TRISA
BCF STATUS,5
MOTOR_SOL
BTFSS PORTA,0
GOTO SOL_MOTOR_STOP
BSF PORTB,0
GOTO MOTOR_SAG
MOTOR_SAG
BTFSS PORTA,1
GOTO SAG_MOTOR_STOP
BSF PORTB,1
GOTO MOTOR_SOL
SOL_MOTOR_STOP
BCF PORTB,0
GOTO MOTOR_SAG
SAG_MOTOR_STOP
BCF PORTB,1
GOTO MOTOR_SOL
end