万年历 论文设计定稿.docx
- 文档编号:13950213
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:34
- 大小:491.90KB
万年历 论文设计定稿.docx
《万年历 论文设计定稿.docx》由会员分享,可在线阅读,更多相关《万年历 论文设计定稿.docx(34页珍藏版)》请在冰点文库上搜索。
万年历论文设计定稿
xxxxx
毕业论文(设计)
基于89S51万年历设计
学生姓名xx学号xxxxxxxxxxxxxx
指导教师xxxxx
学院信息工程学院
专业电子信息工程年级xxxx级
论文答辩日期20xx年xx月xx日
xxxxxxxxx
基于89S51万年历设计
完成日期:
指导教师签字:
答辩小组成员签字:
摘要
万年历在我国已有1000多年的历史,现在所使用的万年历,实际上就是记录一定时间范围内(比如100年或更多)的具体阳历或阴历日期的年历,方便有需要的人查询使用,与原始历法并无直接联系。
而随着微电子技术的高速发展,人们发明了更加便捷的电子万年历。
该万年历在日常生活中运用得越来越广泛。
基于单片机控制技术的微电子技术得到了很好的的发展。
广泛应用于各种控制领域、仿真领域、智能领域。
控制领域里的控制温度,定时时温控制,在我们的生活中得到了广泛的应用。
以AT89S51单片机为主要芯片,设计实现的各种时钟控制电路,应用于各种家电、实验设备等。
本文主要介绍了电子日历时钟芯片DS12C887和AT89S51单片机的基础上设计的电路设计和软件设计,可显示年,月,日,星期,时,分,秒。
并可以根据需要进行调整。
关键词:
AT89S51单片机;万年历;DS12C887
Abstract
CalendarinChinahas1,000yearsofhistory,calendarisactuallyrecordedwithinacertaintime(forexample,100yearsormore)specificGregoriancalendarorlunarcalendardate,areinneedquerywithTheoriginalcalendar,nodirectlink.Withtherapiddevelopmentofmicroelectronicstechnology,peopleinventedthemoreconvenientelectroniccalendar.Thecalendarintheirdailylivesmoreandmorewidelyused.
SCMcontroltechnology-basedmicroelectronictechnologyhasbeenanunprecedenteddevelopment.Widelyusedinvariouscontrolfield,thefieldofsimulation,intelligentfield.Controlinthefieldoftemperaturecontrol,temperaturecontrol,timinghasbeenwidelyusedinourlives.AT89S51microcontrollerasthemainchip,thedesignandimplementationofavarietyofclockcontrolcircuitusedinavarietyofhouseholdappliances,laboratoryequipment.ThispaperintroducesbasedtheAT89S51microcontrollerDS12C887electroniccalendarclockchipcircuitdesignandsoftwaredesign,thedesigncandisplayyear,month,day,week,hours,minutes,seconds.Andcanbeadjustedaccordingtoneed.
Keywords:
AT89S51;Calendar;DS12C887
目录
1引言1
2方案论证与设计2
2.1方案论证与选择2
2.2系统总体设计3
3硬件电路设计4
3.1主控模块4
3.2时钟电路设计6
3.2.1晶体振荡器电路及分频器电路6
3.2.2时间计数器电路7
3.3按键部分电路设计8
3.4其它电路及可靠性分析8
3.5硬件电路所需要的器材11
4软件设计12
4.1星期计算12
4.2按键模块14
4.3显示模块16
4.4本章小结17
5制作与调试18
5.1安装制作18
5.2调试与检测安全18
5.2.1供电安全18
5.2.2测量仪器安全18
5.2.3注意事项19
5.3实物演示19
结束语22
参考文献23
致谢24
1引言
时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。
从古代的水漏、天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。
致力于万年历的研究和充分发挥时钟的作用,将有着重要的意义。
20世纪末,电子技术获得了飞速的发展。
在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展和信息化程度,同时也使现代电子产品性能进步提升,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌和繁杂容易使人忘记当前的时间。
然而遇到重大事情的时候,一旦忘记时间,就会给自己和他人带来很大的麻烦。
平时我们要求上班准时,约会或召开会议必然要提及时间:
火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。
所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的。
随着生活节奏的加快,人们越来越需要准确的把握时间。
本设计通过对常见电子产品的设计与制作,综合运用所学知识分析和解决实际问题,熟练掌握相关绘图制作软件,系统运用电子仪器进行电路检测和调试,强化电子技术实际应用技能训练,通过本次设计为今后开展产品技术开发设计和制作打下初步的基础。
目前基于单片机控制技术的微电子技术得到空前的发展。
广泛应用于各种控制领域、智能领域、仿真领域。
生产,生活等各个领域中已被广泛用于在该领域的控制,温度控制,定时控制。
液晶显示模块中的各种测量仪器,测量仪器,显示仪表,家用电子产品越来越广泛的使用,该装置的测量精度和显示精度的要求也越来越高,特别是测量时间不仅要求准确,需要读取更直观,方便的数值。
电子万年历是可以显示年,月,日,时,分,秒的装置,在日常的生活中已经成为一种必然。
数字时钟便利了人民的生产和生活,完成的日历精度高,易于扩展其功能。
可扩展成为各种如通断动力设备,自动报警定时、按时自动打铃、广播、自动起闭路灯、定时开关烘箱、各种定时电气的自动启用等电路。
所有这些,都是以钟表数字化为基础的。
本设计通过研究简单的数字时钟,用来探索数字时钟更深层次的运用,对以后的智能化时钟设计具有深远的学术价值和实际应用价值。
2方案论证与总体设计
2.1方案论证与选择
本设计准备实现的功能:
(1)显示公历日期功能(年、月、日、时、分、秒以及星期)。
(2)可通过按键切换年、月、日及时、分、秒的显示状态。
(3)可随时调校年、月、日或时、分、秒。
(4)可每次增减一进行时间调节。
(5)可显示年份,实现万年历显示。
关于电子万年历的系统设计,着重是控制和显示两个方面,可以重点从这两方面进行讨论论证。
对此我们有以下两种参考方案可供选择:
方案一:
可FLEX10K系列PLD器件。
设计起来简单,显示与控制比较明了。
但是考虑到本设计的特点,EDA在功能扩展上比较受局限,而且EDA占用的资源也相对多一些。
成本上,用可编程逻辑器件来设计也差不多[6]。
采用数码管静态扫描显示。
1. 静态显示LED接口
(1)连接方法 各数码管的公共极固定接有效电平,各数码管的字形控制端分别由各自的控制信号控制。
(2)优点 LED显示亮度温度,容易调节,编程容易,工作时占用CPU时间短。
(3)缺点 若直接用单片机输出各位数码管的字形信号时,占用单片机的I/O口线较多。
一般仅适用于 显示位数较少的应用场合。
方案二:
凌阳16位单片机有丰富的中断源和时基。
其精度高,而且也很方便的实现一些递归调用的C语言和汇编兼容的编程环境。
I/O口功能也比较强大,方便使用。
可编程音频处理是凌阳16位单片机做控制器的特色,这些都方便对设计进行扩展,使设计更加完善。
成本也相对低一些。
但是,在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高,所以对完成万年历这个不太复杂的设计来说,就完全可以不必用凌阳16位单片机来完成,采用51单片机既能够实现既定功能,成本也不至于太高[1]。
采用数码管动态扫描显示。
动态显示LED接口
(1)连接方法 各位数码管的字形控制端对应地并在一起,由一组I/O端口进行控制,各位的公共极相互独 立,分别由不同的I/O控制信号控制。
(2)优点 节省I/O端口线 。
(3)缺点 显示亮度不够稳定,影响因素较多;编程较复杂,占用CPU时间较多。
综合考虑最后选择用51单片机来作为中心控制器件既节省了成本,又完全能够满足设计所需要的功能而且编程的方式较为简单易行与所学知识更适合。
显示模块的显示方法采用数码管动态扫描显示,节省I/O端口线和减少单片机程序执行时间。
因此,在本次设计中方案二更为适合。
2.2系统总体设计
本次设计的主体主要包括两大模块的设计,分别为系统硬件模块的设计和系统软件模块的设计。
系统硬件模块包括4*4矩阵键盘、8位七段数码管、时钟电路、复位电路、电源模块和蜂鸣器电路;系统软件模块包括键盘扫描程序、键盘代码读取子程序、数码管动态扫描子程序、时钟中断子程序、数据处理子程序和整点报时子程序。
图2-1系统硬件工作框图
如图2-1所示,系统的硬件工作原理为:
89S51单片机为数据的处理器,其作用是对系统各模块的工作进行使能和初始化。
当系统开始工作时,各个模块均处于待机状态,按键控制程序和时钟电路处于中断响应状态。
由按键按下启动按键,单片机在中断中得到按键响应并判断执行启动程序,单片机处理器向时钟电路发出一个高电平,触发电路开关是时钟电路处于工作状态,时钟电路向单片机中断发回以毫秒为单位的时间信息。
在单片机的内部执行数据处理程序将毫秒信息转化为秒、分、时、日、周、月、年等具体信息,通过调用数码管显示程序将转化后的时间信息以变量的形式写入,数码管的显示方式为动态扫描显示,只需一根数据线将数据以串行方式输入到数码管上显示当前的时间信息。
当时间信息中的小时单位到达整点时,满足判断执行条件单片机向蜂鸣器发出特定频率的方波,使蜂鸣器发出特定频率的声音达到整点报时的效果。
电源模块为单片机和其它外围器件提供特定幅值的电压,复位电路的主要作用是在系统发生程序紊乱时将程序复位重新开始工作。
当程序中的时间信息需要修改时,通过按键模块当按下相应按键时程序将自动跳转执行相应修改指令,并实时向数码管更新信息完成良好的人机交互。
由此,便完成了整个万年历的系统运行所需的所有进程。
3硬件电路设计
3.1主控模块
硬件控制电路主要包括AT89S51芯片处理器、LED显示器之类。
时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。
时间控制程序主要是定时器0的定时中断程序每隔10ms的中断作为一个计数,每个中断的计数加1,当计数为100,所述第二至第二个变量加1,然后判断是否1分钟至1小时,然后再决定是否要再次以确定是否第1天,然后判断是否到达一月,然后判断是否1年到,如果计数的间隙为0的变量相关。
先给出一般年份的每月天数。
当时闰年的时候,第二个月天数是29天,而不是28天。
该年份可以整除4或100或者是400,则为闰年,否则为非闰年。
这是闰年的判断规则。
判断是否为闰年用该年份除4来判断,因为此设计中只在100年范围内。
再用公式s=y-1+〔(y-1)/4〕-〔(y-1)/100〕+〔(y-1)/400〕+d(后面将涉及到)计算当前显示日期是星期几,当调节日期时,星期自动的调整过来[4]。
图3-1单片机控制电路
由上图可以看出,单片机的控制电路由AT89S51芯片、复位电路和时钟电路组成。
AT89S51引脚功能:
AT89S51系列单片机中有PDIP,PLCC,TQFP多种封装形式。
本设计采用的是PDIP封装40管脚的单片机,各引脚如下图所示。
图3-2AT89S51的PDIP封装引脚图
40个引脚中,地线和正电源,外置石英振荡器的时钟线两根,4组8位共32个I/O口,现在对这些引脚的功能加以说明:
(1)Pin9:
RESET/Vpd复位信号复用脚,当AT89S51通电,时钟电路开始工作在RESET引脚上出现24个时钟周期以上的高电平,系统开始复位。
当RESET减少从高级别到低级别,系统从0000H地址单元开始执行程序。
(2)Pin29:
PESN访问外部程序存储器时,该引脚输出的负门控信号,外部程序存储器的指令数据到P0口,由CPU执行。
(3)Pin30:
ALE/PROG地址锁存允许信号端。
ALE信号输出正脉冲信号,ALE引脚上电后,单片机可以用作输出的时钟或定时信号。
(4)Pin31:
EA/Vpp程序存储器的内外部选通线,89S51单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。
如EA为低电平,则不管地址小,一律读取外部程序存储器指令[2]。
DS1302是一个实时时钟芯片,它的性能搞,功耗低。
额外的31个字节的静态RAM,CPU的三个SPI的同步通信中的接口,可以用在一个突发模式传输的多个字节的时钟信号和RAM的数据。
实时时钟提供秒,小时,天,周,月和年,月,31天可自动调节,并具有闰年补偿功能。
工作电压宽达2.5~5.5V。
DS1302的外部引脚如图12。
对那些具有特殊意义的数据点的记录上,DS1302能同时记录数据与出现该数据的时间,因此它被广泛应用于测量系统中。
内部如图3-4所示
图3-3DS1302的外部引脚分配
图3-4DS1302的内部结构
DS1302各引脚的功能为:
Vcc1:
主电源;Vcc2:
备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2 SCLK: 串行时钟输入。 I/O: 三线接口时的双向数据线。 CE: 输入信号。 在读、写数据期间,必须为高。 该引脚有两个功能: 第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供了一个单字节或多字节数据传输的方式来结束。 3.2时钟电路设计 3.2.1晶体振荡器电路及分频器电路 晶体振荡器电路: 提供一个频率精确的32768Hz的方波信号的数字时钟的晶体振荡电路,可以确定,在数字时钟稳定的路径。 无论指针式的电子钟或者数字显示的电子钟都使用了晶体荡器电路。 晶体振荡器电路是利用DS1302芯片实现的。 图3-5DS1302电路 分频器电路: 分频器电路将高频方波信号经分频后得到1Hz的方波信号供秒计数器进行计数。 分频器实际上也就是计数器。 3.2.2时间计数器电路 时间计数器分为小时个位和小时十位计数器,分钟个位和分钟十位计数器,秒个位和秒十位计数器电路构成了时间计数电路,其中应用到六进制计数器的是秒十位计数器和分十位计数器,应用到十进制计数器的是秒个位和分个位计数器,时个位和时十位计数器为十二进制计数器是十二进制计数器。 内部时钟晶振电路如图3-6所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。 定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择12MHZ,电容采用30PF。 晶体振荡器为石英振荡器通过C1、C2两个电容的充放电过程,使震荡电路产生12MHZ的自激震荡。 晶体振荡器电路经过分频器可以得到不同频率的信号,通过集成运算放大电路信号经放大送入单片机。 通过软件编程处理,将信号接收为上升沿写入中断,中断延时为数据溢出计算为1ms。 图3-6晶体振荡器电路 3.3按键部分电路设计 总设计使用十二个按钮开关,键盘,其中之一是“复位”按钮,一个“切换”按钮。 其他十个作出了调整时间增加,减少键,年,月,日,时间,分钟和秒,每个按键都有正负两个按钮来调整时间的加减,切换键可以切换状态显示。 其电路如下: 图3-7按键电路 3.4其它电路及可靠性分析 复位电路: 复位是单片机的初始化操作。 单片机运行时,都需要复位,这样做可以使CPU和其他系统组件中处于一个能够确定的初始状态,并且能够从这种状态下工作。 因而,复位是一个很重要的操作方式。 但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。 复位电路功能是: 系统上电时能够供给复位信号,到电源稳定,撤掉复位信号。 为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位[9]。 影响单片机系统的稳定性的因素可分为外部和内部的两部分: (1)外因 射频干扰。 是在本机内部传输的导体在空间的电磁场产生干扰。 可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰。 电源线或电源内部产生的干扰。 它是通过电源线或电源内的部件耦合或直接传导。 可通过电源滤波、隔离等措施来衰减该类干扰。 (2)内因 振荡源的稳定性。 主要由起振时间频率稳定度和占空比稳定度决定。 因此,在复位电路的可靠性设计中,要注意以上讲到的外因和内因,采用一些措施衰减干扰和提高系统的可靠性[3]。 图3-8RC复位电路 蜂鸣器电路: 蜂鸣器为成品,可以发出一定频率的声音类似于蜜蜂的鸣叫,工作原理为控制电路的开关的通与断来实现声音输出的有无。 利用AT89S51单片机的I/O口来控制电路中的三极管,通过三极管来间接控制蜂鸣器电路,这样做的好处是可以有效的防止频间干扰,避免处理器程序紊乱照成不可预知的错误。 使用三极管的型号为8550,其特点是低频特性好,不易产生温漂,在本次设计中主要应用其开关功能。 通过编程调制单片机对三极管的基极提供一定频率的方波从而控制三极管通断,控制信号经三级管放大由发射级输出控制蜂鸣器电源的通断,蜂鸣器得到变化的电流便可发出变化的声音。 从而实现蜂鸣器声音的控制输出。 图3-9蜂鸣器电路 关于蜂鸣器的介绍 1.蜂鸣器的作用。 电子蜂鸣器蜂鸣器是一个综合的结构,在定时器,电脑,打印机,报警器,汽车电子,手机等电子产品都有应用。 2.蜂鸣器的分类。 蜂鸣器有电磁式和压电式这两种。 压电式蜂鸣器包括压电式蜂鸣器,多谐振荡器,共鸣箱和阻抗匹配,外壳等。 有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。 当接通电源(1.5~15V直流工作电压)后,多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器促使压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。 涂有银电极的极化和时效处理后的陶瓷板的两侧,黄铜片或不锈钢片粘在一起。 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 通电之后,音频信号作用下产生磁场。 在磁铁和电磁线圈的相互作用下,周期性地振动发声。 接上额定电源的有源蜂鸣器(新的蜂鸣器的标签有注明)就可以连续的发声。 3.蜂鸣器的电路图形符号。 蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。 关于发光二极管的介绍 发光二极管指示电路设计: 发光二极管简称为LED。 由镓(Ga)和砷(AS),磷(P)的化合物制成的二极管,当电子和空穴的辐射出可见光,它可以用来使发光二极管,电路和仪器作为指示剂结合时,或文字或数字组成。 它是半导体二极管的一种,可以把电能转化成光能。 发光二极管和普通二极管,它是由一个PN结,还具有一个单一的导电性。 当发光二极管加上正向电压,从P到N区的孔和N个电子注入P区的PN结中,在电子商务区域N和P孔复合附近几微米,产生自发荧光发射。 常用的是发红光、绿光或黄光的二极管。 本设计中使用了1个发光二极管作为电源的指示。 为了避免供给发光二极管的电流过大,特使用1K的电阻进行限流。 图3-10发光二极管电源指示电路 3.5硬件电路所需要的器材清单以及安装方式 硬件电路所需器材清单: 5V电源 3V电源 AT89S51单片机1个 DS1302芯片1个 电阻1K的2个;4.7K的2个;4.7欧排阻1个 8550三极管 晶振12M的一个;32768K的一个电阻 电容30PF的两个;22uF的1个 蜂鸣器1个 LED二极管1个 轻触开关5个 单片机的主要供电电源为5V,而DS1302和蜂鸣器的标准电源为2.8V~3.3V,这里有两种电压分配方式: 一种为采用专业的稳压芯片,特点是电压值可进行编程控制而且可以多路输出只需要一个标准输入应用于设计比较理想;另一种是提供特定电压的电源对硬件电路分别控制,这种方法不利于涉及到复杂硬件电路的设计;综合考虑本次设计硬件复杂度和经济情况,显然直接提供特定电压即可。 各路需控制的电器元件与单片机的I/O口连接并记录以备以后编程之需,特别注意某些特殊元件的抑制温漂电路的设计与焊接,确保系统能够精准的运行。 4软件设计 系统的软件设计主要程序是在WindowsXP环境下采用LCA51软件编写。 主控程序、电子万年历的时间控制程序组成了软件控制程序。 电子万年历包括主控程序和时间控制程序。 时间控制程序主要是定时器0的定时中断程序每隔10ms的中断作为一个计数,每个中断的计数加1,当计数为100,所述第二至第二个变量加1,然后判断是否1分钟至1小时,然后确定是否要再次以确定是否第1天,然后判断是否到达一月,然后判断是否1年,如果计数到相关联的变量的间隙为0,重新计数。 要先给出一般年份的每月天数。 闰年很容易得出,该年份可以整除4或100或者是400,就是闰年;否则为非闰年。 由此可见,年、月、日、时、分、秒的计算方法比较简单,关键是和星期之间的换算[10]。 4.1星期计算 当前的公历里,平年闰年都不能整除七,因此星期与日期之间的对应关系对不十分显著。 一般情况下,不看日历牌就无法知道某月某日是星期几。 然而,仍然有一些换算它们之间的规率,只要通过特定的算法,或者查找时间表,或者进行设定日期推理,都可以知道任何日期对应的周数。 对于换算的算法,在本设计中如此考虑: 97个闰年经历的时差为公历400年,总共为97+365*400=146.097天,146.097=20.871×7,即正好是7的整数倍。 这说明四百年前那一天相应的星期数与某年某月某日相应的星期数是一样的。 由此可以进行计算,2001年1月0日(12月31日,2000年)的情况下,如果设那一天是星期天,那么公元801年、401年……以及公元1年的1月0日全为星期天。 如果每个日历年为365天,那么,在今年1月1日0号是星期天,只要公式S=Y1+D就可以了,但实际上是一个闰年是366天,因此,我们必须根据修改闰年的有关规定。 〔(y-1)/4〕是四年一闰产生的修正值。 如果只是修正项,将被修改,从而导致错误的,这是因为,根据公
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 万年历 论文设计定稿 论文 设计 定稿