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 -
   8   9   10   11   12   13   14   15   16   17   18