基于52单片机和DS12C887的高精度多功能电子钟.doc
《基于52单片机和DS12C887的高精度多功能电子钟.doc》由会员分享,可在线阅读,更多相关《基于52单片机和DS12C887的高精度多功能电子钟.doc(10页珍藏版)》请在三一文库上搜索。
1、基于52单片机和DS12C887的高精度多功能电子钟设计基于DS12C887高精度时钟的意义DS12C887时钟芯片能够自动显示年、月、日、时、分、秒等时间信息,同时还具有校时,报时,闹钟等功能。DS12C887也可以很方便的由软件编程进行功能的调整或增加。所以设计基于DS12C877时钟芯片的高精度时钟的设计具有十分重要的现实意义和实用价值。设计方案在传统的基于单片机的数字时钟设计的基础上经过一些改进,引入DS12C887时间芯片,本次设计可分为两部分:硬件部分包括:体积小功能丰富的STC89C52单片机、具有掉电保护的DS12C887时钟芯片电路简单易于实现的1602LCD液晶显示器,键盘
2、输入电路等。具体说来,系统智能控制部分由单片机及其相关的外围电路组成,外围电路包括解决死机等问题的复位电路、波形稳定的晶振电路、键盘设计、闹铃电路以及合适的直流电源电路。利用单片机将复位电路、能够降低功耗和减少显示器外部引线的显示电路、电源电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。软件部分主要包括了主程序模块,DS12C887模块,LCD1602模块,键盘控制模块。DS12C887芯片具有掉电保护功能,内部自带锂电池,能够在断电的情况下保持时间信息,等到外部电路恢复供电之后能够不必调整时间,为时钟的校时操作节省了很多时间,而且这种设计更节能,在需要观察时间的时候比如
3、白天就可以给主电路通电。而在夜晚不需要观察时钟的时候就可以给主电路断电,这样可以节约大量电能。时间芯片DS12C887采用了内部集成晶振的电路,并且具有内部温漂补偿电路设计。能够准确计时,提供精确的时间,这样就简化了电路的器件选择,另外也使程序的设计更加简洁。在硬件设计方面,由于只增加了一个DS12C887时间芯片,因此并不是特别复杂,而且这种独立计时的设计使得产品排故更加方便。设计过程详解一、系统组成1、系统原理与硬件设计本次的设计题目是电子万年历设计,要求实现年、月、日、时、分、秒的正常显示,需要硬件和软件的结合来实现。本次设计利用时钟日历芯片DS12C887的特性和STC89C52单片机
4、的功能利用实现的。根据设计的要求万年历要显示年、月、日、时、分、秒的显示同LCD1602。在明确本次设计思路之后,画出设计框图,总体框图如图2.1所示。2、硬件选择(1)时钟芯片选择 选用DS12C887时钟芯片。(2)单片机的选择 选用STC89C52单片机,并配备11.0592MHz晶振,复位电路采用上电复位。(3)显示电路选择 采用LCD1602液晶显示。(4)电源选择 采用直流5V电源供电。3、单片机STC89C52中文资料STC89C52 是STC公司生产的低电压,高性能CMOS 8位单片机片内含8K byTES的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取
5、数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052 产品引脚兼容,片内置通用8位中央处理器(CPU )和FLASH由存储单元, STC89C52单片功能强大,适用于许多电子产品。主要性能参数:Vcc:电源电压 GND:地线P0:P0口是一组8位漏极开路型双向1/O 口,也即地址/数据总线复用口。作为输出口用时每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写1时,可作为高阻抗输入端用。当访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部 上拉电阻。在FLASH由编程时,P0口接
6、收指令字节,而在程序校验时,输出指令字 节,校验时,要求外接上拉电阻。P1口:PI 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL与AT89C51不同之处是,Pl.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(Pl.0/T2 )和输入(P1.1/T2EX) ,参见图3FLASH编程和程序校验期间,Pl接收低8位地址。图3 PI.O 和PI.l 的第二功能口:P2 是一个带有内部上拉电阻
7、的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写l,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt )。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvxDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TT
8、L逻辑门电路。对P3口写入1时,内部上拉电阻把它们被拉高,并作为输入的端口。这个时候,被外部拉低的P3口将用上拉电阻输出电流(IIL) 。P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如图表1:此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。 RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上的高电平时单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器的时候,ALE(地址锁存允许)输出脉冲用来锁存低8位字节的地址通常,ALE依然以时钟振荡频率的1/6输出固定的脉冲信号,所以可以用来实现对外输出时钟或用于定时目的。每次访问外部数据
9、存储器时将跳过一个ALE脉冲。对Flash存储器编程的时候,这个引脚还用于输入编程脉冲(PROG)。可以通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,另外,此引脚会被拉高一点点,当单片机执行外部程序得时候,应该把ALE设置为禁止。PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令时,每个机器周期两次PSEN有效,就是输出两个脉冲。这个时候,当访问外部数据存储器时,就会跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址
10、为0000H-FFFFH ) , EA端必须保持低电平(接地)如EA端接在高电平上, CPU就执行内部程序存储器中的指令。flash存储器编程时,该引脚加上+12V的编程允许电源VPP ,该器件必须使用12V编程电压VPP 。XTAL1:振荡器的反相放大器的及内部时钟发生器的输入端 XTAL2:振荡器的反相放大器的输出端。AT89C52的特殊功能是,在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFR),SFR 的地址空间映象如表2 所示。并非所有的地址都被定义,从80HFFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 52 单片机 DS12C887 高精度 多功能 电子钟
链接地址:https://www.31doc.com/p-3409016.html