实时日历时钟显示毕业设计_第1页
实时日历时钟显示毕业设计_第2页
实时日历时钟显示毕业设计_第3页
实时日历时钟显示毕业设计_第4页
实时日历时钟显示毕业设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南工程职业技术学院 hunan engineering polytechnic毕业设计(论文)设计(论文)题目: 实时日历时钟显示 系部: 信息工程系 专 业: 电子信息工程技术专业 学 生 姓 名: 吴 英 班 级: 31092-1 学号 24 指导教师姓名: 易礼智 职称 讲师 最终评定成绩 信息工程系 二一二年五月制目 录 第一部分 毕业设计开题报告第二部分 设计说明书2009届毕业设计资料第一部分 毕业设计开题报告湖南工程职业技术学院毕业设计开题报告 (_2009_届)系部: 信息工程系 专 业: 电子信息工程技术专业 学 生 姓 名: 吴 英 班 级:31092-1 学号 24 指

2、导教师姓名: 易礼智 职称 讲师 2012年 5月21日题目:毕业设计之开题报告1.研究背景、目的及意义。在社会迅速发展的今天,单片机的的运用已经渗透到我们生活的每个角落,也似乎很难找到哪个领域没有单片机的足迹。智能仪表、医疗器械,导弹的导航装置,智能监控、通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,汽车的安全保障系统,动控制领域的机器人,数码像机、电视机、全自动洗衣机的控制,电话机以及程控玩具、电子宠物等等,这些都离不开单片机。所以,单片机的学习、开发与应用将对于现代社会的发展,经济的繁荣,和提高满足人类日益增长的物质文化需求有着至关重要的作用。也成就了一批

3、又一智能化控制的工程师和科学家。科技越发达,智能化的东西就越多。学习单片机是社会发展的必然需求,也是我们现代高级技工所必须要掌握的技能。至今,单片机的性能已比较完善,且专业化的特点很强,为各种应用提供了很大的方便。由于体积小,价格低,功耗低、控制功能强且控制逻辑可由软件来实现,因此可以很方便地完成由一般数字电路很难实现的控制逻辑。随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是实时日历时钟,它是近代世界钟表界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率使钟表的走时差从分级缩小到秒级,

4、代表性的产品就是带有摆和摆轮游丝的机械表或钟。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到了秒级。第三次革命就是单片机数码计时技术的应用(实时日历时钟)。实时日历时钟显示系统的设计是采用单片机控制实现对时、秒数字显示的计时装置,分、广泛应用于个人家庭、车站、办公室等公共场所,成为人们日常生活中的必需品。实时日历时钟显示系统的设计给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此,计时产品的走时日差从分级缩小到了百万分之一秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示式,直观明了,并增加了全自动日期、星

5、期、温度以及其他日常附属信息的显示功能,他更符合消费者的生活需求,因此,实时日历时钟的出现带来了钟表计时业跨越性的进步。2.选题依据、主要研究内容、研究思路及方案。在当代繁忙的工作与生活中,时间与我们每一个人都有非常亲密的关系,每个人都受到时间的影响,为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。随着社会、科技的发展,人类不断研究、创新。为了在观测时间的同时能够了解其他与人类密切相关的信息,比如星期、日期等,实时日历时钟诞生了。随着生活水平的提高,人们越来越追求人性化的事物,传统的时钟已不能满足人们的需求。单片机技术,增加了调时的功能。其电路可以由实时时钟模块、人机接

6、口模块,、时钟模块数码管显示模块等部分组成。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点。减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件,但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置具有更长的使用寿命,因此广泛应用于个人家庭、车站、办公室等公共场所,成为人们日常生活中的必需品。单片机由于体积小、价格低、功耗低、控制功能强且控制逻辑可由软件来实现,可以很方便地完成由一般数字电路很难实现的控制逻辑。因此,本课题研究的主要目的就是设计一个基于单片机的日历时钟系统,完成对日历时钟的显示,以及在正常工作情况下随

7、时可进行调时、调分、调秒和日期的设置,所设计的实时日历时钟系统将具有以下功能:可以对每月天数进行调整,时钟运行的是 24 小时制,显示满刻度为23时59分59秒。其中调时功能通过按键实现。课题需要完成单片机与时钟芯片之间的通信,以及单片机对调时键盘的扫描,以及控制显示电路进行时间显示功能。本设计采用at89s52 芯片作为硬件核心,具有功耗小,能以 3v 的超低电压工作,该芯片内部存储器为 8kb rom 存储空间,同时具有 at89c51 的功能,且具有在线编程可擦除技术,所以不会对芯片造成损坏。时钟电路 ds1302可对秒、分、时、日、周、月以及年进行计数,拥有用于高速数据暂存的 318

