毕业设计 基于51单片机的室内环境监测系统的设计

2024-03-04 01:10

本文主要是介绍毕业设计 基于51单片机的室内环境监测系统的设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的室内环境监测系统的设计 

1 硬件设计

1.1 控制系统的选型

在选用控制系统时,需要对市面上各种芯片进行对比,选用最适合的芯片。为了应对zigbee和RF4CE应用难题,TI公司研发了一款能够结合这类应用的cc2530芯片。cc2530是一款高性能、高标准的芯片,具有多种标准接口,是一款兼具性能和性价比的芯片产品,而且这类芯片的型号较多,具有兼容多种型号的引脚,也可以兼容各种开发软件,从而可以适用于多款应用。更方便于个体研究。性能方面,这款芯片配备高效RF收发器。是标准的增强型8051CPU。cc2530具备不同的运行模式,且备较高的抗干扰和穿透。,很适用于低功耗无线传感网络中。所以cc2530很适合作为此设计的控制芯片。

1.2模块电路

1.2.1 系统单片机核心电路

cc2530通过引出一系列的外接引脚,用于控制系统各模块。单片机系统的核心电路图如下图3所示:

单片机系统核心电路图

1.2.2 系统的晶振电路

此单片机晶振电路用引脚PC14和引脚PC15连接到单片机,再通过单片机介入osc-in和osn-out,提供了稳定时序进入单片机,为使晶振能够谐振,加入了电容,方便产生时间的序列。在偏激中最为重要的就是时钟。

晶振电路原理如图4所示:

晶振电路原理图

1.2.3 复位电路设计

当系统监测到环境中有数据超标之后会触发系统报警。当问题得以解决之后,要使系统回复之处状态继续运行。我们就需要设计一个复位电路,复位电路图如图5所示:

复位电路原理图

1.2.4 呼吸灯原理

本课题设计基于cc2530单片机系统的呼吸灯要求在报警时能够频闪。单片机上的灯只有两种状态,通电时亮,断电时灭。要让灯由暗到亮再到暗,原理就是让灯以肉眼观察不到的频率闪烁,灯暗的时候其实是灯闪烁频率较低,逐渐加快频率,小灯就越来越亮,在到达设置的最高频率时灯就最亮,然后又降低频率,灯又慢慢变暗。以这种规律重复让灯闪烁就达到呼吸灯的效果。

1.2.5 电源电路设计

    系统需要供给5V直流电工作。在调试时直接使用电脑USB进行供电即可。在进行远距离测试时,用干电池对其供电。安装时需要常用的5V充电头持续稳定的供电。

1.2.6烟雾浓度检测模块

市面上有已存在的烟雾检测模块,因此只需将其介入到电路当中即可。烟雾传感器是要连接在从机的,当烟雾传感器采集到数据之后会通过从机的zigbee节点发送到协调器,协调器会在12864显示上显示出对应值,因为烟雾传感器是环境中烟雾浓度达到报警值之后就会报警,所以协调器显示屏上只会显示1和2,不会显示烟雾具体浓度。1表示报警2表示不报警。

2软件设计

2.1 软件开发环境

本设计使用的编译软件是IAR。在开发过程中,要尽量做到简单编译,语法通俗易懂。因此在对开发环境的选择时需要对软件各方面综合考虑选择。IAR作为一款优秀的开发工具广泛应用于嵌入式系统。这款C编译器可支持众多半导体材料微处理器。它具有丰富的函数库和强大的开发与调试的能力,含有的PROMable代码效率极高。面对不同的芯片有相应的速度和相应的大小优化器。是调试本课题设计的系统的很好的选择。

2.2 主机及从机电路设计

在本课题研究中,在单片机的控制下,通过温湿度传感器采集温湿度数据,烟雾传感器采集烟雾浓度。传感器收集到室内环境中的数据后,通过zigbee模块将数据发送到主机单片机,通过对数据的处理之后。在液晶显示屏上显示出室内温湿度数据及单位。

