구)홈페이지 오탈자 보기
IT CookBook, C 언어로 배우는 8051 마이크로프로세서

 

페이지오탈자 내용등록일
6201

(측면 내용)

201 페이지 오른쪽 측면 날개에 있는 내용에서 뒷부분을 아래와 같이 수정합니다.

2012-03-021
6228

(P06_02.c)

오류가 있는 것이 아니라, 기존 프로그램도 잘 동작하지만 보다 단순하게 수정한 코드입니다.


#include <reg51.h>

unsigned char led, count;

void TMR1_int(void) interrupt 3 // 타이머/카운터 1 인터럽트 벡터번호 = 3
{
EA=0; // 인터럽트 디스에이블
count--; // count 값을 하나 감소
if (count==0) { // 1초가 경과하였는가?
led=(led<<1) | 0x01; // LED 상태 변경
if (led==0xff) led=0xfe; // 마지막인지 검사, 마지막이면 재설정
P1=led; // 포트 1로 출력
count=20; // 인터럽트 반복횟수 재정의
}
TH1=0x3c; // 시정수 설정(0.05초)
TL1=0xb0; // 65536-50000=3CB0H
EA=1; // 인터럽트 인에이블
return;
}

void main(void)
{
TMOD=0x10; // 타이머 1을 모드 1로 설정
TH1=0x3c; // 시정수 설정(0.05초)
TL1=0xb0; // 65536-50000=3CB0H
ET1=1; // 타이머 1 인터럽트 인에이블
EA=1; // 전체 인터럽트 인에이블
PT1=1; // 타이머 1 인터럽트 우선순위 High
TR1=1; // 타이머 1 run
led=0xfe; // 초기 데이터 설정
P1=led; // 포트 1로 출력
count=20; // 인터럽트 반복횟수 설정
while(1); // 인터럽트 대기
}

2012-03-021
6231

(P06_03.c)

코드에 오류가 있는 것이 아니라, 기존의 코드를 단순하게 수정하였습니다.

#include <reg51.h>

unsigned char segment_7, count;

void TMR1_int(void) interrupt 3 // 타이머/카운터 1 인터럽트 벡터 번호 = 3
{
EA=0; // 인터럽트 디스에이블
count--; // count 값을 하나 감소
if (count==0) { // 1초가 경과하였는가?
segment_7++; // segment_7값을 하나 증가
if (segment_7==0x0a) segment_7=0x00;// 마지막인지 검사, 마지막이면 재설정
P1=segment_7; // 포트1로 출력
count=20; // 인터럽트 반복횟수 재설정
}
TH1=0x3c; // 시정수 설정(0.05초)
TL1=0xb0; // 65536-50000=3CB0H
EA=1; // 인터럽트 인에이블
return;
}

void EXT1_int(void) interrupt 2 // 외부 인터럽트 1 벡터번호 = 2
{
segment_7=0xff;
return;
}

void main(void)
{
TMOD=0x10; // 타이머 1을 모드 1로 설정
TH1=0x3c; // 시정수 설정(0.05초)
TL1=0xb0; // 65536-50000=3CB0H
ET1=1; // 타이머 1 인터럽트 인에이블
IT1=1; // 외부 인터럽트 1 인에이블
EA=1; // 전체 인터럽트 인에이블
EX1=1; // 외부 인터럽트 1의 우선순위 High
TR1=1; // 타이머 1 Run
segment_7=0x00; // 초기 출력 데이터
P1=segment_7; // 포트 1로 출력
count=20; // 인터럽트 반복횟수 설정
while(1); // 인터럽트 대기
}

2012-03-021
6246

(19번)

연습문제 19번에 오탈자를 다음과 같이 수정합니다.

2012-03-021
6246

(23번)

연습문제 23번을 다음과 같이 정정합니다.

2012-03-021
6247

(27번)

연습문제 27번 타이머 시간을 다음과 같이 수정합니다.

2012-03-021
7282

(왼쪽 측면)

282쪽 왼쪽 측면에 있는 5x7 도드 매트릭스 핀 배치도를 다음과 같이 수정합니다.

2012-03-021
7283

(오른쪽 측면)

283쪽 오른쪽 측면에 있는 5x7 도드 매트릭스 핀 배치도를 다음과 같이 수정합니다.

2012-03-021
7286

(3색 8x8 도드 매트릭스 표 중 14번)

3색 8x8 도드 매트릭스 소요부품 중에서 공통캐소드 14번 Linear IC 규격을 다음과 같이 수정합니다.

2012-03-021
8310

([그림 8-9])

[그림 8-9]를 다음과 같이 수정합니다.

2012-03-021
8312

(P08_03a.c)

코드에 오류가 있는 것이 아니라 기존 프로그램도 잘 동작하지만 보다 단순하게 수정하였습니다.

#include <reg51.h>
sbit buzzer = P1^0;
sbit signal = P3^3;

void main(void)
{
buzzer = 0; // 버저 off
while(signal); // 신호가 입력될 때까지 대기
buzzer = 1; // 버저 on
while(1);
}

2012-03-021
8312

(P08_03b.c 코드)

코드에 오류가 있는 것이 아니라 기존 프로그램도 잘 동작하지만 보다 단순하게 수정하였습니다.

#include <reg51.h>
sbit buzzer = P1^0;

void EXT1_int(void) interrupt 2 // 외부 인터럽트 1 벡터 번호 = 2
{
EA = 0; // 인터럽트 디스에이블
buzzer = 1; // 버저 on
while(1);
}

void main(void)
{
buzzer = 0; // 버저 off
IT1 = 1; // 외부 인터럽트 1 에지 트리거 모드
EX1 = 1; // 외부 인터럽트 1 인에이블
EA = 1; // 전체 인터럽트 인에이블
while(1); // 인터럽트 대기
}

2012-03-021
8316

([그림 8-12])

[그림 8-12]를 아래와 같이 정정합니다.

2012-03-021
9339

(p09_01d.c)

프로그램 코드 main 함수 내용 일부를 다음과 같이 수정합니다.

2012-03-021
12400

([그림 12-3])

[그림 12-3]을 아래와 같이 수정합니다.

2012-03-021
12413

(소요부품 중 16번 항목)

413 소요부품 중에서 16번 항목을 다음과 같이 수정합니다.

2012-03-021
14479

([그림 14-13])

[그림 14-13]을 다음과 같이 수정합니다.

2012-03-021
15534

(과제)

과제 내용 설명의 오탈자를 다음과 같이 정정합니다.

2012-03-021
15560

([그림 15-17] 제목)

[그림 15-17] 제목 일부에 첨자 처리가 안되어 다음과 같이 정정합니다.

2012-03-021
15565

(3번째 단락 2번째 줄)

656쪽 3번째 단락 2번째 줄 일부를 다음과 같이 정정합니다.

2012-03-021
16590

(9번)

연습문제 9번 (나)를 다음과 같이 수정합니다.

2012-03-021