基于51单片机的智能晾衣架设计资料

第三章:硬件单元电路

经过上述分析明确了本次设计的主要目标,为了实现晾衣自身能够完成对外界数据的采集与分析,集成控制环节我们采用了ATMEL公司生产的AT89C52单片机,与市面上的其他嵌入式控制单元相比较在体积与功耗方面都相当出色。此次设计主要突破在于设计合理的控制电路单元,同时结合采用的主控编写高质量的源码并使系统在实际与应用中能够发挥出色的稳定性和参考价值。本次将围绕主控单元设计合理的电路,结合SHT11温湿度采集单元、感光原件单元、LCD显示单元、模式控制单元使晾衣架能够得到外界的实时数据并作出相应的调整。在设定合适的温湿度及感光度的条件下能够自动控制电机驱动滑杆实现自动量晒与回收衣物,结合光线角度进行上下左右调整。主要框架如下图所示:


 

3.1主控单元设计

              为了使智能晾衣架在使用时满足嵌入式系统功耗、抗干扰、适用空间等要求,设计之初除了上述因素也考虑到成本因素。通过比较我们选择了51系列中的AT89C52芯片作为主控制单元。无论是功耗还是处理速度上都有着不错的表现,与CONTEX-M3系列单片机相比较处理上稍微慢点,但本次设计对分时处理的要求不是特别高,同时52系列具有简单高效的指令集和,大大减少设计难度,结合SHT11与ADC0804精准的完成数采集与电机控制。
              我们常见的主控封装形式有40脚的DIP直插的也有PQFP类型的贴片封装,在proteus中仿真的时候选择DIP类型,方便自主设计与搭建外围电路单元。从产品角度和制版工艺上面来讲贴片能够节省空间。这次采用的主控制芯片是8位CMOS工艺的单片机,内部有八位CPU和FlASH,在工控领域有着广泛的用途,脱机运行性能稳定,相比较51有着更大的存储和定时器资源,其主要内部参数与引脚分布见下图:
指令集和
兼容MCS-51产品
FLASH
8个字节重复擦写
擦写周期
1000次重复擦写
静态操作
0HZ –- 24MHZ
编程I/O
32个可编程I/O
功耗模式
低功耗和掉电模式
中断源个数
8个中断控制单元
定时器个数
3个16位定时/计数器

表:3.1.1主要参数

图:3.1.2双列直插型                                             图:3.1.3 PLCC贴片型
              由上图可以直接看到引脚标识与编号,左下角的GND与右上角的VCC需要外接合适的工作电压,一般采用5V工作电压。两侧的P0-P3 I/O口是可编程输入输出管脚,一组有四个,一共32个,可以看到I/O资源挺丰富且适合驱动多种外设。最小控制单元自工作的时候需要外部晶振提供合适的工作频率同时为了防止程序跑飞或者陷入死循环还要提供合理的复位单元。通俗点好比人要正常工作的需要心脏提供合适的脉搏跳动,这里我们选的是11.529MHZ的外部无源晶振,在外围接上两个22PF的非极性滤波电容连接到18、19管脚,为最小系统提供合适的工作频率。复位环节通过分压电阻与按键开关为9管脚提供复位信号,10uf的极性电容较减少按动过程中的抖动信号,发送有效地高电平信号可以让单片机重新加载程序,从头开始跑。此次仿真过程中由于I/O分配的原因采用了两片主控,另外需要注意的是P3口除了通用的管脚功能外,还有拓展的第二功能,配置其引脚功能能够实现定时/计数功能以及外部中断资源,在实际设计过程中有着非常多的用途。下面是最小控制单元的原理图以及P3管脚工能分布图:,

图:3.1.3最小系统                                图:3.1.4 P3口复用