8、位 ram,具有最少引脚的串行 i/o 接口电路,2.55.5v 时耗电小于300na,有用于时钟或 ram 数据读/写的单字节或多字节(脉冲方式)数据传送方式,有简单的三线接口,具有可选的慢速充电(至 vcc1)能力。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于 31 天的月与月末的日期自动进行调整。时钟的运行可以采用 24 小时或带 am(上午)/pm(下午)的 12 小时格式。采用 led 数码管,液晶显示屏的显示功能强大,可显示大量 文字,图形,显示多样,清晰可见。它采用数字电路实现对时、 秒数字显示的计时装置,集时间、日期、星期

9、于一身,具有读取方便、显示直观、功能多样、电路简洁等优点。能够进行长时间的记录,并且存储的时间信息在掉电情况下能长期保存。3.工作进度及具体安排。2011 年 11 月中旬 审题并收集相关资料;2011 年 11 月下旬 设计主控元件;2011 年 12 月上旬 元器件的选择和主电路的设计;2012 年 1 月中旬 编写程序实现功能;2012 年 2 月- 5月 制作设计作品并调试;2012 年 5 月中旬 完成设计报告和图纸;2012 年 6 月上旬 递交毕业论文及设计作品,毕业答辩。4.指导教师意见。指导教师: 年 月 日5.教研室意见。教研室主任: 年 月 日2009届毕业论文资料第二部

10、分 设计说明书湖南工程职业技术学院毕业设计实时日历时钟显示系 部: 信息工程系 专 业:电子信息工程专业学 号: 24 学生姓名: 吴 英 指导教师: 易礼智 讲师 2012 年 5 月摘 要20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。随着社会、科技的发展,人类得知时间,从观太阳、摆钟到现在电子钟,不断研究、创新。为了在观测时间的同时能够了解其他与人类密切相关的信息,比如星期、日期等,实时日历时钟诞生了,它集时间、日期、星期于一身,具

11、有读取方便、显示直观、功能多样、电路简洁等优点。在这次设计中,采用 at89s52 单片机为核心,由 ds1302 时钟芯片提供时钟的控制, led 动态扫描显示屏显示。 at89s52 单片机是由 atmel 公司推出的,功耗小,电压可选用 46v 电压供电;ds1302 时钟芯片是美国 dallas 公司推出的具有涓细电流充电功能的低功耗实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且 ds1302 的使用寿命长,误差小;数字显示是采用的 led 数码管来显示,可以同时显示年、月、日、星期、时、分、秒和温度等信息。此外,该电子万年历也具有时间校准等

12、功能。本设计涉及到 at89s52 芯片、ds1302、按键电路和复位电路等,主要用 proteus 仿真软件仿真实时日历实现显示年月日时分秒。 本设计基于 at89s52 芯片,通过上网、借书查资料了解ds1302 芯片、led的功能及应用,进行编写汇编语言,并在 proteus 仿真软件上连接电路图最终实现日历时钟的设计。关键词:实时日历时钟,at89s52,ds1302,led摘要i第1章 绪论11.1 选题背景21.1.1 单片机的简介21.1.2 单片机的应用21.1.3 单片机的发展趋势21.2 选题目的21.3 设计意义2第2章 设计要求与方案论证22.1 设计要求2 2.1.1

13、 基本功能2 2.1.2 发挥部分22.2 系统基本模块的理论分析22.2.1 单片机芯片的选择和分析2 2.2.2 时钟芯片的选择和分析22.2.3 显示模块的选择和分析22.3 电路设计最终方案2第3章 系统的设计和实现23.1 主要器件简介2 3.1.1 at89s52芯片2 3.1.2 ds1302时钟芯片2 3.1.3 74ls16423.1.4 led显示器23.2 实时日历时钟的基本原理23.3 程序流程图2第4章 系统的调试和使用说明24.1 系统调试24.2 使用说明2 结论1致谢1参考文献1附录1 元件清单表1附录2 设计电路图1附录3 程序源代码设计1第1章 绪论1.1

14、选题背景在社会迅速发展的今天, 单片机的的运用已经渗透到我们生活的每个 角落,也似乎很难找到哪个领域没有单片机的足迹 。智能仪表、医疗器 械,导弹的导航装置,智能监控、通讯与数据传输,工业自动化过程的实 时控制和数据处理,广泛使用的各种智能 ic 卡,汽车的安全保障系统, 动控制领域的机器人,数码像机、电视机、全自动洗衣机的控制,电话机 以及程控玩具、电子宠物等等,这些都离不开单片机。图 1-1 万年历 图 1-2 智能手机 图 1-3 数码相机所以,单片机的学习、开发与应用将对于现代社会的发展,经济的繁 荣, 和提高满足人类日益增长的物质文化需求有着至关重要的作用。 也成 就了一批又一智能化

