毕业设计(论文)-基于AT89S52单片机数字时钟的设计_第1页
毕业设计(论文)-基于AT89S52单片机数字时钟的设计_第2页
毕业设计(论文)-基于AT89S52单片机数字时钟的设计_第3页
毕业设计(论文)-基于AT89S52单片机数字时钟的设计_第4页
毕业设计(论文)-基于AT89S52单片机数字时钟的设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 单位代码 密 级 公 开 学 号 学士学位论文 基于单片机数字时钟的设计 论文 指导教师:学科专业:电子信息科学与技术职教师资本科提交论文日期:2021年3月24日论文辩论日期:2021年4月2日学位授予单位:重庆文理学院 中 国 重 庆2021年 4月目 录 TOC o 1-3 h z u HYPERLINK l _Toc260088373 摘 要: PAGEREF _Toc260088373 h I HYPERLINK l _Toc260088377 Abstract PAGEREF _Toc260088377 h II HYPERLINK l _Toc260088378 第一章 引言

2、PAGEREF _Toc260088378 h 1 HYPERLINK l _Toc260088382 PAGEREF _Toc260088382 h 11.2 单片机的的应用 HYPERLINK l _Toc260088388 11.3 单片机的开展趋势 HYPERLINK l _Toc260088389 21.4 数字时钟方案论证比拟 HYPERLINK l _Toc260088391 3 HYPERLINK l _Toc260088392 3 HYPERLINK l _Toc260088399 数码管与LCD液晶显示性能比拟4第二章 系统的硬件设计与实现 HYPERLINK l _Toc

3、260088414 5 HYPERLINK l _Toc260088423 系统概述5 HYPERLINK l _Toc260088424 62.2.1 时钟电路 HYPERLINK l _Toc260088437 6 HYPERLINK l _Toc260088443 2.2.2 液晶LCD1602显示电路72.2.3 复位电路与晶振电路 HYPERLINK l _Toc260088444 92.3 总体电路图设计 HYPERLINK l _Toc260088444 10第三章 系统的软件设计与实现 HYPERLINK l _Toc260088444 113.1 程序的功能 HYPERLIN

4、K l _Toc260088444 113.2 编程思路 HYPERLINK l _Toc260088444 123.3 程序设计流程图 HYPERLINK l _Toc260088444 133.3.1 DS1302 软件设计流程图 HYPERLINK l _Toc260088444 153.3.2 LCD显示程序流程图 HYPERLINK l _Toc260088444 153.3.3 时间闹铃设置流程图 HYPERLINK l _Toc260088444 PAGEREF _Toc260088444 h 16第四章 系统的组装与调试 HYPERLINK l _Toc260088444 16

5、硬件系统的组装与调试 HYPERLINK l _Toc260088444 17软件调试 HYPERLINK l _Toc260088444 18 HYPERLINK l _Toc260088445 第五章 结 论19 HYPERLINK l _Toc260088448 参考文献21 HYPERLINK l _Toc260088449 致 谢22 摘要随着科技的快速开展和生活水平的不断提高,人们对时钟的精确度和实用性要求越来越高。本文采用AT89S52单片机,通过DS1302日历芯片进行定时,并通过LCD1602液晶进行显示。通过C语言程序编写,将设计出更准确定时、更省电的数字时钟。单片机数字时

6、钟具有设置时间、日期、星期的根本功能,并且能够显示年、月、日、时、分、秒、星期。单片机数字钟不管在性能还是在样式上都发生了质的变化,实践证明单片机数字时钟具有更加准确性、精密性等功能。关键字:数字时钟;DS1302;LCD1602;AT89S52AbstractIn daily life, time is science, technology and everyday life is one of the most basic physics, we often deal with temporal clocks, such as hand watch, wall clock, even o

7、n a computer program, the clock on the phone can be generalized a clock display on the clock, along with the rapid development of technology and the continuous improvement of living standards, people on the clocks accuracy and practical demand is higher and higher. Based on the single chip microcomp

