找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4400|回复: 0
打印 上一主题 下一主题
收起左侧

单片机智能温控器制作资料 PCB文件,原理图,程序等都有

[复制链接]
跳转到指定楼层
楼主
DS18B20测温,1602液晶显示。
有仿真程序,电原理图及PCB图。
主要功能:
                    当温控开关打开时,若测得环境温度大于设定温度,则继电器吸合
                  ,启动压缩机工作;若测得环境温度小于设定温度,则继电器释放,
                  压缩机停止工作。
          该实验可以应用于对温度控制精度要求不是很高的场合,例如,粮仓,
                  电冰箱,空调,电饭锅等。如果配以通讯接口,可以做成多点温度检
          测监控系统。具有极强的扩展性。

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



Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)


单片机源程序如下:

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

  3. 问题描述:当温控开关打开时,若测得环境温度大于设定温度,则继电器吸合
  4.                   ,启动压缩机工作;若测得环境温度小于设定温度,则继电器释放,
  5.                   压缩机停止工作。
  6.           该实验可以应用于对温度控制精度要求不是很高的场合,例如,粮仓,
  7.                   电冰箱,空调,电饭锅等。如果配以通讯接口,可以做成多点温度检
  8.           测监控系统。具有极强的扩展性。

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

  10. 注意: 此文档为仿真程序,若要在试验板上验证,需要须改一下函数
  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忙检测标志
  30. #define DATAPORT P0                              //定义P0口为LCD通讯端口
  31. #define PLAYE_ADDR XBYTE[0XBFFF]                 //语音报警地址

  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;                                                    //时钟调整
  37. sbit P1_5=P1^5;                                                 //时钟加
  38. sbit P1_6=P1^6;                                                 //时钟减

  39. sbit DQ = P1^7;                                                 //定义ds18b20通信端口
  40. sbit LCM_RS=P2^0;                                                                //数据/命令端
  41. sbit LCM_RW=P2^1;                                                                //读/写选择端
  42. sbit LCM_EN=P2^2;
  43. sbit sda=P2^3;                          //IO口定义
  44. sbit scl=P2^4;                                              //LCD使能信号
  45. sbit ad_busy=P3^2;                                              //adc中断方式接口
  46. sbit RECLED_EOC=P3^5;                                           //ISD1420放音结束查询标志
  47. sbit OUT=P3^7;

  48. uchar ad_data;                                                  //ad采样值存储                                                
  49. uchar seconde;                                                //定义并初始化时钟变量
  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延时子程序
  62. void initLCM( void);                                                                                                       //LCD初始化子程序
  63. void lcd_wait(void);                                                                                                      //LCD检测忙子程序
  64. ……………………

  65. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
温控器.zip (647.92 KB, 下载次数: 59)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表