单片机电子时钟1602显示ds12c887芯片.docx
《单片机电子时钟1602显示ds12c887芯片.docx》由会员分享,可在线阅读,更多相关《单片机电子时钟1602显示ds12c887芯片.docx(29页珍藏版)》请在三一办公上搜索。
1、沈阳理工大学课程设计专用纸 .29摘 要本论文设计一个基于单片机、液晶1602显示和DS12C887高精度时钟芯片控制于一体的高精度电子时钟。计时器是人类发展以来对于时间观念认知的伟大发明,不少机器设备上也少不了高精度计时器的支持,工业上计时器的应用无处不在,生活中人们根据时间上班,工作,生活,学习所以高精度稳定的计时器扮演着非常重要的角色。本设计以宏晶公司的STC89C52单片机为控制核心,以液晶屏LCD1602显示器为显示模块,依靠DS12C887芯片高精度计时的特点,可以设计出一个具有显示年月日,星期,时分秒,以及定时闹钟功能为一体的高精度电子时钟,本时钟具有如下特点:(1) 计时准确,
2、基本无误差,运行10年误差仅1秒;(2) 可以随意设置时间,包括年月日,星期,时分秒,闹钟开/关,时间;(3) 系统掉电后,时钟仍可精确计时10年;(4) 系统上电后,自动恢复正常时间;(5) 本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。关键词:STC89S52单片机 LCD1602 DS12C887 精确计时 目录摘 要1目录21 引 言32 总体设计42.1基本原理42.2系统总体框图及设计思路83 详细设计93.1 硬件设计93.2软件设计.133.2.1程序设计思路133.2.2 程序流程图133.2.3 程序代码144 系
3、统调试及分析265 心得体会28参考文献291 引 言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 计时器是人类发展以来对于时间观念认知的伟大发明,不少机器设备上也少不了高精度计时器的支持,工业上计时器的应用无处不在,生活中人们根据时间上班,工作所以高精度稳定的计时器扮演着非常重要的角色。 本文主要对使用单片机设计电子时钟进行了分析,并介绍了基于单片机电子时钟硬件组成。利用单片机为控制核心,以液晶屏L
4、CD1602显示器为显示模块,依靠DS12C887芯片高精度计时的特点,可以设计出一个具有显示年月日,星期,时分秒,以及定时闹钟功能为一体的高精度电子时钟。并且本文分别从原理图,主要芯片,以及程序的调试来详细阐述。 如果直接使用单片机进行定时、计时,那么单片机运行代码时,难免会因环境、人为操作等因素导致时间不能准确,产生一定的误差等,如果没有特殊的方法,系统意外掉电时,时间数据会丢失,重启系统时还需重设时间,所以本设计采取使用高精度计时芯片DS12C887方案。2 总体设计2.1基本原理1.单片机控制原理:它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本
5、,这也是和离线式计算机的(比如家用PC)的主要区别。目前最常用的单片机为MCS-51,是由美国INTEL公司(生产CPU的英特尔)生产的,89C51是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的,其内核兼容MCS-51单片机。单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机只缺少了I/O设备。概括
6、的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。2.DS12C887工作原理:在DS12C887内有11字节RAM用来存储时间信息,4字节用来存储控制信息,其具体地址及取值如表1所列。表1 DS12C887的存储功能地址功能取值范围(十进制)取值范围二进制BC
7、D码0秒059003B00591秒闹铃059003B00592分059003B00593分闹铃059003B0059412小时模式112010C AM818C PM0112 AM8192 PM24小时模式023001700235时闹铃,12小时制112010C AM818C PM0112 AM8192 PM时闹铃,24小时制023001700236星期(星期日=1)17010701077日131011F01318月112010C01129年0990063009910控制寄存器A11控制寄存器B12控制寄存器C13控制寄存器D50世纪099NA19,203.液晶LCD1602工作原理:LCD指令
8、表指令功能控制线数据线RSR/WD7D6D5D4D3D2D1D0清除屏幕0000000001清除屏幕,并把光标移至左上角光标回到原点000000001x光标移至左上角,显示内容不变设定进入模式00000001I/DSI/D=1:地址递增,I/D=0:地址递减 S=1:开启显示屏,S=0:关闭显示屏显示器开关0000001DCBD=1:开启显示幕 C=1:开启光标 B=1:光标所在位置的字符闪烁移位方式000001S/CR/LxxS/C=0、R/L=0:光标左移;S/C=0、R/L=1:光标右移 S/C=1、R/L=0:字符和光标左移;S/C=1、R/L=1:字符和光标右移功能设定00001DL
9、NFxxDL=1:数据长度为8位,DL=0:数据长度为4位 N=1:双列字,N=0:单列字;F=1:5x10字形,F=0:5x7字形CG RAM地址设定0001CG RAM地址将所要操作的CG RAM地址放入地址计数器DD RAM地址设定001DD RAM地址将所要操作的DD RAM地址放入地址计数器忙碌标志位BF01BF地址计数器内容读取地址计数器,并查询LCM是否忙碌,BF表示LCM忙碌写入数据10写入数据将数据写入CG RAM或DD RAM读取数据11读取数据读取CG RAM或DD RAM的数据图 10-57 1602LCD 内部显示地址 例如第二行第一个字符的地址是 40H,那么是否直
10、接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。 在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。 1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,如图 10-58 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,
11、比如大写的英文字母“A”的代码是 01000001B (41H),显示时模块把地址 41H中的点阵字符图形显示出来,我们就能看到字母“A”2.2系统总体框图及设计思路电子时钟液晶1602显示人机键盘交互计时+闹钟 总体设计思路:本设计利用单片机P0和P2作为并行数据输入输出口,P3.0、 P3.1、 P3.2为功能控制键。其中,按键功能分别控制为时钟功能选择键,增加键和减少键。3 详细设计3.1 硬件设计1芯片及原理介绍(一) STC89C52STC89C52与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33MHz 、 三级加密
12、程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。 P1口引脚特殊功能P1.0T2(定时器T2外部输入)P3口引脚P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读先通)STC89C52的一些特殊功能口,如下表所示:(二) DS12C887日历时钟芯片选用DS12C887,
13、其引脚分布如图4所示。图4 DS12C887引脚分布图DS12C887的内部结构框图如图5所示。图5 日历时钟芯片DS12C887内部结构框图由图5可知,DS12C887内部可看成由电源、日历时钟信息、寄存器和存储器,以及总线接口四部分构成,四部分配合工作,共同实现芯片的功能。7DS12C887的具体引脚功能如下:GND、VCC:直流电源,其中VCC接+5V输入,GND接地,当VCC输入为+5V时,用户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+
14、3V时,DS12C887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。MOT:模式选择脚,DS12C887有两种工作模式,即Motorola模式和Intel模式,当 MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND时,选用的是Intel模式。本设计选用其Intel模式,所以电路图中MOT端接GND。SQW:方波输出脚,当供电电压VCC大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。AD0AD7:复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0AD7上的是地址信息,可用
15、以选通DS12C887内的RAM,总线周期的后半部分出现在AD0AD7上的数据信息。AS:地址选通输入脚,在进行读写操作时,AS的上升沿将AD0AD7上出现的地址信息锁存到DS12C887上,而下一个下降沿清除AD0AD7上的地址信息,不论是否有效,DS12C887都将执行该操作。DS/RD:数据选择或读输入脚,该引脚有两种工作模式,当MOT接VCC时,选用Motorola工作模式,在这种工作模式中,每个总线周期的后一部分的DS为高电平,被称为数据选通。在读操作中,DS的上升沿使DS12C887将内部数据送往总线AD0AD7上,以供外部读取。在写操作中,DS的下降沿将使总线 AD0AD7上的数
16、据锁存在DS12C887中;当MOT接GND时,选用Intel工作模式,在该模式中,该引脚是读允许输入脚,即Read Enable。因为本设计选用Intel工作模式,所以该引脚是读允许输入脚。R/W:读/写输入端,该管脚也有2种工作模式,当MOT接VCC时,R/W工作在Motorola模式。此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W为高电平时为读操作,R/W为低电平时为写操作。当MOT接GND时,该脚工作在Intel模式,此时该脚作为写允许输入,即Write Enable。CS:片选输入,低电平有效。IRQ:中断请求输入,低电平有效,该脚有效对DS12C887内的时钟、日历和R
17、AM中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET可以直接接到VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。(三) 液晶LCD1602显示器1602LCD 分为带背光和不带背光两种,基控制器大部分为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别1602LCD 主要技术参数: 显示容量:162 个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明 1602LCD 采用标准的 14脚(无背光)或 16脚(带背光)接口,各引
18、脚接口说明如表 10-13所示: 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 表 10-13:引脚接口说明表 第 1 脚:VSS 为地电源。 第 2 脚:VDD接 5V正电源。 第 3 脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 电子 时钟 1602 显示 ds12c887 芯片
链接地址:https://www.31ppt.com/p-2032404.html