8、uter principle, USES the monolithic integrated circuit AT89S52 series, through the hardware circuit and software production procedure formulation, will design a more accurate timing, electricity -saving digital clock, SCM in performance or digital clock no matter in style have undergone a qualitativ

9、e change, digital clock has proved microcontroller more accuracy, precision sex etc. Function. Key Words:Digital clock ; DS1302; LCD1602;第一章 引言单片机是在一块硅片上集成了各种部件的微型计算机。随着大规模集成电路技术的开展,可以将中央处理器CPU、数据存储器RAM、程序存储器ROM定时器计数器以及输入/输出I/O接口电路等主要计算机部件,集成在一块电路芯片上。虽然单片机只是一个芯片,但从组成和功能上,都已具有了微机系统的含义。由于单片机能独立执行内部程序,

10、所以又称它为微型控制器Microcontroller。单片机自从问世以来,性能在不断的提高和完善,它不仅能够满足很多应用场合的需要,而且具有集成度高、功能强、速度快、体积小使用方便、性能可靠、价格低廉等特点。因此,在工业控制、智能仪器仪表、数据采集和处理、通信、智能接口、商业营销等领域得到广泛的应用,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视,所以更扩大了单片机的应用范围,也进一步促进了单片机技术的开展,单片机的开展史大致可分为三个阶段。第一阶段1976-1978:初级单片机微处理阶段。该时期的单片机具有8位CPU,并行I/O端口、8位时序同步计数器,寻址范围4KB

11、,但是没有串行口。第二阶段1978-1982:高性能单片机微机处理阶段,该时期的单片机具有I/O串行端口,有多级中断处理系统,15位时序同步技术器,RAM、ROM容量加大,寻址范围可达64KB。第三阶段1982-至今:8位单片机微处理改进型及16位单片机微处理阶段。1.2 单片机的应用由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用普及各个领域,主要表现在以下几个方面:(1) 单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。(2) 单片机在机电一体化中的应用机电

12、一体化是机械工业开展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。(3) 单片机在实时控制中的应用单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最正确工作状态,提高系统的工作效率和产品质量。(4) 单片机在分布式多机系统中的应用在比拟复杂的系统中,常采用分布式多机系统。多机系统一般由假

13、设干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。(5) 单片机在人类生活中的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。 单片机开展趋势目前,单片机正朝着高性能和多品种方向开展,其开展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电

14、路内装化等几个方面开展。下面是单片机的主要开展趋势:(1) CMOS化近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS金属栅氧化物半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS高密度、高速度MOS、CHMOS工艺以及CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已到达L

15、STTL的速度,传输延迟时间小于2ns,它的综合优势已大于TTL电路。因而,在单片机领域,CMOS电路正在逐渐取代TTL电路。(2) 低功耗化单片机的功耗已从mA级,甚至1uA以下;使用电压在36V之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。(3) 低电压化几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在36V范围内工作。低电压供电的单片机电源下限已可达12V。目前0.8V供电的单片机已经问世。(4) 低噪声与高可靠性为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方

16、面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。 数字时钟方案论证比拟 数字电路与单片机性能比拟数字时钟系统可采用数字电路实现,也可以采用单片机来完成。假设用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比拟复杂,本钱也非常高。假设用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其本钱也有所降低,所以在该设计与制作中采用AT89S52单片机,它是低功耗、高性能的CMOS型8位单片机,内带有8KB的Flash程序存储器,且允许在系统内改写或用编程器编

17、程。另外,AT89S52的指令系统和引脚与8051完全兼容,片内有256B的RAM、32条IO口线、2个16位定时计数器、5个中断源、一个全双工串行口等,具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片屡次拔插,所以不会对芯片造成损坏,由此可见使用单片机作为数字时钟的核心器件将更加具有快捷、高效的性能。数码管与LCD液晶显示性能比拟单片机应用系统最常用的显示器LED发光二极管显示器和LCD液晶显示屏,这两种显示器器件都可显示数字、字符及系统的状态,他们的驱动电路简单、易于实现且价格低廉,因此得到广泛应用。同时由于数码管只能显示数字数

