车载可测温式电子万年历论文_第1页
车载可测温式电子万年历论文_第2页
车载可测温式电子万年历论文_第3页
车载可测温式电子万年历论文_第4页
车载可测温式电子万年历论文_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、东北林业大学毕业论文-PAGE 2. z- - - .总结资料东北林业大学毕业论文-PAGE 2. z毕 业 论 文论文题目:车载可测温式电子万年历-PAGE . zChengdong College of NortheastAgricultural UniversityThesisThesis topic:The Vehicle Carries Temperature Measurement Type Electron Ten Thousand CalendarsStudent name:Tutor name:Specialty:ElectronicAnd Information Engin

2、eeringJune 2021-. z-PAGE . z车载可测温式电子万年历摘 要随着电子技术的迅速开展,特别是随着大规模集成电路的出现,给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户,如电子万年历的出现给人们的生活带来了诸多方便。本文描述了系统硬件工作原理,并附以系统构造框图加以说明,着重介绍了本系统所应用的各硬件及其接口技术和各硬件模块的功能及工作过程;其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为根底,单片机技术为核心。编写的主导思想软硬件相结合,以硬件为根底,来进展各功能模块的编写。本系统为了便于扩展和更改,软件的设计采用模块化构造,

3、使程序设计的逻辑关系更加简洁明了。系统通过传感器采集温度。用四个数码管显示数据,可以显示时间和温度,也可以通过按键调整时间。关键词:电子万年历;单片机;时钟芯片;温度传感器;数码管显示The Vehicle CarriesTemperature Measurement Type Electron Ten Thousand CalendarsAbstractAlong with electronic technologys rapidly e*pand, specially along with large scale integrated circuits appearance, lived

4、for the humanity has brought the fundamental change. Especially the monolithic integrated circuit technologys application product already entered everyone, if the electronic ten thousand calendars appearances have brought conveniently many for peoples life.This article described the system hardware

5、principle of work, and attaches by the system structure diagram e*plained that introduced emphatically this system applies various hardware and connection technology and various hardware module function and work process; Ne*t, elaborated in detail procedure each module and realizes the process. This

6、 design take the digital integrated circuit technology as the foundation, the monolithic integrated circuit technology is a core. The pilation guiding ideology software and hardware unifies, take the hardware as the foundation, carries on various functional module the pilation.This system for ease o

7、f the e*pansion and the change, softwares design uses the modular structure, causes the programming the logical relation even more simple and brief. System through two group of ni*ietube demonstration data. May the tell time and the week, after pressing down cuts the key, may the show date.Key word:

8、Electronic ten thousand calendars; Monolithic integrated circuit; Clock chip; Temperature sensor ;Ni*ietube demonstration目录 TOC o 1-4 h z u HYPERLINK l _Toc232917676摘要 PAGEREF _Toc232917676 h IHYPERLINK l _Toc232917677Abstract PAGEREF _Toc232917677 h IIHYPERLINK l _Toc232917678前言 PAGEREF _Toc2329176

9、78 h HYPERLINK l _Toc2329176791 方案选择 PAGEREF _Toc232917679 h HYPERLINK l _Toc2329176801.1 整机设计方案选择 PAGEREF _Toc232917680 h HYPERLINK l _Toc2329176811.2 单片机芯片的选择 PAGEREF _Toc232917681 h HYPERLINK l _Toc2329176821.3 时钟芯片的选择 PAGEREF _Toc232917682 h HYPERLINK l _Toc2329176831.4 温度传感器的选择 PAGEREF _Toc2329

10、17683 h HYPERLINK l _Toc2329176842 硬件设计 PAGEREF _Toc232917684 h HYPERLINK l _Toc2329176852.1 电路组成框图 PAGEREF _Toc232917685 h HYPERLINK l _Toc2329176862.2 系统硬件概述及整机工作原理 PAGEREF _Toc232917686 h HYPERLINK l _Toc2329176872.3 各芯片介绍 PAGEREF _Toc232917687 h HYPERLINK l _Toc2329176882.3.1 AT89S51单片机 PAGEREF

