ORG     2000H
        MOV     SP,#50H
        MOV     R2,#00H
        ACALL   SINIT
LOOP:   ACALL   RX_DATA
        ACALL   TX_DATA
        SJMP    LOOP
SINIT:  CLR     EA
        MOV     TMOD,#00100000B
        MOV     87H,#0
        MOV     TH1,#0FDH
        SETB    TR1

        MOV     SCON,#01010010B
        MOV     SBUF,#0
        RET

RX_DATA:       
        JNB     RI,$
        MOV     A,SBUF
        PUSH    ACC          ;스텍에 입력 값을 저장
        CLR     RI
        INC     R2               ;입력 값의 수를 카운팅
        CJNE    A,#0DH,RX_DATA
        MOV     SP,#52H
        RET

TX_DATA:MOV     SP,#52H
TX_LOP1:       
        JNB     TI,$
        CLR     TI
        POP     ACC         ;스텍의 내용을 A레지스터에 저장
        INC     SP            ;스텍포인 터증가
        INC     SP
        MOV     SBUF,A   ;전송한다
        DJNZ    R2,TX_LOP1  ;R2 의 수만급 반복 실행
        MOV     SP,#52H
        RET
        END

  직접 작성한 8051자료이다 예제의 답인데 설명하자면 너무길기에 속성으로 적어 남겨둬야 겠다

  프로그랭 목적은 시리얼 통산으로 데이더가 입력 되면 데이터를 저장하다 엔터키가 감지 되면 입력되어 있는 데이터를 출력하는 형태이다

Tagged on:         

답글 남기기

이메일은 공개되지 않습니다.

Comment moderation is enabled. Your comment may take some time to appear.