18、码管显示内容单一,液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,没有电磁辐射、寿命长等优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,而这个毕业设计中,要求功能较多,为了使电路显示的更清晰明了,在该设计当中我们决定采用LCD1602液晶作为我们单片机数字时钟的显示设备。单片机编程时钟与时钟芯片性能比拟在单片机系统的应用过程中,经常需要一个时钟电路定时、测控之用;数字时钟的实现方法有很多种,最简单的就是利用单片机中都集成的定时器,通过软件编程来构成一个时钟来使用,但是基于这种方法,由于定时器工作在中断方式,它会频繁地中断CPU的工作。每次开机都要重新设置标准时间,使用

19、不方便而且还占用单片机的定时器资源,单片机直接编程做时钟电路虽然节省本钱,但功能却有许缺乏,而且单片机工作不是很稳定,容易出现死机、跑错等等,电路一复位就又要从新调整时间,显然这在实际情况中是很麻烦的,与社会的主流开展智能化,不相符合。但是美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰 年补偿等多种功能。采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能,因此我们在这里将会采用采用DS1302作为我们单片机数字时钟的时钟芯片。 第二章 系统的硬件设计与实现2.1 系统概述本系统是

20、由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压环境中工作;时钟电路由内部时钟电路外接晶振提供,它是一种高性能、低功耗、带RAM的可随时调整时钟电路,工作电压为3V5V;所以采用DS1302作为本设计的日历芯片;显示部份使用LCD1602B液晶模块进行数字显示,1602B液晶模块可以显示2行16个字符,有8位数据总线D0D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符比照度调节和背光。该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,系统主要由晶振电路、复位电路、时钟电路局部、中央处理单元、晶显示局部组成,单片机

21、数字时钟的。电路总体框图设计 单片机AT89S52LCD1602DS1302时钟芯片复位电路按键电路晶振蜂鸣器电源 电路总体框架图 模块电路的设计时钟电路时钟电路为整个单片机系统产生时间基准,是单片机系统必须的局部;本系统采用美国DALLAS公司推出的DS1302实时时钟芯片,采用三线接口与CPU进行同步通信,并可采用突发式一次传送多个字节的时钟信号或RAM数据,该芯片是采用串行方式的实时时钟芯片,串行方式的实时时钟芯片大多数是将地址线、数据线、控制线合为一根串行传输数据的传号线,这种方式的有点是信号线少、电路连接简单、节省系统资源和电路板的面积,缺点是程序编写复杂、工作量比拟大,且操作速度较

22、慢,接下来我们来分析一下DS1302的性能与原理。DS1302的性能 、 计算2100年之前的秒、分、时、日、星期、月和年,能进行闰年调整; B、31字节数据RAM;C、引脚与TTL兼容;D、工作电流小于300nA,有备份电源和涓流充电能力; 2、DS1302引脚定义I/O:数据输入/输出引脚 SCLK:串行时钟输入引脚 RST复位引脚GND:接地引脚 Vcc1、Vcc2:工作电源、备份电源引脚 X1、X2:晶振接入管脚。晶振频率为32.768KHz。 DS1302的操作 命令字格式如下图:图2.2 命令字格式D7位:固定为1 R/C位:为0时选择操作时钟,为1时选择操作RAM A4A3A2A

23、1A0:操作地址 R/W位:为0时进行写操作,为1时进行读操作 单字节操作如图2.3所示:图2.3 写操作 图2.4 读操作多字节操作突发模式 :每次写入或读出8个字节时钟日历数据或31个字节RAM数据。与单字节时相似,仅需将A0A4换成“11111 。四、DS1302的存放器DS1302有12个存放器,其中有7个存放器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间存放器及其控制字,表为日历存放器功能表。 日历时钟存放器功能表五、DS1302与单片机的接口 图 DS1302与单片机的接口图 2.液晶LCD1602显示电路1602B液晶模块可以显示2行16个字符,有8位数据总线D0D

