基于DS1302时钟芯片数字钟报告_第1页
基于DS1302时钟芯片数字钟报告_第2页
基于DS1302时钟芯片数字钟报告_第3页
基于DS1302时钟芯片数字钟报告_第4页
基于DS1302时钟芯片数字钟报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、1 课程设计报告题目:基于 ds1302的数字钟报告学院:专业:电子信息工程班级:学号:指导教师: 2010 年 7 月 7日2 摘要 . 4abstract . 4前言 . 5第一章数字钟设计的意义及任务 . 61.1 数字钟设计的意义 . 61.2 设计任务 . 6第二章系统的硬件设计和方案对比选择 . 72.1 系统设计结构图 . 72.2 系统设计方案对比选择. 72.2.1 mcu 微处理控制器的方案对比选择. 72.2.2 lcd液晶显示模块的方案对比选择. 82.2.3 实时时钟电路的方案对比选择. 9第三章系统的硬件设计电路及元件说明 . 103.1mcu 微控制器电路. 10

2、3.2lcd液晶显示电路. 123.3 实时时钟电路 . 163.4 复位电路 . 173.5 晶振电路 . 17第四章系统的软件设计 。 . 184.1 主程序 . 18第五章程序的调试 . 195.1proteus仿真 . 195.2 利用学习板进行调试. 203 5.3 调试过程中出现的问题. 21设计总结 . 21参考文献 . 22附录一系统程序: . 23附录二基于 ds1302数字钟设计的原理图. 错误!未定义书签。附录三基于 ds1302数字钟设计的 pcb图 . 错误!未定义书签。附录四基于 ds1302数字钟设计的元件清单 . 错误!未定义书签。4 基于 ds1302的数字钟

3、设计报告摘要根据 at89c52的特点和数字钟的特点, 本文提出一种用单片控制ds1302利用lcd1602 显示的数字钟的设计方法,同时给出软硬件电路的设计方法。设计报告硬件电路设计和软件编程两个方面。本系统通过at89c52 做为 cpu 进行总控制,利用 at89c52对 ds1302进行控制, ds1302可以对年、月 、日、周、日、时、分 、秒进 行计时 ,最后 利用数码 管显示 进行显 示。该 设计实 用简便 能够对年、月、日、周、日、时、分、秒进行有效准确的计时及显示。关键词:单片机 ds1302 数码管数字钟based on the design of the digital

4、clock ds1302 report abstract according to the characteristics and the digital clock at89c52 characteristics, this paper presents a ds1302 control by using single chip lcd1602 digital clock shows the design method and design method of software and hardware circuit is given. design report hardware and

5、 software programming. the system through the at89c52 as cpu for total control and utilization of ds1302 at89c52 control, ds1302 to year, month, day, week, day, when, minutes and seconds on the clock lcd1602 lcd display show. keywords: scm ds1302 lcd1602 digital clock 5 前言自古就有:“一寸光阴,一寸金”的说法。而随着人类的进步

6、科学技术的发展时间观也越来越被人们重视,而能够准确的知道时间能够提高人们的工作效率,能更好的在规定的时间内完成所规定的工作。因此能有随时随地的知道当前时间是非常重要的。 随着科学技术的发展, 单片机技术的不断完善, 使得数字钟的设计变得更加的灵便、更加简单、 功能更加的完善、计时也更加的准确。本设计实用简单,设计方便,计时 准确, 能够对年、 月、日 、周、日 、时、分、秒进行准确的计时,可以让人们随时知道时间。本设计利 用 at89c52的特点及ds1302的特点,提出一种基 ds1302单片机控制,再利用数码管显示的数字钟。本设计包括硬件电路和软件程序两个方面,将在后面进行详细叙述。在附录

7、里,分别 本设计相关的资料,包括设计系统主程序,系统原理图,系统使用说明。6 第一章数字钟设计的意义及任务1.1 数字钟设计的意义自古就有: “一寸光阴,一寸金”的说法。而随着人类的进步科学技术的发展时间观也越来越被人们重视,而能够准确的知道时间能够提高人们的工作效率,能更好的在规定的时间内完成所规定的工作。因此能有随时随地的知道当前时间是非常重要的。 随着科学技术的发展, 单片机技术的不断完善, 使得数字钟的设计变得更加的灵便、更加简单、 功能更加的完善、计时也更加的准确。本设计实用简单,设计方便,计时准确, 能够对年、月、日、周、日、时、分、秒进行准确的计时,可以让人们随时知道时间1.2

