基于单片机的万年历加温度显示设计本科毕设论文.docx
《基于单片机的万年历加温度显示设计本科毕设论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的万年历加温度显示设计本科毕设论文.docx(134页珍藏版)》请在冰点文库上搜索。
基于单片机的万年历加温度显示设计本科毕设论文
本科毕业论文(设计)
题目基于单片机的万年历加温度显示设计
基于单片机的万年历加温度显示设计
摘要
本设计将制作一种基于单片机控制的带实时温度显示、具有定时功能的电子万年历。
传统的电子日历大都体积大,功耗大,显示不准确等特点。
为了缩小体积,减小功耗,使其变得小巧灵敏,本设计加入了时钟芯片DS1302,可对时间进行准确记时,同时可设置定时时间,实现定时功能。
另外本设计具有显示实时温度的功能。
传统的温度传感器系统大都采用放大、调理、A/D转换,转换后的数字信号送入计算机处理,处理电路复杂、可靠性相对较差,占用计算机的资源比较多。
本设计将采用DS18B20一线制数字温度传感器,可将温度信号直接转换成数字信号送给微处理器,电路简单,成本低,实现了时间温度同时显示的效果。
最后,温度和时间都将通过12864液晶显示器进行显示。
测试表明系统达到了设计要求的各项功能,各部分工作正常。
关键词时钟/温度检测/单片机/温度
mICROCONTROLLER-BASHED
CALENDERANDTEMPERATUREDISPLAYDESIGN
ABSTRACT
Thisdesigncreatesanelectroniccalendarwithreal-timetemperaturedisplayandtimingfunctionbasedonsinglechipcontrol.Mostoftraditionalcalendarsarecharacterizedbylargesize,highpowerconsumptionandinaccuratedisplay.Inordertoreducevolumeandpowerconsumptionandmakecalendarsbecomesmallandexquisite,thedesignaddsaclockchipDS1302,whichcanaccuratelyrecordthetimeandsetaregulartimetoachievetimingfunction.Inaddition,thisdesigndisplaysreal-timetemperaturefunction.Traditionaltemperaturesensorsystemismostlyamplified,recuperatedandA/Dconverted.Theconverteddigitalsignalisinputthecomputertobeprocessed,buttheprocessingcircuitiscomplicatedwithrelativelypoorreliabilityandoccupiesmoreresourcesofthecomputer.ThisdesignusestheDS18B20first-linesystemdigitaltemperaturesensortodirectlyconvertthetemperaturesignalintodigitalsignalandsenditthemicroprocessor,whosecircuitissimpleandlowcost,achievingthedisplayedeffectoftimeandtemperaturesimultaneously.Finally,thetemperatureandtimewillbedisplayedthroughthe12864liquidcrystaldisplay.Thetestindicatesthatthesystemhasreachedvariousfunctionsofthedesignrequirementsandeachpartoperatessmoothly.
KEYWORDSclock,temperaturedetection,SCM,temperature
1概论
1.1万年历发展背景
随着电子技术的发展,人类不断研究,不断创新纪录。
万年历目前已经不再局限于以书本形式出现。
以电脑软件或者电子产品形式出现的万年历被称为电子万年历。
与传统书本形式的万年历相比,电子万年历得到了越来越广泛的应用,采用电子时钟作为时间显示已经成为一种时尚。
目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。
1.2电子万年历的特点
电子万年历显示功能,包括公历年、月、日,时间、温度、星期、农历等等;附带功能有:
定时闹铃、以及按钮是否可以正常调动。
本文提出了一种基于STC12C5A60S2单片机的万年历设计方案,采用LCD显示。
本方案以STC12C5A60S2单片机作为主控核心,与时钟芯片DS1302、温度芯片DS18B20、人体红外感应模块、闹钟模块、按键、LCD显示等模块组成硬件系统。
在硬件系统中设有7个独立按键和一个LCD显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、时间、温度显示等,综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
1.3国内外现状、发展
随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。
尤其是单片机技术的应用产品已经走进了千家万户。
电子万年历的出现给人们的生活带来的诸多方便。
万年历中使用的LCD的应用很广泛,如手表上的液晶显示屏,仪表仪器上的液晶显示器或者是电脑笔记本上的液晶显示器,都使用了LCD。
在一般的办公设备上也很常见,如传真机,复印机,以及一些娱乐器材玩具等也常常见到LCD的足迹。
字符型液晶显示模块是一种专门用于显示字母,数字,符号等的点阵式液晶显示模块。
在显示器件上的设计,它是由若干个5×7或5×11等点阵符位组成。
每一个点阵字符位都可以显示一个字符。
点阵字符位之间有一空点距的间隔起到了字符间距和行距的作用。
目前市面上常用的有16字×1行,16字×2行,20字×2行和40字×2行等的字符模块组。
这些LCD虽然显示字数各不相同,但是都具有相同的输入输出界面。
市场上有许多电子万年历的专用芯片,如:
LM8363、LM8365等,但它们功能单一,电路连接复杂,不便于调试制作。
因此本系统采用了以STC12C5A60S2单片机技术为核心,配合DS18B20温度测量模块,DS1302时钟模块,人体感应模块,LCD显示模块,键盘模块使该设计具有现实功能齐全,人机交互,节能的特点。
随着单片机的发展,电子万年历呈现了微型化,功能丰富化的趋势,而且价格在不断下降,考虑到资源问题,现在的设计设计的万年历都采用了节能设计方案,万年历对人们的生活有着十分重要的作用,所以电子万年历还是有很大的发展前景的。
2系统基本方案选择和论证
2.1单片机芯片的选择方案和论证
方案一:
采用89C51芯片作为硬件核心,89C51是一种带4K字节闪烁可编程可擦除只读存储器,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,89C51是一种高效微控制器,51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案但是运用于电路设计中时由于不具备在线编程(ISP)技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插可能对芯片造成一定的损坏。
方案二:
采用STC12C5A60S2单片机,STC12C5A60S2单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,针对电机控制,强干扰场。
STC12C5A60S2单片机内部有60KB的程序Flash存储器,1KB的数据Flash存储器,具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
由于我们设计的万年历烧写文件大概在40KB左右,而STC12C5A60S2单片机的程序Flash为60KB,我们就不用在外接程序存储器了。
万年历的程序复杂,采用1T单片机有利于提高运算速度,使万年历显示更快捷。
经过综合比较最终选择方案二,即选择STC12C5A60S2作为主控制器。
2.2显示模块的选择方案和论证
方案一:
中文字库的LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。
利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字,也可完成图形显示,低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
万年历要求显示年月日、时分秒、星期、和农历。
LCD12864液晶可以完成设计的要求。
方案二:
系统采用LED显示。
LED应用可分为两大类:
一是LED单管应用,包括背光源LED,红外线LED等;另外就是LED显示屏,目前,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言,中国的设计和生产技术水平基本与国际同步。
LED显示屏是由发光二极管排列组成的显示器件。
它采用低电压扫描驱动,具有:
耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。
采用LED数码管动态扫描.价格上比较经济实惠,但不能显示文字,性价比不是很高,操作起来比较液晶显示来说略显繁琐,所以也不用此种作为显示。
经过综合比较最终选择方案一,即选择LCD12864液晶显示屏。
2.3时钟芯片的选择方案和论证
方案一:
采用单片机定时。
单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域。
直接采用单片机定时计数器提供秒信号,计数的脉冲由外部提供,定时的脉冲由外部晶振提供,定时加1的周期为一个机器周期;定时时间与初值和晶振频率有关。
使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案减少芯片的使用,节约成本,但程序复杂度较高。
方案二:
采用DS1302时钟芯片。
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
采用DS1302只需要写出驱动程序,调用程序读出寄存器内数据经过简单的变换就可以输出万年历的数据。
经过综合比较最终选择方案二,即采用DS1302时钟芯片。
2.4温度传感器的选择方案和论证
方案一:
采用热敏电阻作为温度传感器。
热敏电阻是开发早、种类多、发展较成熟的敏感元器件。
热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。
热敏电阻的主要特点是:
灵敏度较高,其电阻温度系数要比金属大10~100倍以上;工作温度范围宽,常温器件适用于-55℃~315℃,高温器件适用温度高于315℃(目前最高可达到2000℃)低温器件适用于-273℃~55℃;体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;使用方便,电阻值可在0.1~100kΩ间任意选择;易加工成复杂的形状,可大批量生产;稳定性好、过载能力强。
由于半导体热敏电阻有独特的性能,所以在应用方面它不仅可以作为测量元件(如测量温度、流量、液位等),还可以作为控制元件(如热敏开关、限流器)和电路补偿元件。
热敏电阻广泛用于家用电器、电力工业、通讯、军事科学、宇航等各个领域,发展前景极其广阔。
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。
此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:
采用DS18B20温度传感器。
在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。
对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。
这是世界上第一片支持“一线总线”接口的温度传感器。
DS18B20数字温度计提供9位(二进制)温度读数,指示器件的温度。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从单片机到DS18B20仅需一条线连接即可。
它可在1秒钟(典型值)内把温度变换成数字
经过综合比较最终选择方案二,即采用采用DS18B20温度传感器。
2.5电路设计最终方案确定
最终选择单片机STC12C5A60S2作为主控制器;选择LCD12864型液晶作为显示模块,此模块可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能;选择采用DS1302时钟芯片,使程序实现年、月、日、星期、时、分、秒,即农历阳历时间的显示。
采用DS18B20温度传感器,可以对温度做出比较精确的测量,而且和单片机通讯只要一个IO,连接方便。
3系统硬件电路设计
3.1系统功能模块划分
根据系统功能要求,可大致画出系统所需硬件结构框图如图3-1所示:
图3-1系统功能模块图
主控模块采用性价比较高的STC12C5A60S2单片机芯片,在其内部烧写好程序,可通过程序的运行控制测温模块进行测温;测温模块主要是由DS18B20构成,将其与所测对象进行接触即可获取被测对象的温度数据,而所测得的温度和时钟芯片测得的实时日历将通过显示模块的液晶显示器以数字形式显示;单片机调用程序,读取DS1302内寄存器,可以得到万年历的时间数据,经过程序处理就可以输出在LCD上;键盘电路可对实时日历进行调整;人体红外感应模块可以检测人体,当有人靠近时,就能打开LCD背光;蜂鸣器可以在闹钟定时中,作为声音提醒。
3.2各单元模块功能分析及模块电路设计
3.2.1时钟模块
DS1302的工作原理和单片机的接口:
DS1302为美国DALLAS公司的一种实时时钟芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。
采用32.768Hz晶振。
它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿等多种功能。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录。
这种记录对长时间的连续测控系统结果的分析以及对异常数据出现的原因的查找有重要意义。
在本设计中,它的实际电路图如图3-2所示:
图3-2DS1302与单片机的连接
DS1302需要外接32.768K的晶振,1号引脚接主电源VCC(5V)电源,8号引脚接备用电池(3V),当主电源掉电后,备用电源为DS1302提供电源,维持DS1302内数据不丢失,这正是时钟芯片所必须的特性。
3.2.2温度模块
传统的温度传感器系统大都采用放大、调理、A/D转换,转换后的数字信号送入计算机处理,处理电路复杂、可靠性相对较差,占用计算机的资源比较多,本设计测温模块采用一线制总线数字温度传感器DS18B20,可将温度信号直接转换成数字信号送给微处理器,电路简单,成本低,其电路原理图如图3-3所示:
图3-3DS18B20温度模块
从图中可看出,将温度传感器的一线制总线通过端口2与本设计主控芯片STC12C5A6S2的端口标号为DS18B20的相连即可实现相互之间的通信。
设计中的测温元件采用的是DS18B20测温元件,DS18B20是由DALLAS(达拉斯)公司生产的一种温度传感器。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20很受欢迎。
这是世界上第一片支持“一线总线”接口的温度传感器。
DS18B20数字温度计提供9位(二进制)温度读数,指示器件的温度。
信息经过单线接口送入DS18B20或从DS18B20送出,因此从单片机到DS18B20仅需一条线连接即可。
它可在1秒钟(典型值)内把温度变换成数字。
3.2.2.1DS18B20的主要特征
1)DS18B20的主要特征:
①全数字温度转换及输出;
②先进的单总线数据通信;
③最高12位分辨率,精度可达土0.5℃;
④12位分辨率时的最大工作周期为750毫秒;
⑤可选择寄生工作方式;
⑥检测温度范围为–55℃——+125℃;
⑦内置EEPROM,限温报警功能;
⑧64位光刻ROM,内置产品序列号,方便多机挂接;
⑨多样封装形式,适应不同硬件系统。
2)DS18B20芯片其封装结构如下:
图3-4DS18B20芯片封装图
由其引脚可看出,其3个引脚:
GND为电压地直接接地;DQ为单数据总线用来与单片机相连接,本系统中DS与单片机P2.2接口连接,仅此一个连接就能保证DS18B20与单片机之间的数据交换;VDD引脚接电源电压。
3.2.2.2DS18B20的工作原理
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
一个工作周期可分为两个部分,即温度检测和数据处理。
DS18B20共有三种形态的存储器资源,分别是:
ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM,RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5个字节则是用户第3个EEPROM的镜像。
第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。
第9个字节为前8个字节的CRC码。
EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。
我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为DS18B20的硬件简单结果就会导致软件的巨大开消。
3.2.3显示模块
本设计显示模块主要采用LCD12864液晶显示器,其电路原理图如下:
图3-5LCD12864模块
LCD12864液晶显示器通过数据端口也即端口7~14与主控芯片STC12C5A60S2的I/O端口P2相连接实现数据与指令的传输,再通过控制端口RS、RW、EN也即端口4~6与主控芯片P3.6,P3.7,P4.0端口相接实现对数据和指令传输的控制。
显示模块采用12864液晶显示器可实现对温度和时间的直接显示,清晰明了。
3.2.3.1LCD12864的特征
带中文字库的LCD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块其显示分辨率为128×64,内置8192个16*16点汉字和128个16*8点ASCII字符集。
利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字,也可完成图形显示。
低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简得多,且该模块的价格也略低于相同点阵的图形液晶模块。
其基本特性如下:
低电源电压(VDD:
+3.0-+5.5V)
显示分辨率:
128×64点
内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
内置128个16×8点阵字符
2MHZ时钟频率
显示方式:
SIN、半透、正显
背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
通讯方式:
串行、并行可选
内置DC-DC转换电路,无需外加负压
无需片选信号,简化软件设计
工作温度:
0℃—-+55℃,存储温度:
-20℃—+60℃
1.模块管脚是连接外部电路的纽带,在此模块中管脚主要由控制管脚和数据管脚等构成,现将其组成情况及相关功能介绍如下:
表3-112864液晶模块接口说明
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0V/5V
电源正
3
V0
-
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7~DB0为显示数据RS=“L”,表示DB7~DB0为显示指令数据
5
R/W
H/L
R/W=“H”,E=“H”,数据被读到DB7~DB0R/W=“L”,E=“H→L”,DB7~DB0的数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7~14
DB0~DB7
H/L
三态数据线
15
PSB
H/L
H:
8位或4位并口方式,L:
串口方式
16
NC
-
空脚
17
RESET
H/L
复位端,低电平有效
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端
20
K
VSS
背光源负端
2.控制器控制着模块内部指令的发出与否,存储器则对指令和数据进行存储与更换,现将分别介绍控制器各接口及各存储器的功能。
1)RS,R/W的配合选择决定控制界面的4种模式
表3-2RS,R/W配合功能说明
RS
R/W
功能说明
L
L
MPU写指令到指令暂存器(IR)
L
H
读出忙标志(BF)及地址记数器(AC)的状态
H
L
MPU写入数据到数据暂存器(DR)
H
H
MPU从数据暂存