车载可测温式电子万年历

上传人:工**** 文档编号:498799896 上传时间:2022-08-06 格式:DOC 页数:14 大小:64KB
返回 下载 相关 举报
车载可测温式电子万年历_第1页
第1页 / 共14页
车载可测温式电子万年历_第2页
第2页 / 共14页
车载可测温式电子万年历_第3页
第3页 / 共14页
车载可测温式电子万年历_第4页
第4页 / 共14页
车载可测温式电子万年历_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《车载可测温式电子万年历》由会员分享,可在线阅读,更多相关《车载可测温式电子万年历(14页珍藏版)》请在金锄头文库上搜索。

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

2、度。用四个数码管显示数据,可以显示时间和温度,也可以通过按键调整时间。关键词:电子万年历;单片机;时钟芯片;温度传感器;数码管显示前 言随着人们生活水平的提高,家庭中的时钟也在悄悄地发生变化。早期的机械式小型时钟大局部被现代的电子时钟所代替。大大小小的时钟在人们的生活中发挥着重要的作用。现如今在电子系统非常广泛的应用领域内,为使人们用最方便快捷的方式享受生活,设计人员能在更小的空间内实现更多功能,从而提高系统可靠性和速度。如银行公交车酒店等公共场所到处可见的电子万年历。让人们对生活方有了一个更便捷更舒适的感觉,本文为对这种万年历设计的介绍和说明。1 方案选择1.1 整机设计方案本文主要讲述的是

3、电子万年历的设计与实现,此次设计是基于单片机来实现的。由于单片机具有体积小、重量轻、价格廉价、功耗低、控制功能强及运算速度快等特点,因而在国民经济建立、军事及家用电器等诸多领域起到了举足轻重的作用。编程语言采用C语言,由此设计出的电子万年历具有操作灵活便携等诸多优点。1.2 单片机芯片的选择采用89S51芯片作为硬件核,AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C5

4、1引脚构造,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。1.3 时钟芯片的选择采用DS12887时钟芯片实现时钟,DS12887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进展计数,而且精度高,位的RAM做为数据暂存区,另外其在没有外部电源的情况下可工作10年自带晶体震荡器及电池。其可以计算到2100年前的秒、分、小时、星期、日期、月、年七种日历信息。2 硬件设计2.1 电路的组成该电路主要由时钟芯片、CPUAT89S51、键盘、驱动电路、温度采集、显示电路组

5、成。其中键盘调整可以对显示的内容进展切换及对时间进展调整。2.2 系统硬件概述及整机工作原理此设计CPU采用低功耗,高性能CMOS 8位单片机AT89S51;时钟芯片用的是美国达接斯半导体公司Dallas推出的串行接口实时时钟芯片DS12887,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池;键盘有三个分别为位调整键,加调整键,减调整键。整机工作原理是先初始化DS12887时钟芯片接着CPU从时钟芯片读取时间及日期信息又从温度传感器采集温度送驱动电路进而送LED显示,其中键盘调整可以对时间进展调整,对时间进展调整时其更改值写入DS12887,再允许DS12887时间更新并读出时间送显示

6、,温度值和时间轮流交替显示在数码管上。2.3 各芯片介绍2.3.1 AT89S51单片机AT89S51是一个低功耗,,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚构造,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,128 bytes的随机存取数据存储器RAM,32个外部双向输入/输出I/O口,5个中断优先级2

7、层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停顿芯片其它功能直至外中断激活或硬件复位。2.3.2 DS12887时钟芯片DS12887是美国达接斯半导体公司Dallas最新推出的串行接口实时时钟芯片,采用CMOS技术制成,具有内部晶振和时钟芯片备份锂电池,同时它与目前IBM AT计算机常用的时钟芯片MC146818B和DS1287管脚兼容,可直接替换。DS12887芯片具有微功耗,外围接口简单,精度高,工作稳定可靠等优点,可广泛用于各种需要较

