portA 5 -6-7 neden çıkış olmuyor

Başlatan safaka123, 19 Mart 2013, 18:17:08

safaka123

Bir programda çıkış olarak kullanmak istedim olmadı. olmayınca tek bir pic ile deneme devresi yaptım. Port B de sorun yok çalışıyor Port A 5,6,7 pinleri çalışmıyor port A.0 , 1 denediğimde çalışıyor program aşağıdaki gibi ekte de isis görüntüsü ekleyemedim çalıştığında port a 5,6,7 gri renkli oluyor diğerleri mavi yada kırmızı oluyor. Yardım edermisiniz.

' Name        : BLINK.pbp
' Compiler    : PICBASIC PRO Compiler 2.6
' Assembler   : PM or MPASM
' Target PIC  : 16F or 18F types
' Hardware    : Non specific
' Oscillator  : internal or external
' Keywords    : BLINK LED
' Description : PICBASIC PRO program to to blink an LED connected
' to PORTB.0 about once a second
'

TRISB=%00000000 'PortB (RB4-RB7) çıkıs digerleri giris yapıldı.
TRISA=%00000000 ''A portu  tamamı çıkıs yapıldı.

'@ DEVICE pic16F628 'islemci  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ılıyor.
'@ DEVICE pic16F628,  INTRC_OSC_NOCLKOUT 'Dahili osilatör kullanılacak
'---------------------------------------------------------------------------------------------------------------
OPTION_REG=%10000101
CMCON=7    '16F628 de komparatör pinleri iptal hepsi giriş çıkış

LED    VAR  PORTB.0   ' Assign name "LED" to PORTB.0

leda var porta.6

ledb var porta.7

mainloop:
   High LED        ' Turn on LED connected to PORTB.0
   high leda
   high ledb
   Pause 500       ' Delay for .5 seconds

   Low LED         ' Turn off LED connected to PORTB.0
   low leda
   low ledb
   
   Pause 500       ' Delay for .5 seconds

   Goto mainloop   ' Go back to loop and blink LED forever
   
   End


yusufburak

#1
pardon :)
osilatör girişleri var onların dahili olması ayarlarını yaptınz mı ? problem ordan kaynaklanıyo olabilir. ki kastettiğim şey şu ;

RA5/MCLR/THV   Port A 'nın digital I/O pini / Reset girişi ya da programlama sırasında gerilim giriş ucu/ THV girişi
RA6/OSC1/CLKOUT   Port A 'nın digital I/O pini / kristal osilatör girişi
RA7/OSC2/CLKOUT   Port A 'nın digital I/O pini / kristal osilatör girişi / harici clock girişi
Öğretici aranıyor :)

M.Salim GÜLLÜCE

Yusuf burak bir tanesini söylemiş.
Dahili osilatör seçmezseniz RA 6 ve 7 yi kullanamazsınız.
Fakat RA5 i sadece giriş olarak kullanabilirsiniz.
Gene uygun ayarlarla MCLR yi iptal edip port haline getirirsiniz. Fakat çıkış olarak değil giriş olarak kullanmak üzere tasarlandığından işinize yaramaz.

Bkz. Device PDF Page33 and page 35

safaka123

microsoft studio complie yaparken @ device satırları hata verdiğinden virgulle iptal ettim. yoksa asm ye çevirmiyor. fakat o satırlarda da internal osc kullandım.  Daha başka nasıl yazılır bilmiyorum. yardımcı olurmusunuz. başka bir ornek buldum bu da porta.6 yı çıkış kullanıyor o programın başlıktaki kısmını tamamen aldım ve çalışmadı. Fakat o ornek aldığım programda çalışıyor.


teşekkürler

safaka123

SORUN ÇÖZÜLDÜ.

Olay config satırındaymış. pbp 3.0 da device olarak tanımlayamıyoruz aşağıdaki şekilde tanımlandığında osc bacakları çıkış olarak tanımlanıyor.

#CONFIG
__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _LVP_OFF & _CP_OFF & _MCLRE_OFF

#ENDCONFIG

bu şekilde başlangıç ayarlarını verebiliyoruz. daha önce başıma böyle bir şey gelmedi ama araştırmalarımda pbp nin 3.0 dan önceki sürümlerinde problem yaratmamasına rağmen 3.0 ve yukarısında komut dizilimi bu şekilde olmalıymış.
Umarım benim gibi olanlara da yardımcı olmuş olur. ilgilenen herkese teşekkürler. 
Şu anda adresi yanımda olmadığından gönderemiyorum ama PBP 3.0 ingilizce kullanım kılavuzu vardı. bu kılavuzu da buraya aktarmayı düşünüyorum belki faydası olur.

safaka123

Bu konuyu çözümlemeye çalışırken bulduğum bir PBP ver:3.0 manual'i sizinle paylaşacağım demiştim . aşağıdaki linkten indirebilirsiniz.

https://skydrive.live.com/redir?resid=F966336DB8524414!628&authkey=!AKUOPbFm-TjITs8

Herkese iyi çalışmalar. Başka bir sorunda görüşmek dileğiyle. Böyle söylüyorum çünkü bazı konu başlıklarına baktım bilgim ve tecrübem yanıtlamaya yetmez onu bilgili kişilere bırakıyorum. umarım günün birinde bende başkalarına yardımcı olabilirim.