11、_Toc232917688 h HYPERLINK l _Toc2329176892.3.2 DS12887时钟芯片 PAGEREF _Toc232917689 h HYPERLINK l _Toc2329176902.3.2.1 DS12887主要功能简介 PAGEREF _Toc232917690 h HYPERLINK l _Toc2329176912.3.2.2 DS12887引脚说明 PAGEREF _Toc232917691 h HYPERLINK l _Toc2329176922.3.2.3 时间,日历和定闹单元 PAGEREF _Toc232917692 h HYPERLINK

12、 l _Toc2329176932.3.2.4 DS12887的控制存放器 PAGEREF _Toc232917693 h HYPERLINK l _Toc2329176942.3.3 DS18B20温度传感器 PAGEREF _Toc232917694 h HYPERLINK l _Toc2329176952.4 数码管显示电路设计 PAGEREF _Toc232917695 h HYPERLINK l _Toc2329176962.4.1 显示模块的选择与方案论证 PAGEREF _Toc232917696 h HYPERLINK l _Toc2329176972.4.2 LED显示器工作

13、原理 PAGEREF _Toc232917697 h HYPERLINK l _Toc2329176983 系统软件设计 PAGEREF _Toc232917698 h HYPERLINK l _Toc2329176993.1 系统功能模块及主程序流程图 PAGEREF _Toc232917699 h HYPERLINK l _Toc2329177003.2 DS12887初始化程序设计 PAGEREF _Toc232917700 h HYPERLINK l _Toc2329177013.3 显示子程序设计 PAGEREF _Toc232917701 h HYPERLINK l _Toc232

14、9177023.4 时间调整程序设计 PAGEREF _Toc232917702 h HYPERLINK l _Toc2329177033.5 温度采集程序设计 PAGEREF _Toc232917703 h HYPERLINK l _Toc2329177043.5.1 DS18B20的初始化 PAGEREF _Toc232917704 h HYPERLINK l _Toc2329177053.5.2 DS18B20的写操作 PAGEREF _Toc232917705 h HYPERLINK l _Toc2329177063.5.3 DS18B20的读操作 PAGEREF _Toc232917

15、706 h HYPERLINK l _Toc2329177073.6 温度值与时间的显示 PAGEREF _Toc232917707 h HYPERLINK l _Toc2329177084 电路安装与调试 PAGEREF _Toc232917708 h HYPERLINK l _Toc2329177094.1 电路安装 PAGEREF _Toc232917709 h HYPERLINK l _Toc2329177104.2 电路调试 PAGEREF _Toc232917710 h HYPERLINK l _Toc2329177114.2.1 硬件调试 PAGEREF _Toc23291771

16、1 h HYPERLINK l _Toc2329177124.2.2 软件调试 PAGEREF _Toc232917712 h HYPERLINK l _Toc2329177134.2.3 综合调试 PAGEREF _Toc232917713 h HYPERLINK l _Toc2329177145 结论 PAGEREF _Toc232917714 h HYPERLINK l _Toc232917715参考文献 PAGEREF _Toc232917715 h HYPERLINK l _Toc232917716致 PAGEREF _Toc232917716 h -. z前 言随着人们生活水平的提

17、高,家庭中的时钟也在悄悄地发生变化。早期的机械式小型时钟大局部被现代的电子时钟所代替。大大小小的时钟在人们的生活中发挥着重要的作用。在清朝的时候,出现了第一批时钟,是从外国引进的。它是一种挂在脖子上的怀表,表盘是圆形,带一个盖子,翻开它就可以看时间。表盘上有一个环,环中有一条链子,就是通过它挂在脖子上,而且表的样式也只有这一种。尽管这样,也是只有皇亲国戚、乡绅官吏和留过洋的人才能拥有。可以说在那时它可是一个罕见的宝贝,所以,它的价值可想而知,普通人是很难拥有的。那时的老百姓只有靠看日头来估算时间。接着,我们不断的从外国引进他们先进的技术,所以,时钟的生产和样式也有了许多的提高,市场上涌现了许多

