基于AT89S51单片机的数字万年历设计.doc

上传人:hw****26 文档编号:3154391 上传时间:2019-05-23 格式:DOC 页数:16 大小:632.50KB
下载 相关 举报
基于AT89S51单片机的数字万年历设计.doc_第1页
第1页 / 共16页
基于AT89S51单片机的数字万年历设计.doc_第2页
第2页 / 共16页
基于AT89S51单片机的数字万年历设计.doc_第3页
第3页 / 共16页
基于AT89S51单片机的数字万年历设计.doc_第4页
第4页 / 共16页
基于AT89S51单片机的数字万年历设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、基于 AT89S51 单片机的数字万年历设计摘要:本设计以数字集成电路技术为基础,单片机技术为核心。软件设计采用模块化结构,汇编语言编程。系统通过 LCD 显示数据,可以显示公历日期(年、月、日、时、分、秒)以及星期。在内容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的功能;其次,详细的阐述了程序的各个模块和实现过程。关键词:单片机,万年历,DS1302,LCM1602Design of digital calendar based on MCU AT89S51ZHANG PanHenan Normal University College of Physial Ed

2、ucation Xinxiang Henan 453000Abstract: The design is based on digital integrate circuit, microcontroller technology is the core of the system. The software design uses module structure and adapts microcontroller assemble language. The system can display calendar date, including year, month, week, ho

3、ur, minute, second and week. The work principle of the system is discussed in this paper, hardware interface and module function are reported primarily in the system. Every module of program is described explicitly. Keywords: MCU , Calendar, DS1302, LCM1602引言电子万年历是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站

4、, 码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的万年历精度高,功能易于扩展。可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等电路。所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用有着非常现实的意义。本设计就是数字时钟简单的扩展应用。基于 AT89S51 单片机的数字万年历设计摘要 .11 设计要求 .22 方案论证与设计 .22.1

5、用可编程逻辑器件设计 .212.1.1 控制器部分 .32.2 显示部分的方案选择 .32.3 系统设计 .32.3.1 晶体振荡器电路 .32.3.2 分频器电路 .32.3.3 时间计数器电路 .32.3.4 时钟电路 .42.3.5 复位电路 . 42.3.6 复位电路的可靠性设计.42.3.7 按键部分.52.3.8 蜂鸣器电路5 3.3.9 根据各模块的功能互相连接成电子万年历的控制电路53 各硬件介绍 .63.1 AT89S51 的引脚说明 .73.2 发光二极管指示电路设计83.3 蜂鸣器电路设计83.3.1 蜂鸣器的介绍.93.3.2 蜂鸣器的结构原理.93.4 LCM1602

6、 简介9 3.5 DS1302 简介 .104 系统硬件设计所需的器材.115 系统软件总体设计 .116 系统功能介绍. 126.1 按键介绍 .136.2 星期计算 .137 主程序流程图 .148 安装制作 .149 调试与检测安全 .14 10结束语.141 设计要求本设计准备实现的功能: (1) 显示公历日期功能(年、月、日、时、分、秒以及星期) (2) 可通过按键切换年、月、日及时、分、秒的显示状态2(3) 可随时调校年、月、日或时、分、秒(4) 可每次增减一进行时间调节(5) 可动态完整显示年份,实现真正的万年历显示2 方案论证与设计2.1 控制器部分方案论证 方案一:可采用 A

7、LTERA 公司的 FLEX10K 系列 PLD 器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的连接也会比较方便。但是考虑到本设计的特点,EDA 在功能扩展上比较受局限,而且 EDA 占用的资源也相对多一些。从成本上来讲,用可编程逻辑器件来设计也没有什么优势。方案二:凌阳 16 位单片机有丰富的中断源和时基。它的准确度相当高,并且 C 语言和汇编兼容的编程环境也很方便来实现一些递归调用。I/O 口功能也比较强大,方便使用。用凌阳 16 位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善。成本也

8、相对低一些。但是,在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高,而且就需要完成万年历这个不太复杂的设计可以不必用凌阳 16 位单片机来完成,采用 51 单片机既能够实现既定功能,成本也不高。综合考虑最后选择用 51 单片机来作为中心控制器件。硬件控制电路主要用了 AT89S51 芯片处理器、LCD 显示器等。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序、时间显示及星期显示程序等组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是电子万年历中比

