序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机百叶窗控制系统设计
第3章 系统硬件设计
3.1 硬件设计概述
智能百叶窗的核心芯片是STC89C52,与电容、电阻、晶振等元件构成单片机最小系统。在最小系统的基础上加入其他模块组成智能百叶窗的控制系统。其中系统电路模块包括:显示设备使用LCD1602液晶,可以同时显示实时温度值、温度阈值、电机的状态、当前光照强度、光照强度阈值、控制模式这些基本信息,打印显示在LCD1602液晶屏上;光照检测电路采用光敏电阻和模数转换芯片PCF8591,在此基础上外加入2了电位器,芯片将采集到的模拟量转化为数字量,光敏电阻和芯片PCF8591以及电位器组成了AD采样电路,其中2个电位器分别可以控制温控和光控的阈值;温度采集电路使用DS18B20温度传感器模块;使用蓝牙模块进行串口命令的发送,可以通过连接手机APP来进行指令的发送,可以进行模式切换,百叶窗使用步进电机来驱动,加上制作了百叶窗的模型,最后供电采用常用的USB5V进行供电。
3.2 最小系统模块
3.2.1 STC89C52简介
图3.1 STC89C52单片机DIP封装
设计的百叶窗智能控制系统采用STC89C52芯片,如上图3.1。STC89C52是STC公司旗下生产的一种CMOS (ComplementaryMetalOxideSemiconductor互补金属氧化物半导体)8位微控制器,具有8K字节系统可编程Flash存储器,STC89C52RC芯片使用时消耗功率低,使用场合广。STC89C52芯片是MCS-51内核,它可以直接使用串口来下载。从以上信息可以知道STC89C52芯片具有价格低、较高的性能和丰富的资源。STC89C52芯片一共有40个引脚,其引脚相关功能如下表3.1,表3.2所示。
表3.1 单片机的引脚说明
引脚符号 | 引脚说明 |
P1.0-P1.7 | 8位双向输入/输出端口 |
P0.0-P0.7 | 8位漏极开关型双向I/O口,可作为通用的I/O口使用。 |
P2.0-P2.7 | 8位双向输入/输出端口 |
P3.0-P3.7 | 8位双向输入/输出端口,有第二功能 |
VSS/VCC | 接地/电源正极 |
RST | 高电平复位 |
表3.2 单片机P3引脚第二功能
引脚符号 | 第二功能 |
P3.0 | 串行输入管脚 |
P3.1 | 串行输出管脚 |
P3.2 | 外部中断0 |
P3.3 | 外部中断1 |
P3.4 | 定时器0的外部输入 |
P3.5 | 定时器1的外部输入 |
在知道STC89C52芯片相关的管脚功能后,要清楚单片机的最小系统,如下图3.2所示,单片机的最小系统有晶振电路、复位电路和电源电路。
图3.2 单片机最小系统电路
3.2.2 晶振电路
晶振电路是单片机电路不可缺少的一部分。它的主要任务是给内部时钟给一个固定的频率,可以通过改变晶振的大小来改变单片机的运行速度,晶振越大,运行速率也就越快,也就是加快每条语句的运行时间。每个单片机都有一个设定的晶振大小,智能百叶窗控制系统使用的晶振大小为11.0592M,如果没有晶振系统将出现不正常工作,或者停止工作。如图3.3所示,晶振电路与固定的引脚相连,接在单片机的19脚和20脚。
图3.3 晶振电路
3.2.3 复位电路
智能百叶窗控制系统采用上电复位和按键手动复位,当按键按下的时候,电源和电容同时通过电阻放电,使单片机的RST为高电平,使单片机恢复到原来的状态。如下图3.4所示,复位电路有固定的连接引脚,与单片机的9脚RST相连。单片机在上电的时候也会自动复位一次,也就是初始化一次,在上电的时候,RST脚表现高电平,此时单片机是不工作的,在电容充完电后,RST脚会是低电平,这就是上电复位的过程,这个过程可以去除一些开机不正常的因数,从复位的角度来看,复位电路的电容不宜过小,要让复位的时间稍微的长一些。
图3.4 复位电路
3.2.4 电源电路
电源电路由DC接头,开关,指示灯,电阻组成,如图3.5所示。当接通电源,按下按键上电后,金属片23、56接通,这时指示灯会亮起,代表通电,电流流向整个系统。
图3.5 电源电路
3.3 LCD1602显示电路
3.3.1 LCD1602介绍
智能百叶窗控制系统使用的LCD1602不需要外加驱动电路,现在的开发板上基本都配套有LCD1602的液晶屏,学起来也十分方便,它可以显示2行,每行16个字符,通过给每个点不同的电平来控制亮灭来显示字符。芯片工作电压范围是4.5V到5.5V;工作电流为2.0mA;最佳的工作电压5.0V;其引脚说明如下表3.3所示:
表3.3 LCD1602液晶引脚说明
引脚编号 | 引脚符号 | 引脚说明 |
1 | VSS | 电源负极 |
2 | VDD | 电源正极 |
3 | VL | 偏压信号 |
4 | RS | 数据/命令选择端 |
5 | R/W | 读/写选择选择端 |
6 | E | 使能信号 |
7-14 | D0-D7 | 数据 |
15/16 | BLA/BLK | 背光源正极/背光源负极 |
需要注意的是15脚和16脚如果没接,液晶还是会显示字符,背光可见显示字符,1脚和2脚是供电端,如果不接,液晶就不会工作。
系统中采用LCD1602作为显示器件输出信息。
其中4、5、6三脚与寄存器有关,当输入的电平不同时,功能不同,当4、5、6脚分别为0、0、1时,功能是写入命令寄存器,为1、0、1时,功能是写入数据寄存器。
几个比较常用的指令是清屏指令0X01;模式指令0X38,代表的是数据传输为8位,显示2行,每个字符大小由5×7的点上组成;0X08,液晶关闭指令;指令0X06是从左依次写到右,整体不移动;指令0X0C是不开光标,不闪烁。这几个都是此次系统设计用到的指令。
3.3.2 LCD1602液晶模块显示电路
液晶模块的电路的连接图如下图3.6所示。通过LCD1602各脚与单片机相连来显示,在此模块中,通过时序写命令和写数据将要显示的数据打印在液晶屏上,智能百叶窗中,液晶屏上可以显示实时温度,光照,光照阈值和温度阈值,还可以显示当前步进电机处于何种状态,系统处于何种模式。
第5章 硬件调试
5.1 元器件选择与测量
本次设计所用到的元器件有主控芯片STC89C52、电阻电容、电位器、晶振、开关、电源插口、PCF8591数模转换芯片、DS18B20温度传感器、LCD1602液晶、蓝牙MODE模块、LN2003步进电机驱动芯片、步进电机、CH340烧写模块以及杜邦线。这些元器件在淘宝上很容易买到,不过在焊接之前要仔细的检测一下,像电容电阻这些可以用万用表来进行测量,或者电容看上面的标识,电阻的大小可以通过色环读取法来读取,晶振上面也会有标识,在芯片的焊接上,我们要了解器件的引脚再进行焊接。
继元器件的选择和测量之后,就要进行接下来的焊接工作,可以在面包板上调试好功能,一来方便拆卸,二是可以调整布线。此次设计采用万用板来作为焊接载体,注意事项:
1、在焊接时可以使用不同颜色的线,比如正极,负极之分。这样可以便于焊接和后期的电路检查;
2、在焊接公共点的时候,一定要细心,在焊接中连线要做到连线一致,不要交叉太多,后续方便查线;
3、在焊接元器件时,要注意正负极的元器件,比如电容,二极管,电位器这些,在焊接的时候要特别注意,接反的坏会损坏元器件,严重的话可能会造成电路断路,损坏电路其他模块。
5.2 电路的调试步骤
首先是测试了各个模块的功能,能实现功能后再进行逐步焊接,最后实现整体系统功能。
调试的步骤如下:在焊接好电路板后,不要急于的通电,我们先要按造我们画的原理图来对应检查,检查有没有线接错,包括多焊、少焊,或者距离较近的元器件有焊接在了一起的情况,这都需要排除。
在完成电路板的检查步骤后,接下来就是接通电源,但是通电后我们还需要观察每个零件的状态,有没有发热之类、漏电之类,如果出现了以上问题,需要立即的关闭电源按键。重新检查各个模块,各个元器件是否出现问题,如果出现问题,需要更换。
在前二步都没有出现问题的情况下,就可以进行程序的烧写了,在烧写程序后也要进行调试,看能不能满足系统的整体功能。
5.3 实物的调试
实物的调试是最后的一步,也是十分重要的一步,根据之前介绍的实物调试方法,在接好电源检查没问题后 (使用的电源是5V电源),就可以上电了,通电后按下上点按键,图5.1是实物上电的图片,电源指示灯亮起,系统开始工作。
图5.1 实物上电
图5.2 1602液晶显示(0模式)
图5.2是上电后开始工作的1602液晶显示,液晶显示分为两行,第一行分别代表的是实时温度T,此时测得的温度是26.3℃,与手机显示温度相差不大。s43代表的是设置的温度阈值,N0表示的是电机的状态,因为此时上电之后整个系统都先初始化了,电机正传会显示NB,电机反转会显示NA。第二行的nowL代表的是当前的光照强度,s60表示的是设定的光照强度阈值,M:0表示的是此时系统处于0模式。当手动模式下会显示M:S,在自动模式下会显示M:Z。
在整个系统工作趋于稳定后,我们连接蓝牙,蓝牙模块长红不闪烁表示连接成功,进入透传模式下图5.3是蓝牙连接成功的标志接下来可以通过图5.4所示的手机控制界面来进行指令的发送。手机控制界面第一行的三个按钮从左到右分别是“自动模式”、“手动模式”和“0模式”,用来进行模式的切换。第二行的按钮分别是“4手动模式开”和“5手动模式关”,只在手动模式下按下单片机才能正确的接收指令,在其他模式下按下不起作用。需要注意的是,实物一上电就会显示0模式,这时候液晶屏上就可以显示采集的光照和温度等相关信息了。
图5.3 蓝牙连接成功
图5.4 手机控制端
(1)手动控制
在手动控制模式下,我们发送按下按钮发送指令,按下手动控制按钮后,液晶屏上的模式显示地方也会发生改变,如果模式液晶显示M:S字样即代表进入手动模式,切换成功,手动模式下进行相关操作,先判断百叶窗的状态然后在进行操作,这也是很重要的一步,相当于找到初始位置。如果百叶窗是打开的状态,我们发送关闭的指令即可关闭,反之发送打开的指令百叶窗就会打开。但是如果在打开的状态在发送打开的指令,步进电机就不会转动。下图5.5表示的是手动模式下百叶窗打开或者在打开的过程中。
图5.5 1602液晶显示(手动模式步进电机正反转)
(2)自动模式
在自动控制模式下,我们发送按下按钮发送指令,按下手动控制按钮后,液晶屏上的模式显示地方也会发生改变,如果模式液晶显示M:Z字样即代表进入自动模式,切换成功,手动模式下进行相关操作,自动模式又包括光控和温控。测试完手动模式后在手机端按下“自动模式”按钮,当进入自动模式后,系统会根据单片机里写的逻辑指令来判断光照或者温度,届时步进电机会转动控制百叶窗的打开和关闭。先测试光控,我们可以自己设置光照的阈值,这里我们设置的是光照阈值为60,实时的关照强度是80,所以此时百叶窗会打开,当光照强度低于60时,百叶窗就会关闭,这里可以用手遮住光敏电阻来模拟光照强度的降低。温控和光控有着异曲同工之妙,温控和光控在超过阈值步进电机转的方向刚好相反,它们是或的关系,只要有一个满足就可以执行,如果二者都满足的情况下只会执行一次。比如温控和光控下百叶窗都满足打开的条件,只会执行一次。
图5.6表示的是在自动模式下,步进电机处于正转或者百叶窗打开或者准备打开的状态。图5.7是百叶窗的打开状态,图5.8是百叶窗的关闭状态。
原理图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!