Page 13 - 2
P. 13
8. 소프트웨어 작성하기
가 스피커. , fnd 부분들의 동작을 하기 위한 프로그램 소스
#include <mega88.h>
#include <delay.h>
unsigned int two,one;
unsigned char rx=5;
int count=0;
float f_count;
void speaker();
void fnd();
void main()
{
DDRD=0xfe;
DDRC=0xfc; // 온도센서 입력과 스피커 출력
DDRB=0xff; //fnd 출력
ADCSRA=0x8f; // adc 허용 분주비 선택, (128)
SREG|=0x80; // 인터럽트 허용
UCSR0A = 0x00;
UCSR0B = 0b11011000;
UCSR0C = 0b00000110;
UBRR0H = 0;
UBRR0L = 51; // 통신속도
while (1){
ADMUX =0x01;
ADCSRA=0xcf;
delay_ms(5);
fnd();
speaker();
}
}
void speaker() // 스피커 부분의 서브함수
{
if(rx==0x01)
PORTC=0x04;
if(rx==0x00)
PORTC=0x00;
}
void fnd() //fnd 부분의 서브함수
{
f_count = (float)(count * 3.7 / 1023.0);
count = (int)(f_count * 100.0 )*100; //ADC 받은 값 계산
- 13 -