电子日历时钟的设计论文文档格式.docx
《电子日历时钟的设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《电子日历时钟的设计论文文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
本论文主要研究基于单片机的电子日历时钟设计。
当程序执行后,LCD显示即时时间、年月日、星期。
设置4个操作键:
K1:
设置键;
K2:
上调键;
K3:
下调键,K4退出调时键。
本设计的主要内容:
1、了解单片机技术的发展现状,熟悉电子日历时钟各模块的工作原理;
2、选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;
3、熟悉单片机使用方法和C语言的编程规则,编写出相应模块的应用程序;
4、分别在各自的模块中调试出对应的功能,在Proteus软件上进行仿真。
1.2.1研究内容
设计目标:
使基于STC89C52单片机的电子日历时钟实现以下三个功能:
1、具有年、月、日、星期、时、分、秒等功能;
2、具备年、月、日、星期、时、分、秒校准功能;
3、具有与即时时间同步的功能;
1.2.2论文章节安排
1.绪论是介绍了基于STC89C52单片机的电子日历时钟研究意义,重点阐述了本课题的研究内容和研究工作。
2.单片机的概述主要阐述了单片机系统的定义以及单片机系统的发展现状和发展趋势。
因为只有对单片机有了更深入的了解,才能设计出更好的单片机控制系统。
本章的结尾是对单片机C语言编程的介绍。
3.主要介绍了设计要求和课题器件选择的论证方案。
4.硬件基础中主要描述了电子日历时钟的各个模块的硬件设计方案,并结合各个元器件和相应的硬件原理图进行分析,最后展示为了实现研究目标所需要的全部硬件基础。
5.软件基础主要罗列了实现电子日历时钟各个功能的C语言程序的流程图,并分别对其进行了解释和分析,最后把各个C语言子程序在巧妙结合在一起,共同控制整个系统,也就形成了实现研究目标所需要的所有软件基础。
6.主要对Keil软件Proteus软件进行简单介绍,并给出了关于Proteus软件仿真调试电子日历时钟的过程。
最后简要的介绍了硬件调试中的问题和解决办法。
7.:
主要是对本次实验研究的总结,提出本次实验的不足之处以及相应的改进方法,以便后人继续深究。
目前单片机渗透到了我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及远程控制玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域中的机器人、智能仪表、医疗器械了。
单片机具有结构简单、控制功能强、可靠性高、体积小、价格低等优点,因而在许多行业都得到了广泛应用,并且在诸多领域中都发挥了无可比拟的巨大作用。
1.3单片机的定义和特点
1.3.1单片机的定义
单片机即单片微型计算机,是把中央处理器、存储器、定时/计数器、输入输出接口都集成在一块集成电路芯片上的微型计算机。
与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。
单片机也被称为微控制器(Microcontroller),是因为它最早被用于工业控制领域。
单片机的芯片内仅由CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
1.3.2单片机的特点
单片机以其卓越的性能,得到了广泛的应用,已深入到各个领域。
单片机应用在检测、控制领域中,具有如下特点:
1、体积小、控制功能强、成本低。
因而可以方便地组装各种智能式控制设备和仪器,做到机、电、仪一体化。
2、易扩展。
很容易构成各种规模的应用系统,为应用系统的设计和生产带来极大方便。
3、可靠性好、使用温度范围宽。
在各种恶劣的环境下都能可靠的工作,这是其他机种无法比拟的。
4、种类多,型号全。
很多单片机厂家逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。
大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。
5、低功耗。
现在新型单片机的功耗越来越小,供电电压从5V降低到了3.2V,甚至1V,工作电流从mA降到µ
A级,工作频率从十几兆可编程到几十千赫兹。
特别是很多单片机都设置了多种工作方式,这些工作方式包括等待、暂停、睡眠、空闲、节电等。
6、可以采用C语言开发环境,具有友好的人机互交环境。
大多数单片机都提供基于C语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。
1.4本章小结
本章是论文的绪论部分,着重介绍了电子日历时钟的研究意义。
然后介绍了本文所要解决的实际问题及意义,以及要电子电子日历时钟系统要实现的功能和方法还有单片机的介绍。
最后简单地描述了本论文的整体框架和论文章节的安排。
2设计要求和方案论证
2.1设计要求
1、具备在液晶上显示年、月、日、星期、时、分、秒的功能;
2、具备年、月、日、星期、时、分、秒校准功能;
3、具有与即时时间同步的功能;
2.2单片机芯片的选择方案和论证
方案1:
采用AT89S51芯片作为硬件核心,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,所以在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案2:
采用STC89C52芯片,STC89C52是一种低功耗、高性能的8位CMOS微控制器,具有8K的可编程Flash存储器。
同样具有AT89S51的功能,且具有在线编程可擦除技术,当对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,因此选择采用STC89C52作为主控制系统核心。
2.3显示模块选择方案和论证
方案1:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,但连线还需要花费一点时间,所以也不用此种作为显示。
方案2:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,若采用在显示数字显得太浪费,且价格也相对较高,所以在此也不用此种作为显示。
方案3:
采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示大量符号、数字,清晰可见,而且功率消耗小寿命长抗干扰能力强。
所以在此设计中采用1602液晶显示屏。
2.4时钟芯片的选择方案和论证
方案一:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大,所以不采用此方案。
方案二:
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。
所以本设计采用DS1302时钟芯片。
2.5电路设计最终方案决定
综上各方案所述,对此次作品的方案选定:
采用STC89C52作为主控制芯片,DS1302时钟芯片计时,LCD1602作为显示模块。
2.6本章小结
本章主要介绍了系统要实现的功能和电子日历时钟系统硬件平台的选择,比较了主控模块,时钟模块,显示模块,不同器件的优劣,最后确定了电路设计的整体方案。
这也是完成设计的先决条件。
3系统的硬件设计与实现
3.1电路设计框图
根据上章确定的方案给出了系统整体的设计框图:
图3.1系统结构框图
为使时钟走时与标准时间一致,校时电路是必不可少的,键盘模块用来校正液晶上显示的时间;
STC89C52单片机通过输出各种电脉冲信号来驱动控制各部分正常工作;
而系统的时间等数据则最终通过液晶模块显示出来。
3.2系统硬件概述
本电路是以STC89C52单片机为控制核心,该芯片具有在线编程功能,功耗低,能在3.3V的超低压下工作;
时钟芯片采用DS1302,它是一款高性能、低功耗、自带RAM的实时时钟芯片,具有使用寿命长,精度高和功耗低等特点,同时具有掉电自动保存功能,可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,其工作电压为2.5V~5.5V;
显示部份使用1602液晶显示屏来实现,该显示屏具有低功耗、寿命长、可靠性高的特点,其工作电压为5v。
3.3主要单元电路的设计
3.3.1STC89C52单片机简介
STC89C52是一种低功耗、高性能的8位CMOS微控制器,具有8K的可编程Flash存储器。
使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、
串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
引脚排列如图2.1所示。
图2.1STC89C52引脚图
从引脚功能来看,可将引脚分为三部分:
1、电源及时钟引脚
VCC:
接+5V电源;
VSS:
接地;
XTAL1和XTAL2:
时钟引脚,外接晶体引线端。
当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;
当使用外部时钟时,用于接外部时钟脉冲信号。
2、控制引脚
RST/VPT:
RST是复位信号输入端,VPT是备用电源输入端。
当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。
当主电源VCC发生故障而突然下降到一定低电压或断电时,第2功能VPT将为片内RAM提供电源以保护片内RAM中的信息不丢失。
ALE/PROG:
地址锁存允许信号输出端。
在存取外存储器时,用于锁存低8位地址信号。
当单片机正常工作后,ALE端就会周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。
此引脚的第2功能PROG是对片内带有4K字节EPROM的8751固化程序时,作为编程脉冲输入端。
PSEN:
程序存储允许输出端。
是片外程序存储器的读选通信号,低电平有效。
CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。
EA/VPP:
程序存储器地址允许输入端。
当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFFH时,将自动转向执行片外程序存储器指令;
当EA为低电平时,CPU只执行片外程序存储器指令。
对8031单片机,EA必须接低电平。
在8751中,当对片内EPROM编程时,该端接21V的编程电压。
3、I/O口引脚
P0.0~P0.7:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
P1.0~P1.7:
P1口是一个具有内部上拉电阻的8位双向I/O口。
作为输出口,每位能驱动4个TTL逻辑电平。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
P2.0~P2.7:
P2口是一个具有内部上拉电阻的8位双向I/O口。
在访问外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。
在使用8位地址访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3.0~P3.7:
P3口是一个具有内部上拉电阻的8位双向I/O口。
P3口亦作为STC89C52特殊功能(第二功能)使用。
在flash编程和校验时,P3口也接收一些控制信号。
3.3.2单片机主控制模块的设计
本设计中单片机主要负责对外设的控制和各个功能模块间的协调,没有复杂的数据计算,因此,8位的51系列单片机足以胜任。
51单片机以其低廉的价格以及较出色的性能成了很多控制系统的首选。
它具有丰富的内部资源,较大的数据、程序存储区。
一个典型的单片机最小系统一般由时钟电路、复位电路、电源指示灯和外部扩展接口等部分组成,本系统也不例外,当单片机具备了这些最基本的条件后,就可以正常工作了。
单片机的最小系统如图3.2所示,单片机的XTAL0和XTAL1引脚用于连接晶振电路。
XTAL0接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL1接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出。
RESET为复位引脚,连接复位电路,它用于对单片机进行初始化。
复位电路包括复位电容(C6)、复位电阻(R3)和复位开关(S4)。
VSS为电源地,VCC为电源正。
图3.2单片机最小系统
1复位电路的设计
复位电路是使单片机的CPU或系统中的其他部件处于某一确定的初始状态,并从这上状态开始工作。
(1)单片机常见的复位电路
通常单片机复位电路有两种:
上电复位电路,按键复位电路。
上电复位电路:
上电复位是单片机上电时复位操作,保证单片机上电后立即进入规定的复位状态。
它利用的是电容充电的原理来实现的。
按键复位电路:
它不仅具有上电复位电路的功能,同时它的操作比上电复位电路的操作要简单的多。
如果要实现复位的话,只要按下RESET键即可。
它主要是利用电阻的分压来实现的
在此设计中,采用的按键复位电路。
按键复位电路如图3.3所示。
图3.3复位电路
(2)复位电路工作原理
上电复位要求接通电源后,单片机自动实现复位操作。
上电瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。
RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
上电与按键均有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作
2晶振电路的设计
晶振电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。
单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,如图3.4中Y1、C1、C2。
可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。
图3.4时钟振荡电路
3时钟电路模块的设计
DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。
图3.5所示为DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。
DS1302由VCC1或VCC2两者中的较大者供电。
所以在主电源关闭的情况下,也能保持时钟的连续运行。
X1和X2是振荡源,外接32.768KHz晶振用来为芯片提供计时脉冲。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电行动时,在VCC大于等于2.5V之前,RST必须保持低电平。
在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。
SCLK始终是输入端。
图3.5DS1302的硬件接线图
时钟芯片DS1302的工作原理:
(1)DS1302的控制字节
DS1302控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;
位5至位1指示操作单元的地址;
最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出
(2)数据输入输出(I/O)
在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。
同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。
(3)DS1302的寄存器
DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;
当该位为0时,时钟开始运行。
“WP”是写保护位,在任何的对时钟和RAM的写操作之前,“WP”必须为0。
当“WP”为1时,写保护位防止对任一寄存器的写操作。
此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。
时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。
DS1302与RAM相关的寄存器分为两类:
一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;
另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。
3.3.3独立式键盘设计
实现键盘控制的方法有多种,它可以用FPGA来进行控制,也可以用单片机来进行控制。
在本系统中,我们采用了单片机来进行控制,因为单片机可以很好的解决键抖动。
由若干个按键组成一个键盘,其电路结构可分为独立式键盘和矩阵式键盘两种。
独立式键盘每个键单独占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线上的状态,矩阵式键盘按键排列为行列式矩阵结构,也称行列式键盘结构。
4行4列共16个键,只占用8根I/O口线,键数目较多,可节省口线。
本设计采用的是独立式键盘。
键盘的工作方式可分为编程控制方式和中断控制方式。
CPU在一个工作周期内,利用完成其他任务的空余时间,调用键盘扫描子程序,经程序查询,若无键操作,则返回;
若有键操作,则进而判断是哪个键,并执行相应的键处理程序。
这种方式为编程扫描方式。
由于单片机在正常应用过程中,可能会经常进行键操作,因而编程控制方式使CPU经常处于工作状态,在进行本次设计中,只涉及到了设置、上调、下调三个功能。
因此采用独立式键盘。
3.3.4显示模块的设计
本设计中由于要对时间、温度进行显示,所以选择液晶显示屏1602模块作为输出。
1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。
它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的