會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





PIC12F1612 DAC設置問題與輸出電壓不符
新會員
註冊日期:
2018/12/10 14:53
所屬群組:
註冊會員
文章: 1
等級: 1; EXP: 0
HP : 0 / 0
MP : 0 / 0
離線
各位前輩好,小弟是新接觸MCU的新人,因情況需要使用組合語言寫程式。
但是在設置DAC輸出時,發生問題,求助各位~

目的: 想讓DACOUT輸出與VDD相同電壓。或是接近4.8V的輸出。
問題: 設置完下列程式後該腳位只有2V~2.2V左右的輸出
在Datasheet中有看到DAC1OUT1的優先權是大於RA0。

周邊情況:
採用MPLAB X IDE v5.10
編程器使用 PICKIT 4

示波器量測PIC12F1612狀況顯示如下
VDD=5V
DAC1OUT1=2.08V
VSS=0V


程式碼如下

list p = 12f1612
#include "p12f1612.inc"

; CONFIG1
; __config 0x39BC
__CONFIG _CONFIG1, _FOSC_INTOSC & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOREN_OFF & _CLKOUTEN_OFF
; CONFIG2
; __config 0x3DFF
__CONFIG _CONFIG2, _WRT_OFF & _ZCD_OFF & _PLLEN_ON & _STVREN_OFF & _BORV_LO & _LPBOR_OFF & _LVP_ON
; CONFIG3
; __config 0x3F9F
__CONFIG _CONFIG3, _WDTCPS_WDTCPS1F & _WDTE_OFF & _WDTCWS_WDTCWSSW & _WDTCCS_SWC

RES_VECT CODE 0x0000

START
BANKSEL OSCCON
MOVLW B'01101010' ;SPLLEN 0 ;IRCF 1101 ;bit3 = 0;SCS 10 ;OSCILLATOR CONTROL REGISTER 4MHz
MOVWF OSCCON ;Addr 099h

BANKSEL PORTA ;
CLRF PORTA ;Init PORTA
BANKSEL LATA
CLRF LATA ;Data Latch
BANKSEL ANSELA
CLRF ANSELA ;digital I/O

BANKSEL PORTA
MOVLW B'00000000'
MOVWF PORTA

BANKSEL TRISA ;
MOVLW B'00011010' ;Set RA<5:4> as inputs and set RA<2:0> as outputs
MOVWF TRISA ;TRISx registers (data direction ;input or output)

BANKSEL LATA
MOVLW B'00000000'
MOVWF LATA

BANKSEL ANSELA
MOVLW B'00010011'
MOVWF ANSELA

BANKSEL DAC1CON0;
MOVLW B'10100000' ;Set DAC is enabled and DAC voltage level is also an output on the DACxOUT1 pin
MOVWF DAC1CON0 ;Set VDD is DAC1 Positive Source Select bits
LOOP
BANKSEL DAC1CON1;
MOVLW B'11111111'
MOVWF DAC1CON1
GOTO LOOP

END;

麻煩各位了,感謝!!

2018/12/10 18:28
轉換PDF檔 列印


Re: PIC12F1612 DAC設置問題與輸出電壓不符
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14737
等級: 73; EXP: 42
HP : 1086 / 1810
MP : 4912 / 79729
離線
看不出 DAC 的暫存器的上設定的問題。

試著將 Loop 只執行一次,改用 goto $ (相當於 while(1);) 看看。

2018/12/11 17:42
轉換PDF檔 列印


Re: PIC12F1612 DAC設置問題與輸出電壓不符
資深會員
註冊日期:
2006/02/10 09:49
所屬群組:
註冊會員
文章: 298
等級: 16; EXP: 14
HP : 0 / 378
MP : 99 / 14704
離線
試試把輸出關掉

BANKSEL TRISA
;
MOVLW B'00011011'    ;Set RA<5:4> as inputs and set RA<2:0> as outputs
MOVWF TRISA    
;TRISx registers (data direction ;input or output)

2018/12/14 15:41
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project