24、7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符比照度调节和背光。该模块也可以只用D4-D7作为四位数据分两次传送,这样就可以节省MCU的I/O口资源,液晶LCD1602引脚情况如下表所示;液晶LCD1602最小系统图如2.5所示。 LCD1602引脚功能表 图液晶LCD1602最小系统图 复位电路与晶振电路复位电路是单片机系统必须的,用来为单片机提供正确的复位信号;振荡电路就为单片机工作提供了所需要的时钟脉冲信号,使单片机的开始正常工作;如下图 18脚和19接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另

25、一端,在片内它是振荡器倒相放大器的输出;第9引脚为复位输入端,接上电容,电阻及开关后能够形成上电复位电路。 图 2.6复位电路与晶振电路 总体电路图设计下列图为总体电路设计图,。 图2.7 总体电路图 第三章 系统的软件设计与实现 程序功能 数字时钟程序主要完成以下的功能:1、该数字钟能够准确显示年、月、日、时、分、秒、星期;2、可以进行闹钟的设置;3、能够实现设置时间、日期、星期; 编程思路采用主从两个单片机系统,从系统对各个参数,然后以串行通信传送到上位机,然后进入下一轮检测。当主系统需要显示这些参数时,允许接受数据,然后进行处理显示。在主系统当中,初始化之后,读DS1301内部时间数据并

26、显示,然后进行按键判断,对按键请求进行处理,结束之后,程序回到读DS1302时间数据处形成循环。共12个按键,低电平有效,按键选择要调整的年,月,日,星期,小时,分钟,闹钟;状态0:model=0,字钟正常时钟显示状态。状态1:model=1,进入时,分,秒的调整。状态2:model=2,进入年,月,日,星期的调整。状态3:model=3,进入闹钟的设置。 程序设计流程图系统主程序首先对系统进行初始化,包括设置液晶LCD1602、都是DS1302和端口的初始化,程序主要包括3个方面的内容,一是利用日历芯片完成时钟的时间控制,在这里我们使用了功能丰富的日历芯片DS1302;二是利用按键和开关触发

27、外中断,改变时钟的运行模式;三是单片机控制的液晶显示模块显示时间和相关功能的计数值,主程序流程图、时间调整流程图如下,主程序如同3.1所示。开始LCD1602DS130初始化显示时间进入模式选择状态年、月、日期的设置时、分、秒的设置闹铃的设置退出图3.1主程序流程图 .1 DS1302软件设计流程图 DS1302初始化从DS1302中读出数据,让入RAMLCD模块显示时间扫描按键时间设置调用显示屏子程序开始数据写回DS1302保存 返回主显单 图3.2 DS1302软件设计流程图数字时钟需要调整年,月,日,星期,小时,分钟,闹钟等的设置,所以软件程序设计如图3.3所示。 图 时间调整程序流程图

28、 LCD1602程序序流程图 一、1602根本操作时序写操作时序 时序时间表 3.4时序时间表四 、LCD1602主程序流程图 A 、 主程序主要完成硬件初始化、子程序调用等功能,主程序设计流程图如下图。 初始化堆栈指针调用LCD初始化子程序调用字符显示子程序显示第二行字符调用字符显示子程序显示第一行字符开始 图3.5 LCD主程序流程图B、写入显示数据到LCD子程序模块设计当LCD1602的存放器选择信号RS为1时,选择数据存放器;当LCD1602的读写选择线R/W为0时,进行写操作;当LCD1602的使能信号E至高电平后再过两个时钟周期至低电平,产生一个下降沿信号,往LCD写入显示数据。写

