查看: 11835
回复: 10
51单片机+DHT11+1602显示屏控制四个继电器
小魔王养的猪
1
主题
5
回复
发表于2018-11-16 23:32:38 | 显示全部楼层
1# 电梯直达

开源分享一个51小制作

项目 1    基于51单片机温湿度的检测及控制的设计

在以下这儿帖子中我会贴出源码原理图pcb以及设计文档,以及整个系统的介绍。福利 包含的所有元器件清单也会贴出并且均可在立创商城购买~~!!!

简单介绍这个作品的整个系统 。

1.本设计基于STC89C51/52(与AT89C51/52、AT89S51/52通用,可任选)单片机;

2.AT24c02芯片掉电存储设置的上下限;

3.四个按键为设置、加、减、确定,实现了阀值的调节;

4.LCD1602液晶显示,上面行显示当前的温度和湿度,下面行显示相应的冷、热、干、湿;

5.配用全数字型温湿度传感器DHT11,温度测量范围0--50℃,湿度测量范围20%RH90%RH,可以满足一般需要;

6.当超过阀值的时候,有蜂鸣器闪烁报警提示。并有开关可以关闭或打开报警;

7.当温度或湿度超限后,报警信号灯点亮同时相应的继电器吸合。继电器可以驱动打开或切断通风机、抽湿机、加热器、制冷器、加湿器、报警器等外部设备(自行发挥);


对于新手,想先给大家补充点单片机最小系统的知识

从我们入门第一天起,我们就要给自己建立一个目标就是设计出属于自己的最小系统

先放个当年我画的,下文再给大家讲一下 点击查看大图

 点击查看大图

画的一般大家见谅,需要的可以画好pcb直接在立创商城下单24h出板哦!!!

下面进入正题51最小系统介绍

单片机最小系统的相关知识

单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。下面给出一个51单片机的最小系统电路图。

 


复位电路:

一、复位电路的用途:单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。单片机复位电路如下图:

二、复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。

开机的时候为什么会复位:在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在单片机启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。

按键按下的时候为什么会复位:在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。


晶振电路:

晶振电路:晶振是晶体振荡器的简称 在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络 电工学上这个网络有两个谐振点 以频率的高低分其中较低的频率是串联谐振 较高的频率是并联谐振 由于晶体自身的特性致使这两个频率的距离相当的接近 在这个极窄的频率范围内 晶振等效为一个电感 所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路 这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路 由于晶振等效为电感的频率范围很窄 所以即使其他元件的参数变化很大 这个振荡器的频率也不会有很大的变化

晶振有一个重要的参数 那就是负载电容值 选择与负载电容值相等的并联电容 就可以得到晶振标称的谐振频率

一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振 再有两个电容分别接到晶振的两端 每个电容的另一端再接到地 这两个电容串联的容量值就应该等于负载电容 请注意一般IC的引脚都有等效输入电容 这个不能忽略

一般的晶振的负载电容为15pF或12.5pF 如果再考虑元件引脚的等效输入电容 则两个22pF的电容构成晶振的振荡电路就是比较好的选择 

如上图:晶振是给单片机提供工作信号脉冲的 这个脉冲就是单片机的工作速度 比如 12M晶振 单片机工作速度就是每秒12M 当然 单片机的工作频率是有范围的 不能太大 一般24M就不上去了 不然不稳定

晶振与单片机的脚XTAL0和脚XTAL1构成的振荡电路中会产生偕波(也就是不希望存在的其他频率的波) 这个波对电路的影响不大 但会降低电路的时钟振荡器的稳定性 为了电路的稳定性起见 ATMEL公司只是建议在晶振的两引脚处接入两个10pf-50pf的瓷片电容接地来削减偕波对电路的稳定性的影响 所以晶振所配的电容在10pf-50pf之间都可以的 没有什么计算公式

P0口的上拉电阻:

P0口作为I/O口输出的时候时 输出低电平为0 输出高电平为高组态(并非5V,相当于

悬空状态)。也就是说P0 口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。 由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。 

1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。  

2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!! 

3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效; 4.当P0口用来驱动NPN管子的时候,就需要上拉电阻的,因为此时只有当P0为1时候,才能够使后级端导通。

31脚EA/Vpp接电源:

STC89C51/52或其他51系列兼容单片机特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行,当接低电平时,复位后直接从外部ROM的0000H开始执行,这一点是初学者容易忽略的。

...........通过上面这么详细的介绍,大家作为初学者应该对51单片机最小系统有了大概理解,这样对于下面的项目应该会有更好的理解。

重点来了!!!材料清单贴出大家均可在立创商城购买!!!

 点击查看大图

好的~材料清单贴出来大家可能对这个系统有了大概的轮廓,下面贴出原理图pcb图以及用万用板的焊接图。

 点击查看大图



走心了的原理图啊!!!接下来重要了大家可以选择万用板练习焊接(立创商城为大家准备了新手工具包哦~)也可以选择在立创商城下单打板!!!速度超级快价格实惠而且质量很好哦~

应该都能看懂吧~下面我就要放一个画好的pcb吧。

 

年轻的时候画的,大家凑合看。

剩下的就是源码以及一些设计文档还有参考论文开题报告啦~~好累   

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

想了想还是先把源码贴出来吧

 


注释新手都能看懂吧~~~~先这样,洗漱休息了,稍后会把相关文件上传百度云分享给大家~~~






哧Joseph
10
主题
19
回复
发表于2018-11-29 09:22:58   |  显示全部楼层
7#

主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部