컨텐츠 바로가기


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


현재 위치

  1. 게시판
  2. 자료실

자료실

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

RS-232 데이터 출력(9600BPS)
제목 RS-232 데이터 출력(9600BPS)
작성자 Silicon Labs (ip:)
  • 작성일 2006-12-12 16:21:33
  • 추천 추천 하기
  • 조회수 748
  • 평점 0점

11.0592MHz 외부 크리스탈을 연결하여야 합니다. Timer1 의 오버 플로우, UART Mode 1 을 사용한 것입니다. 크로스바 설정과 외부 오실레이터 설정을 한것 외에는 표준 8051과 동일합니다. DOS 용 시리얼 포트(Com1:) 덤프 프로그램을 사용하면 간단히 확인됩니다.
DOS 모드에서
C:>mode com1:96,n,8,1
C:> R1.exe
 

 

 

 

;-----------------------------------------------------------------------------
; SAMPLE Electronics co.     http://www.SAMPLE.co.kr
; TEL: (02) 707-3882 FAX: (02) 707-3884
;-----------------------------------------------------------------------------
; UART Test
; 이 프로그램은 C8051Fxxx 프로세서의 UART 데이터 출력을 실험합니다.
; 칩외부에 11.0592MHz 크리스탈을 부착하였으며 폴링 모드로 어큐뮬레이터
; A 를 1 씩 증가하여 9600 BPS 속도로 시리얼 출력합니다.
;
;-----------------------------------------------------------------------------
; EQUATES
;-----------------------------------------------------------------------------

$MOD8F000

;-----------------------------------------------------------------------------
; VARIABLES
;-----------------------------------------------------------------------------
; Indirect address space variables

ISEG    at    80h

        org       0e8h             ; temporary forced STACK location

STACK_TOP:      DS     1           ; beginning of hardware  stack

;-----------------------------------------------------------------------------
; RESET AND INTERRUPT VECTOR TABLE
;-----------------------------------------------------------------------------
CSEG
        org       0000h

        ljmp      Main
;-----------------------------------------------------------------------------
; MAIN PROGRAM CODE
;-----------------------------------------------------------------------------
        org       0B3h
Main:
        mov       WDTCN, #0deh     ; 워치독 타이머 동작 금지
        mov       WDTCN, #0adh
        ;
        mov       SP, #STACK_TOP   ; 스택포인터 설정
        mov       XBR2, #40h       ; Enable crossbar and weak pull-ups
        ;
        mov   OSCXCN, #01100101b   ; 외부 오실레이터, 크리스탈을 동작한다.
                                   ; XFCN = '101' for 11.0592 MHz crystal
        mov   OSCICN, #00001000b   ; 외부 오실레이터 클럭을 시스템 클럭으로
                                   ; 사용한다. 내부 오실레이터를 금지한다.
                                   ;
        mov   XBR0, #00000100b     ; UART 의 Tx, Rx를
                               ; P0.0 과 P0.1 에 연결한다.
        mov   XBR2, #01000000b     ; 크로스바를 활성화 한다.
;-----------------------------------------------------------------------------
; SERIAL PORT INITIALIZE
; BAUD RATE TABLE
;
;        11.0592 MHz          (SMOD = 0)
;         9600   ->      0FDH
;         4800   ->      0FAH
;         2400   ->      0F4H
;         1200   ->      0E8H
;
INITSERI:     CLR     A
              MOV     PCON, A             ; PCON.SMOD <- 0
              MOV     TMOD, #00100000B    ; 8-BIT AUTO RELOAD
              MOV     TH1, #0FDH          ; 9600 BPS (11.0592 MHz External )
              MOV     SCON, #01000000B    ; UART MODE 1

              SETB    REN                 ; RECEIVE ENABLE
              SETB    PS                  ; SERIAL PORT PRIORITY BIT
              SETB    TR1                 ; TIMER 1 RUN
;;;;;;        SETB    ES                  ; SERIAL PORT INTERRUPT ENABLE
              SETB    TR0
              SETB    ET0
              ;
;-----------------------------------------------------------------------------
loop:
              inc     A             ; 레지스터 A 를 1 증가한다.
              MOV     SBUF, A       ; 시리얼 버퍼로 보낸다.
              JNB     TI,$
              CLR     TI

              sjmp  loop
;-----------------------------------------------------------------------------
; End of file.

END


첨부파일 20061212162314-덤프프로그램.exe
비밀번호 삭제하려면 비밀번호를 입력하세요.

목록

삭제 수정 답변

댓글 수정

비밀번호

수정 취소

/ byte

댓글 입력

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

확인

/ byte


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

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