当前位置:文档之家› 基于51单片机的数字时钟的设计

基于51单片机的数字时钟的设计

基于51单片机的数字时钟的设计摘要:现代生活中,对于数字电子钟的使用情况已经远远大于对于机械表的使用。

数字时钟不仅仅是使用方便,而且由于单片机的引入,额外增加了自动控制和闹钟报时等功能,十分便利。

本次毕业设计,是以STC89C52芯片为核心,添加适当外围电路,辅以C语言,所形成的数字电子钟。

除了51单片机芯片,还主要用到了时钟芯片DS1302和型号是1602的液晶显示屏。

关键词:STC89C52;数字电子钟;C语言。

Design of Digital Clock System Based on MSC-51 SinglechipAbstract: 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. 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: STC89C52; digital electronic clock; C language.目录基于51单片机的数字时钟的设计 (I)Design of Digital Clock System Based on MSC-51 Singlechip (II)目录.............................................................................................................................. I V 前言.. (1)第1章硬件设计方案及各部分简述 (2)1.1单片机概述 (2)1.2 DS1302时钟芯片概述 (5)1.3 1602显示屏 (7)1.4 元件清单 (8)第2章硬件电路图设计 (10)Protel硬件开发及介绍 (10)2.2 电路总体设计图 (11)第3章软件总体设计 (17)3.1 主流程图 (17)3.2 软件设计分部说明 (18)第4章调试及误差分析 (20)4.1 程序下载及调试 (20)4.2 调试结果与误差分析 (21)4.3 误差分析 (21)总结 (22)致谢 (23)参考文献 (24)前言随着当下时代的发展,形式各样的数字电子钟为我们的工作学习生活带来了极大地便利。

众所周知,数字集成电路技术的发展并辅以先进的石英技术,使数字钟具有准确、稳定和携带便利等优点,它还用于计时、报时及自动控制等各个领域。

尽管目前市场上已有比较便宜实用的数字电子钟集成电路芯片出售,但考虑到单片机的定时器功能也可以完成对数字电子钟的设计,因此进行数字电子钟的设计是必要的。

在这里我大学四年学到的专业知识系统的联系起来用于实际,从而培养我设计和分析电路,写程序、调试电路的能力。

单片机具有体积小、功能强可靠性高、价格适当、走时准确、性能稳定、携带方便等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已进入我们人们工作和和生活的各个角落,极大地推动了各行业的技术改造和升级,应用前景广阔。

培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。

第1章硬件设计方案及各部分简述随着石英晶体振荡器的广泛应用和集成电路的飞速发展,数字电子钟的精度要比平时常见的机械表精确一些,为我们的生活带来了极大的便利。

另一方面,再加上单片机技术的纯熟,大大扩展了钟表原来的功能,可以提供定时自动报警、按时自动打铃、时间程序自动控制及各种定时电气的自动启用功能等。

因此,研究数字电子钟的应用,有着非常现实的意义。

我这次设计的毕业论文,选取的是STC89C52单片机来作为我的核心控制部分,整个电路主要包括芯片、键盘、扬声器还有显示屏这四个部分来组成。

主要通过焊接的键盘来调整时间,像时、分、秒还有年、月、日都可以通过键盘来调整,为了实现目的,还需要以C语言编程的帮助。

整个电路比较简单,能够实现我想要的所有功能。

1.1单片机概述(1)单片机型号:STC89C52芯片,图 1- 1是其引脚图。

图 1- 1 STC89C52芯片引脚(2)单片机的特点:STC89C52是一种低功耗高性能CMOS8位微控制器,具有 8K 字节程序存储空间。

在单芯片上,有8 位CPU 和在系统可编程Flash,为众多嵌入式控制应用系统提供灵活有效的解决方案。

拥有512字节数据存储空间,内带2K字节的EEPROM存储空间,可直接使用串口下载,方便快捷。

32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级的中断结构,还有一个全双工类型的串行口。

空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电后进入保护方式,RAM内容保存下来后,振荡器会被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能[1]。

(3)管脚说明:VCC:供电电压。

GND:接地。

P0 口:P0口是一个8位开路的漏极的双向I/O口。

以它为输出口,每一位都能驱动8个TTL逻辑电平。

当端口写“1”时,这时候引脚把它当作高阻抗来输入。

在flash编程时,p0口可以用作指令字节的接收;在查验程序的时候,可以把指令字节输出。

当访问数据存储器和外部程序时,P0口也作为低8位地址/数据复用。

在此模式下,在P0的内部有上拉电阻。

检验程序时,会用到外部上拉电阻。

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 口,输出缓冲器可以驱动4 个TTL 逻辑电平。

在外部程序存储器被访问或用16位地址读取外部的数据存储器时,P2 口送出高八位地址。

在这种应用中,P2 口使用很强的内部上拉电阻发送1。

在flash编程和检验时,P2口也接收高8位地址字节和很多控制信号。

对P2 端口写“1”时,这时候端口会被上拉电阻拉高,此时就作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。

P3 口:P3 口也是在它的内部具有上拉电阻的8 位双向I/O 口,输出缓冲器驱动4 个TTL逻辑电平。

当它按输入口使用时,对P3 端口写“1”时,端口被内部上拉电阻拉高。

P3口亦作为STC89C52特殊功能使用,具体如下表所示: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令位无效。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲PROG。

PSEN:程序储存允许。

外部程序存储器的读信号可以输出,在外部程序存储器取指令时,PSEN在每个周期内两次有效。

但是在这段时间内,访问外部数据存储器,PSEN会跳过两次信号。

EA/VPP:外部访问允许。

想要仅仅访问外部存储器,EA端必须保持低电平有效。

当EA端是高电平,相应地,CPU会访问内部存储器。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出[3]。

1.2 DS1302时钟芯片概述(1)芯片说明DS1302是DALLAS公司开发的一种低耗能、高性能时钟芯片。

它有31字节的静态RAM,并通过SPI三线接口与CPU进行同步传输,能采用突发的方式一次就能传输数据和多个字节的时钟信号。

芯片使用双电源供电,同样还可以用备用电源来进行充电。

它的功能可以提供秒、分、时、星期、月和年,一个月30与31天时可以自动调整,同时还有闰年补偿的功能。

(2)引脚分配及说明DS1302外部引脚如图1- 2所示。

图1- 2 DS1302引脚图VCC1:主电源;VCC2:备份电源。

当VCC1>VCC2时,VCC1向芯片供电;当VCC2>VCC1+0.2V时,由VCC2向芯片供电。

I/O:双向数据线。

SCLK:用于串行时钟输入,能够控制数据输入和输出。

CE:它有两个功能:一是能够控制字访问移位寄存器的控制逻辑,二是对于单字节和多字节数据传输,CE端都可以为他们提供传输方法。

此外,在输入信号时,要想使读写数据有效,必须保持高电平[4]。

相关主题