18、各式各样的时钟。这些时钟,不仅质量和款式不同,还有了各种品牌。从质量上分,有机械的,石英的等等。从款式上分,有男式的和女式的。不过有一点一样,它们大多是带在手腕上的。与清朝时比,已经有了很大的进步。慢慢地,随着科学的进步,技术水平的提高,到现在,时钟可以说是样式繁多,款式新颖。不提它的质量,仅仅它的款式就可以让消费者眼花缭乱,难以选择。现在的时钟,不仅分男女样式,还出现了情侣表。生产者还为盲人着想,专门生产了盲人使用的手表。为了追求时尚,还出现了还出现了许多项链式的手表、手链式的手表、戒指式的手表等等。为了家居摆设,出现了立式的和挂式的等。还有,就是为了提醒我们不忘记*些事,而生产了闹钟等。将

19、来随着时钟的开展,它将给人们带来更大的方便。随着科学技术的飞速开展,单片机以其卓越的性能,在各个领域中得到了广泛的应用。一方面向着高速、智能化的巨型机方向开展,另一方面向着嵌入式微型机的方向开展。其中,单片机其性能和容量不断提高,而价格不断下降的趋势,使其在社会各个领域仍至家庭生活中发挥着越来越大的作用。现如今在电子系统非常广泛的应用领域,为使人们用最方便快捷的方式享受生活,设计人员能在更小的空间实现更多功能,从而提高系统可靠性和速度。如银行公交车酒店等公共场所到处可见的电子万年历。让人们对生活方有了一个更便捷更舒适的感觉,本文为对这种万年历设计的介绍和说明。1 方案选择1.1 整机设计方案选

20、择本文主要讲述的是电子万年历的设计与实现,此设计实现主要有两种方案:一是由数字电路来实现;二是由单片机编程控制来实现。选用数字电路虽然硬件连接简单不需要软件编程,但因为数字电路实现必须要有移位存放器对字符数据进展存储,然后串行输入到显示数码管上,不但如此,而且需要很大一局部的扩展电路才能实现,且设计出的电路的灵活性差、不易调试、本钱高等缺点,所以不选用此方案。此次设计是基于单片机来实现的。由于单片机具有体积小、重量轻、价格廉价、功耗低、控制功能强及运算速度快等特点,因而在国民经济建立、军事及家用电器等诸多领域起到了举足轻重的作用。编程语言采用C语言,由此设计出的电子万年历具有操作灵活便携等诸多

21、优点。1.2 单片机芯片的选择方案一:采用89C51芯片作为硬件核心,采用Flash ROM,部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进展调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的屡次拔插会对芯片造成一定的损坏。方案二:采用89S51芯片作为硬件核,AT89S51 是一个低功耗,高性能CMOS 8位单片机,片含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的

22、高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚构造,芯片集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案,再者因为AT89S51为当今市场上主流产品,其价格也比拟低廉,所以选择此方案。1.3 时钟芯片的选择方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约本钱,但是,实现的时间误差较大。所以不采用此方案。方案二:采用DS12887时钟芯片实现时钟,DS12887芯片是一种高性能的时钟芯片,可自动对秒、分

23、、时、日、周、月、年以及闰年补偿的年进展计数,而且精度高,位的RAM做为数据暂存区,另外其在没有外部电源的情况下可工作10年自带晶体震荡器及电池。其可以计算到2100年前的秒、分、小时、星期、日期、月、年七种日历信息。1.4温度传感器的选择方案一:采用AD590为温度传感器,AD590虽然有价格低、精度高等优点,但是它还需要外围的模拟转数字电路,其测温点数量也较少,用起来占空间大也比拟麻烦。方案二:采用DS18B20测温,DS18B20采用单线接口方式,与微处理器连接时仅需要一条线即可实现双向通讯;其适应电压围更宽;支持多点组网测温;在使用中不需任何外围元件,全部传感元件及转换电路都集成在一只

24、如三极管的集成电路;价格也较低;DS18B20缺点是测温围比拟小,围为-55度到+125度,但是用在本设计也 足够了,所以采用此方案。2硬件设计2.1电路组成框图该电路主要由时钟芯片、CPUAT89S51、键盘、驱动电路、温度采集、显示电路组成。其中键盘调整可以对显示的容进展切换及对时间进展调整。框图如图2-1所示:CPU89S51时钟芯片DS12887显示电路段驱动驱动电路温度传感器键盘调整位驱动图2-1 电子万年历方框图2.2系统硬件概述及整机工作原理此设计CPU采用低功耗,高性能CMOS 8位单片机AT89S51;时钟芯片用的是美国达接斯半导体公司Dallas推出的串行接口实时时钟芯片D

