前几天一个朋友对我说,马上要过年了
准备买点年货放冰箱,正好我最近不太忙,便想着做一个小冰箱玩玩
废话不多说,先介绍器材
器材:一个电源模块,220v转12v,6A。以及一个封装好的制冷器,元件清单都在原理图上可以看出来,继电器用的是继电器模块。
防水型的18B20,继电器模块,12c887时间芯片,12864液晶屏,蜂鸣器,89c58单片机芯片,接线子,什么开关,按键,电阻电容的你也应该知道的,就是一个单片机模块。。这些就是控制板的元件了,然后你还要去淘宝上买制冷器和制冷器血药的配套的电源模块。。然后你就可以自己DAY一个小冰箱了。。

先上实物图,整个过程需要自己亲力亲为,虽然有点麻烦,但是里面还是有很大乐趣的
这是控制系统板子散件

焊接好的控制板

连接好的整个系统

下图这些显示都是可以实现的功能。。

这是一个定时关闭的功能
时间设置及其他功能


最低温度你们看吧!这个小冰箱实际测试结果我还是挺满意的,可以喝冰镇啤酒饮料,这几实验基本成功。

搭的系统有点丑,我下次有时间再改进一下,因为都是模块搭的,所以就不过多啰嗦了,

89c58单片机C语言参考代码如下:

