




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 密级: 公开 科科 学学技技术术学学院院 science & technology college of nanchang university 学学 士士 学学 位位 论论 文文 thesis of bachelor (2008 2012 年) 题 目 电子万年历的设计 学 科 部: 信息学科部 专 业: 电子信息工程 班 级: 08 电子 1 班 学 号: 7020987650 学生姓名: 陈志平 指导教师: 胡斐 起讫日期: 2011.11.212012.5.28 南昌大学 科学技术学院 学士学位论文原创性申明 本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究 成
2、果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已 经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中 以明确方式表明。本人完全意识到本申明的法律后果由本人承担。 作者签名: 日期: 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并 向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人 授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存和汇编本学位论文。 保 密 ,在 年解密后适用本授权书。 本学位论文属于 不保密 。 (请在以上相应
3、方框内打“” ) 作者签名: 日期: 导师签名: 日期: 目 录 摘要:.i abstract.ii 第一章 绪论 .1 1.1 选题的依据及意义 .1 1.2 国内外研究现状及发展趋势 .1 1.3 本课题研究内容 .2 第二章 电子万年历的方案与论证 .3 2.1 设计要求 .3 2.2 整体方案的论证 .3 2.3 器件的选择 .3 2.3.1 单片机芯片的选择方案和论证 .3 2.3.2 显示模块选择方案和论证 .4 2.3.3 时钟芯片的选择方案和论证 .4 2.4 电路设计最终方案确定 .4 第三章 系统的硬件设计与实现 .5 3.1 电子万年历的系统设计 .5 3.2 最小系统设
4、计. .5 3.2.1 时钟电路 .5 3.2.2 复位电路 .5 3.3 显示电路 .6 3.4 按键电路 .7 3.4.1 键盘接口介绍 .7 3.4.2 按键电路设计 .7 第四章 软件设计 .8 4.1 主程序流程图 .8 4.2 时间调整程序设计 .8 4.3 阳历程序的设计 .9 4.4 阴历程序设计 .10 第五章 系统调试与仿真 .13 5.1 软件调试 .13 5.2 仿真 .13 5.3 硬件调试 .14 5.4 测试结论 .15 结 论 .16 致 谢 .17 参考文献(references) .18 附录一:硬件电路仿真图 .18 附录二:电子万年历原理图 .20 附录
5、三:硬件电路 pcb 图.21 附录四:实物图 .22 附录五:元件清单 .23 电子万年历的设计电子万年历的设计 专业: 电子信息工程 学号:7020987650 学生姓名:陈志平 指导老师:胡斐 摘要摘要:单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上 各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理, 以及我们生活中广泛使用的各种智能 ic 卡、电子宠物等,这些都离不开单片机。单片机是集 cpu ,ram ,rom ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛 应用于智能产业和工业自动化上。而 5
6、1 系列单片机是各单片机中最为典型和最有代表性的一种。 这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬件的能力。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片 机相关指令在各方面的应用。系统由主控制器 at89c51、时钟电路 ds1302、显示电路、按键电路、 和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。 关键词关键词:单片机;农历查询;万年历 the design of electronic calendar abstract: the rapid development of microcomputer a
7、pplication technology, throughout all areas of life we are now, navigation device from the missile to the plane of the instrument control, from the computer network communications and data transmission to the industrial automation process control and real-time data processing. and we live in a varie
8、ty of widely used smart ic card and electronic pets, which are inseparable from the microcontroller. microcontroller is a cpu, ram, rom timing, counting and multiple interfaces in one of the micro-controller, its small size, low cost, powerful, widely used in smart industries and industrial automati
9、on. the 51 series of microcontrollers is the most typical and most representative of ones. this graduation project through to study it and application to achieve the study, design development software and hardware capabilities. in this article design a microcontroller-based electronic clock calendar
10、 function to achieve the design to achieve the learning, understanding of scm-related instruction in all aspects of the application. system from the main controller at89c51, clock circuit ds1302, display circuit, key circuit, and reset the circuit and other parts, it can achieve the clock calendar d
11、isplay function and can be display the hours minutes and seconds. keywords: monolithic single-chip lunar calendar demand perpetual calendars 第一章 绪论 1.1 选题的依据及意义 单片机应用技术迅速发展,在我们生活的各个领域,无论工业发展中还是现实生活中都离不 开它,它是集 cpu,ram,rom,定时,计数和多接口于一体的微控制器。它体积小,成本低,功能 强大,广泛应用于只能产业和工业自动化上。51 系列单片机是各种单片机中最具典型和最有代 表性的一种
12、。通过这次毕业设计可以让我提升学习,设计,开发软硬件的能力。 电子万年历的设计就是建立在单片机的基础上,它是应用非常广泛的日常计时工具,而且显 示清晰直观,走时准确,可以进行夜视。数字显示的日历钟已经越来越流行,特别是在家庭居室, 办公室,车站和广场等使用,壁挂式 led 数码显示的日历钟逐渐受到人们的欢迎。1 随着科学技术的快速发展,时间的流逝,从摆钟到现在的电子钟,人类不断的研究,不断创 新纪录。美国 dallas 公司推出的具有涓流电流充电能的低功耗实时时钟电路 ds1302.它可以对 年,月,日,周,时,分,秒进行计时,还具有闰年补偿等多种功能,而且 ds1302 的使用寿命 长,误差
13、小。对于数字电子万年历采用直观的数字显示,可以同时显示年,月,日,周,时,分, 秒和温度等信息,还具有时间校准等功能。该电路采用 at89c52 单片机作为核心,功能小,能在 3v 的低压工作,电压可选用 35v 电压供电。2 综上所述此万年历具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸多优点, 符合电子仪器仪表的发展趋势,具有管扩大市场前景,值得我们进入深入的研究和了解。 意义: (1)通过设计提高对单片机的认识,进一步熟悉和掌握单片机的结构及工作原理。 (2)通过设计、制作提高焊接、布局、电路检查能力; (3)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,提高软
14、件设计、 调试能力; (4)通过完成一个实际电子产品从电路设计、程序开发、系统调试的完整过程,熟悉以单 片机核心的应用系统开发的全过程,掌握硬件电路设计的基本方法和技术,掌握相关电路参数的 计算方法。 通过此毕业课题的设计,加深对理论知识的理解,学会将学习的理论知识在实际中运用,培 养动手能力和解决实际问题的能力,为今后从事相关工作打下基础。 1.2 国内外研究现状及发展趋势 随着科学技术的发展,以前的年历已发展成现在的电子万年历,他一开始是采用数字电路实 现的,电路复杂,精确度差,每天都需要调时,由于数字集成电路的发展和石英晶体振荡器的广 泛应用,使得它的电路越来越简单,精确度越来越高,现在
15、的电子万年历一般都是集成芯片和软 件结合实现,电路简单,制作方法简便,给人们生产生活带来了极大的便利,它已成为我们生活 中不可缺少的家居用品。3 二十一世纪的今天,最具有代表性的计时产品就是电子万年历,它是近代世界钟表业界的第 三次革命。前两次革命是摆和摆轮游丝的发明,以及石英晶体振荡器的应用,第三次革命就是单 片机数码计时技术的应用(电子万年历) ,使得从原来传统指针计时的方式发展为人们日常更为 熟悉的夜光数字显示方式,直观明了,并增加了全自动日期,星期,温度以及其他日常附属信息 的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨越性 的进步。 电子万年历的发展
16、趋势将会朝着功能多,读取操作简单,显示更加直观,电路更加简洁,成 本越来越低,满足大部分人的要求。随着国内超大规模集成电路的出现,微处理器及其外围芯片 有了迅速的发展。集成技术的最新发展之一就是将 cpu 和外围芯片,如程序存储器,数据存储器, 并行,串行 i/o 口,定时/计数器,中断控制器及其他控制器件集成在一个芯片中,支撑单片计 算机。而近年来推出的一些高档单片机还包括有许多特殊功能的单元,如 a/d,d/a 转换器,调制 解调器,锁相环,浮点运算单元等。因此只要外加一些扩展电路及必要的通道接口就可以构成各 种计算机应用系统,如数据采集系统,自动测试系统等。4 1.3 本课题研究内容 设
17、计一个基于单片机多功能的电子万年历。单片机最为本设计的核心,实现时钟日历的显示: 用 1602 显示月、日、星期、时、分、秒,用 ds1302 作为该设计的实时时钟芯片。 第二章 电子万年历的方案与论证 2.1 设计要求 (1)具有年、月、日、星期、时、分、秒等功能; (2)具备年、月、日、星期、时、分、秒校准功能; (3)校准时具有闪烁功能。 2.2 整体方案的论证 本万年历设计可以采用两种方法 方案一:在 fpga 芯片上,通过配置 nios 软核处理器和相关接口模块,实现了嵌入式系统的硬 件结构。系统用液晶模块显示万年历等汉字字符,用 8 个七段数码管显示电子钟的日期和时间,并 可通过按
18、键对其进行调整。具有高集成度、设计灵活和可移植性较好等特点。但是此种方案的需 要的成本高,作为设计研究不予采取。 方案二:采用 89c51 芯片作为硬件核心,采用 flash rom,内部具有 4kb rom 存储空间,能 于 3v 的超低压工作,而且与 mcs-51 系列单片机完全兼容,但是孕育电路设计中时由于不具备 isp 在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入 程序时,对芯片的多次拔插会对芯片造成一定的损坏。显示电路还可以采用液晶 lcd1602 来实现。 液晶显示器具有微功耗、体积小、 显示内容丰富、超薄轻巧等诸多优点,在本题的制作中,用 液晶
19、来实现数字信息的显示是比较合适的一种选择。采用 ds1302 时钟芯片实现时钟,ds1302 芯 片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数, 而且精度高,工作电压 2.5v5.5v 范围内,2.5v 时耗电小于 300ma。 所以方案二对于我们学 生作为毕业设计最为合适,且作品的精度高,成本低,易于制作研究。 2.3 器件的选择 2.3.1 单片机芯片的选择方案和论证 方案一:采用 89c51 芯片作为硬件核心,采用 flash rom,内部具有 4kb rom 存储空间,能 于 3v 的超低压工作,而且与 mcs-51 系列单片机完全兼容,但是运用
20、于电路设计中时由于不具备 isp 在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入 程序时,对芯片的多次拔插会对芯片造成一定的损坏。 方案二:采用 at89s52,片内 rom 全都采用 flash rom;能以 3v 的超底压工作;同时也与 mcs-51 系列单片机完全兼容,该芯片内部存储器为 8kb rom 存储空间,同样具有 89c51 的功能, 且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能 需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。 所以选择采用 at89s52 作为主控制系统。 2.3.2
21、显示模块选择方案和论证 方案一:采用 led 数码管动态扫描,虽然 led 数码管价格适中,对于显示数字也比较合适,然 而需要显示多位数字和字母时,编程就会变得很复杂,而且占用的单片机口线多。 方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示 文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。 方案三:可以通过数码管来显示时钟的日历、时间、温度,使用数码管的优点是直观清楚, 适合用在光线较暗的地方,但是数码管的功耗大,显示单一,并且在电路制作上布线复杂,难度 较高。显示电路还可以采用液晶 1602 来实现。液晶显示器具有微功耗、
22、体积小、 显示内容丰富、 超薄轻巧等诸多优点,在本题的制作中,用液晶来实现数字信息的显示是比较合适的一种选择。 所以采用 1602 液晶显示屏作为显示。 2.3.3 时钟芯片的选择方案和论证 方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、 秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。 方案二:采用 ds1302 时钟芯片实现时钟,ds1302 芯片是一种高性能的时钟芯片,可自动对 秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的 ram 做为数据暂存 区,工作电压 2.5v5.5v 范围内,2.5v 时耗电
23、小于 300ma. 所以采用 ds1302 提供时钟。 2.4 电路设计最终方案确定 综上所述我们最终决定采用单片机 at89c52 作为时钟的主控制部分,lcd1602 作为显示部分, 时钟信号采用芯片通过设置 4 个按键来实现时间的调整,闹钟的开关。这五个主要部分基本上就 实现了集日历、时间、星期、温度、闹钟于一体的多功能万年历。精确度高,显示直观,轻巧的 优越性具有很高的使用价值。 第三章 系统的硬件设计与实现 3.1 电子万年历的系统设计 图 3-1 电子万年历的系统设计 模块说明: ds1302 时钟模块可以输出其当前日期及时间; 键盘输入电路可以调整日期,时间及整体的转换; 显示电
24、路则显示当前的系统运行情况。 3.2 最小系统设计. 单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:(1)电 源正常(2)时钟正常;(3)复位正常。at89s51 的引脚如图 3-2 所示。 3.2.1 时钟电路 时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不絮的一拍一 拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳 定性。常用的时钟有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部 时钟方式。 at89s52 单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输 入端
25、为芯片引脚 xtal1,输出端为引脚 xtal2。这两个引脚跨接石英晶体振荡器和微调电容,就 构成一个稳定的自激振荡器。5 3.2.2 复位电路 为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使 cpu 及系 统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的, 在正常运行情况下,只要 rst 引脚上出现两个机器周期时间以上的高电平,即可引起系统复位, 但如果 rst 引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端 口寄存器置为 ffh,堆栈指针 sp 置为 07h,其余的寄存器全部清 0,内部 ram
26、 的状态不受复位的 影响,在系统上电时 ram 的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。 本系统采用上电复位方式。上电复位电路中的电阻 r 取为 1k,c 取为 10pf。6 图 3-2 单片机最小系统 3.3 显示电路 液晶显示器的接口有两种:一种是总线式接口电路方式;另一种是非总线接口电路方式。总 线式接口方式是把液晶显示器看做外部的数据存储器,访问液晶显示器就像访问数据存储器的一 个单元一样,采用这种方式能充分发挥单片机的总线读写功能,便于升级和扩展。而非总线方式 是直接利用 io 口进行读写较灵活,不便于升级。这里采用总线式接口方式。接口时要注意显示 器的功能
27、信号 e 是高电平有效,所以要取反。这里使用的液晶显示器为 lcd1602 为字符点阵式液 晶显示器。可以显示 162 字符,而要显示日期字符 23 个,可以满足要求。 图 3-3 显示电路 lcd1602 引脚说明: 1 脚:vss 接地; 2 脚:vdd 电源正极; 3 脚:v0 偏置电源; 4 脚:rs 控制输入是数据或是命令; 5 脚:rw 控制读写端口; 6 脚:e 使能端; 7-14 脚: 数据 io 口 3.4 按键电路 3.4.1 键盘接口介绍 独立式键盘: 独立式键盘是指直接用 i/o 口线构成单个按键电路,每个按键占用一条 i/o 口线,当某个键 闭合时,相应的 i/o 口
28、线变为低电平,当 cpu 查询到为低电平的 i/o 口线时,就可以判别出与 其对应的键处于释放状态。 行列式键盘: 依次使列线 p1.4p1.7 中的一根输出为低电平,则只有与之对应的键按下时,才能使 行线 为低电平,此时其他列线都输出高电平,与它们对应的键按下,不能使行线电平变低, 所以就 实现了行线的时分复用。 3.4.2 按键电路设计 按键电路的功能主要是把时间和日期设置到当前的时间,可以在系统运行中进行。用 4 个独 立式按键完成,分别接到单片机 p1 口的高 4 位。第 1 个按钮表示是否进行设置,按下时表示设 置,并且每按一次,在显示器上分别在年、月、日等日期时间上跳转,表示对相应
29、的项进行更改; 第 2 个按钮按下表示对第 1 个按钮选中的项进行加 1 操作;第 3 个按钮按下表示进行减 1 操作; 第 4 个按钮按下表示停止设置。只有在第 1 个按钮按时才可进行加减操作。其电路如图 3-4 所示。 其中电容的作用是消除按键的抖动,也可用双稳态触发器去除按键时的抖动,同时为了提高可靠 性,硬件去抖动的同时,还可以用软件去抖动的方法。 7 图 3-4 按键电路 第四章 软件设计 本设计的软件程序包括主程序、计算阳历程序流程图、计算阴历序流程图、万年历设置功能 子程序等。 4.1 主程序流程图 图 4-1 主程序流程图 程序启动载入默认预定时间及日期数值,数据转入显示屏幕显
30、示,时钟芯片启动,程序依年 月日判别进行时间增加,进入键盘扫描死循环,在键盘有输入值时即做出调时,转农历显示等操 作,显示主程序流程图如图 4-1 所示。 4.2 时间调整程序设计 调整时间用三个调整按钮,一个作为移位、控制用,一个作为加用,一个作为退出调整用。 分别定义为控制按钮、加按钮、退出按钮。在调整时间过程中,要调整的位与别的位应该有区别, 所以增加了闪烁功能,即调整的位一直在闪烁,直到调整下一位。闪烁原理就是,让要调整的一 位每隔一定的时间熄灭一次,例如间隔时间为 50ms。利用定时器计时,当达到 50ms 溢出时,就 送给该位熄灭符,在下一次溢出时,再送正常显示的值,不断交替,直到
31、调整该位结束。此时送 正常显示值给该位,再进入下一位调整闪烁程序。时间调整程序流程图如图 4-2 所示。 图 4-2 时间调整程序流程图 4.3 阳历程序的设计 因为使用了时钟芯片 ds1302,阳历程序只需从 ds1302 各寄存器中读出年、周、月、日、小 时、分、秒等数据,再处理即可。在首次对 ds1302 进行操作之前,必须对它进行初始化,然后 从 ds1302 中读出数据,再经过处理后,送给显示缓冲单元。阳历程序流程图见图 4-3 所示。 图 4-3 阳历程序流程图 4.4 阴历程序设计 阴历程序的实现是要靠阳历日期来推算的。要根据阳历来推算阴历日期,首先要设计算法。 推算方法是,根据
32、阳历当前日期在一年中的天数来计算阴历日期。阳历一个月不是 30 天就是 31 天(2 月除外,闰年 2 月为 29 天,平年 2 月为 28 天) 。阴历一年有 12 个月或 13 个月(含闰月) , 一个月为 30 天或 29 天。如果把一个只有 29 天的月称为小月,用 1 为标志,把 30 天的月称为大 月,用 0 为标志,那么 12 位二进制就能表示一年 12 个月的大小。如果有闰月,则把闰月的月份 作为一个字节的高 4 位,低 4 位表示闰月大小,大月为 0,小月为 1,这样一个字节就包括了所 有闰月的信息。阴历春节和阳历元旦相差的天数也用一个字节表示。总共用 4 字节就可以存储一
33、年中任何一天阳历和阴历的对应关系的有关数据。8 例如 2004 年的阴历和阳历对应关系如表 4-4 所示。 表 4-4 2004 年的阴历和阳历对应关系表 月份123456789101112闰 2 月 大小小大大大小大小大小大小大小 二进制1000101010101 天数 293030302930293029302930 十六进制425221 2004 年的春节和元旦差 21 天,这样 2004 年的信息表示为:21,42h,52h,21h。其中表示 12 个月大小信息的字节,第 4 位和第 7 位不用,第 1 个字节为十进制,其它的都为十六进制。 按此方法,50 年的阳历和阴历对应关系表总共
34、使用 200 字节。 有了算法和数据以后,就可以设计软件了。先要根据当前阳历的日期,算出阳历为该年中的 第几天。图 4-5 为计算阳历中任何一天在该年中为第几天的程序流程图。 图 4-5 计算阳历天数程序流程图 计算出当前阳历日期为该年中的第几天后,再减去阳历该年春节和元旦的日差,如果够减, 则相减的结果就是阴历在该年中的总第几天了。根据该数据就可以推算出具体的当前阴历日期; 如果不够减,则表示当前阴历年为阳历年的前一年。这种情况下,根据实际,当前阴历日期会处 于阴历 11 月或 12 月,此时春节和元旦的日差减去前面计算出的当前阳历日期在阳历年为第几天 的数据,其结果表示当前阴历日期离春节的
35、天数。计算出的阳历天数为该年的第几天,存放在寄 存器 r2 和 r3 中。计算出天数后,如果大于#ffh,则把#ffh 存放在 r2 中,余值存放在 r3 中。 也就是说在用寄存器 r2 和 r3 表示的天数信息中,r2 充当主寄存器,数据先存满 r2,再存 r3。 在整个转换程序中,这里面的数据不能被覆盖。9 计算出阳历总天数后,就可以根据它来推算阴历日期。推算方法是,先用总天数减去春节和 元旦的日差,如果结果为 1,则该天正好是春节(因为春节在元旦之后,在计算春节和元旦的日 差时,假设元旦为 0 天,春节为 n 天,则日差为 n。而前面计算的阳历总天数是该天在该年中的 第几天,是以元旦为
36、1 而得到的,与计算春节和元旦日差的这样方法相比,其数值少了 1,所以 要在原来本应该以 0 作为该天就是春节的依据的基础上加 1,所以以 1 作为该天是春节的标志) ; 如果结果小于 1,则阴历应该是阳历的前一年;如果结果大于 1,说明阳历和阴历为同一年。再 根据查表所得的该年的阴历的闰年和大小月的信息,就可以推算出该天的阴历日期了。图 4-6 为 由总天数推算出阴历日期的程序流程图。10 图 4-6 推算阴历日期的程序流程图 第五章 系统调试与仿真 5.1 软件调试 打开程序调试软件 keil,在里面新建一个工程,命名,接着新建文件,编写相应程序。编译、 连接。但若在该过程中,看见程序有错
37、误,就根据相应的提示来修改,直到能够正确编译为止。 能够正常编译的程序说明没有什么问题了,此时我们在点击相关栏目,让它生成我们在硬件 仿真时所需要的.hex 文件。到此步,我们的软件调试就完成了。 数字钟得功能虽然比较较少,但是程序也较为复杂,特别对于初学者的我来说更是如此,所 以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的 完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下: 1、烧入程序后,液晶屏能显示,也能走钟,但时间明显跳动很快,时间不正确 解决:通过检查延时子程序以及循环累计秒、分、时子程序,发现将 50ms 延时子程序循环 20 次得到
38、的秒钟数错误当作了分钟数计时,从而使时间出现错误。将程序进行修改,增加 r0 作 为 50ms 的 20 次循环计数器得到秒,从而把 r2 的计数修改为 60 次(即得到了分钟数) ,从而解 决了该问题。 2、修改时间、日期时农历没有自动对应上 解决:把不相关的程序暂时屏蔽,地农历的子程序独立调试,发现在调用农历自动更新时, 对十进制和十六进制处理不好造成错乱。最后把相应的十进制进行修改,使得可以与十六进制对 应,最后解决了此问题。 5.2 仿真 1、打开 keil,输入所编写的源程序并对程序进行编译,在软件的帮助下检查其中的错误并 进行反复修改,知道编译正确后运行,确保没有错误以后对正确的源
39、程序进行保存,保存时给其 命名,以便将来载入程序时容易找到。 2、打开 proteus 软件,绘制单片机电子万年历具体运行电路图。 3、检查所画电路运行图,确保没有错误以后,在 proteus 下对原理图进行加载 keil 下的源 程序。 加载完成后,单击电路图框下的开始按钮,进行仿真,观察 led 数码管现实情况,此时 led 数码管开始显示数字。调节开关进行时间的调节。当秒的显示间隔快与或慢与实际间隔时,调节 石英晶体震荡器的频率 15 参数,从而使秒的间隔达到标准。然后检查电路其它问题,并对其的 各参数进行调整,使之正确。 通过在 keil 下对源程序的编译,改正了其中的很多错误,运行之
40、后生成 hex 文件。然后按 原理图选择正确合理的电气元件,画出正确而且美观的电路图,加载源程序运行,顺利实现了电 子万年历年月日时分秒以及星期和阴历日期的输出。 proteus 仿真结果如图 5-1 所示 图 5-1 系统仿真 proteus 仿真图 按键功能自左而右依次为:确定修改项键、选择修改项键、增大键、减小键、显示阴历键。 图 5-2 按键功能仿真图 按下确定修改项键表示确定修改,然后点击选择修改项键符号开始闪动,符号闪动的年、月、 日、时、分、星期等各点的右侧表示可以修改该数值。按增大键表示数字为加,按减小键表示数 字为减。按下显示阴历键显示阳历所对应的阴历日期。 5.3 硬件调试
41、 该数字钟的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的 错误,则会对检测造成大的不便,而且电路的交线交多,对于各种锋利的引脚要注意处理,否则 会刺破带有封皮的导线,使电路造成短路现象,另外,买来的元器件要先进行检测,如果有坏的 器件要进行更换,还有就是要注意元器件的正确放置与安装以及布线的合理,便于成品电路的检 测与维护。11 在本数字钟的设计调试中遇到了很多的问题,回想这些问题,其实只要认真思考很多功能都 是可以避免的,以下为主要的问题: (1)检测 at89c52 运行是否正常,第一次硬件检测的时候,at89c52 不工作,经检查发现 电源电路和晶体振荡器没接好
42、。再次检测时 89c52 仍不工作,检测后发现复位开关已坏,rst 复 位引脚一直处于高电平,经去掉开关后 89c52 工作。 (2)液晶屏显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察是否存在 漏焊,虚焊,或者元件损坏。 (3)液晶屏管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是 否存在短路现象。若硬件无误后再查看烧写的程序是否正确无误,对程序进行认真修改。 5.4 测试结论 经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计同时提高 了设计能力以及对电路的分析能力。同时在软件的编程方面得到更高的提高,对编程能力达到加 强。同时对所学
43、的知识得到很大的提高与巩固。对于初学者来说,更是大有益处,能把理论联系 实际运用,学到更多的知识,真正将这门课程所包含的知识用于实际生活中的具体创造和设计中。 结 论 多功能万年历是能同时显示日历、星期、时间、温度的电子时钟。这次的毕业设计从选题上 也花了很多时间,板也做了一块又一块,在做的过程中还是出现了很多常见的错误,比如在画原 理图的时候,连线连错,网络标号不对应,电源和地接反,这些都是很小的错误,但是小错误也 能成大错,导致最后做出来的板不能实现预期的功能。另外就是对一些芯片的运用不熟悉,导致 显示乱码也是很正常的,比如时钟芯片 ds1302 的数据端口和信号端口必须接上拉电阻后再接电 源端,否则芯片不能正常工作,软件无法正常运行,整个系统也将瘫痪无法正常显示。还有液晶 显示器的电源端也要接个电位器,一是方便调节明暗度,二是防止电流过大,烧坏显示屏,这些 都是很基本的知识,但必须要熟记和掌握,以致才能运用的更加熟练。 另外对于这次的毕业设计,感觉自己的能力又得到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西安理工大学高科学院《生物医学安全与法规》2023-2024学年第二学期期末试卷
- 厦门城市职业学院《护理伦理学》2023-2024学年第二学期期末试卷
- 2025年去年语文会考试题及答案
- 2025年面试题排序分类及答案
- 2025年飞船太空考试试题及答案
- 2025年超声科三基试题及答案
- 2025年贵州药厂面试试题及答案
- 2025年集成电路省赛试题及答案
- 2025年安徽蚌埠中考英语试题及答案
- 2025年客运培训考试题及答案
- 加强物料提升机施工现场安全管理
- 第15课《我是记忆小能手》课件
- 重症肺炎护理查房文献参考
- 小红书经典营销案例分析
- 企业战略与绩效管理
- 虚拟货币交易合同
- 操作系统课程设计报告
- 小学安全教育《平安校园 拒绝欺凌》刘伟【省级】优质课
- 静脉输液的不良反应及处理原则考核试题及答案
- 《建筑概论》期末考试试卷附答案
- 档案袋密封条格式范本(可直接打印,可自行编辑)
评论
0/150
提交评论