25、S12887,采用CMOS技术制成,具有部晶振和时钟芯片备份锂电池;驱动电路用的是ULN2003芯片;LED显示局部用的是四个共阴型数码管,显示采用动态扫描并行输出方式。键盘有三个分别为位调整键,加调整键,减调整键。整机工作原理是先初始化DS12887时钟芯片接着CPU从时钟芯片读取时间及日期信息又从温度传感器采集温度送驱动电路进而送LED显示,其中键盘调整可以对时间进展调整,对时间进展调整时其更改值写入DS12887,再允许DS12887时间更新并读出时间送显示,温度值和时间轮流交替显示在数码管上。电路图如图2-2所示。图2-2 整机电路图2.3各芯片介绍2.3.1AT89S51单片机AT8

26、9S51是一个低功耗,,高性能CMOS 8位单片机,片含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚构造,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。其引脚排列如2-3所示。图2-3 AT89S51引脚图AT89S51具有如下特点:40个引脚,128 bytes的随机存取数据存储器RAM,32个外部双向输入/输出I/O口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器

27、,2个全双工串行通信口,片时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停顿芯片其它功能直至外中断激活或硬件复位。管脚说明:40个引脚按其功能来分,可分为三个局部:电源及时钟引脚 控制引脚 I/O口引脚1电源及时钟引脚 电源引脚接入单片机的工作电源。 VCC(40)引脚:接+5V电源。 VSS(20)引脚:接地。 两个时钟引脚*TAL0、*TAL1为单片机提供了时钟控制信号。*TAL018脚:接外部晶体的一个引脚。*TAL119脚:接外部

28、晶体的另一端。2控制引脚RST是复位信号的输入端,高电平有效。当单片机正常工作时,在此引脚加上持续时间大于两个机器周期24个时钟振荡周期的高电平时,就可完成复位操作。在单片机正常工作时,复位端应小于或等于0.5V的低电平。PSEN29脚程序存储器允许输出控制端。在单片机外部程序存储器时,此引脚输出脉冲负跳沿作为外部程序存储器的选通信号。ALE30脚ALE为地址锁存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号。当单片机外部存储器时,ALE输出信号的负跳沿用作单片机发出的低8位地址的锁存控制信号。即使不外部锁存器,ALE端仍有正脉冲信号输出,频率为时钟振荡频率fOSC的1/6。E

29、A31脚功能为/外程序存储器选择控制端。当EA脚为高电平时,单片机片程序存储器,当EA脚为低电平时,单片机则只外部程序存储器。所以此次设计,须把单片机的31脚接到高电平。3I/O引脚P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动

30、4 个TTL 逻辑电平。对P1 端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流IIL。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入。在flash编程和校验时,P1口接收低8位地址字节。P1 口引脚号的第二功能如表2-1所示。表2-1 P1口引脚的第二功能P1.0T2定时器/计数器T2的外部计数输入,时钟输出P1.1T2E*定时器/计数器T2的捕捉/重载触发信号和方向控制P1.5MOSI在系统编程用P1.6MISO在系统编程用P1.7SCK在系统编程用P2 口:P2 口是一个具有部上拉电阻的8 位双向I/

31、O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流IIL。在外部程序存储器或用16位地址读取外部数据存储器例如执行MOV* DPTR时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的部上拉发送1。在使用8位地址如MOV* RI外部数据存储器时,P2口输出P2锁存器的容在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有部上拉电阻的8 位双向I/O 口,对P3 端口写“1”时,部上拉电阻把端口拉高,此时可以作为

32、输入口使用。作为输入使用时,被外部拉低的引脚由于部电阻的原因,将输出电流IIL。P3口亦作为AT89S52特殊功能第二功能使用,在flash编程和校验时,P3口也接收一些控制信号。P3 口引脚号的第二功能如表2-2所示。表2-2 P3 口引脚号的第二功能P3.0R*D串行输入P3.1T*D串行输出P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0定时器0外部输入P3.5T1定时器1外部输入P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通) DS12887时钟芯片图2-4 DS12887引脚图DS12887是美国达接斯半导体公司Dallas最新推出的串

