基于C语言的时钟日历和温度传感器设计毕业设计论文.docx
《基于C语言的时钟日历和温度传感器设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于C语言的时钟日历和温度传感器设计毕业设计论文.docx(49页珍藏版)》请在冰豆网上搜索。
基于C语言的时钟日历和温度传感器设计毕业设计论文
摘要
本设计应用AT89S52芯片作为核心,采用C语言进行编程,实现以下功能:
小时、分、秒、年、月、日、星期的显示和实时温度检测。
该设计的电子时钟系统由时钟电路、LCD显示电路、按键调整电路和温度检测电路四部分组成。
使用时钟芯片DS1302完成时钟日期的功能,以LCD1602为显示器,同时利用温度传感器DS18B20测量周围环境温度,并且可以依靠按键随时对日期时间进行调整。
我们共设计四个按键,一个模式键,也就是我们用来选定被修改的数字的,两个调整键,一个“加”键和一个“减”键,当按下模式键,选定要调整的数字的时候,“加”、“减”可以帮我们调到所需的状态,还有一个复位键,显示精度为1秒。
设计还提供三位实时温度检测并显示,其显示精度为0.1℃。
关键词:
AT89S52;时钟日历芯片DS1302;温度传感器DS18B20
Abstract
ThedesignisappliedwithAT89S52chipasthecore,useCprogramlanguage,toachievethefollowingfunctions:
hours,minutes,seconds,andtheyear,month,datedisplay,real-timetemperaturesensing.Thedesignofelectronicclockcontainselectronicclockcircuit,LCDdisplaycircuit,buttonsandtemperaturedetectioncircuitadjustmentcircuitfourparts.UsetheclockdateclockchipDS1302completedfeaturestodisplaybyLCD1602,whileusingthetemperaturesensorDS18B20measuringambienttemperature,andrelyonkeystoadjustat,date,timeatanytime.Wehavedesignedfourbuttons,onemodekey,thiskeyhelpwechosethenumberthatareneedtomodify,andtwoadjustmentkey,onepluskey,oneminuskey.Afterpressthemodebutton,selectthetimetobeadjusted,addorsubthenumbertothedesiredstate,thereisacertainkey,presstheOKbuttontoenterthenormalclockmodeafteradjusted.Thisdesignprovidesbothtemperaturesensinganddisplayreal-time.
Keywords:
AT89S52;ClendarClockChipDS1302;TemperaturesensorDS18B20
第1章概述
目前单片机渗透到了我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及远程控制玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域中的机器人、智能仪表、医疗器械了。
单片机具有结构简单、控制功能强、可靠性高、体积小、价格低等优点,因而在许多行业都得到了广泛应用,并且在诸多领域中都发挥了无可比拟的巨大作用。
1.1单片机的定义和特点
1.1.1单片机的定义
单片机即单片微型计算机,是把中央处理器、存储器、定时/计数器、输入输出接口都集成在一块集成电路芯片上的微型计算机。
与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。
单片机也被称为微控制器(Microcontroller),是因为它最早被用于工业控制领域。
单片机的芯片内仅由CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
1.1.2单片机的特点
单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。
单片机应用在检测、控制领域中,具有如下特点:
1、体积小、控制功能强、成本低。
因而可以方便地组装各种智能式控制设备和仪器,做到机、电、仪一体化。
2、易扩展。
很容易构成各种规模的应用系统,为应用系统的设计和生产带来极大方便。
3、可靠性好、使用温度范围宽。
在各种恶劣的环境下都能可靠的工作,这是其他机种无法比拟的。
4、种类多,型号全。
很多单片机厂家逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。
大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。
5、低功耗。
现在新型单片机的功耗越来越小,供电电压从5V降低到了3.2V,甚至1V,工作电流从mA降到µA级,工作频率从十几兆可编程到几十千赫兹。
特别是很多单片机都设置了多种工作方式,这些工作方式包括等待、暂停、睡眠、空闲、节电等。
6、可以采用C语言开发环境,具有友好的人机互交环境。
大多数单片机都提供基于C语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。
1.2单片机的发展现状和发展趋势
1.2.1单片机的发展现状
单片机技术在不断的发展,它反映在内部结构、功率消耗、外部电压等级以及制造工艺上。
在这几方面,较为典型地说明了数字单片机的技术水平。
在目前,用户对单片机的需要越来越多,但是,要求也越来越高。
下面分别就这三个方面说明单片机的技术进步状况。
1、内部结构的进步
单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:
定时器,比较器,A/D转换器,D/A转换器,串行通信接口,Watchdog电路,LCD控制器等。
有的单片机为了构成控制网络或形成局部网,内部含有局部网络控制模块CAN。
例如,Infineon公司的C505C,C515C,C167CR,C167CS-32FM,81C90。
因此,这类单片机十分容易构成网络。
特别是在控制,系统较为复杂时,构成一个控制网络十分有用。
为了能在变频控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。
有的单片机内部设置了专门用于变频控制的脉宽调制控制电路,这些单片机有Fujitsu公司的MB89850系列、MB89860系列;Motorola公司的MC68HC08MR16、MR24等。
在这些单片机中,脉宽调制电路有6个通道输出,可产生三相脉宽调制交流电压,并内部含死区控制等功能。
特别引人注目的是:
现在有的单片机已采用所谓的三核(TrCore)结构。
这是一种建立在系统级芯片(Systemonachip)概念上的结构。
这种单片机由三个核组成:
一个是微控制器和DSP核,一个是数据和程序存储器核,最后一个是外围专用集成电路(ASIC)。
这种单片机的最大特点在于把DSP和微控制器同时做在一个片上。
这是目前单片机最大的进步之一。
这些单片机都是高档单片机,MCU都是32位的,而DSP采用16或32位结构,工作频率一般在60MHz以上。
2、功耗、封装及电源电压的进步
现在新的单片机的功耗越来越小,特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作方式。
而单片机的封装水平也大大提高,随着贴片工艺的出现,单片机也大量采用了各种合符贴片工艺的封装方式出现,以大量减少体积。
在这种形势中,Microchip公司推出的8引脚的单片机特别引人注目。
这是PIC12CXXX系列。
它含有0.5~2K程序存储器,25~128字节数据存储器,6个I/O端口以及一个定时器,有的还含4道A/D,完全可以满足一些低档系统的应用。
扩大电源电压范围以及在较低电压下仍然能工作是今天单片机发展的目标之一。
目前,一般单片机都可以在3.3~5.5V的条件下工作。
而一些厂家,则可以生产出在2.2~6V的条件下工作的单片机。
3、工艺上的进步
现在的单片机基本上采用CMOS技术,但已经大多数采用了0.6um以上的光刻工艺,有个别的公司,如Motorola公司则已采用0.35um甚至是0.25um技术。
这些技术的进步大大地提高了单片机的内部密度和可靠性。
1.2.2单片机的发展趋势
单片机在目前的发展形势下,表现出几大趋势:
1、可靠性及应用越来越水平高,和互联网连接已是一种明显的走向;2、所集成的部件越来越多,NS(美国国家半导体)公司的单片机已把语音、图像部件也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了。
如果从功能上讲它可以讲是万用机。
原因是其内部已集成上各种应用电路;3、功耗越来越低和模拟电路结合越来越多。
随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:
单片机与微机系统之间的距离越来越小,甚至难以辨认。
1.3编程语言的选择
在1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
在众多的程序设计语言中,C语言简洁紧凑,语言表达能力强,其结构化的流程控制有助于编制结构良好的程序。
C语言程序经编译后生成的目标程序代码效率高,几乎可以与汇编语言媲美。
C语言既具备高级语言使用方便、接近自然语言和数学语言的特性,同时也具备对计算机硬件系统的良好操纵和控制能力。
C语言可移植性好,一个C语言源程序可以不做改动,或者稍加改动,就可以从一种型号的计算机移转到另外一种型号的计算机上编译运行。
因此,C语言被广泛应用于各类系统软件和应用软件的开发。
所以本系统以C语言进行软件设计,增加了程序的可读性和可移植性,便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁了。
1.4本文的主要内容
本文设计出基于单片机的万年历LCD显示。
论文的主要研究内容为:
第1章为概述,叙述了单片机的定义和特点,还介绍了单片机的发展趋势和发展特点等。
第2章为单片机的电子时钟硬件设计,本章介绍了电子时钟和电子钟能够采集温度,所以还需要温度采集电路以及硬件电路的情况。
第3章为基于单片机的电子时钟软件设计,简单介绍了主程序设计和实时时钟日历子程序设计。
第4章为系统调试,介绍了单片机基础电路调试、显示电路的调试、DS1302电路的调试、环境温度采集电路的调试、按键电路的调试等。
第2章基于单片机的电子时钟硬件设计
电子时钟至少包括秒信号发生器、时间显示电路、按键电路、供电电路等四部分,另外,本设计要求该电子钟能够采集温度,所以还需要温度采集电路,硬件电路框图如图2-1。
+5V电源
图2-1硬件电路框图
该系统使用AT89S52单片机为核心微控制器,通过读取时钟日历芯片DS1302和温度传感器DS18B20的数据,完成电子时钟的主要功能——时钟/日历和环境温度采集,使用比直观的LCD1602显示,同时显示年月日,星期,时分秒以及环境温度值。
键盘是为了完成时钟/日历的校准。
整个电路使用了+5V电源供电。
2.1MC