全部资料私聊!!!
全部资料私聊!!!
全部资料私聊!!!
摘 要
本课题设计了一种智能浇花系统控制系统,能够实现对花盆温湿度、光照等信息实时监控,同时显示北京时间。硬件电路以AT89C51为核心芯片,用C语言进行设计,系统主要由DHT11温湿度传感器、DS1302时钟芯片、LCD1602、ADC0832电位器、继电器等模块组成。在Keil平台上进行软件设计、编译、仿真、下载和调试。基本上实现了智能浇花的功能,系统达到了***中的要求。
关键词:智能浇花系统;AT89C51;DHT11;DS1302;LCD1602
目录
1.设计任务及要求
2. 系统总体设计
2.1设计方案的确定
2.2系统框图、原理电路图
2.3对框图与原理电路图中各功能模块的文字说明
3. 系统详细设计
3.1 MCU模块设计
3.1.1该模块的电路框图
3.1.2电路分析及作用
3.1.3功能程序描述
3.2 LCD1602模块设计
3.2.1该模块的电路框图
3.2.2电路分析及作用
3.2.3功能程序描述
3.3 DS1302时钟模块设计
3.3.1该模块的电路框图
3.3.2电路分析及作用
3.3.3功能程序描述
3.4 DHT11模块设计
3.4.1该模块的电路框图
3.4.2电路分析及作用
3.4.3功能程序描述
3.5 ADC0832模块设计
3.5.1该模块的电路框图
3.5.2电路分析及作用
3.5.3功能程序描述
4. 系统调试
4.1 系统总体仿真
5. 课程设计总结
6. 参考文献
智能浇花系统的控制设计,为了实时监控花盆的环境因素,将采集花盆内的温湿度和光照等信息并显示在LCD1602上,如果其中一项指标达到设定的限值,则表示花盆内可能出现状况,发出声光报警。
该智能浇花系统采用AT89C51芯片作为主控芯片。AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,在众多嵌入式控制应用系统中得到广泛应用。AT89C51的基本结构包括中央处理器(CPU) 、存储器、定时/计数器、输入输出接口、中断控制系统和时钟电路六部分。
然后,我们使用LCD1602模块、DS1302时钟模块、DHT11湿度传感器和电位器模块等几部分完成智能浇花系统的基本逻辑设计。
LCD1602可以显示2行16个字符,有8位数据总线DO-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。我们使用时钟模块DS1302进行时间的计算,再用LCD1602进行显示。
DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有软年自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。DS1302在进行读写操作时最少读写两个字节,第一个是控制字节,就是一个命令,说明是读还是写操作,第二个时需要读写的数据。对于单字节写,只有在SCLK为低电平时才能将 CE 置高电平,所以刚开始将SCLK 置低,CE置高,然后把需要写入的字节送入 IO口,然后跳变SCLK,在SCLK下降沿时,写入数据。
DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,内部由一个 8 位单片机控制一个电阻式感湿元件和一个 NTC 测温元件。DHT11 虽然也是采用单总线协议,但是该协议与 DS18B20 的单总线协议稍微有些不同之处。相比于 DS18B20 只能测量温度,DHT11 既能检测温度又能检测湿度,不过 DHT11 的精度和测量范围都要低于 DS18B20,其温度测量范围为 0~50℃,误差在±2℃;湿度的测量范围为 20%~90%RH(Relative Humidity 相对湿度—指空气中水汽压与饱和水汽压的百分比),误差在±5%RH。
电位器模块通过滑动变阻器模拟光敏传感器,通过ADC0832采集电压信息,转换成数字信息传送到单片机内部,显示光照强度信息。
MCU微控制器: 采用AT89C51芯片作为主控芯片,AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器。它是整个系统的核心器件。
显示模块:LCD1602,对时间、温湿度、光照强度进行实时显示。
时钟模块:DS1302是一个实时时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且还有闰年自动调整的能力,可以通过配置AM/PM来决定采用24小时格式还是12小时格式。DS1302在进行读写操作时最少读写两个字节,第一个是控制字节,就是一个命令,说明是读还是写操作,第二个时需要读写的数据。对于单字节写,只有在SCLK为低电平时才能将 CE 置高电平,所以刚开始将SCLK 置低,CE置高,然后把需要写入的字节送入 IO口,然后跳变SCLK,在SCLK下降沿时,写入数据。
湿度传感器模块:DHT11 数字湿度传感器是一款含有已校准数字信号输出的湿度复合传感器,内部由一个 8 位单片机控制一个电阻式感湿元件和一个 NTC 测温元件。DHT11 虽然也是采用单总线协议,但是该协议与 DS18B20 的单总线协议稍微有些不同之处。相比于 DS18B20 只能测量温度,DHT11 既能检测温度又能检测湿度,不过 DHT11 的精度和测量范围都要低于 DS18B20,其温度测量范围为 0~50℃,误差在±2℃;湿度的测量范围为 20%~90%RH(Relative Humidity 相对湿度—指空气中水汽压与饱和水汽压的百分比),误差在±5%RH。
继电器模块:在湿度过低的时候,闭合对应继电器来驱动电机,进行加水。
3.1.1该模块的电路框图
3.1.2电路分析及作用
时钟电路:单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTAL1和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,系统时钟电路结构如上图所示,根据情况选择12MHz频率的石英晶体,补偿电容选择30pF左右的瓷片电容。
以此来形成单片机稳定的系统时钟。
复位电路:单片机采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮操作使单片机复位。复位电路结构如上图所示。手动按键复位通过按键将电阻R3与VCC接通来实现。
3.1.3功能程序描述
3.2.1该模块的电路框图
3.2.2电路分析及作用
液晶显示模块:它的硬件连接图如上图所示,LCD1602的VSS与地相连、VDD与电源相连、RS与单片机的P2_0口相连、RW与P2_1口相连、E与P2_2口相连、D0-D7连接到单片机的P1口(VEE用于调节对比度,所以连接到VCC)。所以给LCD1602送入数据也就是给单片机P1口送数据,再通过单片机的P2_1(RW)、P2_2(RS)、P2_0(E)控制LCD的时序使其正常工作于各个过程。
3.2.3功能程序描述
描述:在使用LCD1602时,我们通过写入指令来控制待显示数据在液晶显示器上的位置以及设置LCD1602的参数;通过写入数据来表示具体要显示的内容。
3.3.1该模块的电路框图
3.3.2电路分析及作用
时钟模块:通过DS1302实时时钟芯片产生时间信息,能够把时间信息写入DS1302并且读取出来。DS1302与单片机的硬件接线如上图所示。在DS1302的X1、X2管脚处外接了一个频率为32.768KHZ的晶振,为时钟运行提供一个稳定的时钟频率。RST非、SCLK、I/O分别与单片机的P2_5、P2_6、P2_7连接,串行数据通过I/O引脚在单片机和DS1302之间进行传输。
3.3.3功能程序描述
描述:在此模块中最重要也是最基本的两个函数是写入一个字节的函数(即设置时间)和读取一个字节的函数。
3.4.1该模块的电路框图
3.4.2电路分析及作用
DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,内部由一个 8 位单片机控制一个电阻式感湿元件和一个 NTC 测温元件。DHT11的供电电压为3~5.5 V。传感器上电后,要等待 1s 以越过不稳定状态,在此期间无需发送任何指令。VDD和DATA之间可增加一个5.1k的电阻,用以拉高电平。DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分
3.4.3功能程序描述
描述:主机发送开始信号(拉低DATA线时间大于18ms),DHT11在开始信号结束后发送响应信号(拉低DATA线80us),然后延时40-50us后开始传输数据。所以主机发送开始信号后,将io设置为输入,延时20-40us后检测DATA线电平状态,即可知道DHT11是否有响应。
3.5.1该模块的电路框图
3.5.2电路分析及作用
在该模块中,我们使用滑动变阻器模拟光照强度,再将信息传送到ADC0832中,ADC0832将模拟信号转换成数字信号,并输入单片机,我们就得到了光照的具体数据。
3.5.3功能程序描述
实验结果最终符合预期,各部分正常工作,单片机最小系统正常工作是系统运行的核心。经过前期翻看并学习了大量的相关资料,对本次实验心里有了一个大概,然后我在keil中编写代码,在proteus中画出电路图,并进行仿真,验证自己代码思想的对错,其中有几次仿真并不成功,但经过多次修改调试后,最终实现想要的效果,这个经验是非常宝贵的。
要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序和连接电路时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们的成长的历程,常有一些不如意,难免会遇到各种各样的问题。
我觉得作为一名自动化专业的学生,单片机电路的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,自己开始主动学习并逐从基础慢慢开始弄懂它我认为这个收获应该说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程,意义重大。
[1]阎石.数字电子技术基础.第四版.北京:高等教育出版社,1998.12:77-174
[2]〕邓元庆.数字电路与逻辑设计.第二版.北京:电子工业出版社,1995: 149-195
[3]王东峰.单片机C语言应用100例.第三版.电子工业出版社, 2009:133-145
[4]潘永雄.新编单片机原理与应用.第二版.西安:西安电子科技大学出版社,2003:178-199
[5]马忠梅. 单片机的C语言应用程序设计.第二版.北京航空航天大学出版社,2014: 275-303
[6]冯建华,赵亮.单片机应用系统设计与产品开发.第四版.北京:人民邮电出版社,2004:78-119
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/52509.html