3.2LCD液晶显示            

              主控单元在上电之后会对液晶屏幕进行初始化,直观的显示出各项参数,结合独立按键显示控制模式,给用户提供良好的人机交互。常见的显示屏幕有很多尺寸,市面上的电容、电阻屏也数不胜数,这里我们选用户LCD1602作为液晶显示,同样的考虑到功耗与显示区间等因素。1602有着八个数据端口,体积很小亮度饱和能够直观简单的显示ASCII码与字符,与单片机的接口连接简单,控制屏幕上的液晶分子显示出字符,不同的电压控制不同区域
上下两行能够分别显示16个字符,不具备汉字现实的能力,这点上不如12864,但完成设计的时候能够带来更稳定的显示,较强的抗干扰能力。实际硬件分为有无背光源,带背光的厚度稍微大点,会有更好的显示效果且调节背光源之间的滑变能够显示效果。常用的有16个管脚,分为电源区、指令控制区、数据区、背光区。实际外观尺寸见下图:
 

图:3.2.1 LDC液晶尺寸图
可以看到上图中有两行显示区域,左上角有1-16个外围引脚可以用,用来驱动屏幕显示想要的数据与字符,先简单说下管脚分布和功能:1管脚与2管脚用来接工作电源;3管脚通过VCC与分压电阻控制屏幕的对比度且会随着电压的变化而增加减少,对比度过高会出现阴影不清晰等现象,因此需要条调节合适的对比度以满足正常显示,可以外接10K电阻进行调整;4管脚RS控制端用来告诉模块当前是发送/读写数据还是指令,在实际现实过程中参与控制时序,高的电平信号控制数据控制寄存器、低电平信号控制指令寄存器;5管脚为W/R读写控制端,与4管脚结合起来可以实现数据/命令&读/写功能;6管脚作为EN使能控制端用来控制液晶的工作状态;7管脚到14管脚为数据线,用来读写数据;15与16管脚控制背光,根据实际情况考虑是否需要接入电路中。
              对控制端口有一定的了解后,还需要掌握读写时序图从而根据时序去设计软件驱动,这里以写数据时序图为例子说下原理过程:

图3.2.2 写数据时序
              上图中RS决定当前是要启用命令寄存器还是数据寄存器,写数据的过程中RS要保持高电平信号,写命令的过程要保持低电平信号。当往液晶上写字符的时候,首先要将RS拉低,R/W保持低电频信号,随后有个上升沿将RS拉成高电位,也就是上图RS对应的第二条信号线。图中tsp_x、tR、tHD_x等间距在设计过程中都可以采用延时实现时序同步。我们可以看到valid data是有效地数据段,只有当RS = 1、R/W = 0、DB0-DB7发送数据、EN使能等状态都满足的时候才能实现数据从I/O写入到液晶。这种时序图在液晶操作与与不同工控领域的传感器数据采集中经常会用到,因此软件设计过程中要严格遵守时序从而获得准确有效地数据值。关于读写命令及读写数据的操作时序就不一一说明了,在下表中根据逻辑时序已经归出控制区域I/O的工作状态,方便开发使用。
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
输入
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
输出
读数据
输入
RS=H,R/W=H,E=H
输出
D0—D7=数据
写数据
输入
RS=H,R/W=L,D0—D7=数据,E=高脉冲
输出
表:3.2.3 控制时序
上面也有提到16个显示区域,它们也是有对应的基带地址,要在固定的地址上显示字符就需要发送对应的地址指令,第一行地址起始地址为0x00,第二行起始地址为0x40,后续的地址参考图3.2.3。设计时如果没有用到屏幕滚动的话可以不考虑虚拟地址。也就是说从0x10以后到0x27以及0x50到0x67需要开启其滚动显示才能显示出该地址空间上的数据。
关于常见的操作指令可以参考手册中的指令集部分,

图3.2.3地址映射

