基于51单片机的冰箱控制系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机冰箱控制系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机冰箱控制系统设计

  • 1. 主要功能:
  • 2. 讲解视频:
  • 3. 仿真
  • 4. 程序代码
  • 5. 设计报告
  • 6. 原理图
  • 7. 设计资料内容清单&&下载链接
    • 资料下载链接:

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0092

1. 主要功能:

基于51单片机的冰箱控制系统仿真设计

1、系统通过数码管显示冷藏温度、冷冻温度,两个温度可调;

2、具有自动模式、手动模式、速冻模式可选,有对应的模式指示灯。

手动模式下可以修改温度;

自动模式下冷冻-18度,冷藏5度。

速冻模式下冷冻-25度,冷藏0度。

3、通过DS18B20检测冷藏室和冷冻室的温度,如果温度低于设置温度,制冷模块工作。

4、冰箱开门一分钟超时报警提示。

img

需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

2. 讲解视频:

讲解视频包含仿真运行讲解和代码讲解

3. 仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后数码管显示当前模式下的冷冻室温度和冷藏室设置温度。默认手动模式,手动模式指示灯点亮,如果测量到的温度高于设置温度,对应的制冷模块开始工作。

img

通过点击按键切换自动模式和速冷模式,自动模式 自动模式下冷冻-18度,冷藏5度。 速冻模式下冷冻-25度,冷藏0度。

img

冰箱开门一分钟超时报警提示。

img

4. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。

#include "reg51.h"
#include"Ds18b20.h"
#define uchar unsigned char
#define uint unsigned int
sbit smg1=P2^0;//数码管
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
sbit smg5=P2^4;
sbit smg6=P2^5;
sbit smg7=P2^6;
sbit smg8=P2^7;
sbit k1=P3^0;//按钮
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
sbit k5=P3^4;
sbit k6=P3^5;
sbit k7=P3^6;
sbit k8=P3^7;
sbit beep=P1^4;//蜂鸣器
sbit led1=P1^5;
sbit led2=P1^6;
sbit led3=P1^7;
sbit out1=P1^0;
sbit out2=P1^2;
完整代码见文章下载压缩包
//数码管编码
uchar code smgduan[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
uchar time=0;
float wendu1=-18,wendu2=5;//冷冻,冷藏
uchar mode=0;
uchar miao=0,sec=0;
//延时
void delay(uint i)
{
	while(i--);
}
//主函数
void main()
{
	uint i;
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		//显示冷冻室
		if(wendu1>0)
		{
			i=wendu1;
			smg1=0;
			P0=smgduan[i%1000/100];	smg2=1;delay(50);smg2=0;
			P0=smgduan[i%100/10];	smg3=1;delay(50);smg3=0;
			P0=smgduan[i%10];		smg4=1;delay(50);smg4=0;
		}
		else
		{
			i=-wendu1;
			P0=0xbf;		smg1=1;delay(50);smg1=0;
			P0=smgduan[i%1000/100];	smg2=1;delay(50);smg2=0;
			P0=smgduan[i%100/10];	smg3=1;delay(50);smg3=0;
			P0=smgduan[i%10];		smg4=1;delay(50);smg4=0;
		}
		//显示冷藏室
		if(wendu2>0)
		{
			i=wendu2;
			smg5=0;
			P0=smgduan[i%1000/100];	smg6=1;delay(50);smg6=0;
			P0=smgduan[i%100/10];	smg7=1;delay(50);smg7=0;
			P0=smgduan[i%10];		smg8=1;delay(50);smg8=0;
		}
		else
		{
			i=-wendu2;
			P0=0xbf;		smg5=1;delay(50);smg5=0;
			P0=smgduan[i%1000/100];	smg6=1;delay(50);smg6=0;
			P0=smgduan[i%100/10];	smg7=1;delay(50);smg7=0;
			P0=smgduan[i%10];		smg8=1;delay(50);smg8=0;
		}
		//点亮led
		if(mode==0)
		{
			led1=0;led2=1;led3=1;
			if(!k4)
			{
				if(wendu1<99)
					wendu1=wendu1+1;
				while(!k4);
			}
			if(!k5)
			{
				if(wendu1>-30)
					wendu1=wendu1-1;
				while(!k5);
			}
			if(!k6)
			{
				if(wendu2<99)
					wendu2=wendu2+1;
				while(!k6);
			}
			if(!k7)
			{
				if(wendu2>-30)
					wendu2=wendu2-1;
				while(!k7);
			}
		}
		if(mode==1)			    
		{
			led1=1;led2=0;led3=1;
			wendu1=-18;wendu2=5;
		}
		if(mode==2)
		{
			led1=1;led2=1;led3=0;
			wendu1=-25;wendu2=0;
		}
		//按键检测
		if(!k1)
			mode=0;
	   	if(!k2)
			mode=1;
		if(!k3)
			mode=2;
	}
}

img

5. 设计报告

8281字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等

img

