基于51单片机的数字时钟的设计_毕业设计说明书(22页).doc
《基于51单片机的数字时钟的设计_毕业设计说明书(22页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的数字时钟的设计_毕业设计说明书(22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于51单片机的数字时钟的设计_毕业设计说明书-第 19 页毕业设计基于51单片机的数字时钟的设计摘要:现代生活中,对于数字电子钟的使用情况已经远远大于对于机械表的使用。数字时钟不仅仅是使用方便,而且由于单片机的引入,额外增加了自动控制和闹钟报时等功能,十分便利。本次毕业设计,是以STC89C52芯片为核心,添加适当外围电路,辅以C语言,所形成的数字电子钟。除了51单片机芯片,还主要用到了时钟芯片DS1302和型号是1602的液晶显示屏。关键词:STC89C52;数字电子钟;C语言。Design of Digital Clock System Based on MSC-51 Singlech
2、ipAbstract: In modern life, the use of digital electronic clock has been far greater than for the use of mechanical watches. Digital Clock is not just easy to use, and because of the introduction of single-chip, additional automatic control and alarm clock timekeeping functions, is very convenient.
3、The graduation project is based STC89C52 chip as the core, adding the appropriate external circuit, supplemented by the C language, the formation of digital electronic clock. In addition to 51 single-chip, is also largely used in the clock chip DS1302 and models are 1602 LCD display.Keywords: STC89C
4、52; digital electronic clock; C language.目录基于51单片机的数字时钟的设计IDesign of Digital Clock System Based on MSC-51 SinglechipII目录III前言1第1章 硬件设计方案及各部分简述21.1单片机概述21.2 DS1302时钟芯片概述51.3 1602显示屏71.4 元件清单8第2章 硬件电路图设计10Protel硬件开发及介绍102.2 电路总体设计图11第3章 软件总体设计173.1 主流程图173.2 软件设计分部说明18第4章 调试及误差分析204.1 程序下载及调试204.2 调试结
5、果与误差分析214.3 误差分析21总结22致谢23参考文献24前言 随着当下时代的发展,形式各样的数字电子钟为我们的工作学习生活带来了极大地便利。众所周知,数字集成电路技术的发展并辅以先进的石英技术,使数字钟具有准确、稳定和携带便利等优点,它还用于计时、报时及自动控制等各个领域。尽管目前市场上已有比较便宜实用的数字电子钟集成电路芯片出售,但考虑到单片机的定时器功能也可以完成对数字电子钟的设计,因此进行数字电子钟的设计是必要的。在这里我大学四年学到的专业知识系统的联系起来用于实际,从而培养我设计和分析电路,写程序、调试电路的能力。单片机具有体积小、功能强可靠性高、价格适当、走时准确、性能稳定、
6、携带方便等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已进入我们人们工作和和生活的各个角落,极大地推动了各行业的技术改造和升级,应用前景广阔。培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。第1章 硬件设计方案及各部分简述随着石英晶体振荡器的广泛应用和集成电路的飞速发展,数字电子钟的精度要比平时常见的机械表精确一些,为我们的生活带来了极大的便
7、利。另一方面,再加上单片机技术的纯熟,大大扩展了钟表原来的功能,可以提供定时自动报警、按时自动打铃、时间程序自动控制及各种定时电气的自动启用功能等。因此,研究数字电子钟的应用,有着非常现实的意义。我这次设计的毕业论文,选取的是STC89C52单片机来作为我的核心控制部分,整个电路主要包括芯片、键盘、扬声器还有显示屏这四个部分来组成。主要通过焊接的键盘来调整时间,像时、分、秒还有年、月、日都可以通过键盘来调整,为了实现目的,还需要以C语言编程的帮助。整个电路比较简单,能够实现我想要的所有功能。1.1 单片机概述(1)单片机型号:STC89C52芯片,图 1- 1是其引脚图。图 1- 1 STC8
8、9C52芯片引脚(2)单片机的特点:STC89C52是一种低功耗高性能CMOS8位微控制器,具有 8K 字节程序存储空间。在单芯片上,有8 位CPU 和在系统可编程Flash,为众多嵌入式控制应用系统提供灵活有效的解决方案。拥有512字节数据存储空间,内带2K字节的EEPROM存储空间,可直接使用串口下载,方便快捷。 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级的中断结构,还有一个全双工类型的串行口。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电后进入保护方式,R
9、AM内容保存下来后,振荡器会被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能1。(3)管脚说明:VCC:供电电压。GND:接地。P0 口:P0口是一个8位开路的漏极的双向I/O口。以它为输出口,每一位都能驱动8个TTL逻辑电平。当端口写“1”时,这时候引脚把它当作高阻抗来输入。在flash编程时,p0口可以用作指令字节的接收;在查验程序的时候,可以把指令字节输出。当访问数据存储器和外部程序时,P0口也作为低8位地址/数据复用。在此模式下, 在P0
10、的内部有上拉电阻。检验程序时,会用到外部上拉电阻。P1 口:P1 口是一个在它内部有上拉电阻的8 位双向I/O 口, 输出缓冲器可以驱动4 个 TTL 逻辑电平。端口写“1”时,端口被内部上拉电阻所拉高,这时候它可以当做输入口使用。作为输入时,被拉低的引脚由于内部电阻的存在,会把电流输出2。具体端口如下:P1.0 T2定时器/计数器,T2的外部计数输入,时钟输出P1.1 T2EX定时器/计数器,T2的捕捉/方向控制和重载触发信号P1.5 MOSI在线系统编程用P1.6 MISO在线系统编程用P1.7 SCK在线系统编程用P2 口:P2 口是一个在它内部有上拉电阻的8 位双向I/O 口, 输出缓
11、冲器可以驱动4 个 TTL 逻辑电平。在外部程序存储器被访问或用16位地址读取外部的数据存储器时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉电阻发送1。在flash编程和检验时,P2口也接收高8位地址字节和很多控制信号。对P2 端口写“1”时,这时候端口会被上拉电阻拉高,此时就作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3 口:P3 口也是在它的内部具有上拉电阻的8 位双向I/O 口, 输出缓冲器驱动4 个 TTL逻辑电平。当它按输入口使用时,对P3 端口写“1”时,端口被内部上拉电阻拉高。P3口亦作为STC89C52特殊功能使用,具
12、体如下表所示:P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 INT0外中断0P3.3 INT1外中断1P3.4 TO定时/计数器0P3.5 T1定时/计数器1P3.6 WR外部数据存储器写选通P3.7 RD外部数据存储器读选通RST:复位输入。ALE/PROG:当访问外部程序存储器或数据存储器时,地址的低8位字节会被ALE输出脉冲锁存。通常情况下,ALE会以时钟振荡频率的1/6作为标准来输出脉冲信号,因此它能够用来定时还有对外的输出时钟来用。但是有一点值得注意:每当访问外部数据存储器的时候会跳过一个ALE脉冲。此外,该引脚会被微弱拉高,单片机在执行程序时,要设置ALE令位无效。
13、对FLASH存储器编程期间,该引脚还用于输入编程脉冲PROG。PSEN:程序储存允许。外部程序存储器的读信号可以输出,在外部程序存储器取指令时,PSEN在每个周期内两次有效。但是在这段时间内,访问外部数据存储器,PSEN会跳过两次信号。EA/VPP:外部访问允许。想要仅仅访问外部存储器,EA端必须保持低电平有效。当EA端是高电平,相应地,CPU会访问内部存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出3。1.2 DS1302时钟芯片概述(1)芯片说明DS1302是DALLAS公司开发的一种低耗能、高性能时钟芯片。它有31字节的静态RAM,并通
14、过SPI三线接口与CPU进行同步传输,能采用突发的方式一次就能传输数据和多个字节的时钟信号。芯片使用双电源供电,同样还可以用备用电源来进行充电。它的功能可以提供秒、分、时、星期、月和年,一个月30与31天时可以自动调整,同时还有闰年补偿的功能。(2)引脚分配及说明DS1302外部引脚如图 1- 2所示。图 1- 2 DS1302引脚图VCC1:主电源;VCC2:备份电源。当VCC1VCC2时,VCC1向芯片供电;当VCC2VCC1+0.2V时,由VCC2向芯片供电。 I/O:双向数据线。 SCLK:用于串行时钟输入,能够控制数据输入和输出。 CE:它有两个功能:一是能够控制字访问移位寄存器的控
15、制逻辑,二是对于单字节和多字节数据传输,CE端都可以为他们提供传输方法。此外,在输入信号时,要想使读写数据有效,必须保持高电平4。(3)DS1302工作原理 DS1302工作时,首先要进行初始化,相应的必须使复位端RST保持高电平有效,这样才可以把寄存器中装入地址和命令信息。在SLK的上升沿时,数据串行输入有效,前8位指出要访问的地址,将命令字装入移位寄存器后,在下一个时钟周期中,数据在读操作和写操作时都可以被输出。此时时钟脉冲个数是8位地址+8位数据类型,最多时能有248的数据。(4)DS1302字节控制图 1- 3 字节控制DS1302控制字如Error! Reference source
16、 not found.所示,它总是从最低位开始进行读写操作的。位7是它的最高有效位,必须保证这一位是逻辑1才能使该芯片能够运行,否则是逻辑0的话,芯片无法写入数据。当位6是逻辑0,就可以存取日历的时钟数据,如果是逻辑1,就会存取RAM里面的数据。位A4到A0这5位代表操作单元地址。当位0即最低位是逻辑1时,开始进行读操作,否则是逻辑0的时候,就进行写操作。因为DS1302时钟芯片也是本次设计核心之一,所以必须对它如何寻址进行读写操作十分熟悉。DS1302可以对32个地址寻址为了提高它的寻址速度和准确性,我们可以把日历还有RAM寄存器规定成多字节,方便寻址。由以上可知,位6选择要寻址的对象是什么
17、,而最低位来决定是读还是写操作。因为读写都是从最低位开始的,必须按顺序先写最开始的8个寄存器。但当选择写RAM时,不管是不是把所有的31个字节都写进去了,都能保证这所有的31个字节都能够送入RAM里面。要想充分利用DS1302芯片的功能,还必须对它的具体的寄存器和控制字有所了解,内部寄存器地址和内容详见表1- 1。寄存器名命令字节取值范围寄存器内容写读76543210秒寄存器80H81H0059CH10sSEC分寄存器82H83H0059010minMIN小时寄存器84H85H0023或011212/24010A/PHRHR日期寄存器86H87H0128,29,30,310010DATEDAT
18、E月份寄存器88H89H011200010MMONTH周寄存器8AH8BH010700000DAY年寄存器8CH8DH009910YEARYEAR表1- 1 DS1302内部寄存器地址和内容 DS1302一共有12个寄存器,这里面主要有7个寄存器是和我们所要用到的时钟日历有联系的,它们都是按BCD码的形式来存放数据的。奇数时进行读操作,而偶数时执行写操作。DS1302是可以暂停工作的,主要受寄存器的位7影响。当位7是逻辑0的时候,DS1302才开始工作,当它是逻辑1时,芯片会停止当前工作。通常情况下,都是在DS1302进入写操作时,芯片才会停止振荡,进入备份模式5。1.3 1602显示屏(1)
19、显示屏介绍1602显示屏实物如Error! Reference source not found.所示。图 1- 4 1602显示屏 LCD1602的显示容量是16*2个字符,工作电压合电流分别是5V和2mA,字符尺寸是2.95*4.35mm。本次毕业设计采用的是无背光(14引脚)的LCD1602,各引脚说明如下:1脚和2脚:VSS和VDD分别接地和5V电源。3脚:用来调整显示器的对比度,对比度在接地时最高,在接电源时最低,使用过程中接一个10K电位器可以合理地对对比度进行调整。4脚:RS,对寄存器具有选择功能,当接高电平时,选择的是数据寄存器,当接低电平时,相应地选择指令寄存器。5脚:是选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 数字 时钟 设计 毕业设计 说明书 22
限制150内