마이크로프로세서 및 실습 레포트7
- 최초 등록일
- 2015.01.19
- 최종 저작일
- 2014.09
- 5페이지/ 한컴오피스
- 가격 1,000원
목차
1.착안
2.플로우차트
3.소스코드
4.고찰
본문내용
마이크로 프로세서 및 실습
2011161072 서성민
과제내용: 가변저항의 전압 값과 써미스터 온도값을 동시에 LCD에 표시하시오.
LCD의 글자 배치는 자유, 2개의 ADC 값을 순차적으로 읽고 LCD에 출력해야한다.
주의사항: 컴파일러 옵션 설정 (sprintf 활성화에 필요)
<착안>
이미 전압과 온도 값을 각각 LCD와 FND에 나타내는 것을 구현 했으므로 온도를 FND가 아니라 배열에 저장해서 LCD에 나타내면 된다고 생각했습니다.
그리고 그러기 위해서는 전압과 온도를 아날로그 값에서 디지털 값으로 바꾸기 위한 채널을 각각 1개씩 따로 만들어서 while문을 이용하면 타이머 인터럽트 없이도 동작이 가능하게 됩니다.
<플로우차트>
<소스코드>
#include "def.h" //LCD등에 필요한 데피니션 헤더를 포함
#include // 기본 연산에 필요한 헤더를 포함
#include
#define Vref 5.0 // AD 변환기준전압= AVCC = 5.0V
char volBuffer[17];// 전압값을 저장할 배열
char tempBuffer[17];// 온도 값을 저장할 배열
char LCD_DisplayBuffer[2][17]; //기본 LCD 배열 크기를 나타냄
#define R0 10000.0 //Interpolation 함수에서 사용할 변수
float Interpolation(float voltage) ; //아날로그 온도를 디지털로 변환 할 때 쓰는 함수
int main(void) //메인 시작
{
DDRA |= 0x1F ; //온도를 받아들이는 A포트를 설정
PORTA &= 0xE0 ; //포트 A의 출력을 01110000으로 설정
// 사용할 변수 설정
float Vb;
float vol ;
float Va=0;
float temp ;
float cel = 0 ;
참고 자료
없음