33、行接口实时时钟芯片,采用CMOS技术制成,具有部晶振和时钟芯片备份锂电池,同时它与目前IBM AT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。DS12887芯片具有微功耗,外围接口简单,精度高,工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟系统中。.1DS12887主要功能简介1含一个锂电池,断电后运行十年以上不丧失数据。2计秒,分,时,天,星期,日,月,年,并有闰年补尝功能。3二进制数码或BCD码表示时间,日历和定闹。412小时或24小时制,12小时时钟模式带有PM和AM指示,有夏令时功能。5Motorola和Intel总线时序选择。6有128个字节R

34、AM单元与软件接口,其中14个字节作为时钟和控制存放器,114字节为通用RAM,所有RAM单元数据都具有掉电保护功能。7可编程方波信号输出。8中断信号输出IRQ和总线兼容,定闹中断,周期性中断、时钟更新周期完毕中断可分别由软件屏蔽,也可分别进展测试。.2DS12887引脚说明DS12887部由振荡电路,分频电路,周期中断/方波选择电路,14字节时钟和控制单元,114字节用户非易失RAM,十进制/二进制累加器,总线接口电路,电源开关写保护单元和部锂电池等局部组成。上电/掉电:当VCC高于4.25V 200ms后,芯片可以被外部程序操作;当VCC低于4.25V时,芯片 处于写保护状态所有的输入均无

35、效,同时所有输出呈高阻状态;当VCC低于3V时,芯片将自动把供电方式切换为由部电池供电。Vcc:直流电源+5V电压。当5V电压在正常围时,数据可读写;当Vcc低于4.25V,读写被制止,计时功能仍继续;当Vcc下降到3V以下时,RAM和计时器供电被切换到部锂电池。MOT模式选择:MOT引脚接到Vcc时,选择MOTOROLA时序,当接到GND时,选择Intel时序。SQW方波信号输出:SQW引脚能从实时钟部15级分频器的13个抽头中选择一个作为输出信号,其输出频率可通过对存放器A编程改变。AD0-AD7双向地址/数据复用线:总线接口,可与Motorola微机系列和Intel微机系列接口。AS地址

36、选通输入:用于实现信号别离,在AD/ALE的下降沿把地址锁入DS12887。DS数据选通或读输入:DS/RD引脚有两种操作模式,取决于MOT引脚的电平,当使用Motorola时序时,DS是一正脉冲,出现在总线周期的后段,称为数据选通;在读周期,DS指示DS12887驱动双向总线的时刻;在写周期,DS的后沿使DS12887锁存写数据。选择Intel时序时,DS称作RD,RD与典型存贮器的允许信号OE的定义一样。R/W 读/写输入:R/W引脚也有两种操作模式。选Motorola时序时,R/W是低电平信号时,指示当前周期是读或写周期,DS为高电平时,R/W高电平指示读周期,R/W信号一低电平信号,称

37、为WR。在此模式下,R/W引脚与通用RAM的写允许信号WE的含义一样。CS片选输入:在DS12887的总线周期,片选信号必须保持为低。IRQ中断申请输入:低电平有效,可作微处理的中断输入。没有中断的条件满足时,IRQ处于高阻态。IRQ线是漏极开路输入,要求外接上接电阻。RESET复位输出:当该脚保持低电平时间大于200ms,保证DS12887有效复位。另外DS12887的地址由114字节的用户RAM存放。10字节的存放实时时钟时间,日历和定闹RAM及用于控制和状态的4字节特殊存放器组成,几乎所有的128个字节直接读写。RTC 实时时钟加RAM向处理器提供三个独立的,自动的中断源。定闹中断的发生

