PIC 16LF1503 DEFINE AYARLARI

Başlatan kaganayanoglu, 18 Ağustos 2015, 13:01:05

kaganayanoglu

Merhaba Arkadaşlar,

Mutfak saati (3-5-10-15-20-25-30 dk. sabit) yapmak için uğraşıyorum. 3v buton bil ile çalıştırmayı düşünüyorum. Düşük voltta çalışması ve uykuda çok düşük akım çekmesi nedeniyle seçtim bu işlemciyi. Bununla birlikte daha önce hiç çalışmadığım için datasheetten bakarak pic başlangıç ayarlarını yapmaya çalıştım. Ama blink led bile yapmaya çalışsam isis simulasyonda bazı ledler yanık kalıyor. Sanırım picin frekans ayarını yapamadım. Kod başlangıcını ve basit şemayı ekliyorum.  Yardımlarınızı bekliyorum. Teşekkürler.
;----[16LF1503 Hardware Configuration]------------------------------------------
#IF __PROCESSOR__ = "16LF1503"
  #DEFINE MCU_FOUND 1
#CONFIG
cfg1 = _FOSC_INTOSC           ; INTOSC oscillator: I/O function on CLKIN pin
cfg1&= _WDTE_ON               ; WDT enabled
cfg1&= _PWRTE_OFF             ; PWRT disabled
cfg1&= _MCLRE_OFF             ; MCLR/VPP pin function is digital input
cfg1&= _CP_ON                 ; Program memory code protection is enabled
cfg1&= _BOREN_OFF             ; Brown-out Reset disabled
cfg1&= _CLKOUTEN_OFF          ; CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin
  __CONFIG _CONFIG1, cfg1

cfg2 = _WRT_OFF               ; Write protection off
cfg2&= _STVREN_ON             ; Stack Overflow or Underflow will cause a Reset
cfg2&= _BORV_LO               ; Brown-out Reset Voltage (Vbor), low trip point selected.
cfg2&= _LPBOR_OFF             ; Low-Power BOR is disabled
cfg2&= _LVP_OFF               ; High-voltage on MCLR/VPP must be used for programming
  __CONFIG _CONFIG2, cfg2

#ENDCONFIG

#ENDIF

'DEFINE OSCCAL_1K 1  
DEFINE OSC 4
DEFINE ADC_BITS    10           
DEFINE ADC_CLOC   3            
DEFINE ADC_SAMPLEUS  100  

OSCCON = %01101010

ANSELA = %00000000  ' PORTA ANALOG-DIGITAL AYARI  (TÜMÜ DIGITAL I/O)  1:ANALOG, 0:DIGITAL
ANSELC = %00000100  ' PORTC ANALOG-DIGITAL AYARI

ADCON0 = %00011010  ' Analog Channel Select bits 
ADCON1 = %11000000  ' Analog Channel Select bits. HIZ VS.

TRISA = %00000000   ' PORTA GİRİŞ ÇIKIŞ AYARI
TRISC = %00000100   ' PORTA GİRİŞ ÇIKIŞ AYARI
WPUA  = %00000000   'PULL UP DİRENÇ AYARI
'WPUC =  %00000000   'PULL UP DİRENÇ AYARI

ham var WORD
SAY var BYTE

UC_LED       VAR PORTA.5        
BES_LED      VAR PORTA.4
ON_LED       VAR PORTC.5
ONBES_LED    VAR PORTC.4
YIRMI_LED    VAR PORTC.3
YIRMIBES_LED VAR PORTA.2
OTUZ_LED     VAR PORTC.0
BUZZER       VAR PORTC.1
PORTC.2 = 0  'RC2

PAUSE 200

MAIN: 

HIGH UC_LED
PAUSE 300
LOW UC_LED
PAUSE 300
GOTO MAIN



rodeomusty

Watchdog timer'i kapatıp deneyebilir misin?

cfg1&= _WDTE_OFF

kaganayanoglu

Asıl programda Watchdog timer'ı kullanmam gerekecek.