1 / 14

8051 마이크로컨트롤러 제 5 장 . 시리얼 포트 (Serial Port)

8051 마이크로컨트롤러 제 5 장 . 시리얼 포트 (Serial Port). 시리얼 (Serial) 통신. Serial 통신 - Serial 통신은 하나의 신호선을 이용해서 데이터를 비트 단위로 보내는 방식 “예” 8 비트 UART(Universal Asynchronous Receiver Transmitter). -1- 청강문화산업대학 이동통신과.

Télécharger la présentation

8051 마이크로컨트롤러 제 5 장 . 시리얼 포트 (Serial Port)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 시리얼(Serial) 통신 • Serial 통신 - Serial 통신은 하나의 신호선을 이용해서 데이터를 비트 단위로 보내는 방식 “예” 8비트 UART(Universal Asynchronous Receiver Transmitter) -1-청강문화산업대학 이동통신과

  2. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) Serial interface 통신 규격 • Serial interface 통신 규격 : RS-232C, RS-422, RS-423 etc. - “예” RS-232C -2-청강문화산업대학 이동통신과

  3. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 시리얼(Serial) 통신 • Serial 통신 이점 - 적은 수의 통신 라인 사용과 먼 거리 전송 • Serial 통신 전송 방식 - simplex : 단방향 전송 방식 - 라디오 - half duplex : 반이중 전송 방식(서로 다른 시간 양방향 전송 방식) - 무전기 - (full) duplex : 전이중 전송 방식(동시 양방향 전송 방식) - 8051 • 속도 - bps(bits per second) : 1초당 전송되는 비트의 수 - baud rate : 1초당 전송되는 변조된 신호의 수 * 8051에서는 하나의 비트가 하나의 신호이므로 같은 의미 -3-청강문화산업대학 이동통신과

  4. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 시리얼 포트 레지스터 • SBUF(Serial data BUFfer) - 송신할 데이터와 수신할 데이터를 일시적으로 저장하는 레지스터 - 이중 구조(같은 이름, 같은 주소) : 송신용 SBUF, 수신용 SBUF • SMOD(PCON.7) - 2배의 baud rate flag(SMOD를 “1”로 하면 baud rate가 2배 * 모드 SM0( 0 ) SM1( 0 ) 모드0 – 동기식, Shift Register, 고정(Osc.  12) SM0( 0 ) SM1( 1 ) 모드1 – 비동기식, 8bit UART, 가변(타이머에 의해) SM0( 1 ) SM1( 0 ) 모드2 – 비동기식, 9bit UART, 고정(Osc.  32 or 64) SM0( 1 ) SM1( 1 ) 모드3 – 비동기식, 9bit UART, 가변(타이머에 의해) -4-청강문화산업대학 이동통신과

  5. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) SCON(Serial port CONtrol register) - SMO, SM1 : 모드 선택(앞장 참조) - SM2 : 모드2,3일 때 다중 통신 가능, 이 비트를 “1”로 하면, 수신 데이터의 9번째 비트가 “1”이면 데이터 수신, “0”이면 데이터 무시 - REN : 수신 가능 비트, 수신하기 위해서는 “1”로 설정 - TB8 : 모드2,3에서 송신 데이터의 9번째 비트는 TB8 값임 - RB8 : 모드2,3에서 수신 데이터의 9번째 비트의 값을 표현 - TI : 한 문자를 송신하면 “1”로 설정, 소프트웨어에 의해 clear - RI : 한 문자를 수신하면 “1”로 설정, 소프트웨어에 의해 clear -5-청강문화산업대학 이동통신과

  6. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 동작 모드 • 모드0(8비트 쉬프트 레지스터) - 동기식, 8개의 데이터, baud rate는 Osc.  12 - TXD : 동기 clock 신호, RXD : 데이터 입/출력 • 모드1,2,3 - 모드1 : 비동기식, 8비트 데이터 UART, baud rate는 타이머에 의해 가변 (8비트 데이터 UART : 시작 비트, 8비트 데이터, 종료 비트) - 모드2 : 비동기식, 9비트 데이터 UART, baud rate는 Osc.  32 or 64 (9비트 데이터 UART : Start bit, 8bit Data, 9번째 bit, Stop bit) - 모드3 : 비동기식, 9비트 데이터 UART, baud rate는 타이머에 의해 가변 (9비트 데이터 UART : Start bit, 8bit Data, 9번째 bit, Stop bit) -6-청강문화산업대학 이동통신과

  7. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 시리얼 포트 레지스터의 초기화 • 수신 가능 : 수신을 위해서는 REN을 “1”로 설정 - SETB REN or MOV SCON, #xxx1xxxxB • 9번째 데이터 비트 - 다중 통신에 중요한 역할, 패리티 추가 • 인터럽트 플래그 - TI, RI는 한 문자의 송,수신에 의해 “1”로 설정, 소프트웨어에 의해 0(clear) - RI의 초기값은 “0” - TI의 초기값은 “1” WAIT: JNB RI, WAIT WAIT: JNB TI, WAIT CLR RI CLR TI MOV A, SBUF MOV SBUF, A -7-청강문화산업대학 이동통신과

  8. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) Baud rate • 모드0 : OSC/12, 모드2 : OSC/32(SMOD=1) or OSC/64(SMOD=0) • 모드1,3 : 타이머/카운터 1의 OV(over flow) -8-청강문화산업대학 이동통신과

  9. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 모드1,3의 baud rate 설정 - 타이머/카운터 1의 모드2(8비트 자동 재적재 모드) 사용 - 5% 내의 오차는 허용, 정확한 baud rate를 위해 11.0592MHz 사용(표5-3 참조) - TH1 재적재 값 구하기(baud rate = 1200, Osc = 12MHz, SMOD = 0인 경우) baud rate = 타이머/카운터 1의 OV  32 타이머/카운터 1의 OV = 1200(baud rate)  32 = 38400Hz 주기(T)는 1  38400Hz = 26.04us Osc가 12MHz이므로 타이머/카운터 1의 1clock은 1us, 따라서 TH1은 -26 - 오차 구하기 -26은 38461.5Hz  38461.5Hz  32 = 1202(baud rate) 1202 - 1200 1200 = 0.0016 = 0.16% -9-청강문화산업대학 이동통신과

  10. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 예제 5-1 • 시리얼 포트의 초기화 (baud rate = 9600, Osc = 11.0592MHz, SMOD = 0, 8비트 UART인 경우) SCON, SMOD = 0, TMOD, TH1, TCON ORG 8000H INIT: MOV SCON, #52H ; 모드1(SM0=0, SM1=1), REN=1, TI=1 MOV TMOD, #20H ; T/C 1 모드2(M1=1, M0=0) MOV TH1, #-3 ; 표 5-3 참조 SETB TR1 END -10-청강문화산업대학 이동통신과

  11. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 예제 5-2 • 문자 출력 서브루틴: 7비트 ASCII, 8번째 비트는 홀수 패리티 ORG 8000H OUTCHR:MOV C, P ; 패리티 비트를 C에 넣음 CPL C ; 홀수 패리티로 변경 MOV ACC.7, C ; 문자 코드를 추가 AGAIN: JNB TI, AGAIN ; 송신버퍼가 비었니? 아니오:다시 체크 CLR TI ; 예 MOV SBUF, A ; 문자 송신 CLR ACC.7 ; 패리티 비트를 벗겨버림 RET ; 복귀 -11-청강문화산업대학 이동통신과

  12. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 예제 5-2 • 문자 입력 서브루틴: 7비트 ASCII, 8번째 비트는 홀수 패리티 ORG 8000H INCHR: JNB RI, INCHR ; 문자를 기다림 CLR RI ; RI를 clear MOV A, SBUF ; 수신 문자를 ACC로 MOV C, P ; 홀수 패리티 CPL C ; 에러 여부 확인 CLR ACC.7 ; 패리티 비트를 제거 RET END -12-청강문화산업대학 이동통신과

  13. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 실험(수신) • 9600bps, 7비트 ASCII, 8번째 비트는 홀수 패리티, P1으로 출력 ORG 8000H INIT: MOV SCON, #50H MOV A, SBUF MOV TMOD, #20H MOV C, P MOV TH1, #-3 CPL C SETB TR1 MOV ACC.7, C MOV P1, #0 MOV P1, A ; JMP INCHR INCHR: JNB RI, $ ; CLR RI END -13-청강문화산업대학 이동통신과

  14. 8051 마이크로컨트롤러 제5장. 시리얼 포트(Serial Port) 과제물(Report) • 기한 : 10월 11일(금) 17시까지 강의도우미가 수거하여 제출 1. 예제 5-2 : 문제, 프로그램, 설명 기재 2. 실험(수신) : 문제, 프로그램, 설명 기재 * 자필로 작성해야 함(가급적 A4지 1장에 기재) -14-청강문화산업대학 이동통신과

More Related