《电子万年历设计(基于AT89C51单片机和DS1302时钟芯片)[1]》由会员分享,可在线阅读,更多相关《电子万年历设计(基于AT89C51单片机和DS1302时钟芯片)[1](19页珍藏版)》请在金锄头文库上搜索。
1、*- 1 -随着人们生活水平的提高和生活节奏的加快,对时间的要求越来越高,精准数字计时的消费需求也是越来越多。二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历) ,使计时产品的走时日差从分级缩小到 1/600 万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方
2、式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步 我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。除了采用集成化的时钟芯片外,还有采用 MC
3、U 的方案,利用 AT89系列单片微机制成万年历电路,采用软件和硬件结合的方法,控制 LED数码管输出,分别用来显示年、月、日、时、分、秒,其最大特点是:硬件电路简单,安装方便易于实现,软件设计独特,可靠。AT89C51 是由ATMEL 公司推出的一种小型单片机。95 年出现在中国市场。其主要特点为采用 Flash 存贮器技术,降低了制造成本,其软件、硬件与 MCS-51 完全兼容,可以很快被中国广大用户接受。本文介绍了基于 AT89C51 单片机设计的电子万年历。*- 2 -首先我们在绪论中简单介绍了单片机的发展与其在中低端领域中的优势以及课题的开发意义;接着介绍了 AT89C51 单片机的
4、硬件结构和本毕业设计所要外扩的 LED 显示及其驱动方法,并在此基础上实现了万年历基本电路的设计;然后使用单片机汇编语言进行万年历程序的设计,程序采用模块化结构,使得逻辑关系简单明了,维护方便。 一 设计要求与方案论证随着电子技术的发展,人类不断研究,不断创新纪录。万年历目前已经不再局限于以书本形式出现。以电脑软件或者电子产品形式出现的万年历被称为电子万年历。与传统书本形式的万年历相比,电子万年历得到了越来越广泛的应用,采用电子时钟作为时间显示已经成为一种时尚。目前市场上各式各样的电子时钟数不胜数,但多数是只针对时间显示,功能单一不能满足人们日常生活需求。本文提出了一种基于 AT89C51 单
5、片机的万年历设计方案,本方案以AT89C51 单片机作为主控核心,与时钟芯片 DS1302、按键、LED 显示等模块组成硬件系统。在硬件系统中设有独立按键和 LED 显示器,能显示丰富的信息,根据使用者的需要可以随时对时间进行校准、选择时间等,综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。(一) 功能要求本电子万年历能动态显示年、月、日、星期、小时、分钟、秒2.方案论证3. 技术可行性随着国内超大规模集成电路的出现,微处理器及其外围芯片有了迅速的发展。集成技术的最新发展之一是将 CPU 和外围芯片,如程序存储器、
6、数据存储器、并行 I/O 口、串行 I/O 口、定时/计数器、中断控制器及其他*- 3 -控制部件集成在一个芯片之中,制成单片计算机(Single-Chip Microcomputer) 。而近年来推出的一些高档单片机还包括有许多特殊功能单元,如 A/D、D/A 转换器、调制解调器、通信控制器、锁相环、DMA、浮点运算单元、PWM 控制输出单元、PWM 输出时的死区可编程控制功能等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如工业流水线控制系统、作为家用电器的主控制器、分布式控制系统的终端节点或作为其主控制节点起中继的作用、数据采集系统、自动测试系统等。单片机的出
7、现,并在各技术领域中得到如此迅猛的发展,与单片机构成计算机应用系统所形成的下述特点有关:1、单片机构成的应用系统有较大的可靠性。这些可靠性的获得除了依靠单片机芯片本身的高可靠性以及应用有最少的联接外,还可以方便地采用软、硬件技术。2、系统扩展、系统配置较典型、规范,容易构成各种规模的应用系统,应用系统有较高的软、硬件利用系数。3、由于构成的应用系统是一个计算机系统,相当多的测、控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当地改变系统功能。4、有优异的性能、价格比。(二) 单片机的选择方案一:采采用用传传统统的的 AT89C51 作作为为电电机机的的控控制制核核心心。单片机算术运算功
8、能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等优点,使其在各个领域应用广泛。方案二:采用 FTC10F04 单片机,还带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的 8 位 CMOS 微处理芯片,市场应用最多。其主要特点如下:8KB Flash ROM,可以擦除 1000 次以上,数据保存 10 年。*- 4 -由于本系统对 CPU 运算速度要求很高,需要执行很复杂的运算,方案一成本比较低,适合做设计,方案二运算速度高,性能好,所以两种方案都有可取之处。选用方案一作为主方案,方案二作为备用方案。1 显示模块的选择
9、使使用用液液晶晶显显示示屏屏显显示示时时间间数数字字。 液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片。主主控控芯芯片片使使用用 51 系系列列 AT89C51 单单片片机机,时时钟钟芯芯片片使使用用美美国国DALLAS 公公司司推推出出的的一一种种高高性性能能、低低功功耗耗、带带 RAM 的的实实时时时时钟钟DS1302。采用
10、DS1302 作为计时芯片,可以做到计时准确。更重要的是,DS1302 可以在很小电流的后备电源(2.55.5V 电源,再 2.5V 时耗电小于 300nA) ,而且 DS1302可以编程选择多种充电电流来队后备电源进图电子万年历电路系统构成框图行慢速充电,可以保证后备电源基本不耗电。显显示示驱驱动动采采用用MAX7219,MAX7219 是是微微处处理理器器和和共共阴阴极极八八段段八八位位 LED 数数码码管管显显示示、图图条条/柱柱图图显显示示或或 64 点点阵阵显显示示接接口口的的小小型型串串行行输输入入/输输出出芯芯片片。片片内内包包括括BCD 译译码码器器、多多路路扫扫描描控控制制器
11、器、字字和和位位驱驱动动器器和和 88 静静态态 RAM。外外*- 5 -部部只只需需要要一一个个电电阻阻设设置置所所有有 LED 显显示示器器字字段段电电流流。MAX7219 和和微微处处理理器器只只需需三三根根导导线线连连接接,每每位位显显示示数数字字有有一一个个地地址址由由微微处处理理器器写写入入。允允许许使使用用者者选选择择每每位位是是 BCD 译译码码或或不不译译码码。使使用用者者还还可可选选择择停停机机模模式式、数数字字亮亮度度控控制制、从从 18 选选择择扫扫描描位位数数和和对对所所有有 LED 显显示示器器的的测测试试模模式式。显显示示模模块块采采用用普普通通的的共共阴阴极极四
12、四位位一一体体八八段段 LED 数数码码管管。二 系统硬件电路的设计(一)电路设计*- 6 -图示为电子万年历电路设计原理图,系统由主控制器 AT89C51、时钟电路 DS1302、显示驱动 MAX7219 电路,显示电路及键扫描电路组成。图 电子万年历电路原理图(二)系统硬件概述1. 主控制器 AT89C51ATMEL 公司生产的公司生产的 AT89C51 单片机单片机采用高性能的静态 80C51 设计,并采用先进工艺制造,还带有非易失性 Flash 程序存储器。它是一种高性能、低功耗的 8 位 CMOS 微处理芯片,市场应用最多。其主要特点如下:8KB Flash ROM,可以擦除 100
13、0 次以上,数据保存 10 年。 256 字节内部 RAM; 电源控制模式; 时钟可停止和恢复; 空闲模式; 掉电模式; 6 个中断源; 4 个中断优先级; 4 个 8 位 I/O 口; 全双工增强型 TUAR; 3 个 16 位定时/计数器:T0、T1(标准 80C51)和增加的 T2(捕获和比较) 全静态工作方式:024MHZ2.时钟电路 DS1302DS1302 的性能特性: 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较;*- 7 - 用于高速数据暂存的 31*8 位 RAM; 最少引脚的串行 I/O; 2.55.5V 电压工作范围; 2.5V 时耗小于 300nA;
14、用于时钟或 RAM 数据读/写的单字节或多字节(脉冲方式)数据传送方式; 简单的三线接口; 可选的慢速充电(至 Vcc1)的能力。DS1302 在任何数据传送时必须先初始化,把 RST 脚置为高电平,然后把 8 位地址和命令字装入移位寄存器,数据在 SCLK 的上升沿被访问到。在开始 8 个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为 8+8,在多字节方式下为 8+字节数,最大可达 248 字节数。如果在传送过程中置 RST 脚为低电平,则会终止本次数据传送,并且 I/O 引脚变为高阻态。上电运行时,在 Vcc2.5
15、V 之前,RST 脚必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置为高电平。DS1302 的控制字如表所示。控制字节的最高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入到 DS1302 中。位 6 如果为 0,则表示存取日历时钟数据;为 1 则表示存取 RAM 数据。位51(A4A0)指示操作单元的地址。最低有效位(位 0)如果为 0,则表示药进行写操作;为 1 表示进行读操作。控制字节总是从最低位开始输入/输出。*- 8 -为了提高对 32 个地址寻址能力(地址/命令位 15=逻辑 1),可以把时钟/日历或 RAM 寄存器规定为多字节(burst)方式。位 6 规定时钟或RAM,而位 0 规定读或写。在时钟/日历寄存器中的地址 931 或 RAM寄存器中的地址 31 不能存储数据。在多字节方式下,读或写从地址 0 的位 0 开始。必须按数据传送的次序写最先的 8 个寄存器。但是,当以多字节方式写 RAM 时,为了传送数据不必写所有的 31 字节,不管是否谢了全部 31 字节,所写的每一字节都将传送至 RAM。表 DS1302 控制字DS1302 共有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。其日历、