카테고리

Power Center

마이쇼핑 장바구니


자료실

제목 DAC사용

평점 : 0점  

작성자 : Silicon Labs (ip:)

작성일 : 2006-12-12 16:19:44

조회 : 594

추천 : 추천

내용

 

DAC를 사용할때 반드시 레지스터 REF0CN 에서 VREF에관한 설정을 하여야 합니다.

 

;-----------------------------------------------------------------------------
; SAMPLE Electronics co.     http://www.SAMPLE.co.kr (02)707-3882
;
; DAC Test
;-----------------------------------------------------------------------------
; DAC 채널 0 과 1 에 톱니파형을 출력하는 예제프로그램 입니다.
; 내부 15 MHz 오실레이터 사용시
; DAC0 5 mSec, DAC1에 52 mSec 의 주기로 톱니 파형이 출력됩니다.
; DAC 프로그램 작성시 유의할점은 REF0CN 을 설정하여야 합니다.
; 그리고 DACxL 과 DACxH 의 순서로 데이터를 써넣어야 합니다.
;
; DAC0, DAC1 의 출력 파형
;
;        /|      /|      /|
;       / |     / |     / |
;      /  |    /  |    /  |
;     /   |   /   |   /   |
;    /    |  /    |  /    |
;   /     | /     | /     |
;  /      |/      |/      |
;
;
;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------

$MOD8F000

;-----------------------------------------------------------------------------
; VARIABLES
;-----------------------------------------------------------------------------
; Indirect address space variables
                                  ;
ISEG    at    80h                 ;
                                  ;
              org     0e8h        ; temporary forced STACK location
                                  ;
STACK_TOP:    DS     1            ; beginning of hardware  stack
                                  ;
;-----------------------------------------------------------------------------
; MACRO DEFINITIONS
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
; RESET AND INTERRUPT VECTOR TABLE
;-----------------------------------------------------------------------------
CSEG                              ;
        org   00h                 ;
        ljmp  Main                ;
;-----------------------------------------------------------------------------
; MAIN PROGRAM CODE
;-----------------------------------------------------------------------------
        org   0B3h                ;
Main:                             ;
        mov   WDTCN, #0deh        ; disable watchdog timer
        mov   WDTCN, #0adh        ;
                                  ;
;        mov   OSCICN, #00000100b  ; Int OSC 1.9MHz
;        mov   OSCICN, #00000101b  ; Int OSC 3.8MHz
;        mov   OSCICN, #00000110b  ; Int OSC 7.5MHz
        mov   OSCICN, #00000111b   ; Int OSC 15 MHz
        ;
        mov   SP, #STACK_TOP      ; init stack pointer to end of allocated RAM
        mov   XBR2, #40h          ; Enable crossbar and weak pull-ups
;-----------------------------------------------------------------------------
; Reference Control Register Set
;-----------------------------------------------------------------------------
                                  ;
        mov   REF0CN, #00000011b  ; Internal Band-Gap On, Reference Buffer On

;-----------------------------------------------------------------------------
; DAC Initialize
;-----------------------------------------------------------------------------
        mov   DAC0CN, #10000000b  ; The most significant nybble of DAC0
                                  ; Data Word is in DAC0H[3:0], while
                                  ; the least significant byte is in DAC0L
        mov   DAC1CN, #10000100b  ; The most significant byte of the DAC1
                                  ; Data Word is in DAC1H, while the least
                                  ; significant nybble is in DAC1L[7:4].
;-----------------------------------------------------------------------------
dactest:
        mov   a, r0               ; Generate 16 Bit Saw tooth pulse
        add   a, #01h
        mov   r0, a
        mov   a, r1
        addc  a, #00h
        mov   r1, a

        mov   DAC0L, r0           ; Lower Byte
        mov   DAC0H, r1           ; High Byte
                                  ;
        mov   DAC1L, r0           ; Lower Byte
        mov   DAC1H, r1           ; High Byte
                                  ;
        sjmp  dactest
;-----------------------------------------------------------------------------
; End of file.

END


첨부파일 :

비밀번호 :

삭제하려면 비밀번호를 입력하세요.

댓글 수정

비밀번호

내용

/ byte

수정 취소

댓글 입력

이름 :

비밀번호 :

내용

/ byte

평점 :

* 왼쪽의 문자를 공백없이 입력하세요.
(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.