1. 程式人生 > 實用技巧 >296【畢設課設】基於51微控制器的基於模糊控制的水溫控制系統設計

296【畢設課設】基於51微控制器的基於模糊控制的水溫控制系統設計

【資源下載】下載地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl

51基於模糊控制的水溫控制系統-LCD1602-KEY-RELAY-固態繼電器

本設計由STC89C52微控制器電路+數字溫度感測器DS18B20電路+按鍵電路+固態繼電器控制電路+LCD1602液晶顯示電路+電源電路組成。

1、LCD1602液晶實時顯示當前溫度值和設定的溫度閾值,溫度閾值可以通過按鍵設定。

2、如果溫度超過閾值,則繼電器斷開,如果溫度低於閾值,則繼電器閉合。

3、採用模糊演算法控制。

​

#include "1602.h"
#include "delay.h"		 

xdata unsigned char aucMHHi[]={
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
   
};

xdata unsigned char aucMHLo[]={
    0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7,
    0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E,
    0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9,
    0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC,
    0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
    0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32,
    0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D,
   
};
xdata char temperture[9];

#define SETDOWN 0x01	//設定下限標誌
#define SETUP 0x02		//設定上限標誌
#define MH_LEN 0x09	 	//模糊運算處理長度
#define MID_PWM 0x05	//pwm對比值
	
sbit key1=P2^0;	//引腳定義
sbit key2=P2^1;
sbit key3=P2^2;
sbit relay=P1^0;

unsigned int setData=25;         //設定值
unsigned char DisFlag=0;