9、较重要的部分。时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。时间控制程序主要是定时器 0 计时中断程序每隔10ms 中断一次当作一个计数,每中断一次则计数加 1,当计数 100 次时,则表示 1 秒到了,秒变量加 1,同理再判断是否 1 分钟到了,再判断是否 1 小时到了,再判断是否 1 天到了,再判断是否 1月到了,再判断是否 1 年到了,若计数到了则相关变量清除 0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为 28 天,而是 29 天。再用公式 sv1 +(y1/4(y1/100+ (y 1/400+ d 计算当前显示日期是星期几,当调节日期时,星期自动的调整过来。

10、闰年的判断规则为,如果该年份是 4 或 100 的整数倍或者是 400 的整数倍,则为闰年;否则为非闰年。在我们的这个设计中由于只涉及 100 年范围内,所以判断是否闰年就只需要用该年份除 4 来判断就行了。温度的显示主要是靠 ds18b20 采集现在的温度数据,CPU 读取数据进行显示,当各自的条件得不到满足时,对应的显示器状态就不发生改变,只是在满足条件的情况下,显示器的状态才变化。3图 1 单片机控制电路Fig.1 SCM Control circuit 2.2 显示部分的方案论证方案一:采用 8 段数码管虽经济实惠,但操作比液晶显示来说略显繁琐。方案二:液晶显示方式。液晶显示效果出众,

11、可以运用菜单项来方便操作,比较简单,所以,最后选择液晶显示方案。图 2 液晶显示电路Fig.2 lcm1602 circuit2.3 系统设计2.3.1 晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的 32768Hz 的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体荡器电路。4图 3 DS1302 电路Fig.3 ds1302 circuit2.3.2 分频器电路分频器电路将高频方波信号经分频后得到 1Hz 的方波信号供秒计数器进行计数,分频器实际上也就是计数器。2.3.3 时间计数器电路 时间计数电路由秒个位和秒十位计数器,分个位和

12、分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为 60 进制计数器而根据设计要求,时个位和时十位计数器为 12 进制计数器。2.3.4 时钟电路内部时钟电路如图所示,在 XTAL1 和 XTAL2 引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择 12MHZ,电容采用 30PF。图 4 时钟电路Fig.4 Clock circuit2.3.5 复位电路影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: (1)外因5射频干扰,它是以空间电磁场的形式传递在机器内部的导体(引线或零件引脚)

13、感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰; 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰 。(2)内因振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定 起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。2.3.6 复位电路的可靠性设计复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使 CPU 和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才

14、能实现。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开 关或电源插头分-合过程中引起的抖动而影响复位。图5 RC 复位电路Fig.5 RC Reset Circuit 2.3.7 按键部分本设计总的用了四个按扭开关作为键盘,其中一个是复位键,另三个中的其中两个是调整时间增加、减少的键,第三个是切换年、月、日及时、分、秒的显示状态并在所切换的显示状态下配合加减两个键调整时间。6图 6 按键电路Fig.6 Key circuit2.3.8 蜂鸣器电路利用 AT89S51单片机的 IO 口控制一个855

15、0的三极管,三极管控制蜂鸣器的电源通断。从而实现输出声音。图 7 蜂鸣器电路Fig.7 Buzzer circuit 3.3.9 根据各模块的功能互相连接成电子万年历的控制电路图 8 控制模块示意图Fig.8 Control Module Sketch3 各硬件介绍3.1 AT89S51 的引脚说明AT89S51 系列单片机中有 PDIP,PLCC,TQFP 多种封装形式。本设计采用的是 PDIP 封装 40 管7脚的单片机,各引脚如图 2-2 所示。图 9 AT89S51 的 PDIP 封装引脚图Fig.9 AT89S5140 个引脚中, 4 组 8 位共 32 个 I/O 口,正电源和地线

16、两根,外置石英振荡器的时钟线两根,现在对这些引脚的功能加以说明:(1)Pin9:RESET/V pd复位信号复用脚,当 AT89S51 通电,时钟电路开始工作,在 RESET 引脚上出现 24 个时钟周期以上的高电平,系统开始复位。而 RESET 由高电平下降为低电平后,系统即从 0000H 地址单元开始执行程序。(2)Pin29:PESN 当访问外部程序存储器时,此脚输出负脉冲选通信号,外部程序存储器则把指令数据放到 P0 口上,由 CPU 读入并执行。(3)Pin30:ALE/PROG 地址锁存允许信号端。单片机上电后,ALE 引脚不断向外输出正脉冲信号, ALE 信号可以用作对外输出时钟

17、或定时信号。(4)Pin31:EA/V pp程序存储器的内外部选通线,89S51 单片机,内置有 4kB 的程序存储器,当EA 为高电平并且程序地址小于 4kB 时,读取内部程序存储器指令数据,而超过 4kB 地址则读取外部指令数据。如 EA 为低电平,则不管地址大小,一律读取外部程序存储器指令。3.2 发光二极管指示电路设计发光二极管简称为 LED。由镓(Ga)与砷(AS) 、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管, 在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。它是半导体二

18、极管的一种,可以把电能转化成光能;常简写为 LED。发光二极管与普通二极管8一样 是由一个 PN 结组成,也具有单向导电性。当给发光二极管加上正向电压后,从 P 区注入到 N区的空穴和由 N 区注入到 P 区的电子,在 PN 结附近数微米内分别与 N 区的电子和 P 区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能 量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。设计中,我使用了1个发光二极管作为电源的指示。为了避免供给发光二极管的电流过大,使用1K 的电阻进行限流。3.3 蜂鸣器电路设计3.

19、3.1 蜂鸣器的介绍1蜂鸣器的作用 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。2蜂鸣器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。3蜂鸣器的电路图形符号 蜂鸣器在电路中用字母“H”或“HA” (旧标准用“FM” 、 “LB”、“JD”等)表示。3.3.2 蜂鸣器的结构原理1压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V 直流工

20、作电压),多谐振荡器起振,输出1.52.5kHZ 的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。2电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发声。3.4 LCM1602 简介 9图 11 LCM1602Fig.11 LCM1602LCM1602 采用标准的

21、16 脚接口,其中: 第 1 脚:VSS 为地电源 第 2 脚:VDD 接 5V 正电源 第 3脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度 第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RSRW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据.第 6 脚:E 端为使能端,当 E 端由高电

22、平跳变成低电平时,液晶模块执行命令。 第 714 脚:D0D7 为 8 位双向数据线。 第 1516 脚:空脚 3.5 DS1302 简介DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗的实时时钟芯片,附加 31 字节静态 RAM,采用 SPI 三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和 RAM 数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小与 31 天时可以自动调整,且具有闰年补偿功能。工作电压宽达 2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。DS1302 的外部引脚分配如图 1 所示及内部结构如图 2 所示。DS1302 用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。图 12 DS1302 的外部引脚分配Fig.12 DS1302 external pin assignment

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

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。