找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1901|回复: 2
收起左侧

手机散热器 DCS 51单片机

[复制链接]
ID:222477 发表于 2019-4-15 23:38 | 显示全部楼层 |阅读模式
以51单片机为内核,DS18B20检测温度,电机驱动模块驱动散热风扇,OLED显示,还有两个独立按键控制电机转速

单片机源程序如下:
  1. /************************************************************************************
  2. * Others: none;
  3. *
  4. * Function List:
  5. *
  6. * 1. void delay(unsigned int z) -- 主函数中用于调整显示效果的延时函数,STC89C52 12MHZ z=1时大约延时1ms,其他频率需要自己计算
  7. * 2. void main(void) -- 主函数
  8. *
  9. * History: none;
  10. *
  11. *************************************************************************************/

  12. //#include "reg52.h"
  13. #include "intrins.h"
  14. #include "codetab.h"
  15. #include "LQ12864.h"

  16. sbit GN=P1^5;
  17. sbit D1=P1^6;
  18. sbit D2=P1^7;
  19. sbit DJ1=P1^1;
  20. sbit DJ2=P1^2;

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

所有资料51hei提供下载:
源代码.rar (66.02 KB, 下载次数: 14)
回复

使用道具 举报

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

使用道具 举报

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

有电路图以及详细讲解吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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