#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit ds=P2^2;
sbit rs=P3^5;
sbit rw=P3^6;
sbit en=P3^4;
sbit psb=P3^7;
sbit feng=P2^0;
sbit dscs=P1^4;
sbit dsas=P1^5;
sbit dsrw=P1^6;
sbit dsds=P1^7;
sbit dsirq=P3^3;
sbit jidianqi=P2^3;
bit flag1,flag_ri;
sbit xuanzhe=P1^0;
sbit queding=P1^1;
sbit fanhui=P1^2;
sbit tiaozheng=P1^3;
sbit zengjia=P3^0;
sbit jianxiao=P3^1;
uint temp;
int x1,x3;
uchar flog1,flog,count,count1,acount1,count2,acount2,s1num,flag,t0_num,ff,xh,xh1,xh2,xw,xw1,xw2,xx,xt,axt,xt1,axt1,hh,ahh;
char miao,shi,fen,year,month,day,week,amiao,afen,ashi;
float f_temp;
uchar code table00[]={" 系统初始化… “};
uchar code table01[]={” 以关闭"};
uchar code table02[]={" 以开启"};

uchar code table0_0[]={“电气与”};
uchar code table0_1[]={" 信息工程学院"};
uchar code table0_2[]={"–电气1302唐小旺"};
uchar code table0_3[]={" 湖南工学院 "};

uchar code table11[]={“2015年00月00日”};
uchar code table12[]={" “};
uchar code table13[]={” 00: 00: 00"};
uchar code table14[]={“当前温度:”};

uchar code table1[]={“菜 1:温度调节”};
uchar code table2[]={“单 2:定时关闭”};
uchar code table3[]={“1 3:报警温度调”};
uchar code table4[]={" 4:时间调节"};
uchar code table5[]={“菜 5:闹钟调节”};
uchar code table6[]={“单 6:小小游戏”};
uchar code table7[]={“2 7:小小说明”};
uchar code table8[]={"–在按选择键返回"};

uchar code table1_1[]={“设置温度:”};
uchar code table1_2[]={" 00"};
uchar code table1_3[]={""};
uchar code table1_4[]={""};
uchar code table1_5[]={" 设置成功"};
uchar code table1_6[]={""};
uchar code table1_7[]={""};
uchar code table1_8[]={""};

uchar code table2_1[]={“设置定时开关:”};
uchar code table2_2[]={" 1:开启定时关闭"};
uchar code table2_3[]={" 2:关闭定时关闭"};
uchar code table2_4[]={"~~~~~~~~~~~~~~~~"};
uchar code table2_5[]={“设置时间:”};
uchar code table2_6[]={" 00: 00: 00"};
uchar code table2_7[]={""};
uchar code table2_8[]={" 设置成功"};
uchar code table2_9[]={“正在计时关闭中”};
uchar code table2_a[]={""};
uchar code table2_b[]={""};
uchar code table2_c[]={" 设置成功"};
uchar code table2_d[]={“以关闭定时关闭”};
uchar code table2_e[]={""};

uchar code table3_1[]={“设置报警温度:”};
uchar code table3_2[]={" 00"};
uchar code table3_3[]={""};
uchar code table3_4[]={""};
uchar code table3_5[]={" 设置成功"};
uchar code table3_6[]={" 滴滴滴滴"};
uchar code table3_7[]={“定时炸弹即将爆炸”};

uchar code table4_1[]={“设置时间:”};
uchar code table4_2[]={“2015年03月22日”};
uchar code table4_3[]={" Sun “};
uchar code table4_4[]={” 00: 00: 00 “};
uchar code table4_5[]={” 设置成功"};
uchar code table4_6[]={“春天到了!”};
uchar code table4_7[]={“I am coming”};
uchar code table4_8[]={" 师院"};

uchar code table5_1[]={“设置闹钟:”};
uchar code table5_2[]={" 1:开启闹钟"};
uchar code table5_3[]={" 2:关闭闹钟"};
uchar code table5_4[]={" 00: 00: 00 “};
uchar code table5_7[]={” 设置成功"};
uchar code table5_8[]={" 小鸡小鸡"};
uchar code table5_9[]={“小鸡小鸡咕咕day”};
uchar code table5_a[]={"(咦,我的闹铃)~~"};
uchar code table5_5[]={“设置时间:”};
uchar code table5_6[]={" 00: 00: 00"};
uchar code table5_b[]={""};
uchar code table5_c[]={" 设置成功"};
uchar code table5_d[]={“闹钟以关闭”};
uchar code table5_e[]={""};

uchar code table6_1[]={" 咦!!!"};
uchar code table6_2[]={" 游戏捏?"};

uchar code table7_1[]={“小慧是傻逼”};
uchar code table7_2[]={" 小慧是傻逼"};
uchar code table7_3[]={" 小慧是傻逼"};
uchar code table7_4[]={" 小慧是傻逼"};
uchar code table7_5[]={“当前温度:”};
uchar code table7_6[]={" --’f i e r c e’"};
uchar code table7_7[]={" no way!!"};
uchar code table7_8[]={" 谢谢合作"};

void delay(uint z)
{
uint x,y;
for(x=z;x>0;x–)
for(y=110;y>0;y–);
}

void di()
{
feng=0;
delay(100);
feng=1;
}

void write_com(uchar com)
{
rs=0;
rw=0;
en=0;
P0=com;
delay(5);
en=1;
delay(5);
en=0;
}

void write_dat(uchar dat)
{
rs=1;
rw=0;
en=0;
P0=dat;
delay(5);
en=1;
delay(5);
en=0;
}

void dsreset(void)
{
uint i;
ds=0;
i=103;
while(i>0)i–;
ds=1;
i=4;
while(i>0)i–;
}

bit tempreadbit(void)
{
uint i;
bit dat;
ds=0;i++;
ds=1;i++;i++;
dat=ds;
i=8;while(i>0)i–;
return(dat);
}

uchar tempread(void)
{
uchar i,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=tempreadbit();
dat=(j<<7)|(dat>>1);

}
return(dat);
}

void tempwritebyte(uchar dat)
{
uint i;
uchar j;
bit testb;
for(j=0;j<8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb)
{
ds=0;
i++;i++;
ds=1;
i=8;
while(i>0)i–;
}
else
{
ds=0;
i=8;
while(i>0)i–;
ds=1;
i++;
i++;
}
}
}

void tempchang(void)
{
dsreset();
delay(1);
tempwritebyte(0xcc);
tempwritebyte(0x44);
}
uint get_temp()
{
uchar a,b;
dsreset();
delay(1);
tempwritebyte(0xcc);
tempwritebyte(0xbe);
a=tempread();
b=tempread();
temp=b;
temp<<=8;
temp=temp|a;
f_temp=temp0.0625;
temp=f_temp
10+0.5;
f_temp=f_temp+0.05;
return temp;
}

void write_ds(uchar add,uchar dat)
{
dscs=0;
dsas=1;
dsds=1;
dsrw=1;
P0=add;
dsas=0;
dsrw=0;
P0=dat;
dsrw=1;
dsas=1;
dscs=1;
}

uchar read_ds(uchar add)
{
uchar ds_date;
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsds=0;
P0=0xff;
ds_date=P0;
dsds=1;
dsas=1;
dscs=1;
return ds_date;
}

/*void set_time()
{
write_ds(0,0);
write_ds(1,0);
write_ds(2,0);
write_ds(3,0);
write_ds(4,0);
write_ds(5,0);
write_ds(6,0);
write_ds(7,0);
write_ds(8,0);
write_ds(9,0);
} */

void init1()
{
EA=1;
EX1=1;
IT1=1;
t0_num=0;
s1num=0;
week=1;
// write_ds(0x0A,0x20);
// write_ds(0x0B,0x26);
// set_time();
}

void sfm_(uchar add,char dat)
{
uchar si,ge;
si=dat/10;
ge=dat%10;
write_com(add);
write_dat(0x30+si);
write_dat(0x30+ge);
}

void asfm_(uchar add,char dat)
{
uchar si,ge;
si=dat/10;
ge=dat%10;
write_com(add);
write_dat(0x30+si);
write_dat(0x30+ge);
}

void week_(uchar add,char week)
{
write_com(add);
if(week0)
{
write_dat(0x4D);
write_dat(0x6F);
write_dat(0x6E);
write_dat(0x20);
}
if(week1)
{
write_dat(0x54);
write_dat(0x75);
write_dat(0x65);
write_dat(0x73);

}
if(week2)
{
write_dat(0x57);
write_dat(0x65);
write_dat(0x64);
write_dat(0x20);
}
if(week3)
{
write_dat(0x54);
write_dat(0x68);
write_dat(0x75);
write_dat(0x72);
}
if(week4)
{
write_dat(0x46);
write_dat(0x72);
write_dat(0x69);
write_dat(0x20);
}
if(week5)
{
write_dat(0x53);
write_dat(0x61);
write_dat(0x74);

}
if(week==6)
{
write_dat(0x53);
write_dat(0x75);
write_dat(0x6E);
write_dat(0x20);
}
}

void nyr_(uchar add,char dat)
{
uchar si,ge;
si=dat/10;
ge=dat%10;
write_com(add);
write_dat(0x30+si);
write_dat(0x30+ge);
}

void tx(uchar add,uint dat)
{
uchar shi,ge,xs;
shi=(dat)/100;
ge=(dat)%100/10;
xs=(dat)%100%10;
write_com(0x98+add);
write_dat(0x30+shi);
write_dat(0x30+ge);
write_dat(0x2e);
write_dat(0x30+xs);
write_com(0x9f);
write_dat(0xA1);
write_dat(0xE6);
}

void x1_(int x1)
{
uchar si,ge;

si=x1/10;
ge=x1%10;
write_com(0x93);
write_dat(0x30+si);
write_dat(0x30+ge);
}

void x3_(int x3)
{
uchar si,ge;

si=x3/10;
ge=x3%10;
write_com(0x93);
write_dat(0x30+si);
write_dat(0x30+ge);
}

void lcd_init()
{
uchar i;
psb=1;
write_com(0x30);
delay(5);
write_com(0x0c);
delay(5);
write_com(0x01);
delay(5);
write_com(0x90);
i=0;
while(table00[i]!=’’)
{
write_dat(table00[i]);
i++;
}
delay(700);
write_com(0x01);
delay(500);
write_com(0x90);
i=0;
while(table00[i]!=’’)
{
write_dat(table00[i]);
i++;
}
delay(700);
write_com(0x01);
delay(500);
write_com(0x90);
i=0;
while(table00[i]!=’’)
{
write_dat(table00[i]);
i++;
}
delay(700);
write_com(0x01);
delay(500);
write_com(0x90);
i=0;
while(table0_3[i]!=’’)
{
write_dat(table0_3[i]);
i++;
delay(100);
}
delay(700);
write_com(0x01);
write_com(0x90);
i=0;
while(table0_0[i]!=’’)
{
write_dat(table0_0[i]);
i++;
delay(50);
}
write_com(0x88);
i=0;
while(table0_1[i]!=’’)
{
write_dat(table0_1[i]);
i++;
delay(50);
}
write_com(0x98);
i=0;
while(table0_2[i]!=’’)
{
write_dat(table0_2[i]);
i++;
delay(50);
}
delay(700);
write_com(0x01);
write_com(0x80);
i=0;
while(table11[i]!=’’)
{
write_dat(table11[i]);
i++;
}
write_com(0x90);

i=0;
while(table12[i]!=’’)
{
write_dat(table12[i]);
i++;
}
write_com(0x88);
i=0;
while(table13[i]!=’’)
{
write_dat(table13[i]);
i++;
}
write_com(0x98);
i=0;
while(table14[i]!=’’)
{
write_dat(table14[i]);
i++;
}
ff=1;
}

void xuanzhe_()
{
uchar i;
if((xuanzhe0)&&(flog10))
{
delay(10);
if(xuanzhe0)
{
while(!xuanzhe);
count++;
ff=0;
di();
if(count1)
{
flog=1;
write_com(0x01);
write_com(0x80);
i=0;
while(table1[i]!=’’)
{
write_dat(table1[i]);
i++;
}
write_com(0x81);
write_dat(0x02);
write_com(0x90);
i=0;
while(table2[i]!=’’)
{
write_dat(table2[i]);
i++;
}
write_com(0x88);
i=0;
while(table3[i]!=’’)
{
write_dat(table3[i]);
i++;
}
write_com(0x98);
i=0;
while(table4[i]!=’’)
{
write_dat(table4[i]);
i++;
}
}
if(count2)
{
flog=2;
write_com(0x01);
write_com(0x80);
i=0;
while(table1[i]!=’’)
{
write_dat(table1[i]);
i++;
}
write_com(0x90);
i=0;
while(table2[i]!=’’)
{
write_dat(table2[i]);
i++;
}
write_com(0x91);
write_dat(0x02);
write_com(0x88);
i=0;
while(table3[i]!=’’)
{
write_dat(table3[i]);
i++;
}
write_com(0x98);
i=0;
while(table4[i]!=’’)
{
write_dat(table4[i]);
i++;
}
}
if(count3)
{
flog=3;
write_com(0x01);
write_com(0x80);
i=0;
while(table1[i]!=’’)
{
write_dat(table1[i]);
i++;
}
write_com(0x90);
i=0;
while(table2[i]!=’’)
{
write_dat(table2[i]);
i++;
}
write_com(0x88);
i=0;
while(table3[i]!=’’)
{
write_dat(table3[i]);
i++;
}
write_com(0x89);
write_dat(0x02);
write_com(0x98);
i=0;
while(table4[i]!=’’)
{
write_dat(table4[i]);
i++;
}
}
if(count==4)
{
flog=4;
write_com(0x01);
write_com(0x80);
i=0;
while(table1[i]!=’’)
{
write_dat(table1[i]);
i++;
}
write_com(0x90);
i=0;
while(table2[i]!=’’)
{
write_dat(table2[i]);
i++;
}
write_com(0x88);
i=0;
while(table3[i]!=’’)
{
write_dat(table3[i]);
i++;
}
write_com(0x98);
i=0;
while(table4[i]!=’’)
{
write_dat(table4[i]);
i++;
}
write_com(0x99);
write_dat(0x02);
}

if(count5)
{
flog=5;
write_com(0x01);
write_com(0x80);
i=0;
while(table5[i]!=’’)
{
write_dat(table5[i]);
i++;
}
write_com(0x81);
write_dat(0x02);
write_com(0x90);
i=0;
while(table6[i]!=’’)
{
write_dat(table6[i]);
i++;
}
write_com(0x88);
i=0;
while(table7[i]!=’’)
{
write_dat(table7[i]);
i++;
}
write_com(0x98);
i=0;
while(table8[i]!=’’)
{
write_dat(table8[i]);
i++;
}
}
if(count6)
{
flog=6;
write_com(0x01);
write_com(0x80);
i=0;
while(table5[i]!=’’)
{
write_dat(table5[i]);
i++;
}
write_com(0x90);
i=0;
while(table6[i]!=’’)
{
write_dat(table6[i]);
i++;
}
write_com(0x91);
write_dat(0x02);
write_com(0x88);
i=0;
while(table7[i]!=’’)
{
write_dat(table7[i]);
i++;
}
write_com(0x98);
i=0;
while(table8[i]!=’’)
{
write_dat(table8[i]);
i++;
}
}
if(count7)
{
flog=7;
write_com(0x01);
write_com(0x80);
i=0;
while(table5[i]!=’’)
{
write_dat(table5[i]);
i++;
}
write_com(0x90);
i=0;
while(table6[i]!=’’)
{
write_dat(table6[i]);
i++;
}
write_com(0x88);
i=0;
while(table7[i]!=’’)
{
write_dat(table7[i]);
i++;
}
write_com(0x89);
write_dat(0x02);
write_com(0x98);
i=0;
while(table8[i]!=’’)
{
write_dat(table8[i]);
i++;
}
}
if(count8)
{
count=1;
flog=1;
write_com(0x01);
write_com(0x80);
i=0;
while(table1[i]!=’’)
{
write_dat(table1[i]);
i++;
}
write_com(0x81);
write_dat(0x02);
write_com(0x90);
i=0;
while(table2[i]!=’’)
{
write_dat(table2[i]);
i++;
}
。。。。。。。。。。。。。。。。。。。

源代码很长,鉴于篇幅限制,只能写部分代码

最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序完整源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。

谢谢!

创意发明:单片机做的半导体智能制冷小冰箱 原理图和程序源代码等技术文件相关推荐

  1. 小项目实践:单片机做的半导体制冷小冰箱 原理图和程序

    最近天气比较炎热闲来无事,自己在家DIY了一个小冰箱,试了一下制冷效果还可以的,下面就把制作步骤和技术资料和大家共享一下: 这个冰冰可乐什么的真的太适合不过了..器材:一个电源模块,220v转12v, ...

  2. 手把手教你做自然语言理解智能对话的微信小程序【核心源码】

    闲聊-智能对话:微信小程序详解 重要提醒:第三方私人语音接口已关闭,现已更新至官方语音接口,如有问题请联系博主 重要更新!!!! 现在"智能聊"小程序支持语音输入了!!!!! 完整 ...

  3. 51单片机做的家庭智能消防扑救系统(GSM通讯)分享给大家 电路图,测试图,各模块源代码全技术资料

    应读者要求设计一个家庭智能消防系统,需要完成的基本功能分为检测,GSM通讯电话短信报警,语音播报,水泵灭火等方面.现在把我这个方案的整个思路分享给大家,希望对大家有所帮助.同时也欢迎大神提出我的错误之 ...

  4. 毕业论文 | 基于单片机的多功能智能小车设计论文(电路+程序+论文)

    ============================================== 博主github:https://github.com/MichaelBeechan 博主CSDN:htt ...

  5. 51单片机入门:LED灯闪烁(原理图+仿真+程序)

    目录 硬件电路设计 仿真电路设计 程序设计 仿真实现 在用51单片机点亮一个LED小灯的基础上,下面尝试将一个LED灯闪烁起来. 硬件电路设计 结合51单片机最小系统的知识,利用AD19画好最小系统电 ...

  6. 【毕业设计】单片机和stm32设计选题,proteues仿真、程序完整资料-转发分享

    题目:1854 基于单片机智能充电器系统设计仿真 程序 论文 摘要 在我们的日常生活中,手机已经变得越来越重要了.我们经常需要使用手机,打电话.发短信.上网.看电影.听歌.玩游戏等等.随着大屏幕和高主 ...

  7. 基于51单片机的智能鱼缸设计。 有原理图,程序,原文,可代做实物。 才用STC12C5A60S2,最新款国产51单片机

    基于51单片机的智能鱼缸设计. 有原理图,程序,原文,可代做实物. 才用STC12C5A60S2,最新款国产51单片机. 本系统设计的主要是基于单片机为核心,设计一款集温度检测.恒温控制.步进电机控制 ...

  8. 基于51单片机的半导体制冷小冰箱

    基于51单片机的半导体制冷小冰箱 1.设计目的 温度控制系统广泛应用于社会生活的各个领域,比如温室.水池.发酵缸.电源等场所的控制.对于课程设计来说,选题用51单片机来进行半导体制冷小冰箱的设计实质上 ...

  9. 创意发明: 基于STC51单片机超声波测距(精简设计只需三个元件)

    基于STC51单片机超声波测距精简设计只需三个元件(测距模块暂且算做是一个元件吧) 1.所需元件:STC单片机+超声波模块+4位共阳数码管 2.原理:单片机向测距模块trig脚发送20us的高电平触发 ...

最新文章

  1. JavaScript 简史
  2. X皮书之shell 常用代码
  3. 数字经济时代凸显网络安全重要性
  4. foreach的工作原理和深拷贝、浅拷贝
  5. 为什么要在定义抽象类时使用abstract关键字
  6. (原创)让mongodb的secondary支持读操作
  7. POJ 1850 Code
  8. vscode生成代码图片_vs Code 快速生成代码
  9. 【Xamarin挖墙脚系列:Xamarin的核心】
  10. 演讲的思路锻炼,逆向思维需要刻意练习吗?
  11. 时间搓转换剩余时间 php
  12. 好玩又有趣的Python实例小游戏代码,我能在电脑上琢磨一天
  13. 【bioinfo】sam文件可选区域字段(Optional Feild)含义
  14. HTML+CSS制作人物介绍卡片效果
  15. 文化苦旅 余秋雨著
  16. 【论文分享】Sequence Directed Hybrid Fuzzing
  17. 计算机c语言lms算法,lms算法(毕业论文).doc
  18. 物联网实战指南 分享
  19. 拂面微风之项目一:皖新传媒(新华书店)项目
  20. antd-vue table组件二次封装(ts版本)

热门文章

  1. 爬虫新手入门(二):爬取一本言情小说的内容
  2. 王垠:我和Google的故事
  3. Debezium系列之:安装部署debezium2.0以上版本的详细步骤
  4. 买房知识总结,学习笔记【6000字】【原创】
  5. 华为5c_华为荣耀畅玩5C什么配置参数?标配有什么?
  6. VS2010项目转化为VS2008项目
  7. 关于EXE文件关联的.
  8. 计算机技术与软件专业技术资格(水平)考试—— 软考中级 网络工程师笔记five
  9. 编码——永不退色的计算机科学经典著作
  10. 根据HSV阈值对图像二值化