목차
문제 1. 프로그램 각 줄에 주석을 다시오.
문제 2. ASCII 코드가 무엇인지 설명하고, 또한 실험 프로그램에서 어떻게 이용되고 있는지 설명하시오.
문제 3. Main 프로그램의 while loop 내 프로그램의 동작에 관해 설명하시오.
문제 4. 아래 실험에 사용하는 프로그램에서 baud rate를 계산하시오. [bps]
문제 5. PC 하이퍼터미널에서 소문자 a, b, c 를 입력하여 8051로 송신하면, 8051에서는 대문자 A, B, C 로 바꾸어 송신하도록 프로그램을 수정해보시오.
문제 2. ASCII 코드가 무엇인지 설명하고, 또한 실험 프로그램에서 어떻게 이용되고 있는지 설명하시오.
문제 3. Main 프로그램의 while loop 내 프로그램의 동작에 관해 설명하시오.
문제 4. 아래 실험에 사용하는 프로그램에서 baud rate를 계산하시오. [bps]
문제 5. PC 하이퍼터미널에서 소문자 a, b, c 를 입력하여 8051로 송신하면, 8051에서는 대문자 A, B, C 로 바꾸어 송신하도록 프로그램을 수정해보시오.
본문내용
10비트 프레임 비동기식 통신모드로
start bit + 8 bit 데이터 + stop bit으로 구성되며 가변 보드레이트로 위에서 말한것처럼 타이머1에 의해진다. 아래 표는 각 모드에 대한 설명이다
보드레이트를 구하는 식은 아래와 같다.
오실레이터 주파수(11.0592MHz)를 12분주한 것이 타이머클럭 주파수고 TH1의 초기설정 값(0xFD, 11111101, 253)에 의해 오버플로우 주기를 정하고 비동기식전용클럭은 타이머 클럭이 16번 들어와야 한번 넘어가므로 16이 나누어 지고 SMOD=0에 의해 2를 또 나눈다.
따라서 이 프로그램의 보드레이트는 이다.
아래의 그림을 통해 보드레이트가 어떻게 전해지는지 볼 수 있다
문제 5. PC 하이퍼터미널에서 소문자 a, b, c 를 입력하여 8051로 송신하면, 8051에서는 대문자 A, B, C 로 바꾸어 송신하도록 프로그램을 수정해보시오.
- 우선 키보드로 ‘a’, ‘b’, ‘c’를 입력하면 아스키코드에 의해 97, 98, 99가 2진수로 바뀌어서 컴퓨터가 인식한 후 이 값을 8051로 전달한다. 직렬 통신에 의해 수신된 값을 다시 하이퍼터미널로 송신한다.
만약 수신된 값을 송신하기 전에 변화시키면 소문자를 대문자로 바꿀 수 있을 것이다
소문자 a, b, c는 아스키코드로 97, 98, 99 이고 대문자 A, B, C는 아스키코드로 65, 66, 67 이어서 소문자와 대문자 사이에 32만큼 차이가 있음을 알 수 있다.
따라서 프로그램에서 새로운 변수 unsigned char ch_1을 받아서 ch_1에 ch에서 32를 뺀 값을 넣어준다면 소문자를 대문자로 바꿀 수 있을 것이다.
void main(void)
{
unsigned char ch;
unsigned char ch_1;// 새로운 변수를 선언한다
Lcd_Clr();
Put_String(\"Serial Port PGM \");
Line2();
Put_String(\"Press any KeyBD \");
Line3();
Put_String(\"Received Data: \");
Serial_Init();
while(1){
ch=RxData();
Line4();
Put_String(\" \");
Cput(ch);
ch_1 = ch - 32; // ch(소문자)에서 32를 뺀 값을 새 변수에 저장한다
TxData(ch_1);// 새 변수를 송신하고 이 송신된 값이 하이퍼터미널에서
대문자로 나타날 것이다
}
}
start bit + 8 bit 데이터 + stop bit으로 구성되며 가변 보드레이트로 위에서 말한것처럼 타이머1에 의해진다. 아래 표는 각 모드에 대한 설명이다
보드레이트를 구하는 식은 아래와 같다.
오실레이터 주파수(11.0592MHz)를 12분주한 것이 타이머클럭 주파수고 TH1의 초기설정 값(0xFD, 11111101, 253)에 의해 오버플로우 주기를 정하고 비동기식전용클럭은 타이머 클럭이 16번 들어와야 한번 넘어가므로 16이 나누어 지고 SMOD=0에 의해 2를 또 나눈다.
따라서 이 프로그램의 보드레이트는 이다.
아래의 그림을 통해 보드레이트가 어떻게 전해지는지 볼 수 있다
문제 5. PC 하이퍼터미널에서 소문자 a, b, c 를 입력하여 8051로 송신하면, 8051에서는 대문자 A, B, C 로 바꾸어 송신하도록 프로그램을 수정해보시오.
- 우선 키보드로 ‘a’, ‘b’, ‘c’를 입력하면 아스키코드에 의해 97, 98, 99가 2진수로 바뀌어서 컴퓨터가 인식한 후 이 값을 8051로 전달한다. 직렬 통신에 의해 수신된 값을 다시 하이퍼터미널로 송신한다.
만약 수신된 값을 송신하기 전에 변화시키면 소문자를 대문자로 바꿀 수 있을 것이다
소문자 a, b, c는 아스키코드로 97, 98, 99 이고 대문자 A, B, C는 아스키코드로 65, 66, 67 이어서 소문자와 대문자 사이에 32만큼 차이가 있음을 알 수 있다.
따라서 프로그램에서 새로운 변수 unsigned char ch_1을 받아서 ch_1에 ch에서 32를 뺀 값을 넣어준다면 소문자를 대문자로 바꿀 수 있을 것이다.
void main(void)
{
unsigned char ch;
unsigned char ch_1;// 새로운 변수를 선언한다
Lcd_Clr();
Put_String(\"Serial Port PGM \");
Line2();
Put_String(\"Press any KeyBD \");
Line3();
Put_String(\"Received Data: \");
Serial_Init();
while(1){
ch=RxData();
Line4();
Put_String(\" \");
Cput(ch);
ch_1 = ch - 32; // ch(소문자)에서 32를 뺀 값을 새 변수에 저장한다
TxData(ch_1);// 새 변수를 송신하고 이 송신된 값이 하이퍼터미널에서
대문자로 나타날 것이다
}
}
키워드
추천자료
워드프로세서 2급 필기 요약
빛의 이용(마이크로파, 적외선, 가시광선) 일상생활
마이크로와 구글 비교
마이크로파 발진기 이론
슈퍼스칼라 프로세서를 이용한 gcc 벤치마크에 대한 성능평가 분석
MS사의 독점 (마이크로 소프트)
[BPR][벤치마킹][CALS][ERP][SCM][TQM]BPR(비즈니스프로세서리엔지니어링), 벤치마킹, CALS(...
마이크로 전기영동(전자종이) 디스플레이
마이크로스트립 대역통과 필터
마이크로 인터럽트 LED밝기 조절
마이크로 세그먼트 & LED
[기업][한국][미국][일본][후지][삼성]한국 기업 삼성(Samsung), 한국 기업 LG, 미국 기업 애...
마이크로 스트립 및 스파이럴 안테나
잭 킬비 Jack St. Clair Kilby 인물조사 레포트 - 집적회로(IC);마이크로칩 발명가, 세계를 ‘...
소개글