找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机设计宠物饲养可控温定时投喂箱 原理图源程序

[复制链接]
跳转到指定楼层
楼主
  本设计是一个宠物饲养可控温定时投喂箱,该饲养箱以STC89C51单片机为主控芯片,配合多组基础模块。我们根据所饲养宠物的需求,通过按键设定基准温度,设定投喂时间。为了更加清晰的显示效果,我们将所有需要观测的数据统一显示在0.96寸OLED显示屏上。为了保存设定的基准温度和投喂时间,我们采用AT24C02一个2K位串行CMOS E2PROM保存数据,防止掉电丢失,避免因突发情况破坏饲养箱的工作状态。
1、温度控制
依靠DS18B20温度传感器检测饲养箱内当前温度。单片机采集到当前温度后与基准温度对比,若当前温度高于基准温度,单片机驱动与风扇相连接的继电器,使风扇工作,对饲养箱进行降温处理;若当前温度低于基准温度,单片机驱动与加热器相连接的继电器,使加热器工作,对饲养箱进行加热处理。
2、定时控制
依靠DS1302时钟模块提供标准时间,保证饲养箱的时间标准与生活状态一致。单片机实时读取当前时间,若读取的当前时间与设定的投喂时间一致时,单片机驱动蜂鸣器,蜂鸣器报警,提示已到投喂时间。待投喂后,蜂鸣器恢复静息状态,等待下一次报警。
1.1.2设计原理
在保证每个部件正确供电的情况下,STC89C51单片机作为主控芯片,AT24C02数据存储器用于存储数据,DS18B20温度传感器用于测量温度,DS1302时钟模块用于规定当前时间,OLED显示屏用于显示参数,独立按键用于修改温度阈值和定时时间,两个LED分别用于照明和提示,蜂鸣器用于报警,继电器用于打开加热棒和风扇

制作出来的实物图如下:



电路原理图如下:

单片机源程序如下:
  1. #include "reg52.h"

  2. #include "config.h"
  3. #include "control.h"
  4. #include "oled.h"
  5. #include "Ds18b20.h"
  6. #include "ds1302.h"
  7. #include "menu.h"

  8. unsigned int Actural_temp = 0; //读取的实际温度 *10 3位
  9. unsigned char OLED_Reflash = 0;  //刷新费时间,分三次刷新。

  10. void DelayXms(unsigned int xtime)
  11. {
  12.         unsigned char i = 0;
  13.         for(;xtime>0;xtime--)
  14.                 for(i = 110;i>0;i--);        
  15. }

  16. void ALL_Init(void)
  17. {
  18.         T0Init();  //定时10ms
  19.         OLED_Init(); //初始化OLED
  20.         OLED_Clear();
  21.         start_window();
  22.         DS18B20_init();
  23.         TIME[2] = ZH_Data(1,23);
  24.         TIME[1] = ZH_Data(1,58);
  25.         TIME[0] = ZH_Data(1,58);
  26.         Ds1302Init();
  27.         SET_Init();
  28.         
  29.         LIGHT_LED = 1;
  30.         FEED_BEEP = 1;
  31.         HIGH_RELAY = 1;
  32.         LOW_RELAY = 1;
  33.         
  34. }

  35. void main(void)
  36. {
  37.         unsigned char BeepFlag = 0;
  38.         ALL_Init();
  39.         DelayXms(1000);
  40.         while(1)
  41.         {               
  42.                 KeyPorc();
  43.                 if(xDelay(TIMERINDEX1,1)  == TIMEISUP)
  44.                 {
  45.                         EA = 0;                                                                                                        //采集对时序要求严格,不允许打断
  46.                         Actural_temp = temper_change();
  47.                         Ds1302ReadTime();
  48.                         KeyRead();
  49.                         EA = 1;
  50.                 }
  51.                
  52.                 if(xDelay(TIMERINDEX2,5)  == TIMEISUP)
  53.                 {
  54.                         DataProce();
  55.                         StateReflash();                                                
  56.                 }
  57.                
  58.                 if(xDelay(TIMERINDEX3,10)  == TIMEISUP) //100ms
  59.                 {                                       
  60.                         OLED_Reflash++;if(OLED_Reflash > 5)OLED_Reflash = 0;
  61.                         menuEventHandle();
  62.                 }
  63.                
  64.                 if(xDelay(TIMERINDEX4,100)  == TIMEISUP) //1s
  65.                 {                                       
  66.                         
  67.                         if(flagData.feedFlag)
  68.                         {
  69.                                 BeepFlag++;
  70.                                 FEED_BEEP ^= 1;
  71.                                 if(BeepFlag > 6)
  72.                                 {
  73.                                         BeepFlag = 0;
  74.                                         FEED_BEEP = 1;
  75.                                         flagData.feedFlag = 0;
  76.                                 }
  77.                         }
  78.                         
  79.                 }               
  80.                
  81.         }
  82.                
  83. }
复制代码

程序原理图和word文档下载: single-chip-ke-master.7z (1.87 MB, 下载次数: 0)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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