基于单片机的粮仓温湿度多点无线监测系统设计.docx
- 文档编号:30583900
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:52
- 大小:143.87KB
基于单片机的粮仓温湿度多点无线监测系统设计.docx
《基于单片机的粮仓温湿度多点无线监测系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的粮仓温湿度多点无线监测系统设计.docx(52页珍藏版)》请在冰豆网上搜索。
基于单片机的粮仓温湿度多点无线监测系统设计
本科毕业设计
基于单片机的作息时间控制器
摘要
单片机应用技术飞速发展,纵观我们现在生活的各个领域,而STC89C52RC单片机在其中表现得很出色。
本系统是由STC89C52RC单片机为控制核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的作息时间控制器,采用DS1302时钟芯片来对计算时间,显示采用LCD1602液晶模块进行数字显示,设计出了更准确定时、更省电的控制系统。
它具有设置时间、日期、星期的基本功能,并且能够显示年、月、日、时、分、秒、星期。
能够设置多个闹钟时间,并能检测温度。
系统选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。
测试程序的可行性并用Proteus进行仿真。
系统读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。
关键词:
作息时间控制器STC89C52RCDS1302LCD1602
TimeScheduleControllerBasedonMicrocontroller
HuangXiaolin
(CollegeofEngineering,SouthChinaAgriculturalUniversity,Guangzhou510642,China>
Abstract:
Therapiddevelopmentofmicroputerapplicationtechnology,inallareasoflifewearenow,andSTC89C52RCsinglechipmicroputerinwhichdidverywell.ThissystemisposedofSTC89C52RCsinglechipmicroputerascontrolcore,withthenecessaryperipheralcircuits,designasimplestructure,timecontrollerwithpletefunctions,usingtheclockchipDS1302tocalculatetime,showstheuseofLCD1602liquidcrystalmodulefordigitaldisplay,designamoreaccuratetimingcontrolsystem,themoreenergy.Ithassetthetime,date,weekbasicfunctions,andcandisplayyear,month,day,time,minutesandseconds,week.Tosetanumberofalarmclocks,andcandetecttemperature.ThesystemchoosethesmallestSCMsystemapplications,addparisonprogram,timetoadjusttheprocedureandbuzzerprocedures,throughthetimeparisonprocedurestriggeredbuzzer,alarmclockfunction,pletedthedesignneedsofthesoftwareenvironment.FeasibilitytestprogramwiththeProteussimulation.
Thesystemiseasytoread,intuitivedisplay,functionaldiversity,simplecircuit,lowcostandmanyotheradvantages,hasbroadmarketprospects.
Keywords:
timeschedulecontrollerstc89C52rcds1302lcd1602
华南农业大学本科生毕业设计成绩评定表
1前言
1.1课题的研究背景
随着知识的积累,科学的飞速发展,科学已改变了人类的生活方式,给带来了人类历史上的巨大发展。
如今,几乎在每个领域都离不开科学的帮助,他以其巨大的效应吸引着人们去探索,去发现。
而在此当中,人们也会疲倦,需要休息,但时间也不能随意浪费掉,所以人们对作息时间的概念也比以前更加的看重,这时候一个作息时间控制器已经是越来越重要了。
而一个作息时间控制器就是带有闹时装置的钟。
既能指示时间,又能按人们预定的时刻发出音响信号或其他信号。
1.2课题的研究目的与意义
在数字化高速发展的时代,单片机在作息时间控制器里已经扮演着极为重要的角色,而我们可以简化成一个电子钟,它因LCD数字显示效用直接有效,它可以应用在学校、机关、企业、部队等单位礼堂、训练场地、教案室、公共场地等场合,可以说遍及人们生活的每一个角落。
它已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。
如夜间在睡觉的时候,床头如果放个作息时间控制器,可以直接让闹钟提醒自己,非常直观与有效。
所以说作息时间控制器的开发是具有广阔的市场前景的。
1.3单片机的发展
微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。
经过15多年的发展,成本是越来越低,而性能越来越强,这令其应用已经无处不在,遍布各个领域。
微处理器是20世纪伟大的技术创新之一,由此而衍生的微控制器将微处理器和外设集于一身,在新世纪里为多种应用开创了新局面,而且它将继续发挥不可替代的作用。
单片机就是微处理器的一代表。
那么现在让我们了解一下什么是单片机,单片机又称单片微控制器,它并不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
并可以完成一些简单的工作,这里举一个简单的例子,让你了解单片机是什么是干什么的,例如你现在把一个LED小灯,接在了单片机的一引脚上,我们要灯亮就给单片机一个指令,我们要灯熄灭也同样给一个指令就把灯给熄了。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
说到这里我们要问到底集成后的芯片是怎样的呢?
他就是一个电脑,只不过是微型的,麻雀虽小,五脏俱全,它内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可用它来做一些控制电器一类不是很复杂的工作足矣了,我们现在用的全自动滚筒洗衣机,排烟罩VCD等等的家电里面都有单片机这个小东西,它主要是作为控制部分的核心部件,相当于一个人的大脑。
单片机里面是要运行程序的,并且可以修改这个程序。
单片机程序又是怎样的呢?
他是通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这就相当于你先教会一个徒弟给他注入你的思想,让他学会帮你去完成一个工作,那么以后单片机就会按照你程序的思路自动的去完成所有的工作了。
单片机通过你编写的程序可以实现高智能,高效率,以及高可靠性。
它把一些常用的的功能或者要实现的比较复杂的有严格流程限制的任务在操作者一次编写好程序后,可以自动的运行,达到简化操作的目的,并且实现自动化和智能化。
1.4单片机的应用
当今社会,应用单片机的产品已经渗透到我们生活的各个领域中,我们可以随处可见到单片机踪影。
现在,这种单片机的使用领域已十分广泛。
产品用了单片机后,人们就会与智能化等相关联起来,如智能型洗衣机等。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的工程师和科学家。
科技越发达,智能化的东西就越多。
学习单片机是社会发展的必然需求。
由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。
它的应用遍及各个领域,主要表现在以下几个方面:
(1>单片机在智能仪器仪表中的应用;
(2>单片机在工业测控中的应用;
(3>单片机在计算机网络和通讯技术中的应用;
(4>单片机在日常生活及家电中的应用;
(5>单片机在办公自动化方面。
1.5单片机的一般硬件特性
(1>主流单片机包括CPU、4kb容量的ROM、128b容量的RAM、2个16位定时/计数器、4个8位并行口、全双工串口行口、ADC/DAC、SPI、I2C、ISP、IAP;
(2>系统结构简单,使用方便,实现模块化;
(3>单片机可靠性高,可工作到10^6~10^7小时无故障;
(4>处理功能强,速度快;
(5>低电压,低功耗,便于生产便携式产品;
(6>控制功能强;
(7>环境适应能力强。
2总体方案确定
2.1系统总体功能
(1>用单片机来实现;
系统能够精确定时,并能实时显示当前的时间,包括年、月、日、时、分、秒、星期;
(2>具备校准功能;
通过按键进行初始化,即设定当前的日期及时间、星期;
(3>停电停止显示,但继续计时;
(4>具备定时起闹、警示功能;
通过按键可随时设定两个不同的时间,待时间到时给出不同的提示,入蜂鸣器播放不同的音乐。
起闹功能可以设置;
(5>具有温度测量功能。
2.2控制电路的方案选择
方案一:
用可编程逻辑器件设计,而所设计的电路比较繁杂,可能用到十几片数字集成块,利用数字电路的各功能模块的组合来完成其功能,焊接的过程比较复杂,成本也比较高。
这里可以利用ALTERA公司的FLEX10K系列PLD器件。
结构清晰的设计,各个模块,从硬件上设计起来相对简单,比较方便控制与显示的模块间的连接。
但是如果结合本设计的特点,EDA在功能扩展上会受到约束,而且EDA占用的资源也会比较多。
用可编程逻辑器件设计,成本上来讲处在弱势。
方案二:
用单片机来设计完成,利用软件编程来完成主要功能,那么就把硬件电路变得比较简单,而且成本也会没有那么高。
它有丰富的中断源和时基,其时间也很精确,并且C语言和汇编兼容的编程环境也很方便来实现一些递归调用。
I/O口功能也比较强大,方便使用。
而控制器在单片机方面最有特点的就是对音频处理是可编程的,这样可对语音的录制播放和识别。
这些都有利于对拓展设计,更加完善设计。
成本没有那么的高。
不过在控制与显示的结合上比较困难,显示模组资源相对有限,且单片机不是非常的稳定。
这里,最后选择方案二。
它既能够实现既定功能,成本也不高。
综合考虑最后选择用单片机来作为中心控制器件。
使用单片机作为控制电路部分的核心器件将更加具有快捷、高效的性能。
2.3单片机芯片的方案选择
方案一:
MCS-51系列单片机作为硬件核心,这里主要是指Intel公司生产的以51位内核的单片机芯片,它采用FlashROM,内部具有4kbROM存储空间,有片内128bRAM,2个16位定时器/计数器,两个优先级别的五个中断源,4个8位的I/O并行接口:
P0、P1、P2、P3,片内带振荡器,频率X围为1.2MHz~12MHz,片内采用单总线结构,有较强的位处理能力。
其中,8031性价比较高,又易于开发,目前应用面广泛。
不过电路不具备ISP在线编程技术,在程序的错误修改或对程序的新增功能需要重新烧入程序时,芯片的多次拔插会对芯片造成一定的损坏。
方案二:
STC89C52RC单片机作为硬件核心,其指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
而且STC89C52RC单片机价格非常便宜,程序空间大,资源比较丰富,在线下载非常方便,并且该功能与51芯片相同,可以利用keil软件完成,并且它在对电路进行调试时,与51不同的是,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
这里,最后选择方案二。
在通过对多种单片机性能的分析,选择采用STC89C52RC作为主控制系统,它是一种高效微控制器,而且它与MCS-51兼容,且具有4k字节可编程序存储器和1000次擦写循环,数据保留时间为10年,是最好的选择。
2.4显示电路的方案选择
方案一:
采用点阵式数码管显示,多个发光二极管组成显示部分,更方便于显示文字,且价格比较高,功耗大,不适合在本设计方案中。
方案二:
采用八段数码管显示,优点是编程简单,显示稳定,CPU的效率较高。
不过当显示位数较多时单片机中I/O口的开销很大,需要提供的I/O接口电路也较复杂。
虽然动态扫描方式可以节省单片机的I/O口线,简化硬件电路,不是还是相对比较繁琐。
这虽经济实惠,但操作比液晶显示来说略显繁琐,且功耗相对比较大。
方案三:
采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示数字、字符及系统的状态,驱动电路也不复杂、易于实现,且功耗低、体积小,在很多应用系统中都有广泛的应用,不过价格稍微比较高,需要比较多的接口。
这里综合考虑后选择方案三,它的显示内容丰富,让系统的显示更加清晰,所以采用LCD液晶显示屏作为显示部分模块。
2.5时钟部分的方案选择
方案一:
利用单片机中都集成的定时器,通过软件编程来构成一个时钟来使用,使用程序实现年、月、日、星期、时、分、秒计数。
不过使用不够方便,且占用单片机资源,容易出现死机、跑错等等,很多时候需要再重新手动调整,以致工作起来很不方便,比较不符合现代自动化的特点。
虽然可以减少芯片的数目,减低费用,但准确度不够高。
方案二:
采用DS1302时钟芯片实现时钟,DS1302是一种实时时钟芯片,它具有高性能、低功耗的特点。
RAM的大小有31字节,与CPU同步通信的方式为连接着SPI的接口,能够一次性传送时钟信号和RAM数据,其中时钟信号包含多个字节。
时钟有这实时性,并可以自动调整年月日、星期、时分秒,同时还可以自动计算闰年功能。
可以两个电源供电,其中主电源正常供电,可设置如何对备用电源充电,能对备用的电源执行充电行为。
DS1302经常用于记载数据,由其是对那些特别不同的数据的记载操作上,能同时把数据与其呈现的时间点一起记载下来,因此在测量系统中被很多人采用这芯片产品。
综合考虑后,选择方案二,系统就不怕掉电且时间精确,工作方便,且很符合智能化的特点。
3理论分析及设计
3.1系统概述
3.1.1系统硬件框架
本系统是由STC89C52RC单片机为控制核心,辅以DS18B20温度传感器,DS1302时钟芯片,显示采用LCD1602B液晶模块进行数字显示,存储模块采用24C02C。
系统具有在线编程功能,低功耗,能在3V超低压环境中工作;时钟电路由内部时钟电路外接晶振提供,它是一种高性能、低功耗、带RAM的可随时调整时钟电路,工作电压为3V~5V;1602液晶模块可以显示2行16个字符,有8位数据总线D0—D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光,该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU(MicroControlUnit>的I/O口资源。
采用数字式温度传感器DS18B20测量温度,它是数字式温度传感器,具有测量精度高,电路连接简单的特点,这里只需要一条数据线就可以进行数据传输。
系统主要由晶振电路、复位电路、时钟电路部分、中央处理单元、液晶显示部分、温度采集部分、数据存储部分组成,通过编写软件程序来实现和控制的数字作息时间控制器,电路总体框图设计如图1所示。
图1电路总体框架图
3.1.2系统原理图
系统原理图如图2所示。
3.2硬件的电路设计
3.2.1STC89C52RC单片机
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特点:
价格非常便宜,程序空间大,资源比较丰富,在线下载非常方便,并且该功能与51芯片相同,可以利用keil软件完成,并且它在对电路进行调试时,与51不同的是,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
图2硬件原理图
STC89C52RC单片机的工作模式:
(1>掉电模式;
(2>空闲模式;
(3>正常工作模式。
STC89C52RC引脚图如图3所示。
STC89C52RC引脚功能说明
VCC<40引脚):
电源
VSS<20引脚):
接地
P0端口 P0口是双向I/O口。 P0写入“1”时,可以作为高阻抗输入。 在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。 图3STC89C52RC引脚图 P1端口 P1口是一个带上拉电阻的I/O口。 P1的输出缓冲器可驱动4个TTL输入。 可用作输入口。 此外,P1.0和P1.1的其他功能为定时器/计数器2的P1.0/T2输入和定时器/计数器2的P1.1/T2EX输入,具体如表1所示。 表1P1.0和P1.1引脚复用功能 引脚号 功能特性 P1.0 T2<定时器/计数器2外部计数输入),时钟输出 P1.1 T2EX<定时器/计数器2捕获/重装触发和方向控制) P2端口 P2口是一个有内部电阻的I/O端口。 输出缓冲器能驱动4个TTL输入。 P3口有I/O口与其他一些功能,如表2所示。 表2P3口引脚复用功能 引脚号 复用功能 P3.0 RXD<串行输入口) P3.1 TXD<串行输出口) P3.2 INT0<外部中断0) P3.3 INT1<外部中断1) P3.4 T0<定时器0的外部输入) P3.5 T1<定时器1的外部输入) P3.6 WR<外部数据存储器写选通) P3.7 RD<外部数据存储器读选通) RST<9引脚): 复位输入。 默认状态下,复位高电平有效。 ALE/¯PROG<30引脚): 地址锁存控制信号ALE。 ¯PSEN<29引脚): 选通¯PSEN外部程序存储器。 ¯EA/VPP<31引脚): 控制访问外部程序存储器。 XTAL1<19引脚): 振荡器反相放大器与芯片内部时钟发生电路可输入的引脚端。 XTAL2<18引脚): 振荡器反相放大器可输入的引脚端。 3.2.2时钟芯片DS1302 DS1302是一种实时时钟芯片,它具有高性能、低功耗的特点。 RAM的大小有31字节,与CPU同步通信的方式为连接着SPI的接口,能够一次性传送时钟信号和RAM数据,其中时钟信号包含多个字节。 时钟有这实时性,并可以自动调整年月日、星期、时分秒,同时还可以自动计算闰年功能。 可以两个电源供电,其中主电源正常供电,可设置如何对备用电源充电,能对备用的电源执行充电行为。 DS1302经常用于记载数据,由其是对那些特别不同的数据的记载操作上,能同时把数据与其呈现的时间点一起记载下来,因此,它经常在测量系统中被很多人采用这芯片产品。 DS1302的外部引脚分配如图4所示。 DS1302的内部结构如图5所示。 图4DS1302的外部引脚分配 图5DS1302的内部结构 各引脚的功能为: Vcc1: 主电源;Vcc2: 备份电源。 当Vcc2大于Vcc1+0.2V时,由Vcc2向DS1302供电,而Vcc2小于Vcc1时,Vcc1提供电源。 SCLK: 串行时钟,输入,控制数据的输入与输出; I/O: 双向数据线; CE: 输入信号。 DS1302的工作原理: DS1302在工作的时候,把RST引脚改为高电平,然后移位寄存器存入地址信息与命令字节后,这样就可以随意对其他数据进行初始化。 而在SCLK上升沿信号的时候就可以输入数据,其中数据的首八位表明所需要访问的地址信息,在移位寄存器存入命令后,记录后,在读的时候可以进行数据输出操作,在写操作的时候,也可以分别对数据进行输出操作。 DS1302的多个寄存器: (1>DS1302与时钟相关的寄存器共有12个,各个都有着不同的功能,而其中存储的格式又不是都相同的。 其相关的寄存器里,有七个<读取时间81h~8Dh,写进时间80h~8Ch),是以BCD的格式记录数据的。 有关日历、时间的寄存器如表3所示。 表3DS1302有关日历、时间的寄存器 读寄存器 写寄存器 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 X围 81h 80h CH 10秒 10秒 10秒 秒 秒 秒 秒 00-59 83h 82h - 10分 10分 10分 分 分 分 分 00-59 85h 84h 12/24 0 10/AMPM 时 时 时 时 时 1-12/0-23 87h 86h 0 0 10日 10日 日 日 日 日 1-31 89h 88h 0 0 0 10月 月 月 月 月 1-12 8Bh 8Ah 0 0 0 0 0 周 周 周 1-7 8Dh 8Ch 10年 10年 10年 10年 年 年 年 年 00-99 8Fh 8Eh 0 0 0 0 0 0 0 0 - (2>DS1302的工作模式寄存器 突发模式的意思就是一个回合输出RAM的数据与包含几个字节的时钟信号。 突发模式寄存器具体如表4所示。 (3>除了这些,芯片还有着对充电相关操作的寄存器与一些其他的寄存器等,这些暂时就不再讨论了。 读写时序说明 DS1302时钟芯片的驱动方式是采用SPI总线的方法来驱动。 它需要把控制字写进寄存器当中,而且我们还应该读取与之相关的数据。 表4突发模式寄存器 工作模式寄存器 读寄存器 写寄存器 时钟突发模式寄存器 BFh BEh RAM突发模式寄存器 FFh FEh 与DS1302时钟芯片进行通信,就必须要知道其控制字,其控制字在其通信中扮演着很重要的角色。 所以,就让我们先看看其控制字到底是怎样的。 DS1302时钟芯片的控制字如表5所示。 表5控制字<即地址及命令字节) 7 6 5 4 3 2 1 0 1 RAM/CK A4 A3 A2 A1 A0 RD/WR 读写时钟芯片数据的时序如图6所示。 图6读写数据时序 电路原理图 电路原理图如图7所示,连接单片机与DS1302时钟芯片需要三条电线,其中I/O的数据是串行通信的,有一个后备电源接口,而时钟芯片的时钟脉冲需要外部提供,这个时候可以外接32.768kHz晶振为其作用。 DS1302时钟芯片的精确度不够高,容易受到环境的影响,从而使时钟不准确等缺点。 DS1302时钟芯片经常用于记载数据,由
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 粮仓 温湿度 多点 无线 监测 系统 设计