基于单片机的多功能电子钟说明书毕设论文.docx
《基于单片机的多功能电子钟说明书毕设论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的多功能电子钟说明书毕设论文.docx(34页珍藏版)》请在冰豆网上搜索。
![基于单片机的多功能电子钟说明书毕设论文.docx](https://file1.bdocx.com/fileroot1/2022-10/24/a4714479-09f4-4c98-afad-64a2fa8a8c21/a4714479-09f4-4c98-afad-64a2fa8a8c211.gif)
基于单片机的多功能电子钟说明书毕设论文
课程设计说明书
题目:
基于单片机的多功能电子钟
课程:
单片机原理及应用B课程设计
目录
摘要II
1设计目的1
2设计要求2
3设计内容3
3.1电子时钟的工作原理3
3.2系统硬件电路设计及元件4
3.2.1AT89C51芯片4
3.2.2DS1302芯片8
3.2.3LCD1602液晶显示12
3.3系统软件电路设计15
3.3.1系统流程图及源代码设计15
总结与致谢18
参考文献19
附录一20
摘要
单片机,是集CPU,RAM,ROM,定时器,计数器和多种接口于一体的微控制器。
自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。
它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。
本系统为基于DS1302的多功能电子钟,以AT89C51单片机作为主控芯,采用实时时钟芯片DS1302,使用1602液晶作为显示输出。
该系统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、日期等多种功能。
本文将详细介绍AT89C51单片机和DS1302时钟芯片的基本原理,从软件和硬件电路的实现两大方面进行分析。
关键词:
AT89C51;单片机;液晶屏;时钟芯片;蜂鸣器
1设计目的
基于51单片机设计一个能够支持年、月、日、星期、时、分、秒的电子时钟。
并且支持闹钟功能,及整点报时功能。
在设计过程中,学习利用DXP软件进行硬件电路设计或者利用仿真软件进行仿真,进行单片机的软件编程。
学习芯片的选择及方案选择,熟悉单片机的I/O口原理;掌握LCD显示的原理;掌握定时计数器的使用;要求设计出程序流程图和程序。
2设计要求
1.设计能支持年、月、日、星期、时、分、秒的时钟,时钟有时间调整功能及闹钟功能;
2.时钟具有装卸电池时掉电保护功能,保护时间大于5分钟;
3.时钟功耗小于0.5MA/5V。
4.能够提供生日提醒指示;能够每天提供3个时间点的闹钟报时功能;
5.非易失定时闹铃
6.整点报时
3设计内容
3.1电子时钟的工作原理
本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,用C语言程序来控制整个时钟的显示,使得编程变得更容易,这样通过五个模块:
芯片、显示屏、看门狗、电源、时钟即可满足设计要求。
此设计原理图框图如图3.1所示,此电路包括以下五个部分:
单片机、时钟电路、看门狗、液晶屏、电源模块、时钟振荡电路。
图3.1主电路设计框图
本设计采用C语言程序设计,使单片机控制液晶显示年、月、日、时、分、秒,当秒计数满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。
时、分、秒的计数结果经过数据处理可直接送显示器显示。
当计时发生误差的时候可以用校时电路进行校正。
设计采用的是时、分、秒显示,单片机对数据进行处理同时在LCD上显示。
3.2系统硬件电路设计及元件
3.2.1AT89C51芯片
AT89C51是美国ATMEL公司生产的8位FlashROM单片机。
其最突出的优点是片内ROM为FlashROM,可擦写1000次以上,应用并不复杂的通用ROM写入器就能方便的擦写,读取也很方便,价格低廉,具有片程序ROM二级保密系统。
因此可灵活应用于各种控制领域。
AT89C51包含以下一些功能部件:
(1)一个8位CPU;
(2)一个片内振荡器和时钟电路;
(3)4KBFlashROM;
(4)128B内RAM;
(5)可寻址64KB的外ROM和外RAM控制电路;
(6)两个16位定时/计数器;
(7)21个特殊功能寄存器;
(8)4个8位并行I/O口;
(9)一个可编程全双工串行口;
(10)5个中断源,可设置成2个优先级。
AT89C51单片机一般采用双列直插DIP封装,共40个引脚,图3.2为其引脚排列图。
40个引脚大致可分为4类:
电源、时钟、控制各I/O引脚。
图3.2AT89C51引脚图
(1)控制线
控制线共有4根,其中3根是复用线。
所谓复用线是指具有两种功能,正常使用时是一种功能,在某种条件下是另一种功能。
1、ALE/PROG——地址锁存允许/片内EPROM编程脉冲。
(1)ALE功能:
用来锁存P0口送出的低八位地址。
AT89C51在并行扩展外存储器时,P0口用于分时传送低8位地址和数据信号,且均为二进制数。
当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0口传送的是低8位地址信号。
在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。
需要指出的是,当CPU不执行访问外RAM指令,ALE以时钟振荡频率1/6的固定频率输出,因此ALE信号也可作为外部芯片CLK时钟或其他需要。
但是,当CPU执行MOVX指令时,ALE将跳过一个ALE脉冲。
(2)PROG功能:
片内EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
2、PSEN——外ROM读选通信号。
89C51读外ROM时,每个机器周期内PSEN两次有效输出。
PSEN可作为外ROM芯片输出允许OE的选通信号。
在读内ROM或读外RAM时,PSEN无效。
3、RST/VPD——复位/备用电源。
(1)正常工作时,RST端为复位信号输入端,只要在该引脚上连续保持两个机器周期以上高电平,AT89C51芯片即实现复位操作,复位后一切从头开始,CPU从0000H开始执行指令。
(2)VPD功能:
在VCC掉电情况下,该引脚可接上备用电源,由VPD向片内RAM供电,以保持片内RAM中的数据不丢失。
4、EA/VPP——内外ROM选择/片内EPROM编程电源。
(1)EA功能:
正常工作时,EA为内外ROM选择端。
AT89C51单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外。
当EA保持高电平时,先访问内ROM,但当PC值超过4KB时,将自动转向执行外ROM中的程序。
当EA保持低电平时,则只访问外ROM,不管芯片内有否内ROM。
(2)VPP功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚用于施加编程电源。
(2)I/O引脚
AT89C51有P0、P1、P2、P34个8位并行I/O端口,共32个引脚。
P0口是一组8位漏级开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL逻辑门电路,对端口写1时,又可作高阻抗输入端用。
在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。
在Flash编程时,P0端口接收指令字节;而在验证程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1口是带内部上拉电阻的双向I/O口,向P1口写入1时P1口被内部上拉为高电平,可用作输入口。
当作为输入脚时被外部信号拉低的P1口会因为内部上拉而输出一个电流。
Flash编程和程序校验期间,P1接收低8位地址。
P2口是带内部上拉电阻的双向I/O口,向P2口写入1时P2口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P2口会因为内部上拉而输出电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据,当使用8位寻址方式(MOVX@RI)访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容,在整个访问期间不改变。
Flash编程和程序校验时,P2也接收高位地址和一些控制信号。
P3口是带内部上拉电阻的双向I/O口,向P3口写入1时P3口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P3口会因为内部上拉而输出电流。
P3口除了作为一般的I/O口线外,更重要的是它的第二功能,如表3-1所示:
表3-1P3端口的特殊功能
端口引脚
兼用功能
P3.0——RXD
串行输入口
P3.1——TXD
串行输出口
P3.2——/INT0
外部中断0
P3.3——/INT1
外部中断1
P3.4——T0
定时器0的外部输入
P3.5——T1
定时器1的外部输入
P3.6——/WR
外部数据存储器写选通
P3.7——/RD
外部数据存储器读选通
3.2.2DS1302芯片
DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。
有主电源和备份电源双引脚,而且备份电源可由大容量电容(>1F)来替代。
需要强调的是,DS1302需要使用32.768KHz的晶振。
DS1302包含以下一些功能部件:
(1)实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;
(2)用于高速数据暂存的31×8位RAM;
(3)最少引脚的串行I/O;
(4)2.5~5.5V电压工作范围;
(5)2.5V时耗电小于300nA;
(6)用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;
(7)简单的3线接口;
(8)可选的慢速充电(至VCC1)的能力。
(1)DS1302数据操作原理
DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。
无论是读周期还是写周期,开始8位指定40个寄存器中哪个被访问到。
在开始8个时钟周期,把命令字节装入移位寄存器之后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。
时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。
DS1302的内部结构图如图3.3所示。
图3.3DS1302内部结构图
(2)DS1302的引脚图及功能
DS1302的引脚图如图3.4所示。
图3.4DS1302引脚图
DS1302各引脚功能:
Vcc1:
主电源;
Vcc2:
备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2SCLK:
串行时钟,输入,控制数据的输入与输出;
I/O:
三线接口时的双向数据线;
CE:
输入信号,在读、写数据期间,必须为高。
该引脚有两个功能:
第一,CE开始控制字访问移位寄存器的控制逻辑;其次CE提供结束单字节或多字节数据传输的方法。
引脚功能如表3-2所示:
表3-2DS1302引脚功能说明
引脚号
名称
功能
1
VCC1
备份电源输入
2
X1
32.768KHz晶振输入
3
X2
32.768KHz晶振输出
4
GND
地
5
RST
控制移位寄存器/复位
6
I/O
数据输入/输出
7
SCLK
串行时钟
8
VCC2
主电源输入