38、率可编程,从每秒一次到每天一次,周期性中断的发生率可从500ms到122s选择。更新完毕中断用于向程序指示一个更新周期完成。中断控制和状态位在存放器B和C中。.3时间,日历和定闹单元时间和日历信息通过读相应的存字节来获取,时间,日历和定闹通过写相应的存字节设置或初始化,其字节容可以是二进制或BCD形式。时间可选择12小时制或24小时制,中选择12小时制时,小时字节的高门为逻辑“1代表PM。时间,日历和定闹字节是双缓冲的,总是可的。每秒钟这10个字节走时1 秒,检查一次定闹条件,如在更新时,读时间和日历可能引起错误,三个字节的定闹字节有两种使用方法。第一种,当定闹时间写入相应时,分,秒,定闹单元

39、,在定允许闹位置高的条件下,定闹中断每天准时起动一次。第二种,在三个定闹字节中插入一个或多个不关心码。不关心码是任意从O0到FF的16进制数。当小时字节的不关心码位置位时,定闹每小时发生一次;同样,当小时和分钟定闹字节置不关心位时,每分钟定闹一次;当三个字节都置不关心位时,每秒中断一次。.4DS12887的控制存放器DS12887有四个控制存放器,他们可以在任何时候读写。1存放器0AH表2-3 存放器0AH中的位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0UIPDV2DV1DV0RS3RS2RS1RS0UIP:更新周期进展标志位,UIP = 1时,芯片正处于或将开场新周期,

40、此期间不允许读写时标存放器。DV2DV0:为010时晶振工作,其他组合时晶振停顿。 RS3RS0:中断周期时间和SQW输出频率选择位。2存放器0BH表2-4 存放器0BH中的位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0SETPIEALEUIESQWEDM24/12DSESET:为1时制止更新。为0时正常。 PIE:为1时周期中断允许。AIE:为1时警报中断允许。UIE:为1时更新完毕中断允许。SQWE:为1时方波输出允许。DM:为0时时间为BCD码,为1时为二进制。24/12:为1时是24小时进制。为0时是12小时进制。DSE:置0。3存放器0CH表2-5存放器0CH中的

41、位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0IRQFPFAFUF0000IRQF:中断申请标志。PF:周期中断标志。AF:警报中断标志。UF:更新完毕中断标志。4存放器0DH表2-6存放器0DH中的位BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0VRT0000000VRT:为0时表示部锂电池耗尽。DS18B20温度传感器DS18B20的主要特性1适应电压围更宽,电压围:3.05.5V,在寄生电源方式下可由数据线供电。2独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。3DS18B20支持多点组网

42、功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。4DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路。5温围55125,在-10+85时精度为0.5。6可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。7在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快。8测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。9负压特性:电源极性接反时,芯片不会因发热而烧毁,但

43、不能正常工作。其引脚图和功能表如图2-5所示。图2-5 DS18B20引脚图及功能2.4 数码管显示电路设计显示模块的选择与方案论证1采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形、显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。2采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比拟适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。3采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最适宜,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用LED数码管作为显

44、示。LED显示器工作原理在4位LED显示器中段选线控制显示字符的的字型,而位选线为各个LED显示块的公共端,它控制该LED显位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。1LED静态显示方式显示器工作于静态显示方式时,各个的共阴极或共阳极连接在一起并接地或+5V;每位的短选线a-dp分别与一个8位的锁存器输出相连。所以称为静态显示。各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正因为如此,静态显示器的亮度都比拟高。这种显示方式接口编程容易,付出的代价是占用口线较多。假设要用I/O口接口,则要占用4个8位I/O口,假设要用锁存器如74LS373接

45、口,则要用4片74LS373芯片。如果显示位数增多,则静态显示方式更是无法适应。因此在显示位数较多的情况下,一般采用动态显示方式。2LED动态显示方式在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。在动态显示方式中假设要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在*一时刻,只让*一位的位选线处选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的段码。这样同一时刻,4位LED中只有那一位显示出字符,而其他

46、三位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可造成多位同时亮的假象,到达同时显示的目的。如何确定LED不同位显示的时间间隔,例如对8位LED显示器,假假设显示一位保持1ms时间,则显示完所有8位只后,只需8ms。上述保持1ms的时间是根据实际情况而

47、定。不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清。但也不能太长,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。另外,显示位越多,也将占用大量的CPU时间,因此动态显示实质是以牺牲CPU时间来换取元件的减少。此设计显示电路采用的就是动态显示即一位一位地轮流点亮显示器的各个位扫描,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留效应可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。因为本显示的位数不大于8