15、控制的工程师和科学家。 科技越发达, 智能化的东西 就越多。 学习单片机是社会发展的必然需求, 也是我们现代高级技工所必 须要掌握的技能。1.1.1 单片机的简介1.微型计算机 (single chip microcomputer) 微型计算机的主要特点:cpu 集成于一个芯片中。单片机(micro controller unit)是把组成微型计算机的各功能部件:cpu、ram、rom、定时/计数器、中断控制器、并行和串行接口均集成在一个芯片中。其一个芯片就构成了一个比较完整的计算机系统。微型计算机与单片机是微电子领域的两个分支。微型计算机的特点是运算速度快、存储容量大,适合于信息管理、科学计

16、算等领域;而单片 机的特点为体积小、 价格低, 适合于仪器、 设备的控制, 常常嵌入到仪器、设备中。故单片机也称作微控制器(microcontroller)。2.单片机的生产与发展 目前世界上单片机的生产公司有上百家,如 intel、philips、 microchip、motorola、siemens、nec、amd、zilog、ti、atmel 等。但在国内广泛应用的只有 intel 系列和 microchip pic 系列。第 1 阶段 (19761980):单片机发展初级阶段。集成了8 位 cpu、 ram、 rom、定时器、并行口(无串行口)等部件,但性能低,寻址范围小( 4kb),

17、中断系统、定时器也简单。典型机型:intel mcs-48 系列。第 2 阶段(19801983):高性能单片机阶段。此阶段的单片机普遍带有串行口,有多级中断处理系统,多个 16 位定时/计数器,片内 rom、ram 的容量加大,寻址范围达 64kb。典型机型:intel mcs-51 系列。第 3 阶段(198380 年代末):16 位单片机和高性能 8 位机并行发展阶段。 此阶段 intel 推出 16 位单片机 mcs-96 系列,其他公司也推出了各种 16 位单片机。同时高性能 8 位单片机的性能更为完善。 第 4 阶段(90 年代):单片机在集成度、功能、速度、可靠性等方面全面发展,

18、如采用 flash rom,加入了一些特殊功能部件(ad 转换器,pwm 输出,监视定时器 wdt,dma,调制解调器,通信控制器,浮点运算单元等)。至今,单片机的性能已比较完善,且专业化的特点很强,为各种应用提供了很大的方便。1.1.2 单片机的应用单片机由于体积小,价格低,功耗低、控制功能强且控制逻辑可由软件来实现,因此可以很方便地完成由一般数字电路很难实现的控制逻辑。所以在测控系统,智能仪表,机电一体化产品,智能接口,智能民用产品,机器人等领域得以广泛应用。1.在智能仪器仪表上的应用(如电压、功率、频率、湿度、温度、流 量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量)只需结合

19、不同类型的传感器即可控制,使得仪表达到数字化、智能化、微型化 (示波器)。2.在工业控制中的应用 (如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等)多用于构成多样的控制系统,数字采集系统。设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构,在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。3.在家用电器中的应用(洗衣机、电冰箱、空调机、彩电、及其他音响视频器材,电子秤量设备等)极大的方便了我们的生活。4.在计算机网络和通信领域中的应用(手机,电话机、小型程控交换机、楼宇自动通信呼

20、叫系统、列车无线通信、集群移动通信,无线电对讲 机等)利用单片机的通讯接口可以方便的与计算机进行数据通,为在计算机网络通讯设备间的应用提供了很好的物质条件。5.单片机在汽车设备领域中的应用 (如汽车中的发动机控制器,基于can 总线的汽车发动机智能电子控制器,gps 导航系统,abs 防抱死系统,制动系统等)。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 6多机应用利用单片机的串行接口和并行接口,多个单片机子系统可以彼此进行通信,构成一个网络。可以构成一个集散式的控制系统,从而控制和处理大量的控制对象和信息,且可以通过并行运算方式来提高处理速度。 总之在单片机

21、系统中, 单片机是作为控制中枢, 数字电路器件是作为外围电路,二者是相辅相成的。1.1.3 单片机的发展趋势目前,为了适应各种嵌入式系统的应用需求,单片机将向着高集成度、增强工能。提高速度、降低成本和功耗等方向发展。这组要表现在以下几个方面。1.处理性能的增强:单片机的处理性能取决于其内部数据总线宽度、指令执行速度、片内存储器容量等指标。近几年发展起来的 16 位和 32 位单片机就体现了这个发展趋势。2.增强功能:未来单片机的增强功能主要在网络功能。a/d 和 d/a 功 能、isp 功能、dma 功能、显示器驱动等方面另外为了能有效地保护嵌入 式系统的知识产权,对单片机内部软件的加密是必要

22、的,单片机的内部的程序代码存储器带有加密特性是单片机的一种增强功能。3.高集成度:随着集成电路技术的和工艺的不断提高,单片机技术的发展及其应用领域不断拓展提高单片机的集成度,增加片内功能器件,减少外围器件的扩展,实现真正的“单片”系统已成为发展趋势集成更多的i/o 端口和特殊接口,直接驱动 led、vfd、lcd 等显示器,带有直接中断方式键盘端口等。 近年来单片机结合专用集成电路 (application specific integrated circuit, asic) 和精简指令集计算机 (reduced instruction set computer, risc)技术,发展为嵌入式

23、处理器(embedded processor),适用于数据与数值分析、信号处理、智能机器人及图像处理等高技术领域。1.2 选题目的随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是实时日历时钟,它是近代世界钟表界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆和摆轮游丝的机械表或钟。 第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到了秒级。第三次革命就是单片机数码计时技术的应用(实时日历时

24、钟),使计时产品的走时日差从分级缩小到了百万分之一秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,他更符合消费者的生活需求,因此,实时日历时钟的出现带来了钟表计时业跨越性的进步。1.3 设计意义我国生产的实时日历时钟有很多种,总体上来说以研究多功能实时日历时钟为主,使万年历除了具有原来的显示时间,日期等基本功能外,还具有闹铃,报警等功能,商家生产的实时日历时钟更从质量,价格,使用上考虑,不断的改进实时日历时钟的设计,使其更加具有市场。本设计为软件,硬件相结合的一组设计,在软件设计过程中,应对硬件部分有相

25、关的了解,这样有助于对设计题目的更深了解,有助于软件设计,基本的要了解一些主要期间的基本功能和作用。除了采用集成化的时钟芯片外,还利用 at89 系列单片机微机制成万年历电路,采用软件和硬件相结合的方法,控制液晶输出显示。其最大的特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。本文介绍了基于 at89s52 单片机设计的实时日历时钟。首先简单介绍了单片机的发展和应用。并且论述了在本次设计中的设计方案,并在此基础上实现了万年历的基本电路设计,然后使用单片机汇编语言的设计,程序采用模块化设计,使得逻辑关系简单明了,维护方便。第2章 设计要求与方案论证2.1 设计要求2.1.1 基本功能

26、1.利用 ds1302 实现年月日时分秒,并用 led 显示并具备以下功能。2.能够任意设定年、月、日、时、分、星期;调整和秒表操作下不影响日期和事件的准确性。2.1.2 发挥部分1.运动秒表。2.闹钟功能。3.初始的时间信息要求用户用键盘输入或通过 pc 机和单片机的串口通信来设置。2.2 系统基本模块的理论分析2.2.1 单片机芯片的选择和分析方案一: 采用at89c51 芯片作为硬件核心,内部具有 4kb rom 存储空间,能于 3v 的超低电压工作,而且与 mcs-51 系列单片机完全兼容,但是运用于电路设计中时由于不具备 isp 在线编程技术,当在对电路进行调试时,由于程序的错误修改

27、或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成一定的损坏。方案二: 采用 at89s52 片内 rom 全都采用 flashrom:能以 3v 的超低电压工 作, 同时也与 mcs-51 系列单片机完全兼容,该芯片内部存储器为 8kb rom 存储空间,同时具有 89c51 的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。综上所述,所以采用 at89s52 作为主控系统。2.2.2 时钟芯片的选择和分析方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、

28、星期、时、分、秒技术,采用此种方案虽然减小芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。方案二: 采用 ds1302 时钟芯片实现时钟,ds1302 芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的 ram 作为数据暂存区,工作电压 2.5v-5.5v 范围内,2.5v 时耗电小于300ma。2.2.3 显示模块的选择和分析方案一: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,如果用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案二: 采用 lcd 显示器,

29、液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,此次设计只需显示简单的数字与字符,所以不需要如此多余。方案三: 采用 led 数码管动态扫描,led 数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机相连接时,占用的单片机口线少。能在低电压、小电流条件下驱动发光,寿命长,抗冲击能力好。所以在本次设计中只需采用 led 数码管显示恰好。2.3 电路设计最终方案综上各方案所述,对此次设计的方案选定:采用 at89s52 作为主控系统;ds1302 提供时钟; led 数码管显示。第3章 系统硬件的设计和实现3.1 主要器件简介3.1.1

30、 at89s52芯片图 1如图,使用 at89s52 作为单片机的主控芯片,该芯片内部存储器为 8kb rom 存储空间,同时具有 89c51 的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或程序的新增功能需要烧入程序时,不需要对芯片进行多次插拔,所以不会对芯片造成损坏。at89s52 单片机为 40 引脚双列直插芯片,有四个 i/o 口 p0,p1,p2,p3,每一条 i/o 线都能独立地作输出或输入。单片机的最小系统如上图所示,18引脚和 19 引脚接时钟电路,xtal1 接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入, xtal2 接外部晶振和微