2.2.1 协调器程序设计

协调器部分也称主机部分,由一个cc2530、一个蜂鸣器和一个12864显示屏组成。功能是受到从机部分采集到的数据后,通过单片机处理在显示屏上显示出来,当各项数据超标后控制蜂鸣器报警。

主机程序代码如下:

uint8 wen[]={

if(KEY1==0)

                           {

                                if(wendu_worn>=65)  wendu_worn=1;

                                else wendu_worn++;                             

                                LCD_disp_char(2, 110,wendu_worn);                                

                            }

                            if(KEY2==0)

                            {

                                if(shidu_worn>=100)  shidu_worn=1;

                                else shidu_worn++;

                                LCD_disp_char(4, 110,shidu_worn);  

                            }                            

                            if((Temp>=wendu_worn)||(Humi>=shidu_worn)||(Smoke==0x01))

                            {

                              BEEP=0;D2=0;

                            }

                            Else

                            

                            if(KEY1==0)

                            {

                                if(wendu_worn>=65)  wendu_worn=1;

                                else wendu_worn++;                             

                                LCD_disp_char(2, 110,wendu_worn);                                

                            }

                            if(KEY2==0)

                            {

                                if(shidu_worn>=100)  shidu_worn=1;

                                else shidu_worn++;

                                LCD_disp_char(4, 110,shidu_worn);  

                            }                            

                            if((Temp>=wendu_worn)||(Humi>=shidu_worn)||(Smoke==0x01))

                            {

                              BEEP=0;D2=0;

                            }

                            else

                            {

                                (shidu_worn>=100)  shidu_worn=1;

                                else shidu_worn++;

                                LCD_disp_char(4, 110,shidu_worn);  

                            }                            

                            if((Temp>=wendu_worn)||(Humi>=shidu_worn)||(Smoke==0x02))

                            {

                              BEEP=0;D2=0;

                            }

2.2.2 从机程序设计

从机部分是在单片机控制下,通过DHT11传感器和烟雾传感器采集环境中的数据,再靠zigbee与协调器进行数据传输,我们还需对从机部分进行编译程序并拷入。

从机部分代码如下:

     while(1)

{

If(GPIO_ReadlnputDataBit(GDPIO_GPIO_Pin_1)==0)

{

UART1-sENDdATA(0*FC);

UART1-sENDdATA(0*07);

UART1-sENDdATA(0*01);

UART1-sENDdATA(0*01);

UART1-sENDdATA(0*FF);

UART1-sENDdATA(0*FD);

UART1-sENDdATA(0*00);

UART1-sENDdATA(0*01);

UART1-sENDdATA(0*FF);

}

else

{

UART1-sENDdATA(0*FC);

UART1-sENDdATA(0*07);

UART1-sENDdATA(0*01);

UART1-sENDdATA(0*01);

UART1-sENDdATA(0*FF);

UART1-sENDdATA(0*FD);

UART1-sENDdATA(0*00);

UART1-sENDdATA(0*01);

UART1-sENDdATA(0*FF);

}

Delay_ms(1000);delay_ms(1000); Delay_ms(1000);delay_ms(1000); Delay_ms(1000);delay_ms(1000);

}

2.2.3 LED12864显示模块

系统选用的是12864液晶显示屏,这个名字来源于横向128纵向64的点阵排列。这类显示屏在单片机领域应用广泛。8位并口的数据总线也很适合我们的cc2530单片机。

如果你需要帮助、建议或解决问题,不要犹豫,可以随时向老师提问或寻求支持。专注于单片机的解决方案可以为你提供有关电子设计、嵌入式系统、编程和硬件方面的宝贵信息。无论你的问题涉及到哪个方面,都可以向老师咨询,以获得有针对性的建议和指导。祝愿你在单片机设计领域取得成功!

这篇关于毕业设计 基于51单片机的室内环境监测系统的设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/771537

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry