133、仿真-基于51单片机太阳能热水器水温水位智能监控仪报警设计(Proteus仿真+程序+配套资料等)

news2024/10/7 18:21:40

方案选择
单片机的选择

方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字节,本次设计足够,内部高达20K字节的SRAM。
 

方案二:51单片机STC89C52系列的指令系统和AT89C52系列的完全兼容,但实际操作起来却存在很多问题:

(1)AT89C52不带ISP下载,要用下载器才行,STC89C52可以用你的USB转串口下载,下载软件可以到STC厂家网上去下。

(2)STC单片机执行指令的速度很快,大约是AT的3-30倍,尽管快是好事,但这样一来,你在AT上好使的程序在STC上不一定好用,最典型的例子就是那些对时序有严格要求的模块,用STC时注意得加长延时,大约是AT的10—30倍就差不多,这一点自己调试就知道了。

(3)STC单片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT肯定不行了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接查最小系统,看单片机的供电是否正常。

比较这两种方案,由于在学校期间学过数字电路、单片机原理、C语言程序设计,综合考虑单片机的各部分资源和作为学生能够获得的资源,还有STM32价钱比较贵方面。经过对比此次设计要求,我选择用51单片机中的STC系列芯片完成。而且学校也提供了相应的硬件操作平台,实际操作起来比较方便,故STC为更合理的选择。本系统选择STC89C52单片机作为主控芯片。足够本设计运行,且价格便宜,下载程序方便。


显示器选择方案

方案一:采用12864液晶显示屏。液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。

方案二:采用LCD1602液晶显示屏。LCD1602A 是一种工业字符型液晶,能够同时显示16x02 即32个字符。(16列2行)。1602只能显示字母、数字和符号能显示16*2个字符,但寄存器不止32个,有一些显示效果,如字符一个个显示、字符从左到右或从右到左显示等等,显示效果简单。

总结:在编程使用方面,两者难度差不多,原理差不多,都是写指令、写地址、写数据等等。当然12864液晶屏显示更全面、字符更多。相比于1602液晶屏、12864能更形象具体的实现显示功能。不过1602液晶屏也能实现设计的要求。网上买比较廉价,最低的六块钱左右。而12864液晶显示屏最便宜的也要四十块钱。从造价方面考虑,当然是价格低廉的优先。而LCD1602A就是最好的选择。

一、硬件组成

硬件组成:本系统采用51单片机最小系统电路(复位电路+晶振时钟电路+单片机电源电路)+水位传感器+按键+ds18b20温度传感器+LCD1602液晶+步机电机+DS1302时钟芯片+ADC0808+L298驱动芯片+蜂鸣器+加热棒+电源设计而成。

二、设计功能

1、本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用)。

2、本设计能实现对太阳能热水器的温度和水位的自动检测与控制。

3、LCD 1602液晶显示屏实时显示时间和水箱里的温度及水位。

4、通过按键能手动设置合适的水位并加水,并在水位太低时蜂鸣器报警和LED灯指示。

5、通过DS18B20传感器检测到水温不够时能通过继电器控制加热棒进行电加热。

6、通过水位传感器检测到水位的情况,并通过电机抽水和注水。

三、Proteus仿真图
 

 

单片机模块设计

单片微型计算机是随着微型计算机的发展而产生和发展的。自从1975 年美国德克萨斯仪器公司的第一台单片微型计算机( 简称单片机)TMS-1000 问世以来,迄今为止,单片机技术已成为计算机技术的一个独特分支,单片机的应用领域也越来越广泛,特别是在工业控制中经常遇到对某些物理量进行定时采样与控制的问题,在仪器仪表智能化中也扮演着极其重要的角色。

如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:

第一阶段(1976—1978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。

第二阶段(1978—1982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。

(1)完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。

(2)CPU外围功能单元的集中管理模式。

(3)体现工控特性的地址空间及位操作方式。

(4)指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。

第三阶段(1982—1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。

第四阶段(1990—):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。

单片机是在集成电路芯片上集成了各种元件的微型计算机,这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。
 

四、程序源码

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

 

资料包括:

 

需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【QT】元对象系统学习笔记(二)

QT元对象系统 01、属性系统1.1、 属性基础1.2、 QVariant类1.3、 使用QObject类存取属性值与动态属性1.4、 使用反射机制获取属性信息 02、信号与槽2.1、 信号与槽原理2.2、 创建信号与槽2.3、 信号与槽的连接2.4、 断开信号与槽2.5、 关键字原型 03、对象树与生命期3.1、组合模…

【TiDB理论知识 03】TiKV-持久化与数据读取

目录 一 TiKV架构和作用 二 数据持久化 1 RocksDB:写入 写入过程 第一步 :WAL 写日志 (磁盘日志) 第二步:写MemTable (内存中) 第三步 : 转存为immutable MemTable(内存中) …

JAVA集成国密SM4

JAVA集成国密SM4加解密 一、pom配置二、代码集成2.1、目录结构2.2、源码2.3、测试 三、遇到的坑3.1、秘钥长度3.2、转码问题 四、相关链接 国密算法概述:https://blog.csdn.net/qq_38254635/article/details/131801527 SM4对称算法 SM4 无线局域网标准的分组数据算…

线性表的链式存储结构以及顺序表和链表的比较

2.2线性表的链式存储结构 **链式存储结构:**结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。 线性表的链式表示又称为非顺序映像或链式映像 这组存储单元既可以是连续的,也可以是不连续的,甚至是零散…

C++基础算法前缀和和差分篇

📟作者主页:慢热的陕西人 🌴专栏链接:C算法 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 主要讲解了前缀和和差分算法 文章目录 Ⅳ. 前缀和 和 差分Ⅵ .Ⅰ前缀和…

AtcoderABC244场

A - Last LetterA - Last Letter 题目大意 给定一个长度为N的字符串S,由小写英文字母组成,打印出S的最后一个字符。 思路分析 题目要求打印出字符串S的最后一个字符,可以直接通过访问S的最后一个元素来获取该字符。可以使用字符串的back()…

旅游卡小程序软件招商加盟代理

旅游卡小程序软件招商加盟代理 我国人民生活水平的提高,旅游业成为了人们生活中必不可少的一部分。旅游卡小程序软件作为旅游行业的重要组成部分,也日益受到人们的关注。如今,旅游卡小程序软件招商加盟代理已经成为了一个热门的投资创业项…

$.getScript()方法获取js文件

通过$.getScript(‘xxxx.js’)获取xxxx.js文件,这时的ajax是一个get请求的状态,如果进行了入参data的赋值那么他就会跟在url后面,同理获取json文件,css文件。 一开始没想起这茬。。。

使用PostgreSQL创建高级搜索引擎

​本文我们将探索PostgreSQL中的全文搜索功能,并研究我们能够复制多少典型搜索引擎功能。 如果您想跟随并尝试示例查询(我们建议这样做,这样更有趣),可以使用来自Kaggle的Wikipedia电影情节数据集执行代码示例。要导入…

C++day4 (拷贝构造函数、拷贝赋值函数、匿名对象、友元函数、常成员函数、常对象、运算符重载)

#include <iostream> #include <cstring> using namespace std;class mystring { private:char *str; //记录C风格字符串int size; //记录字符串的实际长度public://无参构造mystring():size(10){strnew char[size];//构造出一个长度为10的字符串strcpy(str,&…

第七章嵌套矢量中断控制器(Cortex-M7 Processor)

目录 第七章嵌套矢量中断控制器 7.1关于NVIC 7.2NVIC功能描述 7.2.1低功耗模式 7.2.2电平与脉冲中断 7.3NVIC程序员模型 7.3.1中断控制器类型寄存器 第七章嵌套矢量中断控制器 本章描述了嵌套矢量中断控制器(NVIC)。它包含以下部分: 关于NVIC在7-2页。NVIC功能描述见第7-…

【软考】系统架构设计风格分类的个人理解

个人适当学习了软考系统架构设计师中关于系统架构设计相关的内容&#xff0c;梳理了一下相关信息。 常见架构类型和常见分类 常见的软考中出现的系统架构列举如下&#xff1a; 分层架构管道-过滤器架构客户端-服务器架构模型-视图-控制器架构&#xff0c;即MVC架构事件驱动架…

Meta 最新发布 LLaMA 2(允许商业化)

文章目录 Llama 2 模型介绍Llama 2的核心点Llama 2的测评结果Llama 2的预训练预处理数据预训练设置和模型架构 Llama-2-chat 模型介绍Llama-2-chat 模型在帮助性和安全性上的表现Llama-2-chat 模型的训练过程 Llama 2 模型介绍 2023年7月18日&#xff0c;Meta 发布了Llama 2&a…

字节跳动后端面试,笔试部分

背景 笔者在刷B站的时候&#xff0c;看到了一个关于面试的实录&#xff0c;前半段是八股文&#xff0c;后半段是笔试部分&#xff0c;感觉笔试部分的题目还是挺有意思的&#xff0c;特此记录一下。 笔试部分 问题1&#xff1a;SQL 这题考的是 union all 的用法&#xff0c;在…

流程工业停机的实际成本

流程制造工厂面临着避免停机的巨大压力&#xff0c;因为这可能会严重影响企业的整体生产力、盈利能力和声誉。企业对计划外停机的原因和成本了解得越多&#xff0c;就能做更多的事情来帮助降低停机的发生率&#xff0c;并在停机发生时更好地做好应对准备。 图.石油炼化工厂&…

在Redis主从系统中使用哨兵

一、什么是哨兵 Redis的哨兵&#xff08;Sentinel&#xff09;是Redis分布式系统中的一种特殊角色&#xff0c;用于监控和管理Redis主从复制架构中的主节点&#xff08;master&#xff09;和从节点&#xff08;slave&#xff09;。 哨兵的主要功能是确保Redis系统的高可用性。它…

学校教室巡课,为何你总是出错?

教育是社会进步和个人发展的重要基石&#xff0c;而教师的教学质量和专业能力直接关系着教育的成效和学生的学习成果。为了促进教师的专业发展和提高教学质量&#xff0c;在线巡课系统应运而生。 通过在线巡课系统&#xff0c;巡课者可以远程观察教师的授课过程&#xff0c;并提…

Hugging Face开源库accelerate详解

官网&#xff1a;https://huggingface.co/docs/accelerate/package_reference/accelerator Accelerate使用步骤 初始化accelerate对象accelerator Accelerator()调用prepare方法对model、dataloader、optimizer、lr_schedluer进行预处理删除掉代码中关于gpu的操作&#xff0…

使用Jmeter做性能测试的注意点

目录 一、性能测试注意点 二、性能指标分析 一、性能测试注意点 1. 用jmeter测试时使用BeanShell脚本获取随机参数值&#xff0c;会导致请求时间过长&#xff0c;TPS过低。应改为使用csv读取参数值&#xff0c;记录的TPS会更加准确。 注&#xff1a;进行性能测试时&#xff0…

EMC学习笔记(十七)PCB设计中的安规考虑

PCB设计中的安规考虑 1 概述2.安全标识2.1 对安全标示通用准则2.2 电击和能量的危险2.3 PCB上的熔断器2.4 可更换电池 3.爬电距离和电气间隙4.涂覆印制板4.1 PCB板的机械强度4.2 印制电路板的阻燃等级4.3 热循环试验与热老化试验4.4 抗电强度试验4.5 耐划痕试验 5.布线和供电 1…