随着科学技术的不断进步,尤其是微电子技术和嵌入式系统技术的快速发展和深度融合,使得家电产品的智能化水平不断提升,已然成为现代家电制造业转型升级的关键驱动力和行业发展趋势的核心体现。冰箱作为家庭生活中的重要设施,其智能化水平不仅关乎用户的日常使用便利性和舒适度,更直接影响到能源利用效率和节能减排的效果,尤其是在全球能源危机和环境保护背景下,冰箱的智能化设计显得尤为必要和紧迫。

本课程设计项目正是在此背景下应运而生,致力于基于经典的51系列单片机开发一套完善的冰箱控制系统。项目设计涵盖了从硬件构造到软件编程,从传感器数据采集到实时温度控制等多个层面,旨在打造一款既能满足用户个性化需求,又能实现高效节能的智能化冰箱产品。在设计过程中,我们将充分利用Proteus仿真软件的强大功能,进行系统设计、电路布局、代码编写和功能验证等一系列环节,让学生在虚拟环境中全面模拟冰箱控制系统的实际运行状况,从而加深对嵌入式系统设计原理、传感器应用技术以及实时控制算法等专业知识的理解和掌握。

通过参与此项目,学生们不仅能系统地学习和实践嵌入式系统设计的相关知识与技能,还能在模拟真实场景中锻炼自己的问题发现与解决能力,从而全面提升在面对实际工程问题时的分析、设计和调试能力,为将来在智能家电乃至整个嵌入式系统领域的深度学习和研究打下坚实基础。同时,这也符合我国创新驱动发展战略的要求,积极推动科研成果转化为生产力,服务于人民生活和社会经济发展。通过本次设计,我们希望能够提高对单片机的理解和应用能力。通过实践和探索,我们希望能够掌握相关的硬件和软件设计方法,为今后的学习和工作打下坚实的基础。同时,我们也希望能够通过这次设计,培养我们的团队协作能力和创新精神。

6. 原理图

原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。

img

元器件清单:

元件型号数量
单片机AT89C511
电容30pf2
电容10uf1
晶振12MHZ1
按钮8
电阻10k1
电阻1k3
电阻100欧3
三极管PNP3
继电器5V2
蜂鸣器有源1
传感器DS18B202
开关1
数码管4位共阳2
电源部分
排针2P1
电容0.1uf2
电容100uf2
稳压器78051

Proteus仿真和实物作品的区别:

1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。

2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。

电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。

3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。

4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。

7. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、程序

2、proteus仿真

3、功能要求

4、软硬件流程图

5、开题报告

6、设计报告

7、原理图

8、元器件清单

9、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

img

资料下载链接:

https://docs.qq.com/doc/DS0dEbXh5Z3JCeHZC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/621514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Debian mariadb 10.11 XXXX message from server: “Too many connections“

问题表现 报错信息&#xff1a;Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections" 处理步骤 1、尝试能不能通过终端登录&…

从头理解transformer,注意力机制(下)

交叉注意力 交叉注意力里面q和KV生成的数据不一样 自注意力机制就是闷头自学 解码器里面的每一层都会拿着编码器结果进行参考&#xff0c;然后比较相互之间的差异。每做一次注意力计算都需要校准一次 编码器和解码器是可以并行进行训练的 训练过程 好久不见输入到编码器&…

SpringBoot中@Value注入失败

首先&#xff0c;不支持static的 解决&#xff1a;使用setter方法进行属性的赋值,并且setter方法不能有static 生成set/get方法就可以了&#xff0c;然后Value 放在set上

《系统架构设计师教程(第2版)》第10章-软件架构的演化和维护-07-软件架构维护

