1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.
판매자 | 킬유21 | 판매 납포인트 | 무료 | 평점 | 0점 / 총 0명 참여 |
---|
include < AT89C51.H > unsigned int Humid_Freq; unsigned int Humidity; unsigned char count; void TIMER1 (void) interrupt 3 { TH1 = 0x3C; //0.05초 타이머 인터럽트 TL1 = 0xB0; //0.05초 타이머 인터럽트 if(count++ == 20) //0.05초 * 20 = 1초동안 측정된 주파수를 세그먼트에 표시한다. { TR0 = TR1 = 0; //카운터, 타이머 모두 정지 TH1 = 0x3C; //0.05초 타이머 인터럽트 다시 갱신 TL1 = 0xB0; //0.05초 타이머 인터럽트 count = 0; Humid_Freq = TH0; //카운터에서 입력받은 상위값을 저장 Humid_Freq = Humid_Freq <<8; //하위값을 받기 위해 8비트 좌로 쉬프트 Humid_Freq |= TL0; //카운터에서 입력받은 하위값을 저장 TH0 = TL0 = 0; //카운터 값 0 으로 초기화 TR1 = 1; //타이머0 다시 시작 TR0 = 1; //카운터 다시 시작 } } void Init_timer(void) { TMOD = 0x15; TH1 = 0x3C; TL1 = 0xB0; //0.05초 타이머 값 설정 TH0 = TL0 = 0; TR1 = 1; //타이머 시작 TR0 = 1; //타이머 시작 ET1 = 1; //타이머 0 인터럽트 허용 EA = 1; //전체 인터럽트 인에블 } void LCD_5d(unsigned int number) /* display 5-digit decimal number */ { unsigned int i; unsigned char flag; flag = 0; i = number/10000; /* 10^4 */ if(i == 0) LCD_data(' '); else { LCD_data(i + '0'); flag = 1; } number = number % 10000; /* 10^3 */ i = number/1000; if((i == 0) && (flag == 0)) LCD_data(' '); else { LCD_data(i + '0'); flag = 1; } number = number % 1000; /* 10^2 */ i = number/100; if((i == 0) && (flag == 0)) LCD_data(' '); else { LCD_data(i + '0'); flag = 1; } number = number % 100; /* 10^1 */ i = number/10; if((i == 0) && (flag == 0)) LCD_data(' '); else LCD_data(i + '0'); i = number % 10; /* 10^0 */ LCD_data(i + '0'); } void main(void) { Delay(2000); Humidity = 0; Humid_Freq = 0; count = 0; Init_timer(); while(1) { if((Humid_Freq<= 7351) && (Humid_Freq>7224)) Humidity = 0; else if((Humid_Freq<= 7224) && (Humid_Freq>7100)) Humidity = 10; else if((Humid_Freq<= 7100) && (Humid_Freq>6976)) Humidity = 20; else if((Humid_Freq<= 6976) && (Humid_Freq>6853)) Humidity = 30; else if((Humid_Freq<= 6853) && (Humid_Freq>6728)) Humidity = 40; else if((Humid_Freq<= 6728) && (Humid_Freq>6600)) Humidity = 50; else if((Humid_Freq<= 6600) && (Humid_Freq>6468)) Humidity = 60; else if((Humid_Freq<= 6468) && (Humid_Freq>6330)) Humidity = 70; else if((Humid_Freq<= 6330) && (Humid_Freq>6186)) Humidity = 80; else if((Humid_Freq<= 6186) && (Humid_Freq>6033)) Humidity = 90; else if(Humid_Freq<= 6033) Humidity = 100; LCD_5d(Humidity); Delay(200); } }