8、设计任务本设计利用at89c52的特点及ds1302的特点,提出一种基ds1302单片机控制,再利用数码管显示的数字钟。本系统硬件利用at89s52作为 cpu进行总体控制,通过ds1302时钟芯片获取准确详细的时间(年、月、日、周、日、 时、分、 秒准确时间 ) , 对时钟信号进行控制, 同时利用液晶显示芯片lcd1602对时间进行准确显示年、月、日 、周、日、 时、分、秒 。该数字 钟 硬件电路简单,使用灵活,功能稳定, 显示准确且无论对于社会或者科研也有一定的研究价值。7 第二章系统的硬件设计和方案对比选择本章重点主要是从系统结构图来阐述了硬件的设计以及从方案上对比选择各个电路部分的元件

9、, 目的是使系统达到一个低成本、 高质量、稳定可靠的设计。2.1 系统设计结构图根据系统设计的要求和设计思路,确定该系统的系统设计结构图。如图2.1所示。硬件电路主要由mcu 微处理控制器单元、 ds1302时钟电路、储存器、复位电路、晶振电路、数码管显示模块构成。图 2.1 系统结构图设计2.2 系统设计方案对比选择根据设计要求, 结合实际情况和设计成本要求, 对系统主要部分的电路方案叙述如下。2.2.1 mcu 微处理控制器的方案对比选择方案一: mcu 微处理控制器的种类很多,有atmel 公司生产的 at89sxx 系列单片机,其中有 8 位的单片机,也有 16 位的单片机。 at89

10、s52为 8 位的单片机,它是一种低损耗、高性能的cmos 微处理器,片内有 8k字节的存储空间, 128 字节 ram 、4 个 8 位并口、 1 个全双工串行口、 2 个 16 位定时 / 计数器,寻址范围8 64k。并且可以在线进行重复编程、快速擦除、 快速写入程序, 能重复擦除 / 写入 1000 次左右,数据保存时间为十年。方案二:微处理控制器也有凌阳公司生产的,同样有8 位的 cpu 和 16 位的cpu 。它也有很多特点,比如:体积小、集成度高、可靠性好、易于扩展;具有较强的中断处理能力; 功能强、效率高的指令系统及低功耗、低电压。但是其应用领域主要是为控制处理数据处理以及数字信

11、号处理等领域,其中凌阳的16位单片机就是为适应这种发展而设计的。综上所述,在本设计中, 考虑到本人对单片机的运用熟练度和单片机的功能领域,选择 atmel 公司生产的 at89s52单片机作为本设计的微控制器。2.2.2 lcd液晶显示模块的方案对比选择方案一:显示的方法有很多种, 其中 led数码管是常用的一种显示方法。在这个设计中, 可以用 led数码管来显示相应站台的站号,提醒司机知道是去向或者是回向的第几站,让司机心里有数,同时增加显示数字的可读性。该设计中,显示站号至少要 2 个 led数码管,显示时间信息要 12 个,显示星期信息要 1 个,总共需要 15 个 led数码管。单价是

12、 1.2 元,那 15 个共需要 151.2=18(元)。另外在 pcb布线过程中很困难,给设计带来很不方便的使用。方案二:lcd1602液晶显示器是一块价廉物美的器件,其体积小,控制简单,使用方便。它能显示2 行 16 列的数字或英文信息,另外连接它的线很少,只要8 根数据线和 3 根控制线,这样给使用带来很大的方便,节约单片机i/o 口。市场上一块 lcd1602的价格也只在 15 元左右,比数码管便宜。方案三:功能强大、可以显示中文文字的lcd12864 液晶显示器, 其价格贵,体积大,控制比 lcd1602稍微复杂点,但是使用也是很方便的。在控制使用上,需要 8 根数据线和 3 根控制