31、调电容的另一端,在片内它是振荡器倒相放大器的输出,第 9 引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20 引脚为接地端,40 引脚为电源端。3.1.2 ds1302时钟芯片图2各引脚的功能为:vcc1: 主电源; vcc2: 备份电源。 当vcc2vcc1+0.2v 时, 由vcc2 向 ds1302 供电, 当vcc2 vcc1 时,由 vcc1 向 ds1302 供电。sclk:串行时钟,输入,控制数据的输入与输出;i/o:三线接口时的双向数据线;ce:输入信号,在读、写数据期间,必须为高。该引脚有两个功能:第一,ce开始控制字访问移位寄存器的控制逻辑;其次,ce 提供结束

32、单字节或多字节数据传输的方法。ds1302有下列几组寄存器:ds1302有关日历、 ds1302 时间的寄存器共有12 其中有7个寄存器 (读时81h8dh,写时80h8ch)存放的数据格式为 bcd 码形式, 如下表所示。ds1302有关ram 的地址ds1302中附加31字节静态ram 的地址如下表所示。ds1302的工作模式寄存器所谓突发模式是指一次传送多个字节的时钟信号和ram数据。突发模式寄存器如下表所示。3.1.3 74ls244图 3引脚功能:1a11a4,2a12a4 输入端/1g, /2g 三态允许端(低电平有效)1y11y4,2y12y4 输出端当微处理器与存储器交换信号时

33、,首先由cpu发出存储器地址,同时发出允许锁存信号ale给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。当三态端oe为有效低电平,74ls373的g端为输人选通端,使能端g为有效高电平时,输出跟随输入变化;当g=1时,锁存器处于透明工作状态,即锁存器的输出状态随数据端的变化而变化,即脚1=di(i=1,2,8)。当g端由1变0时,数据被锁存起来,此时输出端qi不再随输入端的变化而变化,而一直保持锁存前的值不变。g端(或stb端)可直接与单片机的锁存控制信号端ale相连,在ale的下降沿进行地址锁存。3.1.4 led显示器图4八段led数码管显示器由8个发

34、光二极管组成,其中7个长条形的发光管排列成“日”字形,另一个发光管在数码管显示器的右下角作为显示小数点。8个笔划段hgfedcba对应于一个字节(8位)的d7 d6 d5 d4 d3 d2 d1 d0,因此用8位二进制码就能表示欲显示字符的字形代码。3.2 实时日历时钟的基本原理数字电子钟是一个将“ 时”“分”“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒。因此,一个基本的数字电子钟电路主要由秒信号发生器、 “时、分、秒、星期”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号发生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶

35、体振荡器加分频器来实现。将标准秒信号送入“秒计数器”“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器” 也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。每累计24小时发出一个“星期脉冲”信号,该信号将被送到“星期计数器”“星期计数器” 采用7进制计时器, 可实现对一周7天的累计。译码显示电路将“时”“分”“秒”“星期”计数器的输出状态送到 led 显示译码器译码,通过 led 显示器显示出来。整点报时电路是根据计时系统的输出状态

36、产生一脉冲信号, 然后去触发音频发生器实现报时。校时电路时用来对“时”“分”“秒”“星期”显示数字进行校对调整的。重点分析下ds1302,ds1302工作时为了对任何数据传送进行初始化,需要将复位脚(rst)置为高电平且 将8位地址和命令信息装入移位寄存器。数据在时钟(sclk)的上升沿串行输入,前8位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。时钟脉冲的个数在单字节方式下为8+8(8位地址+8位数据),在多字节方式下为8加最多可达248的数据。ds1302 的寄存器和控制命令:对 ds1302的操作就是对其内部寄存器的操作,ds1302内部有1

37、2个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为 bcd码形式。此外,ds1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 ram相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。ds1302内部的 ram分为两类,一类是单个 ram单元,共31个,每个单元为一个8位的字节,其命令控制字为 cohfdh,其中奇数为读操作,偶数为写操作;再一类为突发方 式下的 ram,此方式下可一次性读写所有的 ram的31个字节,命令控制字为 feh(写)、 ffh(读)。我们现在已经知道了控制寄存器和 ram 的逻辑地址,接着就需要知道如何通过外部接口来访

38、问这些资源。单片机是通过简单的同步串行通讯与 ds1302通讯的,每次通讯都必须由单片机发起,无论是读还是写操作,单片机都必须先向 ds1302写入一个命令帧,这个帧的格式如表1所示,最高位 bit7固定为1,bit6决定操作是针对 ram 还是时钟寄存器,接着的5个 bit 是 ram 或时钟寄存器在 ds1302的内部地址,最后一个 bit 表示这次操作是读 操作抑或是写操作。物理上,ds1302的通讯接口由3个口线组成,即 rst,sclk,i/o。其中 rst从低电平变成高电平启动一次数据传输过程,sclk 是时钟线,i/o 是数据线。具体的读写时序参考图5,但是请注意,无论是哪种同步

