电子信息工程毕业论文(1)(1).doc
《电子信息工程毕业论文(1)(1).doc》由会员分享,可在线阅读,更多相关《电子信息工程毕业论文(1)(1).doc(30页珍藏版)》请在咨信网上搜索。
东北林业大学毕业论文 车载可测温式电子万年历 毕 业 论 文 论文题目: 车载可测温式电子万年历 学生姓名: 赵蓓 指导教师: 所学专业: 电子信息工程 2016年4月 车载可测温式电子万年历 摘 要 随着电子技术的迅速发展,特别是随着大规模集成电路的出现,给人类生活带来了根本性的改变。尤其是单片机技术的应用产品已经走进了千家万户,如电子万年历的出现给人们的生活带来了诸多方便。 本文描述了系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件及其接口技术和各硬件模块的功能及工作过程;其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。编写的主导思想软硬件相结合,以硬件为基础,来进行各功能模块的编写。 本系统为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。系统通过传感器采集温度。用四个数码管显示数据,可以显示时间和温度,也可以通过按键调整时间。 关键词:电子万年历;单片机;时钟芯片;温度传感器;数码管显示 目 录 摘 要 I 前 言 1 1 方案选择 2 1.1 整机设计方案选择 2 1。2 单片机芯片的选择 2 1.3 时钟芯片的选择 2 1.4 温度传感器的选择 3 2 硬件设计 4 2。1 电路组成框图 4 2.2 系统硬件概述及整机工作原理 4 2。3 各芯片介绍 6 2.3。1 AT89S51单片机 6 2.3.2 DS12887时钟芯片 8 2.3。2。1 DS12887主要功能简介 9 2。3.2.2 DS12887引脚说明 9 2.3。2。3 时间,日历和定闹单元 10 2。3。2.4 DS12887的控制寄存器 11 2.3。3 DS18B20温度传感器 12 2。4 数码管显示电路设计 13 2.4。1 显示模块的选择与方案论证 13 2.4。2 LED显示器工作原理 13 3 系统软件设计 15 3。1 系统功能模块及主程序流程图 15 3.2 DS12887初始化程序设计 16 3。3 显示子程序设计 16 3。4 时间调整程序设计 17 3.5 温度采集程序设计 22 3.5.1 DS18B20的初始化 22 3.5。2 DS18B20的写操作 22 3.5。3 DS18B20的读操作 22 3。6 温度值与时间的显示 25 4 电路安装与调试 27 4。1 电路安装 27 4。2 电路调试 27 4.2。1 硬件调试 27 4。2.2 软件调试 27 4。2.3 综合调试 28 5 结 论 29 参 考 文 献 30 致 谢 31 -25- 前 言 随着人们生活水平的提高,家庭中的时钟也在悄悄地发生变化。早期的机械式小型时钟大部分被现代的电子时钟所代替。大大小小的时钟在人们的生活中发挥着重要的作用. 在清朝的时候,出现了第一批时钟,是从外国引进的。它是一种挂在脖子上的怀表,表盘是圆形,带一个盖子,打开它就可以看时间。表盘上有一个环,环中有一条链子,就是通过它挂在脖子上,而且表的样式也只有这一种。尽管这样,也是只有皇亲国戚、乡绅官吏和留过洋的人才能拥有。可以说在那时它可是一个罕见的宝贝,所以,它的价值可想而知,普通人是很难拥有的。那时的老百姓只有靠看日头来估算时间。 接着,我们不断的从外国引进他们先进的技术,所以,时钟的生产和样式也有了许多的提高,市场上涌现了许多各式各样的时钟。这些时钟,不仅质量和款式不同,还有了各种品牌.从质量上分,有机械的,石英的等等。从款式上分,有男式的和女式的。不过有一点相同,它们大多是带在手腕上的。与清朝时比,已经有了很大的进步。 慢慢地,随着科学的进步,技术水平的提高,到现在,时钟可以说是样式繁多,款式新颖。不提它的质量,仅仅它的款式就可以让消费者眼花缭乱,难以选择。现在的时钟,不仅分男女样式,还出现了情侣表。生产者还为盲人着想,专门生产了盲人使用的手表。为了追求时尚,还出现了还出现了许多项链式的手表、手链式的手表、戒指式的手表等等。为了家居摆设,出现了立式的和挂式的等.还有,就是为了提醒我们不忘记某些事,而生产了闹钟等.将来随着时钟的发展,它将给人们带来更大的方便。 随着科学技术的飞速发展,单片机以其卓越的性能,在各个领域中得到了广泛的应用。一方面向着高速、智能化的巨型机方向发展,另一方面向着嵌入式微型机的方向发展。其中,单片机其性能和容量不断提高,而价格不断下降的趋势,使其在社会各个领域仍至家庭生活中发挥着越来越大的作用. 现如今在电子系统非常广泛的应用领域内,为使人们用最方便快捷的方式享受生活,设计人员能在更小的空间内实现更多功能,从而提高系统可靠性和速度。如银行﹑公交车﹑酒店等公共场所到处可见的电子万年历。让人们对生活方有了一个更便捷﹑更舒适的感觉,本文为对这种万年历设计的介绍和说明。 1 方案选择 1.1 整机设计方案选择 本文主要讲述的是电子万年历的设计与实现,此设计实现主要有两种方案:一是由数字电路来实现;二是由单片机编程控制来实现.选用数字电路虽然硬件连接简单不需要软件编程,但因为数字电路实现必须要有移位寄存器对字符数据进行存储,然后串行输入到显示数码管上,不但如此,而且需要很大一部分的扩展电路才能实现,且设计出的电路的灵活性差、不易调试、成本高等缺点,所以不选用此方案。 此次设计是基于单片机来实现的。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等诸多领域起到了举足轻重的作用。编程语言采用C语言,由此设计出的电子万年历具有操作灵活便携等诸多优点。 1。2 单片机芯片的选择 方案一:采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS—51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二:采用89S51芯片作为硬件核,AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS—51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案,再者因为AT89S51为当今市场上主流产品,其价格也比较低廉,所以选择此方案. 1。3 时钟芯片的选择 方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数.采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大.所以不采用此方案。 方案二:采用DS12887时钟芯片实现时钟,DS12887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,另外其在没有外部电源的情况下可工作10年自带晶体震荡器及电池。其可以计算到2100年前的秒、分、小时、星期、日期、月、年七种日历信息. 1.4 温度传感器的选择 方案一:采用AD590为温度传感器,AD590虽然有价格低、精度高等优点,但是它还需要外围的模拟转数字电路,其测温点数量也较少,用起来占空间大也比较麻烦。 方案二:采用DS18B20测温,DS18B20采用单线接口方式,与微处理器连接时仅需要一条线即可实现双向通讯;其适应电压范围更宽;支持多点组网测温;在使用中不需任何外围元件,全部传感元件及转换电路都集成在一只如三极管的集成电路内;价格也较低;DS18B20缺点是测温范围比较小,范围为—55度到+125度,但是用在本设计也 足够了,所以采用此方案。 2 硬件设计 2。1 电路组成框图 该电路主要由时钟芯片、CPU(AT89S51)、键盘、驱动电路、温度采集、显示电路组成。其中键盘调整可以对显示的内容进行切换及对时间进行调整。框图如图2-1所示: CPU 89S51 时钟芯片 DS12887 显示电路 段驱动 驱动电路 温度传感器 键盘调整 位驱动 图2—1 电子万年历方框图 2。2 系统硬件概述及整机工作原理 此设计CPU采用低功耗,高性能CMOS 8位单片机AT89S51;时钟芯片用的是美国达接斯半导体公司(Dallas)推出的串行接口实时时钟芯片DS12887,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池;驱动电路用的是ULN2003芯片;LED显示部分用的是四个共阴型数码管,显示采用动态扫描并行输出方式。键盘有三个分别为位调整键,加调整键,减调整键。整机工作原理是先初始化DS12887时钟芯片接着CPU从时钟芯片读取时间及日期信息又从温度传感器采集温度送驱动电路进而送LED显示,其中键盘调整可以对时间进行调整,对时间进行调整时其更改值写入DS12887,再允许DS12887时间更新并读出时间送显示,温度值和时间轮流交替显示在数码管上。电路图如图2—2所示. 图2—2 整机电路图 2。3 各芯片介绍 2。3.1 AT89S51单片机 AT89S51是一个低功耗,,高性能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位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器.此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。 管脚说明: 40个引脚按其功能来分,可分为三个部分: 电源及时钟引脚 控制引脚 I/O口引脚 (1)电源及时钟引脚 电源引脚接入单片机的工作电源。 VCC(40)引脚:接+5V电源. VSS(20)引脚:接地。 两个时钟引脚XTAL0、XTAL1为单片机提供了时钟控制信号。 XTAL0(18脚):接外部晶体的一个引脚. XTAL1(19脚):接外部晶体的另一端。 (2)控制引脚 RST是复位信号的输入端,高电平有效.当单片机正常工作时,在此引脚加上持续时间大于两个机器周期(24个时钟振荡周期)的高电平时,就可完成复位操作。在单片机正常工作时,复位端应小于或等于0。5V的低电平. PSEN(29脚)程序存储器允许输出控制端.在单片机访问外部程序存储器时,此引脚输出脉冲负跳沿作为外部程序存储器的选通信号。 ALE(30脚)ALE为地址锁存允许信号,当单片机上电正常工作后,ALE引脚不断输出正脉冲信号.当单片机访问外部存储器时,ALE输出信号的负跳沿用作单片机发出的低8位地址的锁存控制信号。即使不访问外部锁存器,ALE端仍有正脉冲信号输出,频率为时钟振荡频率fOSC的1/6. EA(31脚)功能为内/外程序存储器选择控制端。当EA脚为高电平时,单片机访问片内程序存储器,当EA脚为低电平时,单片机则只访问外部程序存储器。所以此次设计,须把单片机的31脚接到高电平。 (3)I/O引脚 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻.在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节.程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1"时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入。在flash编程和校验时,P1口接收低8位地址字节。 P1 口引脚号的第二功能如表2-1所示。 表2—1 P1口引脚的第二功能 P1。0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P1。5 MOSI(在系统编程用) P1。6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号. P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).P3口亦作为AT89S52特殊功能(第二功能)使用,在flash编程和校验时,P3口也接收一些控制信号。 P3 口引脚号的第二功能如表2-2所示。 表2—2 P3 口引脚号的第二功能 P3。0 RXD(串行输入) P3。1 TXD(串行输出) P3.2 INT0(外部中断0) P3。3 INT1(外部中断1) P3.4 T0(定时器0外部输入) P3。5 T1(定时器1外部输入) P3。6 WR(外部数据存储器写选通) P3。7 RD(外部数据存储器写选通) 2。3。2 DS12887时钟芯片 图2-4 DS12887引脚图 DS12887是美国达接斯半导体公司(Dallas)最新推出的串行接口实时时钟芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与目前IBM AT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。DS12887芯片具有微功耗,外围接口简单,精度高,工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟系统中. 2.3。2。1 DS12887主要功能简介 (1)内含一个锂电池,断电后运行十年以上不丢失数据. (2)计秒,分,时,天,星期,日,月,年,并有闰年补尝功能。 (3)二进制数码或BCD码表示时间,日历和定闹。 (4)12小时或24小时制,12小时时钟模式带有PM和AM指示,有夏令时功能。 (5)Motorola和Intel总线时序选择。 (6)有128个字节RAM单元与软件接口,其中14个字节作为时钟和控制寄存器,114字节为通用RAM,所有RAM单元数据都具有掉电保护功能。 (7)可编程方波信号输出。 (8)中断信号输出(IRQ)和总线兼容,定闹中断,周期性中断、时钟更新周期结束中断可分别由软件屏蔽,也可分别进行测试。 2。3。2。2 DS12887引脚说明 DS12887内部由振荡电路,分频电路,周期中断/方波选择电路,14字节时钟和控制单元,114字节用户非易失RAM,十进制/二进制累加器,总线接口电路,电源开关写保护单元和内部锂电池等部分组成。 上电/掉电:当VCC高于4。25V 200ms后,芯片可以被外部程序操作;当VCC低于4.25V时,芯片 处于写保护状态(所有的输入均无效),同时所有输出呈高阻状态;当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(地址选通输入):用于实现信号分离,在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信号一低电平信号,称为WR。在此模式下,R/W引脚与通用RAM的写允许信号(WE)的含义相同. CS(片选输入):在访问DS12887的总线周期内,片选信号必须保持为低. IRQ(中断申请输入):低电平有效,可作微处理的中断输入。没有中断的条件满足时,IRQ处于高阻态.IRQ线是漏极开路输入,要求外接上接电阻。 RESET(复位输出):当该脚保持低电平时间大于200ms,保证DS12887有效复位。 另外DS12887的地址由114字节的用户RAM存放.10字节的存放实时时钟时间,日历和定闹RAM及用于控制和状态的4字节特殊寄存器组成,几乎所有的128个字节直接读写。RTC 实时时钟加RAM向处理器提供三个独立的,自动的中断源。定闹中断的发生率可编程,从每秒一次到每天一次,周期性中断的发生率可从500ms到122s选择。更新结束中断用于向程序指示一个更新周期完成.中断控制和状态位在寄存器B和C中。 2。3。2.3 时间,日历和定闹单元 时间和日历信息通过读相应的内存字节来获取,时间,日历和定闹通过写相应的内存字节设置或初始化,其字节内容可以是二进制或BCD形式.时间可选择12小时制或24小时制,当选择12小时制时,小时字节的高门为逻辑“1”代表PM。时间,日历和定闹字节是双缓冲的,总是可访问的.每秒钟这10个字节走时1 秒,检查一次定闹条件,如在更新时,读时间和日历可能引起错误,三个字节的定闹字节有两种使用方法。第一种,当定闹时间写入相应时,分,秒,定闹单元,在定允许闹位置高的条件下,定闹中断每天准时起动一次。第二种,在三个定闹字节中插入一个或多个不关心码。不关心码是任意从O0到FF的16进制数。当小时字节的不关心码位置位时,定闹每小时发生一次;同样,当小时和分钟定闹字节置不关心位时,每分钟定闹一次;当三个字节都置不关心位时,每秒中断一次. 2。3.2.4 DS12887的控制寄存器 DS12887有四个控制寄存器,他们可以在任何时候读写。 (1)寄存器0AH 表2—3 寄存器0AH中的位 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 UIP:更新周期进行标志位,UIP = 1时,芯片正处于或将开始新周期,此期间不允许读写时标寄存器。 DV2~DV0:为010时晶振工作,其他组合时晶振停止. RS3~RS0:中断周期时间和SQW输出频率选择位。 (2)寄存器0BH 表2-4 寄存器0BH中的位 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 SET PIE ALE UIE SQWE DM 24/12 DSE SET:为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中的位 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 IRQF PF AF UF 0 0 0 0 IRQF:中断申请标志。 PF:周期中断标志。 AF:警报中断标志。 UF:更新结束中断标志。 (4)寄存器0DH 表2—6寄存器0DH中的位 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 VRT 0 0 0 0 0 0 0 VRT:为0时表示内部锂电池耗尽。 2.3。3 DS18B20温度传感器 DS18B20的主要特性 (1)适应电压范围更宽,电压范围:3。0~5.5V,在寄生电源方式下可由数据线供电。 (2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯. (3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。 (4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 (5)温范围-55℃~+125℃,在—10~+85℃时精度为±0.5℃. (6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0。25℃、0。125℃和0。0625℃,可实现高精度测温. (7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。 (8)测量结果直接输出数字温度信号,以”一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。 (9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 其引脚图和功能表如图2—5所示。 图2-5 DS18B20引脚图及功能 2。4 数码管显示电路设计 2。4.1 显示模块的选择与方案论证 (1)采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形、显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。 (2)采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。 (3)采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用LED数码管作为显示。 2。4。2 LED显示器工作原理 在4位LED显示器中段选线控制显示字符的的字型,而位选线为各个LED显示块的公共端,它控制该LED显位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。 (1)LED静态显示方式 显示器工作于静态显示方式时,各个的共阴极(或共阳极)连接在一起并接地(或+5V);每位的短选线(a—dp)分别与一个8位的锁存器输出相连。所以称为静态显示。各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。也正因为如此,静态显示器的亮度都比较高。这种显示方式接口编程容易,付出的代价是占用口线较多。若要用I/O口接口,则要占用4个8位I/O口,若要用锁存器(如74LS373)接口,则要用4片74LS373芯片。如果显示位数增多,则静态显示方式更是无法适应。因此在显示位数较多的情况下,一般采用动态显示方式。 (2)LED动态显示方式 在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个8位I/O口控制,形成段选线的多路复用.而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通.在动态显示方式中若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字符的段码。这样同一时刻,4位LED中只有那一位显示出字符,而其他三位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,在段选线上输出相应位将要显示字符段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可造成多位同时亮的假象,达到同时显示的目的. 如何确定LED不同位显示的时间间隔,例如对8位LED显示器,假若显示一位保持1ms时间,则显示完所有8位只后,只需8ms。上述保持1ms的时间是根据实际情况而定。不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清.但也不能太长,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。另外,显示位越多,也将占用大量的CPU时间,因此动态显示实质是以牺牲CPU时间来换取元件的减少。 此设计显示电路采用的就是动态显示即一位一位地轮流点亮显示器的各个位(扫描),对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留效应可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。因为本显示的位数不大于8位,所以控制显示器公共极只需一个I/O口(扫描口),控制显示器的各位所显示的字型也需一个8位口(段数据口)。本设计显示部分电路连接如图2-6所示. 图2—6 数码管显示部分电路图 3 系统软件设计 3。1 系统功能模块及主程序流程图 软件编程思路:先DS12887初始化接着从其内读取当前时间供参考,然后扫描键盘以取得输入的更改值,接下来将更改值写入DS12887,允许DS12887时间更新并读出时间以显示,把显示程序放在定时中断内扫描,主程序先读出DS12887内小时、分钟、秒的值再送显示,然后加延时再读DS18B20所测温度值再送显示。 系统功能模块主要有: (1)初始化程序 (2)对DS12887的读写程序 (3)显示子程序 (4)时间调子整程序 (5)温度与时间显示切换程序 主程序流程如图3—1所示. 开始 初始化 设置初始时间日期 屏幕切换 读DS12887 驱动电路 送显示 读DS18B20 延时 Y N 图3-1 主程序流程图 3.2 DS12887初始化程序设计 因为使用了时钟芯片DS12887,只需从DS12887各寄存器中读出年、月、日、周、小时、分、秒等数据,再处理即可。在首次对DS12887进行操作之前,必须对它进行初始化,然后从DS12887中读出数据,再经过处理后,送给显示缓冲单元。 程序如下: csh() { XBYTE[0x7f0b]=0xa6; XBYTE[0x7f00]=0x00; XBYTE[0x7f02]=0x00; XBYTE[0x7f04]=0x00; XBYTE[0x7f0b]=0x26; i=XBYTE[0x7f0a]=0x20; i=XBYTE[0x7f0d]; i=XBYTE[0x7f0c]; } 3。3 显示子程序设计 主要是开启中断,选择定时器工作方式及给定时器高低字节送初值,最后使DS12887开始工作并通过给DS12887的控制寄存器写相应命令使其禁止DS12887芯片更新,此时时钟、日历、和闹钟信息可以通过读写相应的字节获得和设置,接着开启DS12887的晶体振荡器并且保持时钟运行,设置DS12887的SQW输出为方波,时钟运行周期为24时制等这些都完成系统上电后就可以从DS12887读取时间信息送进而显示电路显示了。 程序如下: void time0() interrupt 1 //定时器扫描显示 { q++; TH0=0xea; TL0=0xea; if(q==1) { P1=tab[cc]; P2=0xde; } if(q==2) { P1=tab[dd]; P2=0xee; } if(q==3) { P1=tab[ee]; P2=0xf6; } if(q==4) { P1=tab[ff]; P2=0xfa; q=0; } c=XBYTE[0x7e00]; P30=c0; } 3。4 时间调整程序设计 时间调整是由三个按键组成的,它是最简单的单片机输入设备,通过按键输入或调整数据,实现简单的人机对话。时间调整的三个按键分别接在CPU的P3.2,P3。4,P3.5三个口.三个按键的功能分别为:P32为选位键,按下时进行调时选位功能,被选中的那个数码管就闪烁准备调时;选中一位后按下P3.4对该位进行加操作,按下P3。5对该位进行减操作,流程图如图3-2所示。 选位键按下 执行主循环程序 加1键有效 减1键有效 加1 减1 送显示电路显示 送时钟芯片 送显示电路显示 N Y 送驱动电路 送驱动电路 位选择操作有效 图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) { while(!P35); if(j==0) j=10; j—-; d=j+(10*i); } XBYTE[0x7e02]=d; XBYTE[0x7e04]=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); } XBYTE[0x7e02]=d; XBYTE[0x7e04]=e; } while(!P32) { delay1(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); } XBYTE[0x7e02]=d; XBYTE[0x7e04]=e; } while(!P32) { delay1(500); while(!P32); delay1(20); } while(P32) { ff=10; delay1(500); ff=n; delay1(500); 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); } XBYTE[0x7e02]=d; XBYTE[0x7e04]=e; } delay1(2000); } 3。5 温度采集程序设计 3.5.1 DS18B20的初始化 (1)先将数据线置高电平“1". (2)延时(该时间要求的不是很严格,但是尽可能的短一点)。 (3)数据线拉到低电平“0”。 (4)延时750微秒(该时间的时间范围可以从480到960微秒). (5)数据线拉到高电平“1”. (6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 (7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 (8)将数据线再次拉高到高电平“1”后结束。 3.5.2 DS18B20的写操作 (1)数据线先置低电平“0”。 (2)延时确定的时间为15微- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子信息工程 毕业论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文