3.3SHT11温湿度

              对于外界环境的一些非线性参数,需要使用传感器将时变环境参数转换成时变模拟信号,经过预处理后由单片机把模拟信号转化成能够识别的数字信号。对于外界环境的温湿度参数获常用到的测量原件有DHT_x系列与SHT_x系列等测量原件。DHT11在控制领域有着广泛的应用,此外对于高精度的测量仪器仪表设备中SHT11也有着广泛的应用。这两款芯片本质上的区别在于内部采样部分,DHT11的核心部件采用的是湿敏电阻原件,准确度与稳定性相对来讲比较差;SHT11内部采用的湿敏电容元器件,抗扰能力强,准确度高,当然成本上会比DHT11高点,这里设计的时候我们选用SHT11电容性原件进行采样与分析处理。另外一点SHT11的接口上与DHT11也有些许差异,同门内部通信需要遵守各自的协议。详细的管脚图及与控制元件的接线见图3.3.1。
              

                           
图:3.3.1 SHT11使用原理图
上述原件预留了四个I/O接口,实际上该芯片有8个管脚且NC全部都接空,除了电源接口提供0-5V的工作电压之外还有串行数据通信接口SCK与DATA。我们采样的数据就需要通过IIC协议传送到8位单片机上,为了避免传送过程中带来的干扰需要在VDD与GND之间加上去耦滤波电容。

在采集数据周期内同样要遵守采样时序电路,前面已经以1602写数据为例说明。此外需要知道在启动传感器后如何发送指令集选择自己要得到数据,启动传输时序缓释通过SCK、DATA数据端口控制。SCK由高电频到低电频再到高电平的反转过程中农DATA同时出现高变低再变高的过程,下图为启动时序图:
图:3.3.2SHT11启动时序

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

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

相关文章

注册用户超6亿,哈啰发布年度可持续发展暨ESG报告

6月5日,哈啰发布《2023年度可持续发展暨ESG报告》,深入全面地展示2023年哈啰在可持续发展领域的举措和阶段性成果。 报告显示,哈啰始终遵循健康可持续的商业模式,以科技创新推动出行进化,在促进行业发展、环境友好、社…

特征工程及python实现

一、特征构建 概述 从原始数据中构建新的特征,一般需要根据业务分析,生成能更好体现业务特性的新特征,这些新特征要与目标关系紧密,能提升模型表现或更好地解释模型。 方法 时间周期:不同的时间切片长度&#xff0…

6_5 test

Lucene 存储引擎 https://www.cnblogs.com/tech-lee/p/15225276.html\ 规范 问问题的技巧 提问者:要实现怎样的目标?自己计划是如何实现这个目标的?问题出现在哪个环节?自己为了解决这个问题,已经做了哪些尝试和工…

GD32F470+lwip 丢包问题分析及解决

最近在用GD32和管理机之间用TCP协议开发一个功能,功能都没问题,后面跑大量发包时候的连续测试时,总是会出现偶发性的,大概几分钟到数十分钟的一次丢包。尽管在应用层做了超时机制,一旦超时就会重新建立socket链接并重新…

2025 QS 世界大学排名公布,北大清华跻身全球前20

一年一度,2025 QS 世界大学排名公布! QS(Quacquarelli Symonds)是唯一一个同时将就业能力与可持续发展纳入评价体系的排名。 继去年 2024 QS 排名因为“墨尔本超耶鲁,新南悉尼高清华”而荣登微博热搜之后&#xff0c…

【数据结构与算法 经典例题】随机链表的复制(图文详解)

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《数据结构与算法 经典例题》C语言 期待您的关注 ​ 目录 一、问题描述 二、解题思路 三、代码实现 1. 原链表中节点的数据拷…

厉害了!ATFX登上南非主流报刊《The Citizen》头条

时隔三个月后,ATFX再次登上国际知名报刊头版头条,并迅速成为各大媒体关注焦点。继1月强势登陆《日本时报》经济与商业版面,2月在中东知名媒体CNBC Arabia留下深刻印记后,5月ATFX受邀参展2024年南非峰会并接受媒体采访见证了品牌的…

SAS:什么时候用kcompress呀?

问题:如何截取ECGTPT变量中的后三个字符? 下图展示了以k开头的以及非k开头的substr函数和length函数,发现在UTF-8编码下,仅以k开头的函数能够截取成功。 释疑(以下内容来自SAS Help) SAS提供的字符函数…

