基于DS1302时钟芯片数字钟报告Word下载.docx
- 文档编号:6286429
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:34
- 大小:818.74KB
基于DS1302时钟芯片数字钟报告Word下载.docx
《基于DS1302时钟芯片数字钟报告Word下载.docx》由会员分享,可在线阅读,更多相关《基于DS1302时钟芯片数字钟报告Word下载.docx(34页珍藏版)》请在冰点文库上搜索。
自古就有:
本设计实用简单,设计方便,计时准确,能够对年、月、日、周、日、时、分、秒进行准确的计时,可以让人们随时知道时间
1.2设计任务
本系统硬件利用AT89S52作为CPU进行总体控制,通过DS1302时钟芯片获取准确详细的时间(年、月、日、周、日、时、分、秒准确时间),对时钟信号进行控制,同时利用液晶显示芯片LCD1602对时间进行准确显示年、月、日、周、日、时、分、秒。
该电子钟硬件电路简单,使用灵活,功能稳定,显示准确且无论对于社会或者科研也有一定的研究价值。
2系统的硬件设计和方案对比选择
本章重点主要是从系统结构图来阐述了硬件的设计以及从方案上对比选择各个电路部分的元件,目的是使系统达到一个低成本、高质量、稳定可靠的设计。
2.1系统设计结构图
根据系统设计的要求和设计思路,确定该系统的系统设计结构图。
如图2.1所示。
硬件电路主要由MCU微处理控制器单元、DS1302时钟电路、储存器、复位电路、晶振电路、LCD1602液晶显示模块构成。
图2.1系统结构图设计
2.2系统设计方案对比选择
根据设计要求,结合实际情况和设计成本要求,对系统主要部分的电路方案叙述如下。
2.2.1MCU微处理控制器的方案对比选择
方案一:
MCU微处理控制器的种类很多,有ATMEL公司生产的AT89SXX系列单片机,其中有8位的单片机,也有16位的单片机。
AT89S52为8位的单片机,它是一种低损耗、高性能的CMOS微处理器,片内有8K字节的存储空间,128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器,寻址范围64K。
并且可以在线进行重复编程、快速擦除、快速写入程序,能重复擦除/写入1000次左右,数据保存时间为十年。
方案二:
微处理控制器也有凌阳公司生产的,同样有8位的CPU和16位的CPU。
它也有很多特点,比如:
体积小、集成度高、可靠性好、易于扩展;
具有较强的中断处理能力;
功能强、效率高的指令系统及低功耗、低电压。
但是其应用领域主要是为控制处理数据处理以及数字信号处理等领域,其中凌阳的16位单片机就是为适应这种发展而设计的。
综上所述,在本设计中,考虑到本人对单片机的运用熟练度和单片机的功能领域,选择ATMEL公司生产的AT89S52单片机作为本设计的微控制器。
2.2.2LCD液晶显示模块的方案对比选择
显示的方法有很多种,其中LED数码管是常用的一种显示方法。
在这个设计中,可以用LED数码管来显示相应站台的站号,提醒司机知道是去向或者是回向的第几站,让司机心里有数,同时增加显示数字的可读性。
该设计中,显示站号至少要2个LED数码管,显示时间信息要12个,显示星期信息要1个,总共需要15个LED数码管。
单价是1.2元,那15个共需要15×
1.2=18(元)。
另外在PCB布线过程中很困难,给设计带来很不方便的使用。
LCD1602液晶显示器是一块价廉物美的器件,其体积小,控制简单,使用方便。
它能显示2行16列的数字或英文信息,另外连接它的线很少,只要8根数据线和3根控制线,这样给使用带来很大的方便,节约单片机I/O口。
市场上一块LCD1602的价格也只在15元左右,比数码管便宜。
方案三:
功能强大、可以显示中文文字的LCD12864液晶显示器,其价格贵,体积大,控制比LCD1602稍微复杂点,但是使用也是很方便的。
在控制使用上,需要8根数据线和3根控制线,其余的PSB、
和BLA直接与VCC相连接。
但是在本设计中使用它的性价比不高,体积大,占用覆铜板面积大,而且笨拙。
综上所述,在LCD液晶显示模块上,选择方案二中的LCD1602液晶显示器作为本设计的显示模块。
显示时间年、月、日、周、日、时、分、秒
2.2.3实时时钟电路的方案对比选择
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路芯片,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×
8的用于临时性存放数据的RAM寄存器。
DS1302是有主电源/后背电源双电源引脚,可以同时对后背电源进行涓细电流充电。
DS12887也是是美国DALLAS半导体公司最新推出的串行接口实时时钟芯片,采用CMOS技术制成,内部具有晶振和时钟芯片备份锂电池。
采用DS12887芯片设计的时钟电路无需任何外围电路和器件,并具有良好的微机接口。
DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,可广泛用于各种需要较高精度的实时时钟系统中。
但是由于它是串行接口的,外接单片机需要接很多引脚,才能对它达到一个很好的控制。
综上所述,结合本设计的实际问题及单片机的I/O口线,选择方案一中的DS1302作为本设计的实时时钟电路的芯片。
其控制方便、占单片机I/O口线少、体积小、价格便宜,方便本设计的使用。
3系统的硬件设计电路及元件说明
本章根据系统设计结构图来对每个部分的电路进行分析和说明,重点讲述微控制器AT89S52、液晶显示模块LCD1602、实时时钟芯片DS1302。
该系统中AT89S52是核心器件,系统的设计原理图如附录二所示。
3.1MCU微控制器电路
AT89S52的塑封图如图3.1所示,它为DIP40双列直插塑料封装。
AT89S52作为系统的核心控制元件,只有它能正常工作后才能使其它的元件进入正常工作状态。
因此,下面对AT89S52进行必要的说明,AT89S52的管脚如图3.2所示。
图3.1AT89C52封装图图3.2AT89C52引脚图
1)VCC:
40脚,供电电压,一般接+5V电压。
2)GND:
20脚,接工作地。
3)P0口:
1~8脚,P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上电阻。
但是P0口在程序校验作为输出指令字节时,需要外部加上拉电阻,一般上拉电阻选4.7K~10K为宜。
本设计中用5.1K的排阻对P0口进行上拉电平。
4)P1口:
32~39脚,P1口是一个内部具有上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
P1端口写入“1”后,被内部上拉电阻把端口拉高,此时可以作为作输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
5)P2口:
20~27脚,P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
6)P3口:
10~17脚,P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
7)RESET:
9脚,复位输入端。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
8)
:
30脚,当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于系统校验。
9)PSEN:
29脚,外部程序存储器的选通信号。
10)
31脚,访问外部程序存储器控制信号。
当
为低电平时,读取外部程序存储器;
端为高电平时,则读取内部程序存储器,设计中一般接高电平。
11)XTAL1:
19脚,振荡器反相放大器和内部时钟发生电路的输入端。
如采用外部时钟源时,XTAL1为输入端。
12)XTAL2:
18脚,振荡器反相放大器的输出端。
如采用外部时钟源时,XTAL2应悬空不接。
3.2LCD液晶显示电路
液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各种小系统中得到了更广泛的应用。
本设计中使用的液晶显示模块是LCD1602。
图3.3所示为本设计LCD1602的连接图。
图3.3LCD1602连接图
LCD1602是一种用5x7点阵图形来显示字符的液晶显示器模块,它显示的容量为2行16个字。
其实物如图3.4和图3.5所示,它的显示内容丰富、体积小、美观和易于控制都是本设计选择作为显示模块的原因。
其引脚结构图如图3.6所示。
图3.4LCD1602正面图
图3.5LCD1602反面图
图3.6LCD1602引脚结构图
关于LCD1602的引脚说明如下:
1)第1脚:
GND为地电源。
2)第2脚:
VCC接+5V电源。
3)第3脚:
VEE为液晶显示器对比度调整端。
接+5V电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的精密电位器调整对比度,一般对比电压为0.7V左右。
4)第4脚:
RS为寄存器选择。
高电平时选择数据寄存器,否则选择指令寄存器。
5)第5脚:
为读写信号线。
高电平时进行读操作,低电平时进行写操作。
当RS和
共同为低电平时可以写入指令或者显示地址,当RS为低电平
为高电平时可以读出忙信号,当RS为高电平
为低电平时可以写入数据。
6)第6脚:
E端为使能端。
当E端由高电平跳变成低电平时,液晶模块执行命令。
7)第7~14脚:
D0~D7为8位双向数据线。
8)第15脚:
背光灯VCC,一般直接和+5V电源相连接。
9)第16脚:
背光灯GND。
LCD1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符图有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
LCD1602液晶模块内部的控制器共有11条控制指令,如表3.1所示。
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清显示
1
光标返回
*
置输入模式
I/D
S
显示开/关控制
D
C
B
光标或字符移位
S/C
R/L
置功能
DL
N
F
置字符发生存贮器地址
字符发生存贮器地址
置数据存贮器地址
显示数据存贮器地址(ADD)
读忙标志或地址
BF
计数器地址(AC)
写数到CGRAMD或DRAM
要写的数
从CGRAMD或DRAM读数
读出的数据
它的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:
1为高电平,0为低电平)。
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移。
S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示。
C:
控制光标的开与关,高电平表示有光标,低电平表示无光标。
B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线。
N:
低电平时为单行显示,高电平时双行显示。
F:
低电平时显示5X7的点阵字符,高电平时显示5x10的点阵字符(有些模块是DL:
高电平时为8位总线,低电平时为4位总线)。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读出忙信号和光标地址。
BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙,模块就能接收相应的命令或者数据。
指令10:
写数据。
指令11:
读数据。
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志位是不是为低电平,是低电平则表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。
表3.2为LCD1602的内部显示地址。
表3.2LCD1602的内部显示地址
3.3实时时钟电路
本设计使用的实时时钟电路芯片是美国DALLAS公司生产的一种高性能、低功耗、带RAM的实时时钟电路芯片DS1302,其引脚如图3.14所示。
VCC1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由VCC1或VCC2两者中的较大者供电;
当VCC2大于VCC1+0.2V时,VCC2给DS1302供电;
当VCC2小于VCC1时,DS1302由VCC1供电。
X1和X2是振荡源,外接32.768kHz晶振。
是复位/片选线,通过把
输入驱动置高电平来启动所有的数据传送。
图3.14DS1302引脚图
输入有两种功能。
首先,
接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,
提供终止单字节或多字节数据的传送手段。
为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中
置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时在Vcc≥2.5V之前,
必须保持低电平。
只有在SCLK为低电平时,才能将
置为高电平。
I/O为串行数据输入输出端(双向),SCLK始终是输入端。
本设计入端。
本设计连接图如图3.15所示,其中C1和C2起微调晶振的作用。
DS1302接线图
3.4复位电路
在AT89S52单片机中的振荡器运行时,
引脚上保持到少2个机器周期的高电平输入信号,复位过程即可完成。
根据此原理,本设计采用上电复位和按键复位嵌套在系统中,增强了系统的实用性。
本设计的具体复位图如下。
3.5晶振电路
AT89S52在工作时需要外部提供时钟信号,因此,本设计选择在其18脚19脚之间接上12MHz的晶振,为单片机提供1μs的机器振荡周期。
其电路连接图如图所示。
在图中,电容器C3.C4起稳定振荡频率、快速起振的作用,其电容值一般在20~50pF
4系统的软件设计。
4.1主程序
系统的主程序设计是用来控制整个系统运行时的时序工作状态,因此,完善的程序设计是本设计的重点内容。
下图是是本设计使用的主程序设计流程图。
以下是程序主程序的一下部分:
ORG00H
AJMPSTART
;
==================================
ORG0050H
START:
MOVSP,#70H
LCALLINITIALZE;
调用初始化液晶屏幕
LCALLINIT_P;
调用初始画面
MOVA,#00000001B;
清液晶屏,写成空白
LCALLWRITE_COM
============主程序================
MAIN:
LCALLRD_DS1302
LCALLDATA_BUF
LCALLDISPLAY
AJMPMAIN
………………………………
5程序的调试
本章主要介绍程序的调试。
主要利用仿真软件proteus及学习板来确认程序是否能显现功能。
5.1proteus仿真
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。
利用proteus画好相应的硬件电路图,并把程序烧入软件仿真,看是否能显示功能。
下图为本设计在proteus的仿真电路图。
5.2利用学习板进行调试
经过Proteus仿真后,再把程序烧入单片机学习板看是否能显示功能。
下图为学习板上的运行图:
5.3调试过程中出现的问题
利用Proteus绘制出相应硬件电路后进行仿真,出现液晶显示无法正常显示的问题。
经过思考和查阅的资料发现AT89C52的P0在进高电平时没有接上拉电阻导致LCD1602无法正常显示时间。
修改电路后(P0口接上拉电阻)烧入程序后,程序正常运行,LCD1602准确的显示。
用Proteus仿真能够正确的现实时间,但烧入学习板出现乱码现实不能正常工作。
经过反复检查及思考发现仿真软件上的硬件电路与学习板上的硬件电路不一致无法对应起来。
最后根据学习板的硬件电路修改相应程序及仿真软件上的硬
件电路,最终现实了功能。
设计总结
在设计过程中我们先后利用keil软件进行编程、Proteus进行仿真、protel进行原理图及PCB图的绘制,最后再利用学习板进行检查看程序是否能显示其功能。
在过程中让我进一步深刻的学习各种软件的利用以及各种软件给我们带来的便利。
特别是proteus在没有实物的情况下进行仿真进行程序的检查看是否能现实功能。
该电子钟通过单片机AT89C52做CPU进行总的控制,基于时钟芯片DS1302产生时间,利用LCD1602进行液晶显示的一个简易的电子钟。
LCD1602能够对年、月、日、周、日、时、分、秒进行计时及显示。
通过设计后能够熟练的掌握时钟芯片DS1302、LCD1620、AT89C52的的各个引脚及功能,并能够掌握和运用这几个芯片。
通过这次课题设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
这次课程设计终于顺利完成了,在设计中遇到了很多专业知识问题,最后在老师的辛勤指导下,终于游逆而解。
同时,在老师的身上我们学也到很多实用的知识,在次我们表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
参考文献
[1]张迎新等编著单片机初级教程——单片机基础(第二版)北京航空航天大学出版社2006.8
[2]阎石编著数字电子技术基础(第五版)北京高等教育出版社]2006.1~550
[3]蔡明文冯先成主编单片机课程设计华中科技大学出版社2007.3
[4]陈明萤编著8051单片机课程设计实训教材清华大学出版社2004
[5]康华光编著模拟电子技术基础(第五版)高等教育出版社2006
[6]黄智伟编著全国大学生电子设计竞赛电路(第一版)航空航天大学出版社2006.36
附录一系统程序:
由于本程序过长,只取一部分以供参考,以下为部分程序:
=====液晶屏通信引脚定义=====
RSBITP2.0
RWBITP2.1
EBITP2.2
DB0_DB7EQUP0
=====DS1302通信引脚定义=====
RSTBITP2.5
SCLKBITP2.3
IOBITP2.4
=====定义数据存储地址========
DS1302_ADDRDATA30H;
地址寄存器
DS1302_DATADATA31H;
数据寄存器
TIME_YEARDATA32H;
年寄存器
TIME_MONTDATA33H;
月寄存器
TIME_DAYDATA34H;
天寄存器
WEEK_DATADATA35H;
星期寄存器
HOURDATA36H;
小时寄存器
MINTUEDATA37H;
分钟寄存器
SECONDDATA38H;
秒钟寄存器
=========显示数据缓冲地址============
YEAR_HBUFDATA40H
YE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DS1302 时钟 芯片 数字 报告