48、位,所以控制显示器公共极只需一个I/O口扫描口,控制显示器的各位所显示的字型也需一个8位口段数据口。本设计显示局部电路连接如图2-6所示。图2-6 数码管显示局部电路图3 系统软件设计3.1系统功能模块及主程序流程图软件编程思路:先DS12887初始化接着从其读取当前时间供参考,然后扫描键盘以取得输入的更改值,接下来将更改值写入DS12887,允许DS12887时间更新并读出时间以显示,把显示程序放在定时中断扫描,主程序先读出DS12887小时、分钟、秒的值再送显示,然后加延时再读DS18B20所测温度值再送显示。系统功能模块主要有:1初始化程序2对DS12887的读写程序3显示子程序4时间调

49、子整程序5温度与时间显示切换程序主程序流程如图3-1所示。开场初始化设置初始时间日期屏幕切换读DS12887驱动电路送显示读DS18B20延时YN图3-1 主程序流程图3.2 DS12887初始化程序设计因为使用了时钟芯片DS12887,只需从DS12887各存放器中读出年、月、日、周、小时、分、秒等数据,再处理即可。在首次对DS12887进展操作之前,必须对它进展初始化,然后从DS12887中读出数据,再经过处理后,送给显示缓冲单元。程序如下:csh()*BYTE0*7f0b=0*a6;*BYTE0*7f00=0*00;*BYTE0*7f02=0*00;*BYTE0*7f04=0*00;*B

50、YTE0*7f0b=0*26;i=*BYTE0*7f0a=0*20;i=*BYTE0*7f0d;i=*BYTE0*7f0c;3.3显示子程序设计主要是开启中断,选择定时器工作方式及给定时器上下字节送初值,最后使DS12887开场工作并通过给DS12887的控制存放器写相应命令使其制止DS12887芯片更新,此时时钟、日历、和闹钟信息可以通过读写相应的字节获得和设置,接着开启DS12887的晶体振荡器并且保持时钟运行,设置DS12887的SQW输出为方波,时钟运行周期为24时制等这些都完成系统上电后就可以从DS12887读取时间信息送进而显示电路显示了。程序如下:void time0() int

51、errupt 1/定时器扫描显示 q+; TH0=0*ea; TL0=0*ea;if(q=1) P1=tabcc; P2=0*de;if(q=2) P1=tabdd; P2=0*ee;if(q=3) P1=tabee; P2=0*f6;if(q=4) P1=tabff; P2=0*fa; q=0; c=*BYTE0*7e00; P30=c0;3.4 时间调整程序设计时间调整是由三个按键组成的,它是最简单的单片机输入设备,通过按键输入或调整数据,实现简单的人机对话.时间调整的三个按键分别接在CPU的P3.2,P3.4,P3.5三个口。三个按键的功能分别为:P32为选位键,按下时进展调时选位功能,

52、被选中的那个数码管就闪烁准备调时;选中一位后按下P3.4对该位进展加操作,按下P3.5对该位进展减操作,流程图如图3-2所示。选位键按下执行主循环程序加1键有效减1键有效加1减1送显示电路显示送时钟芯片送显示电路显示NY送驱动电路送驱动电路位选择操作有效图3-2 时间整程序框图程序如下:if(P32=0)delay1(500);while(!P32);delay1(20);while(P32)cc=10; delay1(500); cc=j; delay1(500);if(P34=0)while(!P34);j+;if(j=10)j=0;d=j+(10*i); else if(P35=0)wh

53、ile(!P35);if(j=0)j=10;j-;d=j+(10*i);*BYTE0*7e02=d;*BYTE0*7e04=e;while(!P32)delay1(500);while(!P32);delay1(20);while(P32)dd=10; delay1(500); dd=i; delay1(500);if(P34=0)while(!P34);i+;if(i=6)i=0;d=j+(10*i); else if(P35=0)while(!P35);if(i=0)i=6;i-;d=j+(10*i);*BYTE0*7e02=d;*BYTE0*7e04=e;while(!P32)delay

