1、电子与信息工程学院1.引言1.1设计意义 温度是工、农业生产中常见的被控参数之一。温度监控在工业生产中占据着重要的地位。随着微电子技术和通信技术的发展,远程监控和远程控制得到了广泛的应用。本设计采用STC89C52rc或者STC90C51单片机作为控制单元,采用温度传感器Ds18b20对现场温度数据进行远程无线测量与监控。整个系统包括两个系统,即主系统和从系统。主系统完成对现场测定温度值、设定值显示、实际值显示、失控报警和接收数据功能。从系统完成温度采集、温度控制和发送数据功能。该系统结构简单实用、功能齐全,通用性强,可被用于许多工业生产领域。1.2系统功能要求1.1602液晶屏显示温度+时间
2、2.HC-05蓝牙串口发送温度和时间数据3.手机蓝牙设置时间数据按键选择 P22口接按键1P21口接按键2P22口接按键3P23口接按键4总体使用默认初始化时间 2016.4.25 星期天 12.00.00右下角显示温度按键1暂停时钟 修改时钟按键2选择修改位,每按一次修改一个选择位按键3修改时间值,每按一次值增加1 到满自动返回为0按键4恢复默认时间扩展功能 手机接收实时数据手机打开附加包内的apk软件 链接蓝牙 选择字符流模式即可看到 每隔4秒 单片机发出的一条控制命令 显示 格式 日期 时间 温度间隔时间可调1.3本组成员所做的工作刘天赐:总体组织和设计、芯片程序、硬件调试徐玉华:硬件调
3、试、串口调试、芯片程序严晓雪:材料收集、图片处理、撰写报告2.方案设计 2.1单片机芯片的选择 方案(1):采用AT89S51芯片作为硬件核心,该芯片采用FlashROM,内部具有4KBROM存储空间,而且与MCS-51系列单片机完全兼容,但是需要通过下载板来下载,比较不方便。方案(2):采用传统的STC89C52RC芯片作为硬件核心,该芯片具有8KB在线系统可编程Flash存储器。STC89C52RC使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能,并且可直接使用串口下载。 因AT89S51需要通过下载板下载,而STC89C52RC可直接使用串口下载,所以选
4、择采用方案(2)STC89C52RC作为主控制系统.2.2显示模块的选择方案(1):8段数码管显示 8段数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。采用数码管显示,数码管亮度高、体积小、重量轻,但其显示信息简单、有限,操作比较液晶显示来说略显繁琐。1602液晶屏显示 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块采用液晶显示。液晶显示功耗低,轻便防震。由于设计显示信息比较多,占用的系统资源少,操作方便。 因本设计显示的字符较多,1602LCD可以显示32个字符,而8段数码管显示的字符较少,且操作比液晶显示
5、略显繁琐,所以采用方案(2)1602液晶屏组成本设计的显示模块。 2.3实时时间计算模块的选择方案(1):采用STC89C52RC芯片 STC89C52RC单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用12MHZ实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能,要实现“电子时钟”的功能需要较复杂的程序,时间计算逻辑较困难,所以使用不便。采用DS1302芯片 DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片。该芯片采用3线串行接口方式,可提供年月日、星期、时分秒等时间信息,并可根据月份和闰
6、年的情况自动调整月份的结束日期。内部带有31个字节RAM,用于存放临时性数据,同时具有可编程涓细电流充电能力。 因STC89C52RC芯片时间计算逻辑较困难,而DS1302可根据月份和闰年的情况自动调整月份的结束日期且具有编程涓细电流充电能力,所以采用方案(2)实现实时计时功能。2.4实时环境温度采集模块选择采用热敏电阻 热敏电阻是开发早、种类多、发展较成熟的敏感元器件热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。通过一定的电路可以将周围环境的温度变化转化成电压的变化,通过AD转化器件将信号传输给单片机进行分析,所以热敏电阻需要的外部器件较多。采用DS18B20DS18B20是美
7、国DALLAS公司生产的数字温度传感器,采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。在使用中可以不接任何外围元件,或者在单总线上接一个4.7K的上拉电阻,支持多点组网功能多个DS18B20可以并联在惟一的单线上,实现多点测温,供电方式灵活可以通过内部寄生电路从数据线上获取电源,因此非常适合本系统使用。因热敏电阻需要的外部器件较多,而DS18B 而DS18B20在使用中可以不接任何外围元件,或者在单总线上接一个4.7K的上拉电阻,所以采用方案(2)构成本设计的实时温度采集模块。2.5电路设计最终方案决定综上各方案所述,本系统以STC89C52RC
8、单片机为控制核心,通过与DS1302和DS18B20通信获取实时时间和实时环境温度,并将得到的数据通过1602液晶显示出来,同时通过对应的按键调整相应的值,并且通过蜂鸣器实现报警功能。因此本设计的总体方案组成框图如下图所示:2.硬件设计3.1主控模块本次课程设计主要用到STC89C52RC单片机,硬件原理图(见附录图一)。端口分配表如3-1所示: 表3-1端口分配表3.2LCD显示模块设计1602液晶功耗较小可直接与单片机接口相接,电源直接与电源电路相接为+5V,对比度可调。本设计使用单片机的P0口和P2口与1602进行通信。另外1602有2行显示,每行显示的字符数为16个,可以用于显示字母、
9、数字、符号等,并具有简单且功能较强的指令集,可以实现字符显示、移动、闪烁等功能。1602液晶与单片机接口电路如图3-1所示:3.3时间计算模块设计DS1302通过三根I/O线实现与单片机的通信,依靠2、3脚外接的晶振与其内部的电容配合来产生时钟脉冲的。当外接晶振电路振荡时,DS1302计时正确;当外接晶振电路停振时,DS1302计时停止。因此32.768kHz晶振是造成DS1302工作不稳定的主要因素。因其功耗很小,当1脚的主电源超过8脚接的备用电源加0.2V时,由主电源对芯片供电;否则,有备用电源对芯片供电,所以即使电源掉电后通过3V的电池仍能维持芯片精确走时。DS1302与单片机接口电路如
10、图3-2所示:3.4实时环境温度检测模块DS18B20通过单总线实现与单片机的通信,系统中的数据交换,控制都由这根线完成。在使用中DS18B20没有用到任何外围元件,可工作在15+100内。DS18B20与单片机接口电路如图3-3所示:3.5报警模块在本设计中蜂鸣器直接接在单片机P3.6上。报警模块采用单片机输出1.25KHZ的频率从而使蜂鸣器发出声音。方波图如图3-4所示: 3.6设置模块设置模块采用四个按键K1-K4与单片机P1.4、P1.5、P1.6、P1.7接口相接,其中K1为设置模块的选择位,K2是增加键,K3是减少键,K4为退出按键。3.7电源接口部分采用USB接口从电脑接到电源接
11、口中,拨动开关可控制电路的接通和关闭,并用一个发光二极管作电源指示。3.PCB设计这个设计中,STC89C52RC主要功能是储存程序、根据程序的内容对各个端口进行判断并作出相应的处理;DS1302主要功能是控制年,月,日,时,分,秒的显示效果;LCD1602主要功能是将所要显示的显示出来;DS18B20主要功能是控制温度的显示效果。通电后,进入欢迎界面,前后延时2.8s,,后显示当前实时时间,若按下按键1就进入调节状态,此时在按下按键1为设置时间状态,按下按键2为设置最大温度报警状态,按按键3为设置闹钟状态,按下按键4为退出调节状态;若按下按键2则是显示当前温度,5s后自动跳回显示当前实时时间
12、。4.1主函数主函数是程序功能总结显示的函数,其主要显示的是时间主要部分和当前实时时间,当按下按键2时1602显示当前温度状态,并延时5s,后返回当前时间显示状态;当闹钟功能打开,实时时间又和闹钟时间相等就会发出嘀嘀的响声并且在液晶屏上有相应的提示,此时按按键4退出;当进入设置状态完成后退出就回到当前时间显示状态。4.2设置模块设置模块分时间设置、闹钟设置、最高温度报警设置。要先按下按键1才能进入设置模块,然后按下按键1进入设置时间模块;按键2进入最高温度报警模块;按键3进入设置闹钟模块,最后按下按键4退出当前状态。4.31602液晶屏1602液晶屏是此设计的主要输出部分,有2行显示,每行16个字符,根据写入的位置而显示,当显示欢迎界面时是流动的,整个屏幕向右移动。4.设计总结通过这次学习,对各种电路都有了大概的了解,同时加深了对ds1302时钟芯片和ds18b20温度传感器的了解及其应用。并且了解了lcd1602液晶显示屏的工作原理和内部结构。在本次时间的软件编辑过程中先后出现了程序的代码错误,和按键编程的错误。还有LCD1602在显示过程中出现了大大小小的错误。在以后的生活学习中,还需继续学习努力。附录A:作品实物图片
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1