1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Y khoa - Dược >

TÀI LIỆU THAM KHẢO

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.62 MB, 163 trang )


ĐỒ ÁN TỐT NGHIỆP

Trang 40/42



PHỤ LỤC

#include <16F877A.h>

#device *=16 adc = 10

#FUSES NOWDT

#FUSES NOBROWNOUT

#FUSES NOLVP

#use delay(crystal=20M)

#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7,bits=8)

#include

#define ChanDHT PIN_C0

void KhoiDongDHT();

unsigned int8 DocGiaTri();

int1 KiemTra();

unsigned



int8



T_Nguyen,



T_ThapPhan,



RH_Nguyen,



MaKiemDHT;

float adc;

int16 ppm;

float buiadc, apbui, bui;

void KhoiDongDHT()

{

output_drive(ChanDHT);

output_low(ChanDHT);

delay_ms(25);

output_high(ChanDHT);

delay_us(30);

output_float(ChanDHT);

}



Hệ thống giám sát và cảnh báo mơi trường khơng khí



RH_ThapPhan,



ĐỒ ÁN TỐT NGHIỆP

Trang 41/42



int1 KiemTra()

{

delay_us(40);

if(input(ChanDHT) == 0)

{

delay_us(80);

if(input(ChanDHT) == 1)

{

delay_us(50);

return 1;

}

}

}

unsigned int8 DocGiaTri()

{

unsigned int8 i, k, dulieu = 0;

for(i = 0; i < 8; i++)

{

k = 0;

while(input(ChanDHT) == 0)

{

k++;

if(k > 100)

{

break;

}

delay_us(1);



Hệ thống giám sát và cảnh báo mơi trường khơng khí



ĐỒ ÁN TỐT NGHIỆP

Trang 42/42



}

delay_us(28);

if(input(ChanDHT) == 0)

bit_clear(dulieu,(7 - i));

else

{

bit_set(dulieu,(7 - i));

while(input(ChanDHT) == 1)

{

k++;

if(k > 100)

{

break;

}

delay_us(1);

}

}

}

return dulieu;

}

void main()

{

set_tris_b(0x00);

delay_ms(10);

lcd_init();

delay_ms(10);

setup_adc(adc_clock_internal);

setup_adc_ports(AN0_AN1_AN2_AN3_AN4);



Hệ thống giám sát và cảnh báo mơi trường khơng khí



ĐỒ ÁN TỐT NGHIỆP

Trang 43/42



delay_us(100);

lcd_gotoxy(1,1);

printf(lcd_putc,"Khoi dong!!!");

delay_ms(30000);

delay_ms(30000);

lcd_init();

while(TRUE)

{

int1 hoanthanh = adc_done();

while(!hoanthanh)

{

hoanthanh = adc_done();

}

output_low(PIN_D1);

set_adc_channel(0);

delay_us(280);

buiadc = read_adc();

delay_us(40);

output_high(PIN_D1);

delay_ms(100);

apbui = buiadc * 0.0048828;

if(apbui < 0.583)

{

bui = 0;

}

else

{

bui = 0.17142 * apbui - 0.1;

}



Hệ thống giám sát và cảnh báo mơi trường khơng khí



ĐỒ ÁN TỐT NGHIỆP

Trang 44/42



set_adc_channel(1);

delay_us(100);

adc = read_adc();

ppm = 6.4995 * adc - 590.53;

lcd_gotoxy(1,1);

printf(lcd_putc,"Co2:%lu ",ppm);

lcd_gotoxy(10,1);

printf(lcd_putc,"Ds:%f ",bui);

KhoiDongDHT();

if(KiemTra() == 1)

{

RH_Nguyen = DocGiaTri();

RH_ThapPhan = DocGiaTri();

T_Nguyen = DocGiaTri();

T_ThapPhan = DocGiaTri();

MaKiemDHT = DocGiaTri();

if(MaKiemDHT == (RH_Nguyen + RH_ThapPhan + T_Nguyen +

T_ThapPhan))

{

lcd_gotoxy(1,2);

printf(lcd_putc,"Temp:%d",T_Nguyen);

lcd_gotoxy(10,2);

printf(lcd_putc,"RH:%d%%",RH_Nguyen);

}

}

delay_ms(4000);

for(unsigned int8 i=7;i<10;i++)

{

printf("Nhiet do la: ,""%d,",T_Nguyen);



Hệ thống giám sát và cảnh báo mơi trường khơng khí



ĐỒ ÁN TỐT NGHIỆP

Trang 45/42



printf("Do am la: ,""%d,",RH_Nguyen);

printf("CO2 la: ,""%lu,",ppm);

printf("Bui la: ,""%f\n",bui);

printf("\n");

}

}

}



Hệ thống giám sát và cảnh báo mơi trường khơng khí



Xem Thêm
Tải bản đầy đủ (.doc) (163 trang)

×