컨텐츠 바로가기


  • AC/DC POWER
  • DC/DC POWER
  • Switching Regulator
  • LED AC/DC POWER
  • LED DC/DC POWER
  • MEDICAL POWER
  • DC/AC POWER
  • 기타 제품


현재 위치

  1. 게시판
  2. 자료실

자료실

제품의 데이터시트 카달로그등을 다운받아 보실 수 있습니다.

2개의 아나로그 입력
제목 2개의 아나로그 입력
작성자 Silicon Labs (ip:)
  • 작성일 2006-12-12 16:17:52
  • 추천 추천 하기
  • 조회수 23784
  • 평점 0점

 데이터를 처리하는 예제 프로그램 입니다.

 

 

 

 

;-----------------------------------------------------------------------------
; SAMPLE Electronics co.     http://www.SAMPLE.co.kr
;
; ADC Two channel Test
;-----------------------------------------------------------------------------
; ADC Timming : Internal OSC 15 MHz Mode
;
;
;       P1.0 ---++----------------++----------------++-----------------
;               ||                ||                ||
;               ||                ||                ||
;               ||                ||                ||
;               ++                ++                ++
;               <--- 12.1 uSec --->
;
;
;-----------------------------------------------------------------------------
; 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
;-----------------------------------------------------------------------------
; ADC0_Init
;-----------------------------------------------------------------------------
; This routine initializes the ADC for left-justified mode
                                  ;
ADC0_Init:                        ;
        clr   ADCEN               ; disable ADC
        mov   AMX0CF, #00h        ; independent single-ended mode
        mov   REF0CN, #07h        ; enable temp sensor, bias
                                  ; generator, and output  buffer
        mov   ADC0CF, #01100000b  ; ADC conversion clock = SYSCLK/8 for 18.432MHz
                                  ; GAIN = 1x
        mov   ADC0CN, #11000001b  ; 6:   Tracking starts with the write of 1 to
                                  ;      ADBUSY and lasts for 3 SAR clocks
                                  ; 3-2: ADC conversion started upon every
                                  ;      write of 1 to ADBUSY
        setb  ADCEN               ; Enable ADC
;-----------------------------------------------------------------------------
; ADC test
;-----------------------------------------------------------------------------
adc_ch0:                          ; Chanel 0
        mov   AMX0SL, #00h        ; Select AIN0 ADC input
                                  ;
                                  ;
        clr   ADCINT              ; Clear pending conversion complete indicator
        setb  ADBUSY              ; Initiate ADC conversion
        jnb   ADCINT, $           ; Wait for conversion complete
                                  ;
        mov   A, ADC0L            ; Display Ain0 to P3:P1
        orl   A, #0FH             ;
        mov   P1, A               ;
        mov   P3, ADC0H           ;
        clr   p1.0                ; Pluse Out
                                setb  p1.0                ;
;-----------------------------------------------------------------------------
        sjmp    adc_ch1           ; Next chanel
;-----------------------------------------------------------------------------
adc_ch1:                          ; Chanel 1
        mov   AMX0SL, #01h        ; Select AIN1 ADC input
                                  ;
        clr   ADCINT              ; Clear pending conversion complete indicator
        setb  ADBUSY              ; Initiate ADC conversion
        jnb   ADCINT, $           ; Wait for conversion complete
                                                          ;
        mov   A, ADC0L            ; Display Ain1 to P2:P0
        orl   A, #0FH             ;
        mov   P0, A               ;
        mov   P2, ADC0H           ;
        clr   p1.0                ; Pulse Out
                                setb  p1.0                ;
;-----------------------------------------------------------------------------
        sjmp  adc_ch0             ; Next chanel
;-----------------------------------------------------------------------------

;-----------------------------------------------------------------------------
; End of file.

END

첨부파일
비밀번호 삭제하려면 비밀번호를 입력하세요.

목록

삭제 수정 답변

댓글 수정

비밀번호

수정 취소

/ byte

댓글 입력

이름 비밀번호 관리자답변보기

확인

/ byte


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

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