文章目录 1. 软件架构知识管理1.1 概念1.2 架构知识的获取1.3 作用1.4 架构知识管理的现状 2 软件架构修改管理3 软件架构版本管理4. 示例4.1 背景4.2 数据获取4.3 数据计算4.4 结果分析4.4.1 圈复杂度 (CCN)4.4.2 扇入扇出度 (FFC)4.4.3 模块间耦合度 (CBO)4.4.4 模块的响应 (…

x264 场景切换检测算法分析

x264 编码器场景切换 在 x264 编码器中,场景切换(Scene Cut)检测是一个重要的特性,它用于识别视频中不同场景之间的过渡点。这些过渡点通常是视觉上显著不同的帧,比如从一个镜头切换到另一个镜头。在这些点插入关键帧(I帧)可以提高视频的随机访问性和编码效率。 入口函…

vue 百度地图点击marker修改marker图片,其他marker图片不变。

解决思路&#xff0c;就是直接替换对应marker的图片。获取marker对象判断点击的marker替换成新图片&#xff0c;上一个被点击的就替换成老图片。 marker.name tag;marker.id i; //一定要设置id&#xff0c;我这里是设置的循环key值&#xff0c;要唯一性。map.addOverlay(mark…

SSRF(服务器端请求伪造)的学习以及相关例题(上)

目录 一、SSRF的介绍 二、漏洞产生的原因 三、利用SSRF可以实现的效果&#xff08;攻击方式&#xff09; 四、SSRF的利用 五、SSRF中的函数 file_get_content() 、fsockopen() 、curl_exec() 1.file_get_content()&#xff1a; 2.fsockopen(): 3.curl_exec()&#xff1…

【鸿蒙开发】第二十四章 IPC与RPC进程间通讯服务

1 IPC与RPC通信概述 IPC&#xff08;Inter-Process Communication&#xff09;与RPC&#xff08;Remote Procedure Call&#xff09;用于实现跨进程通信&#xff0c;不同的是前者使用Binder驱动&#xff0c;用于设备内的跨进程通信&#xff0c;后者使用软总线驱动&#xff0c;…

算法设计与分析(超详解!) 第三节 贪婪算法

1.贪心算法基础 1.贪心算法的基本思想 贪心算法是从问题的某一个初始解出发&#xff0c;向给定的目标推进。但它与普通递推求解过程不同的是&#xff0c;其推动的每一步不是依据某一固定的递推式&#xff0c;而是做一个当时看似最佳的贪心选择&#xff0c;不断地将问题实例归…

【选择结构程序设计-谭浩强适配】(适合专升本、考研)

无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 完整资料如下&#xff1a;纯干货、纯干货、纯干货&#xff01;&#xff01;…

uni-app跨端兼容

1.样式兼容 小程序端不支持*选择器&#xff0c;可以使用&#xff08;view,text&#xff09; 页面视口差异(tabar页、普通页) H5端默认开始scoped 例如骨架屏样式出现问题&#xff0c;需要将之前的样式拷贝到骨架屏中 提示&#xff1a;H5端是单页面应用&#xff0c;scoped隔离…

【吊打面试官系列】Java高并发篇 - 如何创建守护线程?

大家好&#xff0c;我是锋哥。今天分享关于 【如何创建守护线程&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 如何创建守护线程&#xff1f; 使用 Thread 类的 setDaemon(true)方法可以将线程设置为守护线程&#xff0c;需要注意的是&#xff0c;需要在调用 …

家政服务新体验——家政小程序开发,让生活更轻松!

一、引言 随着现代生活节奏的加快&#xff0c;家政服务已经成为越来越多家庭不可或缺的一部分。然而&#xff0c;传统家政服务方式往往存在预约不便、服务质量参差不齐等问题。为了解决这些问题&#xff0c;我们精心打造了一款家政小程序&#xff0c;为您带来全新的家政服务体…

Codeforces Round 843 (Div. 2) B. Gardener and the Array (构造)

原题地址 The gardener Kazimir Kazimirovich has an array of n n n integers c 1 , c 2 , … , c n c_1, c_2, \dots, c_n c1​,c2​,…,cn​. He wants to check if there are two different subsequences a a a and b b b of the original array, for which f ( a ) …

学习笔记:Adaptive Platform(AP)适配到RTOS

一、背景 1、AP版本 Adaptive Platform AUTOSAR R20-11版本标准支持C14。CM模块支持DDS、SOME/IP协议 2、RTOS RTOS-A核&#xff0c;当前完全支持POSIX PSE51、POSIX PSE52接口&#xff0c;POSIX PSE53部分支持&#xff0c;POSIX PSE54基本不支持。详细接口参考&#xff1a…

《三》菜单栏_工具栏_状态栏动作与实现

上期我们创建了辣么多的动作&#xff0c;那么这次我们要是开始实现这些动作&#xff0c;撸起袖子来吧&#xff1a; //菜单动作&#xff08;ACtion&#xff09;QAction *newAct;//新建QAction *openAct;//打开QAction *saveAct;//保存QAction *saveAsAct;//另存为QAction *prin…

学习java

在实验室看见这本书&#xff0c;无聊看了下&#xff0c;写出了第一个java代码 成功下载了eclipse并且汉化。 写了自己的第一个java程序&#xff1a; package ttttt;public class ttttt {public static void main(String[] args) {System.out.println("hello world")…

DS高阶:B树系列

一、常见的搜索结构 1、顺序查找 时间复杂度&#xff1a;O(N) 2、二分查找 时间复杂度&#xff1a;O(logN) 要求&#xff1a;&#xff08;1&#xff09;有序 &#xff08;2&#xff09;支持下标的随机访问 3、二叉搜索树&#xff08;BS树&#xff09; 时间复杂…

免费的国内版 GPT 推荐,5个国产ai工具

提起AI&#xff0c;大家第一个想到的就是GPT。 虽然它确实很厉害&#xff0c;但奈何于我们水土不服&#xff0c;使用门槛有些高。 不过随着GPT的爆火&#xff0c;现在AI智能工具已经遍布到各行各业了&#xff0c;随着时间的推移&#xff0c;国内的AI工具也已经“百花盛放”了…

哈希重要思想——位图详解

一&#xff0c;概念 所谓位图&#xff0c;就是用每一位来存放某种状态&#xff0c;适用于海量数据&#xff0c;数据无重复的场景。通常是用来判断某个数据存不存在的。 为了方便理解我们引入一道面试题&#xff0c; 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无…