找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1657|回复: 0
收起左侧

温室管理系统程序 51单片机实现

[复制链接]
ID:505042 发表于 2020-7-25 11:13 | 显示全部楼层 |阅读模式
       实现的具体现象如下:
        1、在12864上从上往下滚动显示参赛员信息及编号,并满足3秒。
如:mmm队,队员mm、mm,参赛编号:B001
        2、利用时钟芯片从系统取值显示时间、日期、星期。
        3、按键可以显示当前温度,如温度大于30度或者小于30度时发出警报,并显示单位。
        4、当温度大于24度时,电机转动通风。并利用AD/DA数模转换器控制电机转动速度。
        5、检测温室的光敏度和热敏度,并显示在屏幕上。如果光照强度过大,电机转动(此处点击是控制窗帘);
如果光照强度过小,打开灯(此处的灯就是led灯,也就是发光二极管)。
        6、画出程序流程图、子流程图、功能图、电路图。

发挥:
        7、现有一只猫,现在要检测这只猫到温室的次数,并且把它进去到温室次数保存在单片机中,
下次启动单片机是,可以查看上次猫进入的次数,并且累计。
        8、能够利用矩阵按键显示,以上功能,并且要有相对应的菜单(菜单可以用书本写出来);
没有用到的按键标记为按键的值。

        总体设计,感观,合理,创新。
EEPROM存储器
        AD/DA数模转换器
        DS1302时钟芯片
        光敏/热敏电阻传感器
        直流/步进电机
        12864显示屏
        18B20温度传感器
        发光二极管
        矩阵按键

单片机源程序如下:
  1. #include "reg51.h"
  2. #include "12864.h"

  3. #include "wen_du.h"
  4. #include "anjian.h"
  5. #include "dianji.h"

  6. #include "DA_AD.h"
  7. #include "guang_re.h"
  8. #include "cun_cat.h"
  9. #include "time.h"

  10. void main()
  11. {
  12.         ding_init();        //定时器初始化
  13.         led_init();                //12864led显示屏初始化
  14. //        dis_xinxi();        //显示参赛信息
  15.        
  16.         while(1)
  17.         {
  18.                 uint qing;
  19.                 //dis(0,3,"yqweruio");
  20.                 qing = zhi_an;
  21.                 scanf();
  22.                
  23.                 if(qing != zhi_an){wcode(0x01);cun_a = 1;}        //cun_a = 1;是为了保证按键5进入时,只加一次
  24.                 switch(zhi_an)
  25.                 {
  26.                         case 0: dis_zhi_an(); break;        //进入死循环,显示按键值,当按s15键退出
  27.                         case 1: dis_wen();           break;        //显示温度
  28.                         case 2: wen_baojin(); break;         //温度的转换
  29.                         case 3: dian_z();          break;        //点击转动
  30.                        
  31.                         case 4: dis_AD();          break;        //显示AD的值
  32.                         case 5: dis_cun();          break;        //查看存储的数据
  33.                         case 6: AD_control_dian();break;//AD数模转换值控制电机转动 ?
  34.                         case 7: dis_guang();  break;        //显示光照强度
  35.                        
  36.                         case 8: hong_cat();          break;        //显示猫的次数
  37.                         case 9: read_shang_cat();break;        //显示猫保存上次的次数
  38.                         case 10:dis_time();          break;        //显示时间
  39.                         case 11: break;
  40.                        
  41.                         case 14:dis_xinxi();  break;        //显示参赛信息
  42.                         default: break;
  43.                 }
  44.         }
  45. }
复制代码
51hei.png
所有资料51hei提供下载:
温室管理系统.rar (146.18 KB, 下载次数: 13)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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