목차
문제 1. 터미널의 송신(Transmit) 창에 a~e, A~E 를 타이핑 하면서 수신(Receive) 창에 나타나는 값을 살펴보시오. 이 때 수신창의 선택을 HEX 와 String 으로 바꾸면서 살펴본다.
문제 2. PC와 8051의 전송속도는 서로 일치해야 한다. PC의 전송속도를 4800으로 바꾼 후 8051과 통신이 되도록 프로그램을 수정하고 이를 시험하시오.
문제 3. (예비보고서 확인) PC 하이퍼터미널에서 소문자 a, b, c 를 송신하면 8051이 이를 받아 대문자 A, B, C 로 바꾸어 다시 송신하도록 프로그램을 작성하고, 이 프로그램이 제대로 수행되는지를 확인하시오.
※ 위 문제 1에서 변경한 전송속도 이용하여 문제 2 실험 후 문제 1,2 동시 확인
문제 4. 만일 8051에서 문자 ‘A’ 를 송신한다면 실제로 어떤 디지털 값이 송신될지 설명하고 이 신호를 또한 그림으로 나타내보시오. (start bit, stop bit 포함)
※ 결과 및 토의
문제 2. PC와 8051의 전송속도는 서로 일치해야 한다. PC의 전송속도를 4800으로 바꾼 후 8051과 통신이 되도록 프로그램을 수정하고 이를 시험하시오.
문제 3. (예비보고서 확인) PC 하이퍼터미널에서 소문자 a, b, c 를 송신하면 8051이 이를 받아 대문자 A, B, C 로 바꾸어 다시 송신하도록 프로그램을 작성하고, 이 프로그램이 제대로 수행되는지를 확인하시오.
※ 위 문제 1에서 변경한 전송속도 이용하여 문제 2 실험 후 문제 1,2 동시 확인
문제 4. 만일 8051에서 문자 ‘A’ 를 송신한다면 실제로 어떤 디지털 값이 송신될지 설명하고 이 신호를 또한 그림으로 나타내보시오. (start bit, stop bit 포함)
※ 결과 및 토의
본문내용
진수로는 0x41이고 2진수로는 01000001 이다. 이 값이 8051에서 송신될 땐 우선, 8051의 내부 RAM 주소 99H에 위치한 SBUF(write only) 레지스터에 쓰여진다. 이 버퍼에 쉬프트 된 8비트 데이터는 보드레이트 클럭(앞서 구한 4800 bps)에 의해 TXD 라인으로 1비트씩 전송 된다. 직렬포트 쉬프트 레지스터의 동기는 보드 레이트 클럭을 출력하는 4비트 16진 카운터에 의해 이루어진다.
문자 A의 데이터는 8비트(01000001) 이지만 통신모드1 일땐 10비트 프레임으로 앞뒤에 시작비트와 정지비트가 추가되어 시작비트→ 8비트 데이터→ 정지비트
순서로 송신이 된다. 이 때 데이터는 LSB부터 송신된다.(LSB→MSB) 따라서 실제적으로 송신되는 디지털 값은
0100000101 (10비트)이다. 그리고 TXD상에 정지비트가 나타나는 순간 SCON 레지스터의 TI=1이 되면서 송신이 완료(송신 동작 준비됨)가 되었음을 말한다.
※ 결과 및 토의
8051의 직렬통신을 실험으로 배우면서 통신의 원리를 조금이나마 깨달을 수 있었다. 단방향, 반이중, 전이중의 방향성이 있고 동기식 비동기식에 따른 장단점, SCON, SBUF 레지스터와 SMOD비트를 통해 모드 또는 속도를 결정하고 레지스터의 각 비트가 의미하는 바에 대해서도 공부했다. 이번실험은 매우 간단한 원리라서 금방 해결하고 이해할 수 있었지만 제대로된 통신에 대해서는 많은 공부가 필요할 것 같다.
만약 송수신되는 값이 아스키코드표의 범위를 벗어나면 어떻게 될까하는 생각을 해봤다
현재 아스키코드는 확장아스키코드로 1 byte (8bit) 표현이 가능이다 즉 0~255번까지 256개의 아스키코드 값이 존재한다. 만약 하이퍼터미널의 입력 값에서 -75 한 값을 출력하도록 할 때, 숫자 0 (아스키코드 48)을 입력하면 출력되는 값은 48-75 = -27이 되는데 화면을 확인해 보니 맨 뒤부터 돌아가서 256-27 = 229, 아스키코드 229번 (Hexa로 E5)의 값이 출력되는 것을 알 수 있었다.
반대로 입력값에서 +250한 값을 출력하도록 할 때, 소문자 z(아스키코드 122)를 입력하면 출력되는 값은 122+250 = 372가 되는데 화면을 확인해보니 372-256 = 116, 아스키코드 116번(Hexa로 74)의 값인
소문자 t가 출력되는 것을 알 수 있었다.
c = c - 75인 경우
c = c + 250인 경우
문자 A의 데이터는 8비트(01000001) 이지만 통신모드1 일땐 10비트 프레임으로 앞뒤에 시작비트와 정지비트가 추가되어 시작비트→ 8비트 데이터→ 정지비트
순서로 송신이 된다. 이 때 데이터는 LSB부터 송신된다.(LSB→MSB) 따라서 실제적으로 송신되는 디지털 값은
0100000101 (10비트)이다. 그리고 TXD상에 정지비트가 나타나는 순간 SCON 레지스터의 TI=1이 되면서 송신이 완료(송신 동작 준비됨)가 되었음을 말한다.
※ 결과 및 토의
8051의 직렬통신을 실험으로 배우면서 통신의 원리를 조금이나마 깨달을 수 있었다. 단방향, 반이중, 전이중의 방향성이 있고 동기식 비동기식에 따른 장단점, SCON, SBUF 레지스터와 SMOD비트를 통해 모드 또는 속도를 결정하고 레지스터의 각 비트가 의미하는 바에 대해서도 공부했다. 이번실험은 매우 간단한 원리라서 금방 해결하고 이해할 수 있었지만 제대로된 통신에 대해서는 많은 공부가 필요할 것 같다.
만약 송수신되는 값이 아스키코드표의 범위를 벗어나면 어떻게 될까하는 생각을 해봤다
현재 아스키코드는 확장아스키코드로 1 byte (8bit) 표현이 가능이다 즉 0~255번까지 256개의 아스키코드 값이 존재한다. 만약 하이퍼터미널의 입력 값에서 -75 한 값을 출력하도록 할 때, 숫자 0 (아스키코드 48)을 입력하면 출력되는 값은 48-75 = -27이 되는데 화면을 확인해 보니 맨 뒤부터 돌아가서 256-27 = 229, 아스키코드 229번 (Hexa로 E5)의 값이 출력되는 것을 알 수 있었다.
반대로 입력값에서 +250한 값을 출력하도록 할 때, 소문자 z(아스키코드 122)를 입력하면 출력되는 값은 122+250 = 372가 되는데 화면을 확인해보니 372-256 = 116, 아스키코드 116번(Hexa로 74)의 값인
소문자 t가 출력되는 것을 알 수 있었다.
c = c - 75인 경우
c = c + 250인 경우
키워드
추천자료
- 데이터 통신
- 1. 전화의 통신 모드(대화 방식)는 무엇인가?
- 씨리얼통신에 대하여
- 유비쿼터스 무선통신 반도체 소자 기술
- [경영전략]통신망 확보를 위한 전략적 제휴(MS와 KT의 제휴)
- RS232 통신을 이용한 Keyboard & Dot Matrix Dynamic Display
- IPv6 정보통신망 레포트
- 일반물리학실험2 직렬회로
- [2007년11월]SDR(소프트웨어기반 이동통신시스템)에 관한 조사보고서
- [IT와경영정보시스템]컴퓨터시스템 하드웨어의 직렬처리 방식에 비해 병렬처리 방식의 특징과...
- 데이터통신
- [기술, 반도체신소자기술, 첨단기술, 나노바이오기술]기술과 반도체신소자기술, 기술과 첨단...
- 실험2 RLC 직렬회로 결과보고서
- 실험2 RLC 직렬회로 예비보고서
소개글