18f452 port ayarları

Başlatan huseyin0579, 08 Mart 2016, 00:46:16

huseyin0579

Hocam 18f452 ilk üç kanal adc olacak şekilde örnek kod eklentisi verebilir'misiniz. Sadece ilk üç kanal adc diğerleri dijital giriş çıkış, komparator iptal ve option reg b0 yükselen kenar tetiklemesi bu ayarları düzgün yapabilmek için

ete

Açılış kodlarını aşağıda veriyorum. Bu işlemcide RB0 kesmesi kenar seçimi INTCON2 regsiteri tarafından yapılıyor. Bu registerin bitlerimnin görevleri şöyle;
Bit7 (RBPU)=PortB Pullup dirençlerini aç veya kapat (1=kapalı , 0 = Açık)
Bit6 (INTEDG0)= INT0 (Yani RB0) kesmesi kenar seçme biti (1=yükselen , 0=düşen kenar)
Bit5 (INTEDG1)=INT1 (Yani RB1) kesmesi kenar seçim biti
Senin aradığın INTCON.6 biti olacak. INTCON2.6=1 verdiğin zaman yükselen kenarda kesme oluşturursun.

asm
    __CONFIG _CONFIG1H, _OSCS_OFF_1H & _XT_OSC_1H  ;  _HSPLL_OSC_1H       
    __CONFIG _CONFIG2L, _BOR_ON_2L  & _BORV_20_2L & _PWRT_OFF_2L
   __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
    __CONFIG _CONFIG3H, _CCP2MX_ON_3H
    __CONFIG _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L
   
    __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
    __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H   
   
;    __CONFIG _CONFIG5L, _CP0_ON_5L & _CP1_ON_5L & _CP2_ON_5L & _CP3_ON_5L
;    __CONFIG _CONFIG5H, _CPB_ON_5H & _CPD_ON_5H
   
    __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
    __CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H
    __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
    __CONFIG _CONFIG7H, _EBTRB_OFF_7H
endasm
DEFINE OSC 4
PORTA=0:TRISA=%00001011
PORTB=0:TRISB=%11111111
PORTC=0:TRISC=%11111000
PORTD=0:TRISD=%00000000
PORTE=0:TRISE=0

ADCON1=%10000100 
ADCON0=%01000000
INTCON2.7=0 'pullup ları açtık
INTCON2.6=1  'RB0 yükselen kenarda kesme oluşturacak
DEFINE ADC_BITS 10     ' ADCIN resolution  (Bits)
DEFINE ADC_CLOCK 1     ' ADC clock source  (Fosc/8)
DEFINE ADC_SAMPLEUS 13 ' ADC sampling time (uSec)


Ete

huseyin0579

Hocam sağolasın teşekkür ederim.

Powered by EzPortal