39、通讯类型的串行接口,都是对时钟信号敏感的,而且一般数据写入有效是在上升沿,读出有效是在下降沿(ds1302正是如此的,但是在芯片手册里没有明确说明),如果不是特别确定,则把程序设计成这样:平时 sclk保持低电平,在时钟变动前设置数据,在时钟变动后读取数据,即数据操作总是在 sclk 保持为低电平的时候,相邻的操作之间间隔有一个上升沿和一个下降沿。3.3 程序流程图1.主程序流程图: 主程序系统初始化整点?闹钟到?提示音闹铃提示音nnyy2.定时器0中断子程序: 定时器0中断子程序保护现场重载计数初值秒表?秒表模块到1秒?秒加1或向前进位恢复现场中断返回yynn3.外部中断0子程序:外部int

40、0中断带显示延时消抖调整模式有闪烁?切换显示模式时间调整调整时间?调整日期?调整闹钟?日期调整秒表模式?日期、闹钟、闹钟设置、秒表显示循环切换闹钟调整进入秒表中断退出ynnyynnnyyyy保护psw、a寄存器恢复psw、a寄存器初始化秒表后台计时?ynn提示音滴key1按下?4.外部中断1子程序:外部int1中断保护psw、a寄存器带显示延时key0按下?秒表模式?设置闹钟?暂停/继续计时打开/关闭闹钟闪烁循环切换滴一声提示闪烁切换模式恢复psw、a寄存器退出中断yyynnn第4章 系统的调试和使用说明4.1 系统调试1、硬件部分问题:断路。现象:程序下载完之后可以工作但是6个led显示器有

41、2个没亮。分析:因为其他几个显示器完全正常,这两个则完全没亮,所以推断是位选的线路出故障。检测:用万用表测试各点电压,着重测试两条位选线路的断路与短路情况,最终发现两处断路。解决:焊锡接上,最终全亮2、软件部分修改一:由于提供的程序所默认采取的晶振计数频率是6mhz,但是所提供的现实原件则是12mhz,所以根据晶振的不同,定时器的定时时间变为0.05s。按照该程序直接跑的话,计数时间为0.5s。这就需要设置计数次数tick_cnt为#14h,即0.05s*20=1s。代码段:movtick_cnt,#14h修改二:程序默认设置的外部中断延时过短,导致操作过于“灵敏”,也即按键k0、k1按下时,

42、跳变过快。这里所说的延时是中断子程序ex0_int和ex1_int中的语句lcalldis_delay。解决这个情况只需修改delay 次数,则dis_delay:movd_cnt_dis,#10h。修改三:观察实物电路工作发现每一位:led数码管的小数点都是亮的,没有起到用小数点区分时间/日期中的时分秒/年月日。要解决这个问题,在显示子程序中tsa代码段的mov rx a前插入语句add a,#80h(x=1、2、4、6)。4.2 使用说明实物图请参照后面附带图片,从左至右为按键k2,k1,k0,以两个led显示器为一组,左中右显示时分秒或者年月日,还有闹钟和秒表k2:复位 k1:设置闪烁

43、k0:切换时间/日期或者调整时间/日期初始状态:接上电源之后,日期默认为10年6月21日,时间为0时0分秒,闹钟2点整但默认关闭,秒表为0状态(1)显示状态切换:不断按k0键就会依次循环显示下面的状态(2)调节时间,日期:按k0键切换到想要调节的显示状态,再按k1键选择要修改的位,不断按k1键会按左闪烁.中闪烁.右闪烁.确定.四个状态切换,闪烁的位可以修改,按k0键可以实现增加,不能递减,例如要调慢时间要按到循环到较慢时间。(3)闹钟使用:闹钟默认响的时间为一分钟,闹钟的时间设置同时间日期的调节,只需把状态切换到闹钟时间的状态,闹钟的开关先按k0键切换到屏幕显示为off的状态,如下:再按k1可

44、切换到开状态,如下图,再按k1可关闭,不断循环。(4)秒表:k0键按4下就可切换到秒表状态,出示为0,此时按下k1键就可开始计时,再按一下k1键可停止,此时k1为秒表开关,按k0键可再切换显示其他。结 论信息技术是当今世界发展最快、渗透性最强、应用最广的关键技术,是推动经济增长和知识传播的重要引擎。在我国,随着国家信息化发展战略的贯彻实施,信息化建设已经进入了全方位、多层次推进应用的新阶段。现在,掌握计算机技术已成为二十一世纪人才应具备的基本素质之一。单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对

45、单片机的兴趣也在逐渐增加。经过这些天的实践和体验下来,我们学到了不仅是知识更多的学会的是团队协作。虽然从书上查阅了解原理图和程序,但这是我们第一次比较系统的从熟悉软件操作到软硬件设计了解整个流程。刚开始我们还为这次课程设计发愁,我们需要了解很多我们在课本上没学到的知识,比如说 at89s52 的应用 、以及 ds1302 芯片的用法,我们通过上网和图书馆查资料并在老师细心的指导下,完成了这次设计,感谢老师的辛勤指导。这次课程设计的过程中,为了让自己的设计更加完善,查阅这方面的设计资料是必不可少的。在这些时间里,我们经历从迷茫到清晰的全过程,我认识到做课程设计,首先要分析好自己的设计目的及要求,