54、1(500);while(!P32);delay1(20);while(P32)ee=10; delay1(500); ee=m; delay1(500);if(P34=0)while(!P34);m+;if(m=10)m=0;e=m+(10*n); else if(P35=0)while(!P35);if(m=0)m=10;m-;e=m+(10*n);*BYTE0*7e02=d;*BYTE0*7e04=e;while(!P32)delay1(500);while(!P32);delay1(20);while(P32)ff=10; delay1(500); ff=n; delay1(500);

55、if(P34=0)while(!P34);n+;if(n=3)n=0;e=m+(10*n); else if(P35=0)while(!P35);if(n=0)n=3;n-;e=m+(10*n);*BYTE0*7e02=d; *BYTE0*7e04=e;delay1(2000); 3.5温度采集程序设计DS18B20的初始化1先将数据线置高电平“1”。2延时该时间要求的不是很严格,但是尽可能的短一点。3数据线拉到低电平“0”。4延时750微秒该时间的时间围可以从480到960微秒。5数据线拉到高电平“1”。6延时等待如果初始化成功则在15到60毫秒时间之产生一个由DS18B20所返回的低电平“

56、0”。据该状态可以来确定它的存在,但是应注意不能无限的进展等待,不然会使程序进入死循环,所以要进展超时控制。7假设CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起第5步的时间算起最少要480微秒。8将数据线再次拉高到高电平“1”后完毕。DS18B20的写操作1数据线先置低电平“0”。2延时确定的时间为15微秒。3按从低位到高位的顺序发送字节一次只发送一位。4延时时间为45微秒。5将数据线拉到高电平。6重复上1到6的操作直到所有的字节全部发送完为止。7最后将数据线拉高。DS18B20的读操作1将数据线拉高“1”。2延时2微秒。3将数据线拉低“0”。4延时15微秒。

57、5将数据线拉高“1”。6延时15微秒。7读数据线的状态得到1个状态位,并进展数据处理。8延时30微秒。程序如下:sbit TMDAT=P27;dmsec(unsigned int count) /1ms delayunsigned int i;while(count-)for(i=0;i0) i-; /900vs TMDAT=1; i=4;while(i0) i-;void tmpre (void) /复位完毕unsigned int i;while(TMDAT);while(TMDAT);i=4;while(i0)i-;bit tmrbit() /读一位数据的子程序unsigned int

58、i;bit dat;TMDAT=0;i+;TMDAT=1;i+;i+;dat=TMDAT;i=8;while(i0)i-;return(dat);unsigned char tmrbyte(void)/读一字节子程序unsigned char i,j,dat; dat=0;for(i=1;i=8;i+)j=tmrbit(); dat=(j1) ;return(dat);void tmwbyte(unsigned char dat)unsigned int i; unsigned char j; bit testb;for(j=1;j1;if(testb)TMDAT=0;i+;i+;TMDAT=

59、1;i=8;while(i0)i-;else TMDAT=0;i=8;while(i0)i-; TMDAT=1;i+;i+; void tmstart1(void)tmreset();tmpre();dmsec(1);tmwbyte(0*cc);tmwbyte(0*4E);tmrtemp()unsigned char Y1;tmreset();tmpre();tmwbyte(0*cc);tmwbyte(0*44);tmreset();tmpre();dmsec(1);tmwbyte(0*cc);tmwbyte(0*be);P0=tmrbyte();P1=tmrbyte();tmrbyte();

60、3.6温度值与时间的显示显示局部是由四个数码管来完成的,但是要想显示小时和分钟就占用了四个数码管,就没有剩余的数码管来显示温度和秒,秒的显示由两个发光二极管来实现,每走一秒闪烁一次;在现有四个数码管的根底上温度的显示只能靠与小时和分钟的显示交替显示来实现。程序如下:void main()unsigned char c;EA=1; /翻开中断允许ET0=1;TR0=1;TMOD=0*01;TH0=0*aa; TL0=0*aa;while(1) c=*BYTE0*7E00;d=*BYTE0*7E02;e=*BYTE0*7E04; /读取DS12887 j=d%10; i=d/10; m=e%10;

温馨提示

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

评论

0/150

提交评论