13、线,其余的 psb 、rst和 bla直接与 vcc 相连接。但是在本设计中使用它的性价比不高,体积大,占用覆铜板面积大,而且笨拙。综上所述,在 lcd液晶显示模块上, 选择方案二中的lcd1602液晶显示器作为本设计的显示模块。显示时间年、月、日、周、日、时、分、秒9 2.2.3 实时时钟电路的方案对比选择方案一: ds1302 是美国 dallas 公司推出的一种高性能、低功耗、带ram的实时时钟电路芯片,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。采用三线接口与cpu 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或ram 数据。

14、 ds1302内部有一个 318的用于临时性存放数据的ram 寄存器。ds1302是有主电源 / 后背电源双电源引脚,可以同时对后背电源进行涓细电流充电。方案二: ds12887也是是美国 dallas 半导体公司最新推出的串行接口实时时钟芯片,采用cmos 技术制成,内部具有晶振和时钟芯片备份锂电池。采用ds12887芯片设计的时钟电路无需任何外围电路和器件,并具有良好的微机接口。ds12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟系统中。但是由于它是串行接口的, 外接单片机需要接很多引脚,才能对它达到一个很好的控制。综上所述,结合本设

15、计的实际问题及单片机的i/o 口线,选择方案一中的ds1302作为本设计的实时时钟电路的芯片。其控制方便、占单片机i/o 口线少、体积小、价格便宜,方便本设计的使用。10 第三章系统的硬件设计电路及元件说明本章根据系统设计结构图来对每个部分的电路进行分析和说明,重点讲述微控制器 at89s52 、数码管 显示模块、实时时钟芯片ds1302 。该系统中at89s52是核心器件,系统的设计原理图如附录二所示。3.1 mcu 微控制器电路at89s52的塑封图如图 3.1 所示,它为 dip40 双列直插塑料封装。 at89s52作为系统的核心控制元件, 只有它能正常工作后才能使其它的元件进入正常工

16、作状态。因此,下面对at89s52进行必要的说明, at89s52的管脚如图 3.2 所示。图 3.1 at89c52 封装图图 3.2 at89c52 引脚图1)vcc :40 脚,供电电压,一般接 +5v电压。2)gnd :20 脚,接工作地。3)p0口:18 脚,p0口是一个 8 位漏极开路的双向i/o 口。作为输出口,每位能驱动 8 个 ttl逻辑电平。对 p0端口写“ 1”时,引脚用作高阻抗输入。11 当访问外部程序和数据存储器时,p0口也被作为低 8 位地址 / 数据复用。在这种模式下, p0具有内部上电阻。但是p0口在程序校验作为输出指令字节时,需要外部加上拉电阻,一般上拉电阻选

17、4.7k10k为宜。本设计中用5.1k 的排阻对 p0口进行上拉电平。4)p1口:3239 脚,p1口是一个内部具有上拉电阻的8 位双向 i/o 口,p1口缓冲器能接收输出4 个 ttl门电流。p1端口写入“1”后,被内部上拉电阻把端口拉高, 此时可以作为作输入口使用。作为输入使用时, 被外部拉低的引脚由于内部电阻的原因,将输出电流。5)p2口:2027 脚,p2 口是一个具有内部上拉电阻的8 位双向 i/o 口,p2 输出缓冲器能驱动4 个 ttl 逻辑电平。对 p2 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。6)p3口:1017 脚,p3 口是一个具有内部上拉电阻的

18、8 位双向 i/o 口,p3 输出缓冲器能驱动4 个 ttl 逻辑电平。对 p3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。7)reset :9脚,复位输入端。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。8)pale/:30 脚,当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 flash 编程期间,此引脚用于输入编程脉冲。 在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6 。因此它可用作对外部输出的脉冲或用于系统校验。9)psen :29脚,外部程序存储器的选通信号。10)vprst/:31 脚,访问外部

19、程序存储器控制信号。当ea为低电平时,读取外部程序存储器;当ea端为高电平时,则读取内部程序存储器,设计中一般接高电平。11)xtal1 :19 脚,振荡器反相放大器和内部时钟发生电路的输入端。如采用外部时钟源时, xtal1为输入端。12) xtal2 : 18 脚,振荡器反相放大器的输出端。 如采用外部时钟源时, xtal2应悬空不接。12 3.2 lcd 液晶显示电路液晶显示器以其微功耗、 体积小、 显示内容丰富、 超薄轻巧的诸多优点,在各种小系统中得到了更广泛的应用。本设计中使用的液晶显示模块是lcd1602 。图 3.3 所示为本设计 lcd1602的连接图。图 3.3 lcd160

