[마이크로프로세서응용실험] (예비) 실험 10: 반도체 온도 센서를 이용한 온도 측정
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[마이크로프로세서응용실험] (예비) 실험 10: 반도체 온도 센서를 이용한 온도 측정에 대한 보고서 자료입니다.

목차

문제 1. DS1620 소자의 각 핀의 기능에 대해 설명하시오.
문제 2. DS1620 내부의 다음 두 레지스터의 기능에 관해 설명하시오.
문제 3. 실험에 이용되는 프로그램에서 <ReadDS1620> 서브루틴의 동작 원리를 설명하시오.
문제 4. DS1620에서 다음 값을 출력하였다. 이 경우 이 값이 실제의 온도 값으로 변환되어 LCD에 디스플레이 되는 과정을 아래의 프로그램을 이용하여 설명하시오.

본문내용

Word); // Hex 값을 디스플레이를 위해 Decimal로 바꿈
HexToASCII(BuffWord); // 저장된 Decimal 데이터를 ASCII 코드로 바꿈
if(Temp[2]>0x30) Cput(Temp[2]); // 온도 디스플레이, 100자리 수가 0면 표시하지 않음
if(Temp[1]>0x30) Cput(Temp[1]); // 온도 디스플레이, 100자리 수가 0면 표시하지 않음
Cput(Temp[0]);
Cput(0);
Cput('C');
Put_String(" ::::");
delay_ms(300);
}
(a) 000110010
- BuffWord = 0 0011 0010이다. 부호를 따지기 위해 0x100과 AND 연산을 하면 giho = 0x000이며 양수임을 말한다. 분해능이 0.5이므로 2로 나누는 문장 BuffWord>>=1을 해서 8비트로 바꾸어 주면
BuffWord = 00011001 이된다.(이때 마지막 0.5는 버린다) 온도 데이터를 제외한 모든 값들을 버리기 위해 0x7f와 &= 연산을 하면 그대로 00011001이고 조건문에 대해 0℃초과이므로 ‘+’를 LCD에 디스플레이 한다. 그리고 이 Hex 값을 디스플레이 하기 위해 Decimal로 바꾸고 ASCII를 인식하는 LCD를 위해 다시 ASCII로 바꾼다. 그리하여 00011001 = 25이고 부호비트 +가 더해져서 , +25°가 출력이 된다.
(b) 111001110
- BuffWord = 1 1100 1110이다. 부호계산을 위해 0x100과 AND연산을 하면 giho = 0x100이며 이는 음수임을 말한다. BuffWord>>=1을 해서 8비트로 바꾸어지면 11100111이되고, 다시 0x7f와 &=연산을 하면 01100111이 된다. 대해 giho>0이므로 0° 미만이므로 signed int로 바꾸기 위해 0x80을 뺀다.
조건문에 대해 BuffWord<0이므로 ‘-’ 를 LCD에 디스플레이 하고 숫자를 디스플레이하기 위해 데이터 변환을 한다. Buff &= 0xff로 -1을 해주고 Buff = 0x100-BuffWord 해주어서 비트를 반전시킨다. 이 Hex 값을 디스플레이하기위해 Decimal로 바꾸고 다시 ASCII로 바꾸어서 결국 부호비트 ‘-’에 온도 값은
00011001 = 25가 돼서 LCD에는 -25°가 출력이 된다.
참고로 1620 디지털 출력과 온도를 비교해서 보아도 알 수 있다.
  • 가격2,800
  • 페이지수6페이지
  • 등록일2014.03.16
  • 저작시기2014.1
  • 파일형식한글(hwp)
  • 자료번호#908198
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니