BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 78 else{

Một phần của tài liệu Thiết kế và thi công máy ấp trứng công nghiệp (Trang 79 - 84)

TÀI LIỆU THAM KHẢO

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 78 else{

else{ bit_set(_data, (7 - i)); while(Data_Pin){ k++; if (k > 100) {Time_out = 1; break;} delay_us(1);} } } return _data; } //========================================================= VOID READ_DATA_DHT22() { delay_ms(1000); Time_out = 0; Start_signal();

if(check_response()){ // chờ phản hồi của cảm biến RH_byte1 = Read_Dată); // đọc RH byte1

RH_byte2 = Read_Dată); // đọc RH byte2 T_byte1 = Read_Dată); // đọc T byte1 T_byte2 = Read_Dată); // đọc T byte2 Checksum = Read_Dată); // đọc checksum

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 79

LCD_COMMAND(0XD4); LCD_DATĂ" Time out! "); //báo lỗi }

else{

if(CheckSum == ((RH_Byte1 + RH_Byte2 + T_Byte1 + T_Byte2) & 0xFF)) // kiểm tra dữ liệu nhận được so với dữ liệu tổng.

{

RH = RH_byte1;

RH = (RH << 8) | RH_byte2; Temp = T_byte1;

Temp = (Temp << 8) | T_byte2; if (Temp > 0X8000)

{

DHT_DATA[2] = '-'; Temp = Temp & 0X7FFF; } else DHT_DATA[6] = ' '; DHT_DATA[2] = (Temp / 100) % 10 + 48; DHT_DATA[3] = (Temp / 10) % 10 + 48; DHT_DATA[5] = Temp % 10 + 48; DHT_DATA[6] = 223; // ký hiệu độ C DHT_DATA[14] = (RH / 100) % 10 + 48;

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 80

DHT_DATA[15] = (RH / 10) % 10 + 48; DHT_DATA[17] = RH % 10 + 48; // LCD clear

LCD_COMMAND(0XD4); // Go to column 1 row 1

printf(LCD_DATA, DHT_DATA); // Xuất giá trị nhiệt - ẩm }

else {

// LCD clear

LCD_COMMAND(0XD4); LCD_DATĂ" LOI DU LIEU "); } } } else { // LCD clear LCD_COMMAND(0XD4);

LCD_DATĂ"MAT TIN HIEU SENSOR "); DELAY_MS(1000);

LCD_COMMAND(0XD4); LCD_DATĂ" "); }

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 81

Tập tin MAIN_MAYAPTRUNG.C

#INCLUDE <16F887.H>

#FUSES HS,PUT,NOWDT,NOPROTECT,NOLVP #USE DELAY(CLOCK=20M)

#USE I2C(MASTER,SLOW,SDA=PIN_C4,SCL=PIN_C3) //THIET LAP I2C REALTIME DS1307

#DEFINE OUTPUT_LCD OUTPUT_D #DEFINE LCD_RS PIN_E0

#DEFINE LCD_RW PIN_E1 #DEFINE LCD_E PIN_E2

#INCLUDE <TV_LCD.C> //THU VIEN LCD SU DUNG 8 BIT DU LIEU #INCLUDE <TV_PICKIT2_SHIFT_DS13B07_I2C_KK.C> //THU VIEN DS1307

#DEFINE BT0 PIN_A0 //PROGRAM #DEFINE BT1 PIN_A1 //MODE #DEFINE BT2 PIN_A2 //SELECT #DEFINE BT3 PIN_A3 //INCREASE + #DEFINE BT4 PIN_A4 //DECREASE -

#DEFINE OUT_MOTOR PIN_B0 //DK MOTOR DAO TRUNG #DEFINE FAN_TEMP PIN_B1

#DEFINE FAN_HUMI PIN_B2

#DEFINE IN_MOTOR PIN_B7 //CONG TAC HANH TRINH CUA KHUNG DAO TRUNG

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 82

#INCLUDE <READ_DHT22.C>

//========================================================= UNSIGNED INT16 LM_TEMP,LM_HUMI;//GIOI HAN DAT CUA

TEMP,HUMI

UNSIGNED INT8 TEMP_H,TEMP_L,HUMI_L,HUMI_H; #DEFINE ROM_TEMP_L 0 #DEFINE ROM_TEMP_H 1 #DEFINE ROM_HUMI_L 2 #DEFINE ROM_HUMI_H 3 #DEFINE ROM_DAY 4 #DEFINE ROM_MONTH 5 #DEFINE ROM_YEAR 6

INT8 PR;//CHON CHUONG TRINH INT8 MOD,MOD2,MOD3;//MODE UNSIGNED INT1 SLT;//SECLECT

UNSIGNED INT32 TIMER_MOTOR=0; //THOI GIAN DAO MOTOR UNSIGNED CHAR NGAY_DAT,THANG_DAT,NAM_DAT;

//========================================================= UNSIGNED INT8 HIEU_CHINH_SO_BCD_TANG(UNSIGNED INT8 X); UNSIGNED INT8 HIEU_CHINH_SO_BCD_GIAM(UNSIGNED INT8 X); VOID LUU_GIAI_MA_HIEN_THI_SAU_KHI_CHINH();

//========================================================= //PID

Một phần của tài liệu Thiết kế và thi công máy ấp trứng công nghiệp (Trang 79 - 84)