Merhaba arkadaşlar, bu yeni Pic16-18lerdeki 5 bit DAC 'ı kullanan var mı? DACCON1 registerını artırıyorum birer birer 32ye kadar ve 0dan 5Volta lineer bi output bekliyorum normal olarak. Fakat bu SSteki gibi bir sinyal çıkıyor scope'ta. kodu da ekliyorum. Yardımcı olacak arkadaşlara şimdiden teşekkürler.
Kod
list p=pic16f18280
include p16f1828.inc
org 0x00
nop
nop
nop
goto Start
org 0x04
Interrupt
nop
nop
bcf INTCON,TMR0IF
banksel DACCON1
incf DACCON1
retfie
org 0x100
Start
banksel OSCCON
movlw b'11110000' ;SPLLEN IRCF3 IRCF2 IRCF1 IRCF0 - SCS1 SCS0
movwf OSCCON ;Clock determined by FOSC<2:0> in Configuration Word 1.
;4x PLL is enabled SPLLEN bit is ignored. 4xPLL is always enabled
;8 MHz or 32 MHz HF
movlw b'1000111' ;WPUEN INTEDG TMR0CS TMR0SE PSA PS2 PS1 PS0
movwf OPTION_REG ;prescaler assigned tmr0 1:128
movlw b'00100000' ;GIE PEIE TMR0IE INTE IOCIE TMR0IF INTF IOCIF(1)
movwf INTCON ;TMR0 int enable
banksel ANSELA
clrf ANSELA ;dacout digital i/o
banksel TRISA
bcf TRISA,0 ;DACOUT
Start_0
btfsc OSCSTAT,HFIOFR ;1 = HFINTOSC is ready
btfss OSCSTAT,PLLR ;1 = 4xPLL is ready
bra Start_0
call DacKontrol
bsf INTCON,GIE ;global interrupt enable
nop
nop
Main
nop
nop
bra Main
DacKontrol
banksel DACCON0
movlw b'11100000' ;DACEN DACLPS DACOE — DACPSS<1:0> — DACNSS
movwf DACCON0 ;DACEN: 1 = DAC is enabled
;DACLPS: 1 = DAC Positive reference source selected
;DACOE: 1 = DAC voltage level is also an output on the DACOUT pin
;DACPSS: 00 = DAC Positive Source VDD
;DACNSS: 0 = DAC Negative Source Vss
clrf DACCON1 ;— — — DACR<4:0>
;DACR<4:0>: DAC Voltage Output Select bits
return
end
Reklamlar