20、2 连接图lcd1602 是一种用 5x7 点阵图形来显示字符的液晶显示器模块,它显示的容量为2 行 16 个字。其实物如图3.4 和图 3.5 所示,它的显示内容丰富、体积小、美观和易于控制都是本设计选择作为显示模块的原因。其引脚结构图如图3.6 所示。13 图 3.4 lcd1602正面图图 3.5 lcd1602反面图图 3.6 lcd1602引脚结构图关于 lcd1602的引脚说明如下:1)第 1 脚:gnd 为地电源。2)第 2 脚:vcc 接+5v电源。3)第 3 脚:vee为液晶显示器对比度调整端。接+5v电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时

21、可以通过一个10k的精密电位器调整对比度,一般对比电压为0.7v 左右。14 4)第 4 脚:rs为寄存器选择。高电平时选择数据寄存器,否则选择指令寄存器。5)第 5 脚:rw为读写信号线。高电平时进行读操作,低电平时进行写操作。 当 rs和rw共同为低电平时可以写入指令或者显示地址,当 rs为低电平rw为高电平时可以读出忙信号,当rs为高电平rw为低电平时可以写入数据。6)第 6 脚:e端为使能端。 当 e端由高电平跳变成低电平时,液晶模块执行命令。7)第 714 脚:d0d7为 8 位双向数据线。8)第 15 脚:背光灯 vcc ,一般直接和 +5v电源相连接。9)第 16 脚:背光灯 g

22、nd 。 lcd1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符图有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“a”的代码是01000001b (41h ),显示时模块把地址41h中的点阵字符图形显示出来,我们就能看到字母“ a”。 lcd1602 液晶模块内部的控制器共有11 条控制指令,如表3.1 所示。指令rs r/w d7 d6 d5 d4 d3 d2 d1 d0 清显示0 0 0 0 0 0 0 0 0 1 光标返回0 0 0 0 0 0 0 0 1 * 置输入模式0 0 0 0 0 0

23、 0 1 i/d s 显示开 / 关控制0 0 0 0 0 0 1 d c b 光标或字符移位0 0 0 0 0 1 s/c r/l * * 置功能0 0 0 0 1 dl n f * * 置字符发生存贮器地址0 0 0 1 字符发生存贮器地址置数据存贮器地址0 0 1 显示数据存贮器地址( add )读忙标志或地址0 1 bf 计数器地址( ac )写数到 cgramd或 dram 1 0 要写的数15 从 cgramd或 dram 读数1 1 读出的数据它的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1 为高电平, 0 为低电平)。指令 1:清显示,指令码01h ,光标复位到

24、地址00h位置。指令 2:光标复位,光标返回到地址00h 。指令 3:光标和显示模式设置 i/d :光标移动方向,高电平右移,低电平左移 。s:屏幕上所有文字是否左移或者右移。高电平表示有效, 低电平则无效。指令 4:显示开关控制。 d:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。 c:控制光标的开与关, 高电平表示有光标, 低电平表示无光标。 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5:光标或显示移位 s/c :高电平时移动显示的文字,低电平时移动光标 。指令 6:功能设置命令 dl:高电平时为 4 位总线,低电平时为8 位总线。n:低电平时为单行显示,高电平时双

25、行显示。 f :低电平时显示 5x7的点阵字符,高电平时显示5x10 的点阵字符(有些模块是 dl:高电平时为 8 位总线,低电平时为 4 位总线)。指令 7:字符发生器 ram 地址设置。指令 8:ddram 地址设置。指令 9:读出忙信号和光标地址。 bf 为忙标志位,高电平表示忙,此时模块不能接收命令或者数据, 如果为低电平表示不忙, 模块就能接收相应的命令或者数据。指令 10:写数据。指令 11:读数据。液晶显示模块是一个慢显示器件, 所以在执行每条指令之前一定要确认模块的忙标志位是不是为低电平,是低电平则表示不忙, 否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在

