广东交通职业技术学院毕业论文毕业论文题目:基于DS1302与数码管设计的电子万年历学生姓名:***学号:**********院(系):机电工程学院专业:机电一体化(自动化技术)班级:一体化123班指导教师:**起止时间:2014 年11 月—— 2014 年 12 月基于DS1302与数码管设计的电子万年历摘要:单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子产品等,这些都离不开单片机。
单片机是将CPU、RAM、ROM、定时器、计数器和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上,而51系列单片机是各单片机中最为典型和最有代表性的一种。
本文通过对一个基于DS1302与数码管的电子万年历的设计,从而达到学习、了解单片机相关指令在各方面的应用。
系统由主控制器AT89C51、实时钟电路DS1302、显示电路组成,能实现时钟日历显示的功能,能进行时、分、秒的显示。
关键词:单片机;DS1302;数码管;电子万年历目录1引言 (4)2 设计方案与要求 (4)2.1 功能要求 (4)2.2 系统基本方案选择和论证 (4)2.2.1单片机芯片的选择和论证 (4)2.2.2显示模块的选择和论证 (5)2.2.3时钟芯片的选择和论证 (5)2.3 电路设计最终方案决定 (5)2.4 各硬件基本原理及介绍 (5)2.4.1AT89C51单片机原理及介绍 (5)2.4.2LED数码管显示原理及介绍 (6)2.4.3DS1302原理及介绍 (6)2.4.474HC573原理及介绍 (7)3 硬件设计部分 (7)3.1 电路设计框图 (7)3.2 系统硬件概述 (7)3.3 主要单元电路的设计 (8)3.3.1单片机主控制模块的设计 (8)3.3.2时钟电路DS1302的设计 (8)3.3.3显示模块的设计 (10)3.3.4锁存器模块的设计 (11)4软件设计部分 (11)4.1 软件设计概述 (11)4.2 Keil C51和Proteus介绍 (12)4.2.1Keil C51的介绍 (12)4.2.2Proteus的介绍 (12)4.3 整体设计 (12)5结束语 (14)1 引言随着微电子技术的高速发展,随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。
单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。
而电子万年历作为电子类小设计,是单片机实验中一个很常用的题目。
因为它有很好的开放性和可发挥性,不仅考察了对单片机的掌握能力更加强了对单片机扩展的应用。
而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。
电子万年历已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的万年历逐渐受到人们的欢迎。
采用软件和硬件结合的方法,控制LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特可靠。
在软件设计过程中,应对硬件部分有相关的了解,这样有助于对设计更深刻的了解,有助于软件设计。
2 设计方案与要求2.1 功能要求本电子万年历的功能:能动态显示年、月、日、小时、分钟、秒2.2 系统基本方案选择和论证2.2.1单片机芯片的选择和论证方案一:采用AT89S52芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:采用AT89C51,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89S52的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
结论:采用AT89C51作为主控制系统.2.2.2显示模块的选择和论证方案一:采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形。
但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。
方案二:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
结论:采用LED数码管作为显示。
2.2.3时钟芯片的选择和论证方案一:直接采用单片机定时计数器提供脉冲信号,使用程序实现年、月、日、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、月、年进行计数,而且精度高。
结论:采用DS1302作为时钟芯片。
2.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用AT89C51作为主控制系统、DS1302提供时钟、LED数码管动态扫描作为显示。
2.4 各硬件基本原理及介绍2.4.1 AT89C51单片机原理及介绍单片机是一种集成电路芯片,是采用超大规模集成电路技术把CPU、随机存储器RAM、ROM、多种I/O接口和中断系统、定时器/计数器、A/D转换器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
AT89C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O 口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。
AT89C51引脚如图所示2.4.2LED数码管显示原理及介绍LED显示是绝大多数单片机应用系统必备的部件之一,发光二极管组成的LED显示是单片机应用产品中最常用的廉价输出设备。
它由若干个发光二极管按一定的规律排列而成。
当某一个发光二极管导通时,相应的一个点或一笔画被点亮,控制不同组合的二极管导通,就能显出各种字符。
发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的成为共阴显示器。
1位显示器由8个发光二极管组成,其中7个发光二极管a~g控制7个笔画的亮或暗,另一个控制一个小数点的亮和暗。
引脚如图所示2.4.3DS1302原理及介绍DS1302是美国DALLAS公司推出的一种高性能、低功耗的电子万年历芯片,附加31字节静态RAM,采用SPI三线接口与CPU一进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
电子万年历可提供秒、分、时、日、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5V~5.5V。
采用双电源供电(主电源和备用电源)。
DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。
引脚如图所示2.4.4 74HC573原理及介绍当锁存使能端LE 为高时,这些器件的锁存对于数据是透明的,当锁存使能端LE 为低时,符合建立时间和保存时间的数据会被锁存。
引脚如图所示3 硬件设计部分3.1 电路设计框图3.2 系统硬件概述本设计是由AT89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V 超低压工作。
时钟电路由DS1302提供,采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。
具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能,本电路采用DS1302单字节传送方式实现与主控机之间数据的传送。
显示部分由LED 数码管动态扫描来显示。
时钟电路 DS1302主控制器 AT89C51 显示电路 LED 数码管3.3 主要单元电路的设计3.3.1单片机主控制模块的设计单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端为输入端,XTAL2接外部晶振和微调电容的另一端为输出端。
第9引脚为复位输入端,接上电容,电阻及开关后构成复位电路。
主控制系统1.内部结构按功能分为8部分:CUP,程序存储器,数据存储器,时钟电路,串行口,并行I/O口,中断系统,定时/计数器。
2.引脚定义及功能Vcc:接+5V 电源Vss:接地XTAL1和XTAL2:时钟引脚,外接晶体引线端。
RST/Vpq:RST是复位信号输入端,Vpd是备用电源输入端。
I/O口引脚:P0.0~P0.7:P0口8位双向I/O口;P1.0~P1.7:P1口8位准双向I/O口;P2.0~P2.7:P2口8位准双向I/O口;P3.0~P3.7:P3口8位准双向I/O口。
3.3.2时钟电路DS1302的设计1.引脚功能及结构DS1302 的电路图如下,其中Vcc1 为后备电源,VCC2 为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302 由Vcc1 或Vcc2 两者中的较大者供电。
X1 和X2 是振荡源,外接32.768kHz 晶振。
RST 是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。
RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。
只有在SCLK 为低电平时,才能将RST 置为高电平。
I/O 为串行数据输入输出端(双向), SCLK 始终是输入端。
DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O串行数据引脚。
DS1302电路图2.读写时序说明DS 1302是SPI总线驱动方式。
它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。
DS1302的控制字如图:DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置“0”,接着把RST端置“1”,最后才给予SCLK脉冲。
控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。
位6:如果为0则表示存取日历时钟数据,为1表示存取RAM数据位5至位1(A4-A0):指示操作单元的地址位0(最低有效位):如为0,表示要进行写操作,为1表示进行读操作“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。