8、高精度的实时时钟系统中。2.4 数码管显示电路设计2.4.1 显示模块的选择采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最适宜,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用LED数码管作为显示。2.4.2 LED显示器工作原理在4位LED显示器中段选线控制显示字符的的字型,而位选线为各个LED显示块的公共端,它控制该LED显位的亮、暗。LED显示器有静态显示和动态显示两种显示方式。1LED静态显示方式显示器工作于静态显示方式时,各个的共阴极或共阳极连接在一起并接地或+5V;每位的短选线a-dp分别与一个8位的锁存器输出相连。所以称为静态显示。2LED动态显示方

9、式在多位LED显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而各位的共阳极或共阴极分别由相应的I/O线控制,实现各位的分时选通。在动态显示方式中假设要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,同时,段选线上输出相应位要显示字符的段码。这样同一时刻,4位LED中只有那一位显示出字符,而其他三位则是熄灭的。同时,在段选线上输出相应位将要显示字符段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显

10、示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可造成多位同时亮的假象,到达同时显示的目的。3 系统软件设计3.1 系统功能模块及主程序流程图系统功能模块主要有:1初始化程序2对DS12887的读写程序3显示子程序4时间调子整程序5温度与时间显示切换程序主程序流程如图3-1所示。开场初始化设置初始时间日期屏幕切换读DS12887驱动电路送显示读DS18B20延时YN图3-1 主程序流程图3.2 DS12887初始化程序设计因为使用了时钟芯片DS12887,只需从DS12887各存放器中读出年、月、日、周、小时、分、秒等数据,再处理即可。在首次对DS12

11、887进展操作之前,必须对它进展初始化,然后从DS12887中读出数据,再经过处理后,送给显示缓冲单元。程序如下:csh()*BYTE0*7f0b=0*a6;*BYTE0*7f00=0*00;*BYTE0*7f02=0*00;*BYTE0*7f04=0*00;*BYTE0*7f0b=0*26;i=*BYTE0*7f0a=0*20;i=*BYTE0*7f0d;i=*BYTE0*7f0c;3.3 显示子程序设计主要是开启中断,选择定时器工作方式及给定时器上下字节送初值,最后使DS12887开场工作并通过给DS12887的控制存放器写相应命令使其制止DS12887芯片更新,此时时钟、日历、和闹钟信息

12、可以通过读写相应的字节获得和设置,接着开启DS12887的晶体振荡器并且保持时钟运行,设置DS12887的SQW输出为方波,时钟运行周期为24时制等这些都完成系统上电后就可以从DS12887读取时间信息送进而显示电路显示了。程序如下: void time0() interrupt 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; P

13、30=c0;3.4 时间调整程序设计时间调整是由三个按键组成的,它是最简单的单片机输入设备,通过按键输入或调整数据,实现简单的人机对话.时间调整的三个按键分别接在CPU的P3.2,P3.4,P3.5三个口。三个按键的功能分别为:P32为选位键,按下时进展调时选位功能,被选中的那个数码管就闪烁准备调时;选中一位后按下P3.4对该位进展加操作,按下P3.5对该位进展减操作,流程图如图3-2所示。选位键按下执行主循环程序加1键有效减1键有效加1减1送显示电路显示送时钟芯片送显示电路显示NY送驱动电路送驱动电路位选择操作有效图3-2 时间整程序框图3.5 温度采集程序设计3.5.1 DS18B20的初

14、始化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、时确定的时间为15微秒。3按从低位到高位的顺序发送字节一次只发送一位。4延时时间为45微秒。5将数据线拉到高电平。6重复上1到6的操作直到所有的字节全部发送完为止。7最后将数据线拉高。3.5.3 DS18B20的读操作1将数据线拉高“1。2延时2微秒。3将数据线拉低“0。4延时15微秒。5将数据线拉高“1。6延时15微秒。7读数据线的状态得到1个状态位,并进展数据处理。8延时30微秒。3.6 温度值与时间的显示显示局部是由四个数码管来完成的,但是要想显示小时和分钟就占用了四个数码管,就没有剩余的数码管来显示温度和秒,秒的显示由两个发光二极管来实现,每走一秒闪烁一次;在现有四个数码管的根底上温度的显示只能靠与小时和分钟

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号