26、哪里显示字符。表3.2 为lcd1602 的内部显示地址。16 表 3.2 lcd1602的内部显示地址3.3 实时时钟电路本设计使用的实时时钟电路芯片是美国dallas 公司生产的一种高性能、低功耗、带 ram 的实时时钟电路芯片ds1302 ,其引脚如图3.14 所示。 vcc1为后备电源, vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。ds1302由 vcc1或 vcc2两者中的较大者供电;当 vcc2大于 vcc10.2v 时,vcc2给 ds1302供电;当 vcc2小于 vcc1时,ds1302由 vcc1供电。x1和 x2是振荡源,外接 32.768khz 晶振

27、。rst是复位/ 片选线,通过把rst输 入驱动置高电平来启动所有的数据传送。图 3.14 ds1302 引脚图rst输入有两种功能。首先,rst接通控制逻辑,允许地址 / 命令序列送入移位寄存器;其次,rst提供终止单字节或多字节数据的传送手段。当rst为高电平时,所有的数据传送被初始化,允许对ds1302进行操作。如果在传送过程中rst置为低电平,则会终止此次数据传送,i/o 引脚变为高阻态。上电运行时在 vcc2.5v 之前,rst必须保持低电平。只有在sclk为低电平时,才能将rst置为高电平。 i/o 为串行数据输入输出端 ( 双向) ,sclk始终是输入端。 本设计入端。本设计连接

28、图如图3.15 所示,其中 c1和 c2起微调晶振的作用。17 ds1302接线图3.4 复位电路在 at89s52单片机中的振荡器运行时,rst引脚上保持到少2 个机器周期的高电平输入信号, 复位过程即可完成。 根据此原理, 本设计采用上电复位和按键复位嵌套在系统中,增强了系统的实用性。本设计的具体复位图如下。3.5 晶振电路at89s52在工作时需要外部提供时钟信号,因此,本设计选择在其18 脚 19脚之间接上 12mhz的晶振,为单片机提供1s 的机器振荡周期。其电路连接图如图所示。 在图中,电容器 c3.c4起稳定振荡频率、 快速起振的作用, 其电容值一般在 2050pf 18 第四章

29、系统的软件设计。4.1 主程序系统的主程序设计是用来控制整个系统运行时的时序工作状态,因此,完善的程序设计是本设计的重点内容。下图是是本设计使用的主程序设计流程图。以下是程序主程序的一下部分: org 00h ajmp start ;= org 0050h start: mov sp,#70h lcall initialze ;调用初始化液晶屏幕 lcall init_p ;调用初始画面19 mov a, #00000001b ;清液晶屏,写成空白lcall write_com ;= 主程序 = main: lcall rd_ds1302 lcall data_buf lcall displa

30、y ajmp main ,第五章程序的调试本章主要介绍程序的调试。主要利用仿真软件proteus 及学习板来确认程序是否能显现功能。5.1proteus仿真proteus软件是英 国 labcenter electronics公司出版 的 eda工具软件(该软件中国总代理为广州风标电子技术有限公司)。 它不仅具有其它eda工 具软件 的仿真 功能, 还能仿真 单片机 及外围 器件。 它是目 前最好 的仿真单 片机及 外围器 件的工 具。虽然 目前国 内推广 刚起步 ,但已 受到单 片机爱好 者、从 事单片 机教学 的教师、 致力于 单片机 开发应 用的科 技工作 者的青睐。 proteus是世

31、界上著名的eda工具 (仿真软件 ) ,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 pcb设计, 真正实现了从概念到产品的完整设计。 是目前世 界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台。利用 proteus画好相应的硬件电路图,并把程序烧入软件仿真,看是否能显示功能。下图为本设计在proteus的仿真 电路图。20 5.2 利用学习板进行调试经过 proteus仿真后,再把程序烧入单片机学习板看是否能显示功能。下图为学习板上的运行图:21 5.3 调试过程中出现的问题利用 proteus 绘制出相应硬件电路后进行仿真,出现液晶显示无法正常显示的问题。经过思考和查阅的资料发现at89c52 的 p0在进高电平时没有接上拉电阻导致 lcd1602无法正常显示时间。修改电路后(p0 口接上拉电阻)烧入程序后,程序正常运行, lcd1602 准确的显示。用 proteus 仿真能够正确的现实时间,但烧入学习板出现乱码现

温馨提示

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

评论

0/150

提交评论