CCP1CON registeri ?

Başlatan ngunay, 18 Haziran 2015, 09:55:32

ngunay

Merhaba arkadaşlar,
CCP1CON registerinden ürettiğim sinyali bir şarta bağlı olarak çıkarmak istiyorum.Örneğin bir tuşa basıldığı zaman ccp pininden sinyal çıkacak tuşa basılmadığında sinyal çıkmayacak?

ete

#1
IF TUS=0 THEN
   CCP1CON.2=1
   CCP1CON.3=1
ELSE
   CCP1CON=0
ENDIF

CCP1CON=0 komutu verildiği zaman aynı zamanda CCP1 pinini de LOW a çekmek gerekiyor. Aksi halde pin hangi konumda kalmış ise onu muhafaza ediyor. Bu nedele PWM çıkış pini için PORTB.x=0 demeniz de gerekiyor.

Ete

ngunay

IF TUSA=0 THEN
CCP1CON.2=1
CCP1CON.3=1
ELSE
CCP1CON=0
IF TUSB=0 THEN
CCP1CON.2=1
CCP1CON.3=1
ELSE
CCP1CON=0
ENDIF
  ENDIF
T2CON=%00000100
PR2=25
CCPR1L=13

Hocam şu ifadeleri yazdım ama ccp pininden çıkış alamadım?Çıkış vermesi için tuşların ikisine birden basılması mı gerekir acaba bu ifadeye göre?

ngunay

Daha doğrusu iki tuşlu bir ır kumanda vericisi yapmak istedim.Dosya ekte nerelerde yanlış yapmışım bilemedim?

ete

Benim mesajım PWM sinyalinin açılıp kapatılması ile ilgili idi. Sende sorunu o şekilde sormuşsun. Ama işin birde evveli var.
Programın başında sinyal önce hazırlanmalı. Nasıl hazırlanacak ? Öncelikle seçilen frekansa göre T2CON registerine ve PR2 registerine gerekli değerler verilmeli.
Örnek olarak 4Mhz kristal frekansında , 5 Khz lik bir PWM sinyali elde edeceğimizi düşünerek;
Bölme oranının 1/1 olması gerektiğini , PR2 registerine 199 değerinin verilmesi gerektiğini söyleyebiliriz.
Bu frekans için maksimum Duty değerimiz 800 olacak %50 duty değerine sahip bir sinyal içinde Duty değerimizin 400 olacağını söyleyebiliriz.
O halde programın başına

PR2=199
T2CON=%00000100  'bölme oranı 1/1 alındı ve TMR2 aktif hale getirildi.
Duty=400  'bu değişken word tipinde olmalı
X=DUTY   'X değişkenide word tipinde olmalı
CCP1CON.4=X.0
CCP1CON.5=X.1
CCPR1L=x>>2
Bu aşamaya kadar %50 duty değerine sahiip sinyal hazırlandı ama henüz ilgili pinden çıkmasına müsaade edilmedi.
Çıkabilmesi için CCP1CON.2 ve 3 nolu bitlerine 1 değerinin verilmesi gerekir.

İşte bu işide buton kontrolü yapar ve sinyal ilgili pinden çıkartılmış olur.

Ete

Powered by EzPortal