多功能的万年历的设计与实现毕业设计.doc_第1页
多功能的万年历的设计与实现毕业设计.doc_第2页
多功能的万年历的设计与实现毕业设计.doc_第3页
多功能的万年历的设计与实现毕业设计.doc_第4页
多功能的万年历的设计与实现毕业设计.doc_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计论文论文题目:多功能的万年历的设计与实现学 院: 电子电气工程学院 专 业:电气自动化 班 级: 2012级01班 学生姓名: 学 号: 指导教师: 2016年04月 18 日目 录摘要 .3绪论 .5第1章 设计要求与方案论证.7 1.1 引言.7 1.2 功能要求.7 1.3方案论证.7第2章 系统硬件电路设计 .11 2.1 电路设计.11 2.2 系统硬件概述.15 2.3主要单元电路的设计.15第3章 系统的软件设计.22 3.1程序设计.22 3.2程序设计流程图.22第4章 结束语.24附录一(程序) . 摘要随着社会的进步,人了解时间,从观察自然现象到不断发现和研究。为了准确定义时间,万年历诞生了,它把时间、日期和温度等放在同一平面上,具有诸多优点,符合发展趋势,具有广阔的市场前景。本次的设计制作主要是把STC89C52作为核心,由它自带的定时器提供时间、LCD1602液晶显示屏显示,通过键盘来调节个人所需的时间,日期,同时还增加显示现在的温度,并且在此基础上增加了火焰报警的功能。STC89C51单片机是由美国Atmel公司推出的,具有小体积,低功耗,使用电压可选4V6V电压供电,使用方便,易与学习,可使初学者快速掌握。这次设计要的时钟是通过STC89C51单片机它自身的定时器中断提供时间变化,由秒的变化,使分变化,使时变化,依次使显示屏中的年、月、日、星期。用来显示日期和时间的模块是准备使用LCD1602液晶显示屏来做的,同时,这个项目还加进去了调整不同时间的能力。独立按键,通过按下不同的按键来调节显示屏上的时间,日期等。项目中用DS18B20数字温度传感器来测试现在的温度,它和单片机接线方式十分简单,封装成后能应用于多种场合,主要根据应用场合的不同可以改变该数字温度传感器模块外观。DS18B20是大家经常用的温度传感器,体积小,硬件简易,抗干扰能力很强,精度高的优点。火焰传感器这个模块对火焰有敏感的反应,同时它也可以用来测试光线的明亮程度。它通过红外线对火光敏感的特长,当检测到火时,把检测到的信号转为电平信号,输入给主控制处理器(单片机),会根据信号的不同变化做出编写程序时定义的功能。本次设计将制作一类带实时温度显示、有调整时间等功能的万年历。原来的电子日历都大体积,大功耗,显示不准确问题。要减小体积,减小它的功耗,使其变得使用方便。这次准备用DS18B20数字温度传感器,将得到的温度信号直接转换成数字信号传送给处理器,连接电路挺简单,成本低,实现了时间和温度同时显示在一平面。同时还添加了火焰的检测,并在检测到有火焰时会发出警报。温度,时间都将显示在LCD1602液晶显示屏。经测试产品达到了设计预期的要求,各部分和功能都可以正常工作。关键词:单片机STC89C51; LCD1602液晶显示屏;DS18B20数字温度传感器;火焰传感器绪论 跟着社会进步,我们生活水平提高和节奏的加快,对时间的准确性变得日益变高,准确的计时的需求也是越来越多。我们国家生产的电子钟有很多,以研究包含有多种功能电子时钟为主,使万年历除了原有的显示时间,日期等基本功能外,还具显示温度,火焰报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子时钟的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。以STC89C51单片机为中心,制成电路,采用软件和硬件互相结合的方法,使LCD1602液晶显示屏显示年份、月份、日期、小时、分钟、秒,温度(摄氏度),生产的最大特点是:硬件电路比较容易,编写程序也比较简单方便。易于实现想要的结果,不仅设计简单,还可靠稳定。这次使用的STC89C51单片机是推出的一款小型单片机。1995年首先出现在中国市场。采用了存贮器技术有Flash,制造这种产品的成本降低了,它的软件不仅与MCS-51完全兼容,硬件也完全相同,被来自中国大范围的使用者接受。本次将制作一种由单片机作为核心控制的,并且带着当时温度、可以调整参数功能的含有很多功能的万年历。以前用的电子日历体积大,大功耗,显示不精准。要体积,减小功耗,使产品变得小巧,容易携带,灵敏。本次会用DS18B20数字温度传感器(一线置的),可将温度信号直接转换成数字信号传送给处理器(51单片机),做产品的连接电路简单,成本低,开创了时间,温度同时显示在一起。同时还添加了火焰的检测,并在检测到有火焰时会发出警报。温度(摄氏度)和时间(包括日期)都将通过LCD1602液晶显示屏显示。经测试产品达到了设计预期的要求,各部分和功能都可以正常工作。首先要介绍由STC89C51单片机作为设计核心的拥有多个功能的万年历。在绪论中我们介绍了简单单片机的发展和在不相同领域中的优缺点。还讲解了这个课题的开发有什么意义;接着简单说了STC89C51单片机的硬件和它的硬件组成结构。本次设计需要开拓的LCD1602液晶显示屏,还有驱动方法。再加上独立键盘有些使用方法,DS18B20数字温度传感器和火焰传感器的功能还有它们的作用,在此为原则的基础上实现了时钟电路的设计;然后使用编程语言C语言进行单片机所需时钟程序的设计与编写,本所使用的程序采用逻辑的编程结构(模块化结构),使得各个逻辑关系了于指掌,有问题修改方便,便于直接观察实物和拥有实物的调整。 第1章 设计方案要求之间的讨论1.1 引言 提出了单片机的时钟设计方案,以准备使用的STC89C51单片机作为主要核心,与不同的按键、LCD 1602液晶显示屏,DS18B20数字温度传感器,火焰传感器组成系统硬件。系统硬件中包含设有独立按键,LCD1602液晶显示屏(器),能显示不同的信息,例如说是,时间(时,分钟,秒),日期(年份,月份还有日期),星期天(星期几都可以),温度摄氏度。乐意根据消费者的需要随时通过按键的方法对时间(时,分钟,秒)进行选择,和对日期(年份,月份还有日期)校准等等其他一些措施,综合所述这次准备生产的产品有功能多样化、读数字方便、可以直观的显示、电路相对简洁、成本低好多优点,符合时代发展趋势,具有广泛和辽阔的市场应用前景。1.2功能要求本次准备制作的多功能万年历能流畅的显示不同动态的年、月、日、星期天(星期几都可以)、小时、分钟、秒、和温度摄氏度,并同时具有若是检测到火焰将会有报警功能产生。扩展功能可以实现对时间(时,分钟,秒)、日期(年份,月份还有日期)、温度(摄氏度)上下限的随意修改和确定;检测到火焰,并且通过蜂鸣器来实现报警功能。1.3本次项目具体介绍项目名称:多功能的万年历时间显示:年份 月份 日期 小时 分钟 秒针 星期天(包括星期一到星期天); 第一行:显示相应的时间,年月日时分秒星期天;第二行:显示当前的实时温度值;按键功能:按键一:设置、确认;按键二:左移,移到行末,返回初始位置;按键三:实现加;按键四:实现减1.4方案论证1.4.1 技术可行性国内外集成电路 随着大规模及超大规模的出现,很小的处理器和它对应使用的芯片也发展的迅猛,很快的。集成电路的技术的最近的最新发展之一是将CPU(主要的控制系统)和外围其他作用的芯片,如数据程序存储器、并行串行I/O口、定计数时器、控制器中断及其他要同时使用的部件通过最新的技术集成在1块板子上,制成单片计算机(Single-Chip Microcomputer)简称单片机。随着需求的增长,近年来推出一些包含有多些功能的单片机,推出的还包括有许多又有着特殊功能的单元,如数字量/模拟量转换器,输出PWM时包括有死区可编程和具有控制功能。因此,在应用时只需要加,然后再拓展一些电路和它必要的和其他元件连接的接口就可以组合成自己要的应用系统,如所要采集的数据系统、自动检测测试系统等。单片机的横空出现和大量使用,还在各个不同的技术领域中得到如此快速的,迅猛的发展,故所以形成了以下几个特点: 1、由单片机作为核心的构成的应用系统有很好的,可靠地可靠性和稳定性。需要获得这些特性的不仅仅依靠单片机主控芯片本身的质量很高,稳定性很高和可靠性也很高同时配合其他不同的模块使用的过程中时,尽自己最大的可能使用最少的连接连线方式外,还可以使用和结合软、硬件的技术很方便地,让单片机得到进一步的快速发展和使用作用。2、单片机有着比较典型、规范的系统扩展和其它的使用的配置(硬件),方便使用者参照自身的不同的需要要连接不同模块构成各种规模的各种应用系统,所构成的单片机作为核心的应用系统都有着比较高利用效率来自于软件,硬件。 3、连接构成的设计系统中有由软件来实现相当多的测量和控制功能需要,故该系统具有“软性特征”,甚至有的时候不需要改变已经连接好的硬件或只是不需要修改的系统就能适当的改变某一些功能在这个系统中的。4、单片机有优异的性能,小的体积,低功耗,运算速度快,价格比合适等优点。1.4.2 设计应用单片机论证和方案的选择方案一:准备使用STC89C51单片机,让它作为本次设计的主控制核心(芯片)。单片机具有算术运算能力强大和逻辑功能强大,软件编写程序时灵活多变、逻辑思维明确,方便修改和实物的调试。通过用软件编程软件编写程序来实现各种算法和逻辑运算的控制所用的软件编写程序,并且STC89C51单片机不仅有着低功耗、体积小、成熟的技术和低廉的成本等一些好多优点,使其得以在各个不同领域中广泛应用,经常作为新学者菜鸟的首选。方案二:采用MSP430f147单片机。是一种高性能、具有很低的功耗的,运算速度快(是51单片机的20多倍)的16位数字处理芯片,市场到处都有它的身影,这是一款专门用来减少功耗和提高运算速度所生产制作的的单片机。其主要特点如下:Flash ROM 的大小是16KB,可以多次反复擦除100 000次以上,所下载进芯片的数据在很长时间都可以使用可以保存10年之久。由于本次的设计系统对CPU运算速度有着很高的要求,需要执行很复杂的算法和逻辑运算,方案一的成本比较低,使用广泛,技术成熟,成本低廉适合做本次设计的主控制芯片,方案二运算速度快,性能好,同时价格比较高,其使用难度相比较方案一使用的STC89C51比较大,这两种方案的优缺点都有它们可取的地方。所以把选用到的方案一作为主方案来使用,暂时还没有选上的方案二作为备用方案,等着使用。1.4.3 1602显示的方案和论证的选择 方案一:使用LCD1602液晶显示屏来显示时间(小时,分钟,秒针)。液晶显示屏(LCD1602),它有着有轻巧,超薄,尺寸短还小、消耗很低的电量、不存在有着辐射的危险,平面上的直角不会显示问题以及所展示的影象稳定并且不闪烁,显示稳定等优势,可让人看见的面积比较大,上面显示的画面效果好,对图像,文字的分辨率高,有着很强的抗干扰能力强的特点。本次设计所采用的LCD1602是由16列*2行的字符型带背光的液晶显示屏。 1602LCD主要的技术参数为:1. 显示容量是:16列2行个字符; 2. 该显示屏的额定工作电压是:4.55.5V; 3. 该显示屏额定工作电流是:2.0mA(5.0V)。方案二:使用LED数码管显示。 数码管具有:低功耗、耐老化、防晒、对外界环境要求比较低,易于维护。但是在使用中每一个数字或字母的显示都需要一个数码管来显示相应的符号,在本次设计中需要同时显示时间,年月日,温度等,需要很多的数码管来显示,使本次设计的成本提高,再者若使用多个数码管,会造成STC89C51单片机的I/O口不足,因为还有其他模块,为了节省单片机的I/O口,有需要使用其他的使用芯片,如74HC573或者是74HC595,使本次设计的成本再次提高,还使电路连接更加麻烦。所以把选用到的方案一作为主方案来使用,暂时还没有选上的方案二作为备用方案,等着使用。在本次设计中,我们采用了LCD1602液晶显示屏显示动态的时间(小时,分钟,秒),温度摄氏度等。1.4.4 键盘模块的选择选择方案和论证在根据不同使用者所需时,要对日期和时间进行调节,在对日期和时间进行调节和校准过程中,系统需要用产生的激励电流来控制LCD1602液晶显示屏中的时间和日期的调节,因此需要用按键来产生所需的激励电流。 方案一:准备使用独立按键即独立式键盘。独立式键盘是和直接用单片机的I/O口和按键连接线路的方式构成的单个按键电路。独立式按键电路使用灵活方便,软件编写简单,但是每个按键需要一个单片机的I/O口与其相连。 方案二:还准备使用矩阵键盘即矩阵式键盘。通过行线和列线连接按键组成的是矩阵式键盘,行线和列线的交叉点上装有按键,行电路线、列电路线按照设计的要求分别连接到按键开关的两端,像坐标一样的矩阵键盘。形成的按键像矩形,故称为矩阵键盘。通过产生不同的激励电流,来确定按键的位置,反之,可以通过不同的按键来产生不同的激励电流来修改显示屏上所对应的时间和日期,它的特点是连接电路线简单而且不会增加设计生产的成本,由这种行,列的连接方式所连线成的矩阵式键盘适合于所需按键数量较多的场合使用。 根据以上所提出的两种方案的讨论与叙述,因为本次设计计划中并没有需要过多的的按键,需要的按键并不多,按键一:设置、确认;按键二:左移,移到行末,返回初始位置;按键三:实现加;按键四:实现减;本次设计计划中并没有需要过多的的按键,需要的按键并不多,所以采用方案一的独立式键盘。1.4.5 温度传感器模块的选择方案和论证方案一:采用可以作为温度传感器的热敏电阻。热敏电阻是在很早以前开发好的、开发使产生了比较多的种类、在早以前发展成较成熟的 “敏感性”的元器件。主要由半导体陶瓷材料组成的热敏电阻,它的使用工作原理是通过温的改变而引起形变电阻的变化。这种产品的主要特点是:有着较高的灵敏度,工作温度范围宽,使用十分的方便,很容易加工成不同地方需要的复杂的形状,可以大规模的批量生产这种产品,稳定性好、过载能力强。在应用方面它可以作为测量元件,还可以广泛用于家用电器等各个多种不同的复杂领域,发展前景极其的长远。如果使用热敏电阻作为这次设计所需要的的温度传感器,又需用到A/D转换电路,过多的增加了这次设计的不必要的硬件成本,而且根据资料上来说的话,热敏电阻它的感温特性曲线在放大数据的处理后得出:这条曲线并不是严格意义上的线性,如果使用的话,在测量的过程中会产生较大的误差。方案二:采用DS18B20温度传感器。这种传感器的体积超小,功耗也超低,有着较高的精确度,使用方法和原理简单方便,使得DS18B20在市场中更加受广大学习的人的欢迎。对于这次的设计方案来说,DS18B20温度传感器的优势是本次实验的不二选择。DS18B20温度传感器支持“一线总线”接口的温度传感器。采集的信息经过连接温度传感器和单片机(主控制芯片)的杜邦线连接线进行数据的送入/出,它可在短时间内把温度通过运算变换成数字,通过单片机控制使实时温度显示在LCD1602液晶显示屏中。所以将采用DS18B20温度传感器。1.4.6总体方案论证与选择按照系统设计的功能要求,我们初步确定了本次设计系统由主控模块(STC8951单片机)、显示模块(LCD1602液晶显示屏)、温度模块(DS18B20温度传感器)火焰检测报警系统(火焰传感器和蜂鸣器)及和键盘接口模块(独立式按键)共5个模块组成。1.47总体方案设计框图本方案设计的系统由STC8951单片机系统模块、DS18B20温度传感器模块、LCD1602液晶显示屏模块、独立按键控制模块、火焰检测报警系统模块组成,其总体架构如下图1。STC89C51单片机1602液晶屏显示电路DS18B20测温电路驱动电路独立按键输入电路时钟、复位电路蜂鸣器报警电路火焰检测电路 图 1模块连接电路图的Proteus仿真电路图如下图2。图 2第二章 系统硬件电路的设计2.1 STC89C51单片机系统1. 本次设计采用STC89C51单片机作为主控制芯片,完成所有预定功能的控制和实现,包括:l DS18B20数字温度传感器的初始化和读取温度值;l LCD1602液晶显示屏的显示驱动与控制;l 独立按键的识别和产生相应的激励电流响应控制;l 通过LCD1602液晶显示屏来显示来显示由DS18B20数字温度传感器所得到的数据经计算后的实时温度;l 火焰的检测和蜂鸣器的报警。2. STC89C51单片机最小系统的电路原理图,如下图3:3. STC89C51单片机最小系统的Proteus仿真连接电路图,如下图4:图3 STC89C51单片机最小系统的电路原理图图4 STC89C51单片机最小系统仿真连接电路图焊接一个STC89C51单片机的最小系统所需的材料清单,如下表1:序号名称型号/规格数量备注1单片机STC89C511U12温度传感器DS18B201U23电阻3K5R1,R2,R3,R4,R1241004R5,R6,R7,R8510K4R9,R13,R14,R1562001R1071K1R118排阻10K1RP19电容30pF2C1,C210电解电容22uF1C311三极管9013(NPN)4Q1,Q2,Q3,Q4128550(PNP)1Q513发光二极管黄色1D114红色1D215绿色2D3,D416蜂鸣器1BUZ117按键4K1,K2,K3,K418晶振11.0592MHz1X119LCD16021显示表12.2 STC89C51单片机芯片的特性2.2.1 STC89C51单片机简介:STC89C51单片机芯片的实物图如下图5所示:图 5STC89C51单片机是一种带4K字节的闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL公司所生产的STC89C51是一种高效的精简版本的微控制器,STC89C51单片机为很多系统控制提供了一种灵活性高且价廉的方案。2.2.2 STC89C51主要特性:与MCS-51 兼容 4K字节的闪烁可编程可擦除只读存储器;寿命:可以循环擦/ 写100 000之多; 数据保留时间:可以保留数据10年之久; 全静态工作是的额定频率:0Hz-12MHz或者是0Hz-24MHz,根据不同的需求来确定所需晶振的频率,通常情况使用的晶振的频率是11.0592MHz;该单片机可提供128*8位内部RAM存储结构; 可提供32个可编程I/O口线 ,P0口P4口分别各有8个,共有4*8=32个I/O口;两个16位的定时器/计数器 ,即定时器/计数器0和1,分别有3中工作方式;5个中断源即定时器中断0和1,外部中断1和2,串口中断5个中断源,其中两个中断优先级,一般情况下默认5个中断源的优先级。若在设计因不同的需求需要改变不同中断优先级时,可通过定义来改变中断的优先级;具有可编程的串行口通道; 该单片机片的最小系统中有振荡器(晶振提供)电路和时钟,复位电路;2.2.3 STC89C51单片机的引脚说明:STC89C51单片机电路图如下图6所示:图 61 . 电源引脚功能:VCC(40引脚):为STC89C51单片机提供稳定的供电电压; GND(20引脚):接地即共地。2 . 时钟引脚功能: XTAL1(19引脚),XTAL2(18引脚):XTAL1作为STC89C51单片机内部的振荡电路的输入端,XTAL2作为STC89C51单片机内部的振荡电路的输出端,STC89C51单片机的时钟有两种方式,一种是单片机内部时钟振荡方式,需要在XTAL1和XTAL2这两个引脚外接石英晶体和振荡电容,如上面仿真图中的C3,振荡电容C3的取值一般是10P30p;另外一种方法是连接外部时钟电路,比如说是连接DS1302时钟模块,即将XTAL1连接地(GND),外部时钟信号从单片机的18引脚XTAL2引脚输入。3. 可编程控制引脚功能:RST(9引脚):为单片机的复位引脚,当至少输入连续两个机器时钟周期以上的高电平(至为“1”)有效,用来完成STC89C51单片机的复位初始化的操作,换句话说是,该引脚的功能就是使单片机从头开始执行新的程序。/PSEN(29引脚):该引脚的全称是程序存储器允许输入控制端口。在读取外部程序存储器时,/PSEN引脚需置为低电平有效(置为“0”),用来实现对STC89C51单片机的外部存储单元的读写操作。ALE/ /PROG(30引脚):在单片机需要拓展外部RAM储存器时,ALE引脚的作用是把P0口所输出的低8位地址值送到相应的锁存器中,以实现低位地址值和数据的完全隔离。/EA/Vpp(31引脚):当/EA引脚接高电平(“1”)时,STC89C51单片机会读取单片机自身的内部程序储存器。因为我们现在通常使用的单片机,如,STC89C51单片机,MSP430F149单片机等,它的内部都有ROM数据存储块,所以通常在设计电路时始终将此引脚接高电平,如上面原理图中,将该引脚接在电源上。4 . I/O口引脚功能: P0口(39引脚-32引脚):双向8位三态I/O口,每个口可独立控制。STC89C51单片机P0口内部没有上拉电阻,为高阻状态,所以不能直接的正常地输出高低电平,因此该组I/O口 P0在使用时务必要外界上拉电阻,即上拉电阻为排阻,在原理图中是RP1,一般我们选择接入10千欧的上拉电阻。P1口(1引脚-8引脚):P1口是一个有由单片机内部提供上拉电阻的准双向8位三态I/O口,每个口可独立控制。这种接口输出没有高阻态状态,输入也不能锁存,因此不是真正的双向I/O口。该口在作为输入使用前,要先向该口进行写“1”的操作,然后STC89C51单片机内部才可以正确读出外部信号,使单片机先有一个“准备的过程”。对于STC89C51单片机P1.0引脚的第二功能为定时器计数器T2的外部输入,P1.1引脚的第二功能引脚功能为T2EX捕捉,重新触发,即T2的外部控制端。 P2口(21引脚-28引脚):P2口是一个有由单片机内部提供上拉电阻的准双向8位双向I/O口,P2口可以缓冲器接收,并输出4个TTL门电流,当P2口在程序中被写成“1”时即定义成为高电平,其所对应的IO管脚引脚被单片机内部上拉电阻所拉高,并且可以作为STC89C51单片机的输入端口。因此在作为输入端口时,P2口的管脚引脚被外部设备拉低为“0”,将要输出电流。这是由于单片机内部上拉电阻的缘故。当P2口用于外部程序存储器或者是作用为16位地址的外部数据存储器进行存取时,P2口输出的是所对应16位地址中的高八位。P2口可以输出单片机内部的特殊功能寄存器中的内容。P2口的引脚功能基本上和P1口相似。 P3口(10引脚-17引脚):P3口是一个有由单片机内部提供上拉电阻的准双向8位双向I/O口,每个口可独立控制,可接收和输出4个TTL门电流。当P3口作为第一功能使用时就当做普通的IO口使用,与P1口基本相似。当P3口作为第二功能使用时,各个引脚的定义有所不同,可以作为STC89C51单片机的一些特殊功能口使用,如下表2是P3口各个引脚的第二功能的定义表 2标号引脚第二功能第二功能引脚功能说明P3.010RXD串行输入口P3.111TXD串行输出口P3.212/INTO外部中断0P3.313/INT1外部中断1P3.414T0定时器/计数器0外部输入端P3.515T1定时器/计数器1外部输入端P3.616WR外部数据存储器写脉冲P3.717RD外部数据存储器读脉冲2.3 DS18B20数字温度传感器模块2.3.1 DS18B20温度传感器的特性1. 额定工作电压为3.0V-5.5V,适应在不同的电压下使用;2. 具有独特的单线接口方式,它与主控制芯片单片机的双向通信仅仅需要一条杜邦线连接;3. 支持多点组网的功能,即多个DS18B20温度传感器的信息输出/输入端可以并联接在一条线上,比如,多点温度测量系统的设计,在此系统中多个DS18B20并联使用;4. 在使用中只需要一个三极管,不需要其他的外部元件;5. 可以测量使用的温度范围是-55 +125摄氏度,在-10 +85摄氏度时精度为+-0.5摄氏度;6. 在一定温度范围内可以实现高精度的温度测量;7. 在短时间内把测量到的温度值转化为数字进行显示;8. 具有很强的抗干扰能力,工作性能稳定;9. 具有其他元器件不具备的负压特性,当它的电源极性即正负线接反时,通常情况下不会因为发热而使芯片烧毁,但是该芯片不能正常工作;10. 可以应用在广大范围内,如冷冻库等地方。2.3.2 DS18B20温度传感器的外形及引脚说明 图7 DS18B20外形及引脚DS18B20温度传感器的外形和引脚,如上图7所示:引脚说明: 1号引脚:GND连接地,在本次设计中连接电路时,需要将其和所用单片机的GND共地; 2号引脚:DQ 用杜邦线和单片机连接,进行数据的传送; 3号引脚:VD即Vcc,需要连接一个3.0V-5.5V的电源,用来给传感器供电。2.3.3 DS18B20温度传感器的接线原理图:在实际设计应用中为了保护电路,通常要求在单总线(DQ)上接一个约4.7K左右的电阻,这样,当单总线DQ不工作时,使其状态保持为高电平“1”,可以很好的保护电路。下图8所示的是DS18B20温度传感器接线原理图: 图8 DS18B20温度传感器接线原理图下图9所示的是DS18B20温度传感器与STC89C51单片机的最小系统的连接的Proteus仿真接线电路图:图9 DS18B20与STC89C51单片机的最小系统的连接的Proteus仿真接线电路图:2.3.4 DS18B20温度传感器的时序图:主控制芯片STC89C51单片机使用时间隙来读写DS18B20温度传感器的数据位和写命令字节的位。1. DS18B20温度传感器初始化时间顺序如下图10所示: 图10 DS18B20温度传感器初始化时间顺图2. DS18B20温度传感器读写时间顺序如下图11所示:图11 DS18B20温度传感器读写时间顺序图2.3.5 DS18B20温度传感器数据处理: DS18B20温度传感器在通电之后,开始检测实时温度,将数据通过连接的线路传送到主控制系统STC89C51中,经过数据的处理和分析后将实时的温度发送到显示屏上显示。下图12,为所得数据转化后得到的12位数据,存储在DS18B20温度传感器的两个8比特的RAM存储器中,转化为二进制数字的前面5位是符号位,如果所测得的实时温度大于0摄氏度, 这5位二进制值为0,只要将测到的数值乘以温度系数0.0625即可得到实际温度,为正的温度值;如果温度小于0,这5位二进制值为1,测到的数值需要先取反然后加1再乘以温度系数0.0625,即可得到实际温度,为负的温度值。故推导出温度计算公式:实际温度 = X * 0.0625 = Y 实际温度指:在本次设计中需要在LCD1602液晶显示屏上显示的实时温度;X 指:由温度传感器检测到的温度数据,但是没有经过处理不能显示在显示屏中;Y指: 由温度传感器检测到的温度数据发送到STC89C51单片机系统中,经过设定好的程序对此数据进行的算术运算和逻辑运算后,得出的数字后,显示在LCD1602液晶显示屏上,来显示现在实时的温度。图 12 DS18B20温度传感器数据表2.4 火焰检测报警电路当各个系统和模块之间开始正常工作后,通过火焰传感器检测到火焰后,实现蜂鸣器报警,来提醒所存在的安全隐患。将蜂鸣器所定义的I/O口置为低电平(置“0”),蜂鸣器开始发出声音。在本次设计中蜂鸣器由STC89C51单片机的P34口控制,用NPN型三极管驱动。如下图13是蜂鸣器的连接电路原理图:图13蜂鸣器的连接电路原理图图13中的电路中电阻的作用和上面介绍的DS18B20的电路中的电阻的作用是一样的,都是为了保护电路的安全。图14是蜂鸣器与STC89C51单片机最小系统的连接电路的Proteus仿真电路图,如下图14所示:图14蜂鸣器与STC89C51最小系统的Proteus仿真电路图2.6 键盘输入电路在本次设计中所需的,四个按键分别连接STC89C51单片机系统P30、P31、P32、P33构成独立式键盘,分别实现加、减、报警温度设定功能键和温度查询功能键,电路图如图15所示:图15 独立键盘输入电路原理图图16是独立按键与STC89C51单片机最小系统的连接电路的Proteus仿真电路图,如下图16所示: 图16独立按键与STC89C51最小系统的Proteus仿真电路图2.6.1按键开关去抖动问题键盘在单片机应用系统中是一个很重要的部件。输入数据、查询和控制系统的工作状态等,都要用到键盘,键盘是人工干预计算机执行不同功能的的主要手段之一。按键开关在电路中的连接如图17-a所示。当按键未按下时,A点的电位为高电平5V;按键按下时,A点电位为低电平。A点电位就用于向主控制系统传递按键的开关状态,从而产生不同的功能。但是按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图17-b所示,键盘的抖动时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。因此必须设法消除抖动的不良后果。图17消除抖动的不良后果的方法通常有硬、软件两种。为了节省硬件结构,通常在单片机系统中,一般不采用硬件的方法来消除键的抖动,而是用软件消除抖动的方法。根据按键的抖动特性,在第一次检测到按键按下后,主控制芯片先执行一段软件延时510ms,等前面的延时抖动消失后再一次检测键的状态,如果仍保持闭合状态时的电平,则才能确认真正有键按下。当检测到按键释放后,也要给510ms的软件延时,待后面的延时抖动消失后才能转入该键处理相对应的程序。2.7 LCD1602液晶显示屏在本次的设计中LCD1602用来显示时间,日期,和温度等。其电路原理图18所示如下:图 18 LCD1602电路原理图图19是LCD1602液晶显示屏与STC89C51单片机最小系统的连接电路的Proteus仿真电路图,如下图19所示:图19 LCD1602 STC89C51单片机最小系统的Proteus仿真电路图,2.7 LCD1602液晶显示屏简介LCD1602液晶显示屏是一种专门用于显示字母、数字、符号等点阵式LCD,本设计采用16列*2行的字符型LCD1602带背光的液晶显示屏。 LCD1602液晶显示屏主要技术参数:1. 显示容量:162个字符; 2. 芯片工作电压:4.55.5V ;3. 工作电流:2.0mA(5.0V) ;4. 模块最佳工作电压:5.0V;5. 字符尺寸:2.954.35(WH)mm;2.7.2 LCD1602液晶显示屏引脚功能说明LCD1602液晶显示屏各引脚接口说明如图20所示:图 20 LCD1602液晶显示屏引脚图第1引脚:VSS为地电源; 第2引脚:VDD接5V正电源;第3引脚:VL为液晶显示器对比度调整端,通过滑动变阻器来调节适当的图像显示,对比度过高时会产生“叠影”;第4引脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;第5引脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据;第6引脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;第714引脚:D0D7为8位双向数据线; 第15引脚:背光源正极; 第16引脚:背光源负极。2.7.3 1602LCD的指令时序图1602液晶模块内部的控制器共有11条控制指令,如图21所示图 21LCD1602液晶显示屏基本操作(读指令和写指令)时间顺序图,如下图22a,图22b和图22c所示:图22a图23b图23c第3章 系统的软件设计3.1 程序设计多功能万年历的程序主要包括5个方面的内容:一 DS18B20温度传感器的初始化,和通过检测当下实时的温度,将所检测到的数据通过和STC89C51单片机连接的杜邦线发送到主控制系统中,然后通过编写的程序来对该数据进行计算和分析,将最后的温度显示到液晶显示屏上;二 STC89C51单片机,通过使用单片机自身的定时器和中断等资源,来实现时间和日期的精确控制;三 利用独立式按键进行时间和日期的调整;四 STC89C51单片机中将处理好的时间,日期,和温度通过与LCD1602液晶显示屏连接好的电路,发送到LCD1602液晶显示屏中显示相应的时间,日期和温度。在此之前需要对LCD1602液晶显示屏进行初始化程序的编写,和读/写数据进行定义和编写;五 火焰传感器与STC89C51单片机相连接,当检测到有火焰时,单片机会做出相应的指令,使蜂鸣器开始响,发出警报3.2 单片机I/O口的分配本次设计中STC89C51单片机主要I/O口的分配:STC89C51单片机的P0口接LCD1602液晶显示屏的D0D7端口;LCD1602液晶显示屏中的RS,RW,E端口分别接STC89C51单片机的P2.4,P2.5,P2.6端口;4个独立式按键做为输入调节模块,分别接STC89C51单片机的P3.0,P3.1,P3.2,P3.3端口;蜂鸣器接STC89C51单片机的P3.4端口;DS18B20温度传感器接STC89C51单片机的P3.5端口;火焰传感器接STC89C51单片机的P3.6端口。3.3主程序流程图时间调整程序流程图3.4设计的Proteus仿真电路图本次设计的多功能万年历的Proteus仿真电路图图243.5设计的实物图经过不懈的努力,以下是我所设计制作的多功能万年历的实物图图 25第4章 结束语2016年4月,我开始了我的毕业论文工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了一个多月的奋战,紧张而又充实的毕业设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次毕业设计的过程中,我拥有了无数难忘的回忆和收获。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜的,我觉得这一切都值了。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。我不会忘记这难忘的1个月的时间。毕业论文的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手用Proteus设计电路图的时间里,记忆最深的是每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。我从资料的收集中,掌握了很多单片机及其接口应用的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机的最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成毕业论文。在此我要向指导老师致以最衷心的感谢和敬意。附录一(程序)#include#include #define DATA P0;/定义1602的D0D7sbit RS=P24; /定义1602sbit RW=P25;sbit E=P26;sbit K1=P30;/定义独立按键sbit K2=P31;sbit K3=P32;sbit K4=P33;sbit FMQ=P34;/定义蜂鸣器sbit DQ=P35; /DS18B20温度传感器的定义sbit HY=P36;/定义火焰传感器 实物接 DOunsigned int Miao=0;/定义秒的变量unsigned int Fen=0;/定义分的变量unsigned int Shi=0;/定义时的变量unsigned int Ri=1;/定义日的变量unsigned int Yue=1;/定义月的变量unsigned int Nian=2014;/定义年的变量unsigned int Week=4;/定义星期的变量unsigned char tab=0123456789;unsigned char wee73=Sun,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论