29、入RS0时,选择指令存放器读/写标志位R/W0时,进行写操作LCD使能信号E至高电平后再过两个时钟周期至低电平,产生一个下降沿信号,往LCD写入指令代码,LCD执行命令调用延时子程序DELAY子程序返回把指令数据送至P0口LCD数据线DB7DB0开始所示。 图3.6 LCD子程序模块设计时间闹铃设置流程 本设计中计时采用定时器T1中断完成,秒表使用定时器T0中断完成。主程序循环调用显示子程序和查键子程序,当端口有开关按下时,转入相应功能程序。其主程序执行流程如图3.7所示。YNNY开始初始化调用相关显示子程序蜂鸣器鸣叫进入功能程序键按下?整点到? 图3.7 时钟闹铃设计流程图 第四章 系统组装

30、与调试 系统组装与调试分为硬件的组装调试和软件的调试,硬件的组装与调试侧重于原理设计的正确性验证和印刷电路板的工艺性错误的检测;软件的调试那么侧重于子模块的功能验证和模块与模块的接口配合。4.1 硬件系统的组装与调试硬件组装前首先要仔细核对硬件系统设计原理的正确性,包括参数选用的正确性和原理的正确性,对没有把握的电路可以通过在通用实验板上直接焊接实际电路来进行实物调试和验证,调试分为断电调试和通电调试。1断电调试 为了平安起见,首先必须进行断电调试,断电调试的内容至少包含短路检测和原理正确性确认;系统电路焊接完成后,首先对实物进行原理正确性确实认,其次必须进行短路检测,选用适宜的万用表欧姆档,

31、用红表笔接到电路板的+5V电源的+、 极,如果存在充放电现象,最后电阻稳定在一个适宜的位置,那么根本上可排除系统短路现象。2通电调试 A、系统时钟是否起但凡微处理器系统,正常运行的必要条件是系统时钟稳定正常,在实际工作中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况也时有出现,因此系统时钟是否起震应是通电检查的首要一环,检查方法包括逻辑笔发、数字万用表法、示波器法,在这里采用数字万用表法,测试晶振两端引脚电压为2.5V左右。B、复位是否正常及关键点电压参数是否正常复位不正常也会导致系统不工作,这里的重点是检查相关电路是否正常,同时检查相应电路的关键电压参数是否正常,进行一一排查。

32、4.2 软件调试单片机的程序设计调试分为两种,一种是使用软件模拟调试,即用开发单片机程序的计算机去模拟单片机的指令执行,并虚拟单片机片内资源,从而实现调试的目的,但是软件调试存在一些问题,如计算机本身是多任务系统,划分执行时间片序,也就是说,不可能像真正的单片机运行环境那样执行的指令在同样一个时间能完成往往比单片机慢。为了解决软件调试问题,第二种方法是硬件调试,硬件调试其实也需要计算机软件的配合。软件调试与所选用的软件结构有关,如果采用模块程序设计技术,那么逐个模块调好后再进行系统程序总调,如果采用实时多任务操作系统,一般是逐个任务进行调试,对于模块结构程序要一个个子程序分别调试,调试时,一定

33、要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、 RAM的内容和IO口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误以及转移地址的错误,同时,还可以发现用者系统中存在的 硬件设计错误和软件算法错误,各程序模块通过后,那么可以把相关功能块连在一起进行总调。本设计采用Keil软件对源程序进行编译和调试,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻,Keil

34、C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。在Proteus中翻开数字时钟统完整电路图,双击AT89S52,在Program File:选项中浏览选择由Keil软件编译生成的hex文件,确认保存即可进行仿真。系统的仿真结果如图4.2所示。从仿真结果看,系统满足设计要求。 图4.1系统仿真图第五章 总结本论文基于MCS-51单片机而开发的数字时钟,从总体的理论构思到具体的软硬件的设计,元件的采购,PCB板的制作

温馨提示

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

评论

0/150

提交评论