功能说明:

本课程设计是基于51单片机的可调式恒温器,利用LM35模拟小信号温度传感器搭配同相放大电路进行滤波放大传入单片机,并与通过矩阵键盘输入的设定温度值进行比较,并根据比较结果亮两种不同的LED,该系统搭配中值滤波函数,抗干扰能力显著提高。

特点:

        1. 具有4×4非编码按键进行温度设定等操作
        2. LCD1602显示测量温度值和设定温度值
        3. LM35小信号温度测量模块搭配同相放大电路进行滤波放大
        4. 精度可达小数点后一位

截图:

    1.  原理图:
      原理图
      原理图

      2.部分源码:

      /*定义函数*/
      void delay(uint xms);
      void Key_scan();					//键盘扫描函数
      void display();					//在LCD中显示
      void send_595(uchar date);		//发送信息到595 
      void Set_Temp();
      void BubbleSort(uchar a[]);//冒泡排序
      void Compare(float ST,float MT);//比较函数
      /* ****** */
      
      /*主函数*/
      void main()
      {
      	init_lcd();//调LCD显示
      	CS = 1;
      	IOCLK = 1;
      	LED1=1;
      	LED2=1;
      	display();
      	if(ST1[0]==12)
      	{
      			write_com(0x80+15);//开启设定标志位亮
      			write_date('R');
      			Set_Temp();
      	}
      	while(1)
      		{
      			Key_scan();//判断设定按键0x0C是否按下
      			if(Key_val==0x0C)
      				{
      					delay(1);
      					if(Key_val==0x0C)
      					{	Key_val=0x0f;
      						Key_state=0;
      						write_com(0x80+15);//开启设定标志位亮
      						write_date('R');
      						Set_Temp();
      					}
      				}
      			
      			Midfilter();
      			Compare(ST2,MT3);
      			display();
      		}
      }
      

      3.PCB

      PCB4.包含文件