12f675'de Dahili osilatörü kullanıp bütün bacakları giriş-çıkış olarak kullanmak istiyorum fakat ne yapsam GP4/OSC2 ve GP5/OSC1 bacaklarına hayat veremedim. Heralde benim yaptıklarımın dışında bir ayarı daha var, buyrun kodlarım:
LIST P=12f675
include "P12F675.inc"
__CONFIG _WDT_OFF & _PWRTE_ON & _CP_OFF
ORG 0x00
GOTO AYAR
ORG 0X04
GOTO KESME
...................
.................
...............
;===============KONFİGÜRASYON=============================================
AYAR
movwf OSCCAL ;Dahili osilatör ayarı 4MHz
bsf STATUS,5 ;Bank1'e geç
bcf OPTION_REG,5 ;TMR0 Saat kaynağı olarak komut periyodu kullanılsın
bcf OPTION_REG,3 ;Ön bölücü değeri TMR0 için kullanılacak
bcf OPTION_REG,2 ;Ön bölücü değeri 010 ile 1/8'ya ayarlandı
bsf OPTION_REG,1
bcf OPTION_REG,0
movlw '00001100' ;GP2 GP3 giriş , diğerleri çıkış
movwf TRISIO
bcf STATUS,5 ;Bank0'a geç
clrf GPIO
bsf INTCON,7 ;Global kesme biti açık
bsf INTCON,5 ;TMRO kesmesi SET edildi
bcf INTCON,2 ;TMR0 kesme bayrağı sıfırlandı
movlw .5
movwf TMR0 ; 8 X 250 = 2000 komut süresi ,Kesme oluşma süresi 2000 X 1usn = 2ms , Tarama Frekansı 125Hz
clrf birler
clrf onlar
clrf yuzler
clrf binler
clrf basamaksayaci
clrf sayici0
clrf sayici1
;===============ANA PROGRAM===============================================
...............................
..............
Program 0-9999 sayıcı 2ms'de bir TMR0 kesmesi ile 4haneli 7 segmentte tarama yapıyor.
(http://img188.imageshack.us/img188/3994/16f675sorun.jpg)
Dostum ilk bakışta görünen konfigürasyondan osilatör seçimi yapmamışsın konfigürasyon satırına _INTRC_OSC_NOCLKOUT eklersen dahili osilatöre geçer osilatör bacaklarını I/O olarak kullanabilirsin senin yaptığın ayar dahili osilatör kalibrasyonu için fabrika değerlerinde kalmasında bir sakınca yoktur.Bu şekilde sorun düzelmesi lazım ama isisteki simülasyonu bilemem.
confıgde mclr-off clk-out
@ DEVICE pic12F675, MCLR_OFF
@ DEVICE pic12F675, INTRC_OSC_NOCLKOUT
mclr ı yazılımda içsel olarak kullanacağını belirt yoksa 12f675 de simüle gerçekleştiremezsin bide option_reg register'ının 7.bitini 0 yaparak pull-up dirençlerini aktif yap yoksa uygulamada devre neden çalışmıyor diye çıldırabilirsin :Dkolay gelsin
teşekkürler