1 绪论 ......................................................... 3 2 设计思路 ..................................................... 3 2.1 日历时钟芯片的选择 ...................................... 3 2.2LCD液晶显示的选择 ..................................... 3 3 硬件电路设计 ................................................. 5 3.1 结构框图 ................................................ 5 3.2 主要器件 ................................................ 5 3.2.1 单片机 ............................................. 5 3.2.2 日历时钟芯片DS12C887 ............................... 9 3.2.3 LCD液晶显示芯片1602 ......................... 12 3.3.1 控制电路 .......................................... 18 3.3.2 日历时钟电路 ...................................... 18 3.3.3 显示电路 .......................................... 19 3.4 DS12C887的内存空间 .................................. 21 4 软件设计 .................................................... 24 4.1 时钟部分软件设计 ....................................... 28 4.2 调整部分软件设计 ....................................... 31 5.电源的配置 .................................................. 35 参考文献 ...................................................... 38 附录 .......................................................... 38
1
摘 要
在51单片机应用系统中,常常需要记录实时的时间信息并长期保存。比如,在数据采集时,对某些重要的信息不仅需要记录其内容,还需要记录下该事件发生的准确时间;在银行营业大厅中使用的利率或汇率显示屏,上面除了需要显示利率或汇率等数据以外,还需要显示实时的时间信息,如年、月、日、星期、时间等。本文用51单片机以及DS12C887日历时钟芯片实现日历时钟的设计。
论文研究了DS12C887日历时钟芯片的相关功能,单片机和连接LCD液晶显示实现实时日历时钟显示系统的硬件,软件设计。
设计结果表明本文设计的基于DS12C887的实时日历时钟显示系统完全能够满足设计要求。
关键词:DS12C887;51单片机;LCD液晶显示
Abstract
The 51-series microcomputer application system, often need to record real-time time information and long-term preservation. For example, in the data acquisition, for some important information needs not only records the content, still need to record this event of the exact time, The bank's business hall used in interest rates or rate above screen, besides need show interest rate or rate data such as beyond, still need to display real-time time information, such as the year, month, day, week, time, etc. This paper USES 51 SCM and DS12C887 calendar clock chip realize calendar clock design.
The thesis research DS12C887 calendar clock chip related functions, SCM and connection LCD realize real-time calendar clock display system hardware and software design.
Design result shows that this design based on the real-time calendar DS12C887 clock display system can fully satisfy the design requirements.
Keywords : DS12C887; 51 SCM, LCD di
2
1 绪论
在许多电子设备中,通常会进行一些与时间有关的控制,如果用系统的定时器来设计时钟的话,偶然的掉电或晶振的误差都会造成时间的错乱,更糟糕的是,若完成用程序设计时钟还会占用大量的系统资源,从而严重的影响系统的其它功能。为此,我采用时钟芯片来完成对日期的控制,这样不仅更加精确而且还不会因掉电而失去数据。
本次设计的功能是在51单片机系统中设置、获取、记录实时的日历时钟信息并通过LCD液晶显示,要求能够进行长时间的记录,并且存储的时间信息在掉电情况下至少保存10年以上。
实时显示可以通过软件编程实现,但这种方法需要编制的程序复杂,代码多且单片机软件开销大,时间信息也不宜长期保存。而采用专用实时时钟芯片可以避免这些问题,并且可以非易失地长期保存时间信息,因此,在设计中选择使用专用芯片来实现日历时钟显示系统。
根据功能模块的划分,本系统包括3个部分:
1) 51单片机模式块:其作用是和外围的时钟芯片通信,并控制数据传输过程,采集时间信息并予以处理;
2) 日历时钟模块:此模块由专用的实时时钟芯片构成,它是本设计的核心模块,由它提供实时的日历时钟信息;
3) LCD液晶显示模块:此模块用于实时日历时钟信息显示;程序部分包括单片机和时钟芯片的接口程序(实现单片机和时钟芯片之间的数据传输过程)以及LCD液晶显示程序。
2 设计思路
由于系统要实现的功能比较简单(主要就是获取实时时间信息并在LCD液晶上显示),因此设计思路比较清晰。
2.1 日历时钟芯片的选择
本次设计题目要求能够进行长时间的记录包括日历、星期在内时间信息,并且存储的时间信息在掉电情况下可以保存10年以上。根据这些要求,本次设计选用达拉斯公司的日历时钟芯片DS12C887作为实时时钟芯片,为系统提供详细的年、月、日、星期和小时、分钟等时间信息。
DS12C887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片,同时,它的管脚也和MC146818B、DS1287相兼容。
由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决了“千年”问题;DS12C887中自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用RAM供用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。[1]
2.2LCD液晶显示的选择
使用何种LCD液晶对于本设计的实现至关重要,因此首先必须选取合适的
3
LCD液晶的I/O口连接。
目前市面上已有的LCD显示驱动芯片种类繁多,从性价比以及功能实用性的角度考虑,本设计选择长沙太阳人电子有限公司的LCD1602液晶显示。
显示质量高
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。
数字式接口
液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
体积小、重量轻
液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。
功耗低
相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。
液晶显示简介 ①液晶显示原理
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
②液晶显示器的分类
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。
③液晶显示器各种图形的显示原理: 线段的显示
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。
字符的显示
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示
4