46、在设计程序前不能妄想一蹴而就,要有一个清晰的思路和一个完整的流程图,学会单步调试来找错误,设计过程,好比是人类成长的过程,常有一些不如意和挫折,在课程设计中我们难免遇到各种困难我们通过交流查资料自学解决了一些问题,流程很简洁,过程很纠结。我们一步一个脚印地制作着,生怕哪个步骤出错而导致前功尽废。不过在我们不懈努力下终于走完。但是焊接的不仔细两个电阻虚焊,使后来电路出现问题,也排查了好久,需要记住教训。另外在硬件焊接已经实现后我们把两者结合在一起,通过下载器把程序烧进52单片机中实现既定功能,发现上面故障排查中出现的问题,继而针对每个问题分别从软硬件寻找解决方法,这个过程我认为收获更大,能让我们

47、更清楚熟悉软硬件两者的运作方法。通过这次课程设计,我也发现了自身存在的很多不足之处,虽然理论知识感觉掌握了,但在运用实践过程中仍有意想不到的困惑,进过一番努力才得以解决。我想这将对我以后的学习产生积极的影响。通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要性,学会了坚持、耐心和努力,这将为自己今后的学习和工作作出了最好的榜样。再次感谢老师的热心指导,没有老师的指导我们不可能完成。there is a will,there is a way.有志者事竟成。致 谢大学三年的学习和生活就要随着这篇论文的完成而结束了。 有许许多的不舍,也有许许多多的感谢要说。毕业设计,实时上就是综

48、合的运用三年所学知识去分析、解决一个问题,在做毕业设计的过程中,把所学知识梳理一遍,它既是一次检阅,又是一次锻炼。在设计中,我遇到过很多问题,比如课题需要用什么元器件,主电路图如何设计,子程序该怎么编 写等都是一点头绪都没有,但是我在设计的这一段时间里查询了大量的资料:硬件设计、原理图绘制、程序编写测试与调试,并且在指导老师的帮助下我学会和懂得了很多,逐渐完成了对硬件电弧与软件编程两方面设计,掌握了硬件调试、软件调试基本方法,掌握了从子程序到总程序、从基本功能到复杂功能等程序编写的基本思路及方法。首先要衷心的感谢的事我的指导老师。在我学习期间不仅传授了知识上的秘诀,更教育了我做人的准则。这些都

49、将使我终生受益。无论是在理论学习阶段,还是在论文的选题、资料的查询、开题、研究和撰写的每一个环节,都得到了老师无微不至的悉心指导和帮助。我愿借此机会向导师表示衷心的感谢!其次要感谢所有教育过我的老师!是你们缠手给我的专业知识是我不断成长的源泉,也是完成本论文的基础。我还要向关心和支持我学习的朋友们表示真挚的谢意!感谢他们对我的关系、关注和支持!大学的生活让我有了坚强的性格,冷静的头脑和永远乐观的态度。最重要的是让我有了责任感,对自己、对家人和对社会的责任感。我愿在未来的学习过程中,以更加丰厚的成果来答谢曾经关心、帮助和支持我的所有领导、老师、同学和朋友。学生签名:日 期:参考文献1 刘 勇 数

50、字电路 电子工业出版社 2004。 2陈正振 电子电路设计与制作 广西交通职业技术学院信息工程 2007。3 杨子文 单片机原理及应用 西安电子科技大学出版社 2006。4 曹琳琳 单片机原理及接口技术m北京:国防科技大学出版 2000 年。5 苏家健 曹柏荣,汪志锋 .单片机原理及应用技术m. 高等教育版社 。6 陈阳海 单片机的典型结构及 at89s5x 系列单片机j.电子制作 2006。7 周 雪 模拟电子技术m. 西安电子科技大学出版社。8 严天峰 单片机应用系统设计与仿真调试m. 北京航空航天大学版社。9 王明亮中国学术期刊标准化数据库系统工程的eb/ol附 录 1元件清单表品名型号

51、数量led七段数码管共阳bs6三极管s85507电阻3k8电阻2009电阻4.7k1微型按钮4脚3瓷片电容30p2电解电容10uf1晶体振荡器12mhz1小型蜂鸣器自发声1排针无6icat89s521ic74ls2441ic座40脚1ic座20脚1附 录 2设计电路图:附 录 3程序源代码设计:;wahaha.asm; (electronic calendar and clock); reference for grade 2009, s.c.u.t.; key0(for shift/adjust) connected to int1; key1(for un-flash/flash) con

