找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2298|回复: 1
收起左侧

51单片机恒温室控制电路+源程序 DCS

[复制链接]
ID:222477 发表于 2019-4-15 23:34 | 显示全部楼层 |阅读模式
用电机驱动模块驱动加热片,温度检测采用DS18B20,显示屏为0.96寸OLED,带独立按键
电路原理图如下:

电路原理图

电路原理图


实物图

实物图

实物图

实物图

实物图

实物图

单片机源程序如下:
  1. /************************************************************************************

  2. * 1. void delay(unsigned int z) -- 主函数中用于调整显示效果的延时函数,STC89C52 12MHZ z=1时大约延时1ms,其他频率需要自己计算
  3. * 2. void main(void) -- 主函数
  4. *
  5. * History: none;
  6. *
  7. *************************************************************************************/

  8. //#include "reg52.h"
  9. #include "intrins.h"
  10. #include "codetab.h"
  11. #include "LQ12864.h"

  12. sbit GN=P1^1;
  13. sbit D0=P1^4;
  14. sbit D1=P1^5;
  15. sbit D2=P1^6;
  16. sbit D3=P1^7;
  17. sbit J1=P3^2;
  18. sbit J2=P3^3;

  19. void main(void)
  20. {
  21.         unsigned char i;
  22.         uchar str[3];
  23.         OLED_Init(); //OLED初始化
  24.         EA = 1;   //使能总中断
  25.     ConfigUART(9600);  //配置波特率为9600
  26.         OLED_CLS();
  27.         for(i=0; i<5; i++)//通过点整显示汉字 -- i表示字表数组的位置
  28.         {
  29.                 OLED_P16x16Ch(i*16,0,i);
  30.         }
  31.         for(i=0; i<2; i++)//通过点整显示汉字 -- i表示字表数组的位置
  32.         {
  33.                 OLED_P16x16Ch(i*16,2,i+5);
  34.         }
  35.         
  36.         
  37.         for(i=0; i<3; i++)//通过点整显示汉字 -- i表示字表数组的位置
  38.         {
  39.                 OLED_P16x16Ch(i*16+32,2,i+2);
  40.         }
  41.         GN=0;
  42.         J1=0;
  43.         while(1)
  44.         {
  45.                 str[0]=temp2/100+0x30;
  46.                 str[1]=temp2%100/10+0x30;
  47.                 OLED_P8x16Str(47,2,str);
  48.                 tmpchange();
  49.                 str[0]=tmp()/100+0x30;
  50.                 str[1]=tmp()%100/10+0x30;
  51.                 OLED_P8x16Str(47,0,str);
  52.                 delay(100);
  53.                 if(D0==0)
  54.                 {
  55.                         delay(10);
  56.                         if(D0==0)
  57.                         {
  58.                                    temp2+=10;
  59.                         }
  60.                         while(!D0);
  61.                         delay(10);
  62.                         while(!D0);
  63.                 }
  64.                 if(D1==0)
  65.                 {
  66.                         delay(10);
  67.                         if(D1==0)
  68.                         {
  69.                                     temp2-=10;
  70.                         }
  71.                         while(!D1);
  72.                         delay(10);
  73.                         while(!D1);
  74.                 }
  75.                 if(temp<temp2)
  76.                 {
  77.                         J2=1;
  78.                 }else J2=0;
  79.         }
  80. }
复制代码

所有资料51hei提供下载:
源代码.rar (66.19 KB, 下载次数: 17)

评分

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

查看全部评分

回复

使用道具 举报

ID:1 发表于 2019-4-17 01:28 | 显示全部楼层
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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