logo资料库

基于51单片机的智能晾衣架设计.docx

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
摘要
第一章:研究背景与意义
第二章:国内外研究现状
第三章:硬件单元电路
3.1主控单元设计
3.2LCD液晶显示
3.3SHT11温湿度
3.4感光采样单元
3.5独立按键单元
第四章:系统软件流程
4.1设计流程
4.2系统原理
第五章:数据测量分析
5.1实验测试数据
5.2结果误差分析、
结束语
致谢
参考文献:
智能晾衣架 摘要 关键词: Abstract: Keyword: 第一章:研究背景与意义 第二章:国内外研究现状
第三章:硬件单元电路 经过上述分析明确了本次设计的主要目标,为了实现晾衣自身能够完成对外界数据的采 集与分析,集成控制环节我们采用了 ATMEL 公司生产的 AT89C52 单片机,与市面上的其他嵌 入式控制单元相比较在体积与功耗方面都相当出色。此次设计主要突破在于设计合理的控制 电路单元,同时结合采用的主控编写高质量的源码并使系统在实际与应用中能够发挥出色的 稳定性和参考价值。本次将围绕主控单元设计合理的电路,结合 SHT11 温湿度采集单元、感 光原件单元、LCD 显示单元、模式控制单元使晾衣架能够得到外界的实时数据并作出相应的 调整。在设定合适的温湿度及感光度的条件下能够自动控制电机驱动滑杆实现自动量晒与回 收衣物,结合光线角度进行上下左右调整。主要框架如下图所示: 环境 VI 显示 3.1 主控单元设计 为了使智能晾衣架在使用时满足嵌入式系统功耗、抗干扰、适用空间等要求,设计之初 除了上述因素也考虑到成本因素。通过比较我们选择了 51 系列中的 AT89C52 芯片作为主控 制单元。无论是功耗还是处理速度上都有着不错的表现,与 CONTEX-M3 系列单片机相比较处 理上稍微慢点,但本次设计对分时处理的要求不是特别高,同时 52 系列具有简单高效的指 令集和,大大减少设计难度,结合 SHT11 与 ADC0804 精准的完成数采集与电机控制。 我们常见的主控封装形式有 40 脚的 DIP 直插的也有 PQFP 类型的贴片封装,在 proteus 中仿真的时候选择 DIP 类型,方便自主设计与搭建外围电路单元。从产品角度和制版工艺上 面来讲贴片能够节省空间。这次采用的主控制芯片是 8 位 CMOS 工艺的单片机,内部有八位 CPU 和 FlASH,在工控领域有着广泛的用途,脱机运行性能稳定,相比较 51 有着更大的存储 和定时器资源,其主要内部参数与引脚分布见下图:
指令集和 FLASH 擦写周期 静态操作 编程 I/O 功耗模式 中断源个数 定时器个数 兼容 MCS-51 产品 8 个字节重复擦写 1000 次重复擦写 0HZ –- 24MHZ 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 启动时序 常用的获取参数的指令有:温度测量 0x03、湿度测量 0x50、读状态寄存器 0x07、写状 态寄存器 0x06、软复位 0x1E 等。当我们要完成温湿度是测量的时候,需要发布测试命令 0x05 标识 RH 当前湿度值,0x03 表示当前温度值。当指令发送完成以后会有 20ms~320ms 的等待 时间,分别对应不同位数的的采样单元,常见的有 8 位 12 位和 14 位,位数越大精度越高同 时处理时间也要变长,等待数据测量完成以后会有“数据妥备”信号,紧接着进行 2 个字节 的测量数据和一个字节的 CRC 校验确定数据没有发生错误以后才能够将这组数据打包发送; 在收到 CRC 的校验完成以后,表明通讯完成,如果不进行 CRC-8 校验的能在测量到 LSB 之后 保持高电位的 ACK 能够终止通讯且 SHT1x 会自动进入到睡眠模式。详细的查看完整的测量时 序见图 3.3.3。 图:3.3.3 SHT11 采样时序
3.4 感光采样单元 晾衣架的设计要符合日常使用习惯,实现室外环境,温湿度的监控与感光值得检测,这 部分的用到 LDR 光敏电阻,常见的楼房中楼道的声控光控灯中就有光敏电阻,常见的光敏电 阻会随着光照的增强电阻值会变小。为了直观的看到光敏值变化我们可以通过 ADC0804 模数 转换芯片将动态变化的电位差转换成直观的数字信号,需要了解到的是 0804 的采样电压是 0-5V,8 位的分辨率映射到 256,根据 0-5V 的采样电势差映射到 0-256 区间,换算成百分比 显示出来。关于 ADC0804 的管脚说明这里不再赘述,详细参考使用手册。图 3.4.1 是光敏电 阻与三极管构成的光感度检测电路,图 3.4.2 是 ADC0804 引脚说明。 图:3.4.1 感光度测试电路 图:3.4.2 ADC0804 引脚分布
分享到:
收藏