Java基础29(编码算法 哈希算法 MD5 SHA—1 HMac 算法 堆成加密算法)

目录 一、编码算法 1. 常见编码 2. URL编码 3. Base64编码 4. 小结 二、哈希算法 1. 哈希碰撞 2. 常用哈希算法 MD5算法 SHA-1算法 自定义HashTools工具类 3. 哈希算法的用途 校验下载文件 存储用户密码 4. 小结 三、Hmac算法 小结: 四、对称加密…

一分钟学习数据安全——数字身份的三种模式

微软首席身份架构师金卡梅隆曾说:互联网的构建缺少一个身份层。互联网的构建方式让你无法得知所连接的人和物是什么。这限制了我们对互联网的使用,并让我们面临越来越多的危险。如果我们坐视不管,将面临迅速激增的盗窃和欺诈事件,…

无需复杂步骤,Win11用户轻松开启旧版文件资源管理器!

在Win11电脑操作中,用户可以使用到新版的文件资源管理器,但总是有各种错误、卡顿等问题的出现,所以很多用户都不喜欢新版资源管理器。接下来小编给大家介绍一个简单的方法,帮助Win11用户快速开启旧版文件资源管理器。 具体操作如下…

代码随想录算法训练营第二十五天| 216. 组合总和 III、17. 电话号码的字母组合

[LeetCode] 216. 组合总和 III [LeetCode] 216. 组合总和 III 文章解释 [LeetCode] 216. 组合总和 III 视频解释 题目: 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该…

Mysql 常用命令 详细大全【分步详解】

1、启动和停止MySQL服务 // 暂停服务 默认 80 net stop mysql80// 启动服务 net start mysql80// 任意地方启动 mysql 客户端的连接 mysql -u root -p 2、输入密码 3、数据库 4、DDL(Data Definition Language )数据 定义语言, 用来定义数据库对象(数…

电子电器架构 --- 智能座舱技术分类

电子电器架构 — 智能座舱技术分类 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,…

如何修改cPanel面板的语言

本周有一个客户,购买Hostease的主机, 客户购买的是Linux虚拟主机,带cPanel面板的。询问我们的在线客服,他想修改cPanel面板的默认语言。Hostease虚拟主机默认英语,客户想要修改成中文。 在cPanel面板中修改语言设置是一…

怎么看新手入门学Java?

对于新手来说,学习Java是一个既令人兴奋又可能令人畏惧的过程。Java作为一种强类型、面向对象的编程语言,它广泛应用于企业级应用、Android开发、大数据和云计算等领域。因此,Java不仅有着庞大的生态系统,还拥有稳定的市场需求&am…

curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL

source ~/.bash_profile flutter clean Command exited with code 128: git fetch --tags Standard error: 错误:RPC 失败。curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8) 错误:预期仍然需要 2737 个字节的正文 fetch-pack: unexpec…

【React篇 】React项目中常用的工具库

我们可以从项目初始化、开发、构建、检查及发布的顺序总结react项目开发常用的工具库。 首先是初始化。 初始化工程项目一般用官方维护的 create-react-app,这个工具使用起来简单便捷,但 create-react-app 的配置隐藏比较深,修改配置时搭配…

设备在线监控系统软件

在数字化、智能化的浪潮中,物联网技术正以前所未有的速度改变着我们的工作和生活方式。作为物联网技术的核心组成部分,设备在线监控系统软件的重要性日益凸显。今天,我们就来详细探讨一下HiWoo Cloud平台如何助力企业实现设备的全面监控与管理…

纯血鸿蒙开发教程:如何实现运动饮食卡片效果

开发背景 人们对健康的要求越来越高,从单纯的健康饮食到健康运动,再到两者的结合。但是,饮食和运动之间的平衡一般人很难掌握,而我们这款 APP 将饮食、运动、以及自身身体状况(如体脂、体重、内脂等)有机结…