52、nected to int0;变量定义tick_cntequ20h ;t0倍乘;-second_bcdequ21h ;时间记录minute_bcdequ22hhour_bcdequ23hday_bcdequ24h ;日期记录month_bcdequ25hyear_bcdequ26h;-flash_flagequ27h ;是否闪烁dis_flag equ r7 ;当前显示内容标志 ;dis_flag: 0时间;1日期;2-闹钟;3-闹钟开关;4-秒表;-nsecond_bcdequ2bh ;闹钟时间nminute_bcdequ2chnhour_bcdequ2dh;-tcc_bcdequ2eh ;

53、秒表计时器tbb_bcdequ2fhtaa_bcdequ30h;-timer_flag equ 31h ;秒表模式timer_start_flag equ 32h ;秒表开始;-alam_state equ 33h ;闹钟开启标志;-di_40h equ 34h ;提示音延时变量di_41h equ 35h ;延时;-alam_on1 equ 36h;闹钟状态显示alam_on2 equ 37halam_on3 equ 38halam_off1 equ 39halam_off2 equ 3ahalam_off3 equ 3bh;-;中断向量表org0000hljmpmainorg0003hlj

54、mpex0_int; port int0org000bhljmpt0_int; port t0org0013hljmpex1_int; port int1;主程序org 0030hmain:nop; main program;初始化堆栈movsp,#60h;初始化变量movsecond_bcd,#00h; bcd of secondmovminute_bcd,#00h; bcd of minutemovhour_bcd,#00h; bcd of hour movnsecond_bcd,#00h ;闹钟bcd of secondmovnminute_bcd,#00h;闹钟 bcd of minu

55、temovnhour_bcd,#06h;闹钟bcd of hour movtcc_bcd,#00h; 秒表bcd of second movtbb_bcd,#00h; 秒表bcd of minute movtaa_bcd,#00h; 秒表bcd of hour mov timer_start_flag,#00h ;秒表工作标志mov timer_flag,#00h ;秒表模式标志movday_bcd,#21h; bcd of daymovmonth_bcd,#06h; bcd of monthmovyear_bcd,#010h; bcd of yearmovflash_flag,#00h; f

56、lag for un-flash/flashmovdis_flag,#00h; flag for shift(time/date)mov alam_on1,#55h; bcd off 闹钟状态显示mov alam_on2,#01hmov alam_on3,#55hmov alam_off1,#63hmovalam_off2,#42hmov alam_off3,#33hmov alam_state,#00h;初始化闹钟状态为off;-movtl0,#0b0h; constant for 0.05smovth0,#3ch; 65536-15536=50,000 for 12mhz movtick_

57、cnt,#14h; times of overflow 0.05*20=1smovtmod,#01h; mode 1 for t0, timer modesetb et0; open t0setb ex0; open int0, key1setb ex1; open int1, key0setb ea; total opensetb pt0; priority for t0,高优先级setb tr0; start t0, runscan_hour: ;闹钟扫描mov a,second_bcdcjne a,#00h,scanalarmmov a,minute_bcdcjne a,#00h,sca

58、nalarm hour:clr p2.0nop;整点,滴setb p2.0scanalarm: ;闹钟扫描 mov a,alam_statejz scan_hour;闹钟开关已打开?mov a,nhour_bcdcjne a,hour_bcd,waitmov a,nminute_bcdcjne a,minute_bcd,waitalarm:clr p2.0;闹铃:滴滴滴滴setb p2.0clr p2.0setb p2.0clr p2.0setb p2.0clr p2.0setb p2.0 nopnopnopwait:setb p2.0sjmpscan_hour; wait for inter

59、rupt; -; sub: t0 interrupt; 定时器0中断t0_int: push acc movtl0,#0b0h; constant for 0.05smovth0,#3ch; timer 0重装载 mov a,timer_start_flagcjne a,#01h,timer_next ;秒表模式?ljmp timer_inc ;秒表计时timer_next:djnztick_cnt,not_1s; is up to 1 second ?sjmpis_1snot_1s:ljmpt0_ret; 1秒时间到is_1s:mova,second_bcd; take bcd of sec

60、ondcjnea,#59h,in3; is up to 59 seconds ?sjmpin4in3:ljmpsecond_inc; 秒加1in4:movsecond_bcd,#00h; 秒进位mova,minute_bcd; take bcd of minutecjnea,#59h,in5; is up to 59 minutes ?sjmpin6in5:ljmpminute_incin6:movminute_bcd,#00h; 分进位mova,hour_bcd; take bcd of hourcjnea,#23h,hour_inc; is up to 23 hours ?movhour_bcd,#00h; 时进位mova,month_bcd; take bcd of monthcjnea,#02h,not_feb; is february ?;2月处理;-feb:nopacallb

温馨提示

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

评论

0/150

提交评论