找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4411|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)智能溫控器制作資料 PCB文件,原理圖,程序等都有

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
DS18B20測(cè)溫,1602液晶顯示。
有仿真程序,電原理圖及PCB圖。
主要功能:
                    當(dāng)溫控開(kāi)關(guān)打開(kāi)時(shí),若測(cè)得環(huán)境溫度大于設(shè)定溫度,則繼電器吸合
                  ,啟動(dòng)壓縮機(jī)工作;若測(cè)得環(huán)境溫度小于設(shè)定溫度,則繼電器釋放,
                  壓縮機(jī)停止工作。
          該實(shí)驗(yàn)可以應(yīng)用于對(duì)溫度控制精度要求不是很高的場(chǎng)合,例如,糧倉(cāng),
                  電冰箱,空調(diào),電飯鍋等。如果配以通訊接口,可以做成多點(diǎn)溫度檢
          測(cè)監(jiān)控系統(tǒng)。具有極強(qiáng)的擴(kuò)展性。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



Altium Designer畫(huà)的原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機(jī)源程序如下:

  1. /*******************************************************************
  2.                           智能溫控器

  3. 問(wèn)題描述:當(dāng)溫控開(kāi)關(guān)打開(kāi)時(shí),若測(cè)得環(huán)境溫度大于設(shè)定溫度,則繼電器吸合
  4.                   ,啟動(dòng)壓縮機(jī)工作;若測(cè)得環(huán)境溫度小于設(shè)定溫度,則繼電器釋放,
  5.                   壓縮機(jī)停止工作。
  6.           該實(shí)驗(yàn)可以應(yīng)用于對(duì)溫度控制精度要求不是很高的場(chǎng)合,例如,糧倉(cāng),
  7.                   電冰箱,空調(diào),電飯鍋等。如果配以通訊接口,可以做成多點(diǎn)溫度檢
  8.           測(cè)監(jiān)控系統(tǒng)。具有極強(qiáng)的擴(kuò)展性。

  9. 作者:    LI YONG QIANG  "XIAN technologcal university"

  10. 注意: 此文檔為仿真程序,若要在試驗(yàn)板上驗(yàn)證,需要須改一下函數(shù)
  11.         

  12. void lcd_wait(void)
  13. {
  14.     DATAPORT=0xff;            
  15.         LCM_EN=1;
  16.     LCM_RS=0;                           
  17.     LCM_RW=1;                           
  18.     _nop_();
  19.     while(DATAPORT&BUSY);
  20.            LCM_EN=0;
  21.         
  22. }

  23. *******************************************************************/

  24. #include<reg51.h>
  25. #include<intrins.h>
  26. #include <absacc.h>
  27. #define uchar unsigned char
  28. #define uint   unsigned int

  29. #define BUSY  0x80                               //lcd忙檢測(cè)標(biāo)志
  30. #define DATAPORT P0                              //定義P0口為L(zhǎng)CD通訊端口
  31. #define PLAYE_ADDR XBYTE[0XBFFF]                 //語(yǔ)音報(bào)警地址

  32. sbit RED_ALARM=P1^0;                                                    //紅色指示燈
  33. sbit WRITE_ALARM=P1^1;                                          //白色指示燈
  34. sbit GREEN_ALARM=P1^2;                                          //綠色指示燈
  35. sbit BLUE_ALARM=P1^3;
  36. sbit P1_4=P1^4;                                                    //時(shí)鐘調(diào)整
  37. sbit P1_5=P1^5;                                                 //時(shí)鐘加
  38. sbit P1_6=P1^6;                                                 //時(shí)鐘減

  39. sbit DQ = P1^7;                                                 //定義ds18b20通信端口
  40. sbit LCM_RS=P2^0;                                                                //數(shù)據(jù)/命令端
  41. sbit LCM_RW=P2^1;                                                                //讀/寫(xiě)選擇端
  42. sbit LCM_EN=P2^2;
  43. sbit sda=P2^3;                          //IO口定義
  44. sbit scl=P2^4;                                              //LCD使能信號(hào)
  45. sbit ad_busy=P3^2;                                              //adc中斷方式接口
  46. sbit RECLED_EOC=P3^5;                                           //ISD1420放音結(jié)束查詢(xún)標(biāo)志
  47. sbit OUT=P3^7;

  48. uchar ad_data;                                                  //ad采樣值存儲(chǔ)                                                
  49. uchar seconde;                                                //定義并初始化時(shí)鐘變量
  50. uchar minite;
  51. uchar hour;
  52. uchar mstcnt=0;
  53. uchar temp1,temp2,temp;                                     //溫度顯示變量
  54. uchar t,set;
  55. uchar K;
  56. bit ON_OFF=0;
  57. bit outflag;
  58. bit write=0;

  59. uchar code str0[]={"---  :  :  ---  "};
  60. uchar code str1[]={"SET:  C SA:  . C"};

  61. void delay_LCM(uint);                                                                                                     //LCD延時(shí)子程序
  62. void initLCM( void);                                                                                                       //LCD初始化子程序
  63. void lcd_wait(void);                                                                                                      //LCD檢測(cè)忙子程序
  64. ……………………

  65. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
溫控器.zip (647.92 KB, 下載次數(shù): 59)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表