基于51单片机的电子钟设计[本科自动化毕业设计论文,源码,实物]

本文详细介绍了基于51单片机的数字电子钟设计,包括硬件系统设计、软件程序执行方式和低功耗工作方式。重点阐述了硬件系统的构成、软件程序的执行流程以及如何实现低功耗工作。通过实验证明了设计的有效性和实用性。

系(院)名称:                                   

专 业 班 级:                                    

学 生 姓 名:                                    

学       号:                                    

指导教师姓名:                                   

指导教师职称:                                   

毕业设计(论文)原创性声明和使用授权说明

原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得xxx学院及其它教育机构的学位或学历而使用过的材料。

引 言

数字电子钟是采用数字电路实现对日期、时、分、秒数字显示的计时装置。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如,机械手的控制、家务的自动化、定时自动报时、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

第一章方案论

1.1  课题的来源

在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。小则可以用于家电控制,甚至可以用于儿童电子玩具。它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,

2.1 硬件系统设计概述

    本系统设计采用STC89C52系列单片机作为核心部件,采用DALLAS公司生产的高性能性能、低功耗的实时时钟芯片DS1302提供时间和日期数据,STC89C52从DS1302中读取时间数据并进行分析和处理。由于显示的数据只有温度数据和英文字符,数据较少,液晶显示电路采用LCD1602就可以完成显示需求。报时电路由发光二极管和蜂鸣器等组成,当报时时间到时,报时电路中的发光二极管发光,蜂鸣器响起,实现报时功能。键盘控制电路由于所需按键较少,采用独立式键盘方式完成相应的控制调节功能。

寄存器名称

复位状态

寄存器名称

复位状态

PC

0000H

TCON

0×000000B

ACC

00H

TL0

00H

B

00H

TH0

00H

PSW

00H

TL1

00H

SP

07H

TH1

00H

TMOD

00H

PCON

0×××0000B

DPTR

0000H

SBUF

××××××××B

P0~P3

FFH

SCON

00H

2、程序执行方式

程序执行方式是单片机的基本工作方式。系统复位后PC=0000H,考虑到单片机存储器结构的特殊性(0003H~002AH共40个单元,预留用于存放中断程序的入口地址),在0000H~0002H中放一条绝对跳转指令,从而使程序从指定的地址开始执行。
配合程序调试,程序又可运行在单步、跟踪、全速运行三种执行方式。目前一般仿真器都提供这三种程序执行方式。
随着科学技术的发展,在线可编程(ISP)单片机已经应用于实际生产,如STT89C58、AT89S51、AT89S52芯片,都具有在线可编程功能。

3、低功耗工作方式

 单片机最小系统

外形引角排列示意图

基于51单片机的电子时钟实物图

 

2.4 键盘控制电路设计

2.4.1  键盘控制的主要功能

在单片机应用系统中,键盘用于输入数据、代码和命令;显示器用来显示单片机的输入值、控制过程中间信息及运算结果等。键盘和显示器是实现人机对话,是两个必不可少的硬件配置。

在本系统中,键盘控制电路的主要功能是用于温度初值的设定和检测时间实时显示值的修改。

2.4.2  键盘电路设计

在键盘接口技术中,键盘分独立式键盘和矩阵式键盘两种。

1、独立式键盘

独立式键盘是最简单的键盘电路,每个键独立的连接一根输入线。这种键盘的优点是结构简单、使用方便,目前这种结构的键盘应用还相当普通,这种键盘的缺点是每个键占用一根I/O口线,这样随着键盘数量的增加I/O端口会不足。因此独立式按键结构的键盘只适应于键盘数量较少的应用系统。

附件C 程序

 // DS1302.c(main.c)

/****************************

*名称:DS1302.c

*说明:main.c文件

*****************************/

#include"DS1302.h"

#include "1302.h"

#include "LCD1602.h"

 

uchar bdata flag1;//用bdata将变量定义在可位寻址息肉数据存储区

 

sbit EXT0 = P3^2;//外部中断0引脚

sbit OptionSwitchButton = P3^0;//切换选中项按键,目的在于切换需要调节的项,如秒,小时

sbit IncreaseValueButton = P3^3;//增加选中项的数值

sbit Beep = P2^6;//蜂鸣器接口

sbit LED = P2^5;//报警LED接口

 

uchar Mode=0;//模式标志位,若Mode=0,表示正常工作模式,Mode为1,表示工作于调时模式,Mode为2,工作于定时模式。

uchar Mode0_Init_flag = 0;//正常工作模式下LCD是否已经进行初始化的标志位,如果显示-和:,则进行一次显示,如果显示过,该标志位置1

 

uchar FlashTime = 100;//决定闪烁交替的时长

uchar time_date[] = {0,0,12,1,1,2,13};//初始的时间和日期,秒 分 时 日 月 周 年。2013年1月1日 星期二 12:00:00

uchar Min_time_date[] = {0,0,0,1,1,1,0};//调时状态下各个数值的最小值

uchar Max_time_date[] = {59,59,23,31,12,7,99};//调时状态下各个数值的最大值

uchar Set_time[] = {0,0,0};//定时时间数值

uchar *p1 = time_date;//将P1指向时间日期数组

uchar Mode1_read_flag = 0;//用来判断是不是第一次进入调时状态

uchar Mode2_Display_flag = 0;//用来判断是不是进行了一次显示

 

sbit FLASH_FLAG = flag1^0;//根据此标志交替给相应位写入空字符和实际的时间信息

sbit Write_RTC_flag = flag1^1;//根据此位判断在调时状态下是否进行了时间改动,是否在正常状态下需要将时间重新写入到DS1302

sbit Beep_flag = flag1^2;//根据此标志判断是否进行报时

uchar Keep_Press_flag = 0;//按键按下保持标志

 

uint Timer0_Counter = 0;//Time0计数器

uint Flash_Counter = 0;//控制选中项闪烁所用的计数器

//uint Beep_Counter = 0;//控制蜂鸣器鸣叫所用的计数器

 

uchar Beep_time = 0;//鸣叫次数,鸣叫4声之后插入延时,使每4声之后有所停顿

 

uchar Option = 0;//调时状态下当前选中的项

uchar Set_Time_Option = 0;//定时状态下当前选中的项

uchar code write_addr[7] = {0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}; //秒分时日月周年 写的寄存器地址

uchar code read_addr[7] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}; //秒分时日月周年 读的寄存器地址

/***************************

不精确1us延时

***************************/

void delay_us(uint n)

{                     

    uint i;

    while(n--)

    for(i=1;i>0;i--);

}

/***************

数字电子钟 摘 要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的 各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产 品性能进一步提高,产品更新换代的节奏也越来越快。 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些 对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码 管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读 数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。 数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、 稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒,以24 小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定 时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字 钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱, 因此得到了广泛的使用。 关键字:数字电子钟 单片机 目 录 第一章 绪论 1.1 数字电子钟的背景…………………………………………………………………… 1 1.2 数字电子钟的意义…………………………………………………………………… 1 1.3 数字电子钟的应用…………………………………………………………………… 1 第二章 整体设计方案 2.1 单片机的选择…………………………………………………………………………… 2 2.2 单片机的基本结构……………………………………………………………………… 4 第三章 数字钟的硬件设计 3.1 最小系统设计…………………………………………………………………………… 9 3.2 LED显示电路…………………………………………………………………………… 12 3.3 键盘控制电路…………………………………………………………………………… 14 第四章 数字钟的软件设计 4.1 系统软件设计流程图…………………………………………………………………… 16 4.2 数字电子钟的原理图…………………………………………………………………… 20 4.3 主程序…………………………………………………………………………………… 20 4.4 时钟设置子程序………………………………………………………………………… 21 4.5 定时器中断子程序……………………………………………………………………… 21 4.6 LED显示子程序………………………………………………………………………… 22 4.7 按键控制子程序………………………………………………………………………… 24 第五章 系统仿真 5.1 PROTUES软件介绍……………………………………………………………………… 26 5.2 电子钟系统PROTUES仿真……………………………………………………………… 26 第六章 调试与功能说明 6.2 系统性能测试与功能说明……………………………………………………………… 27 6.3 系统时钟误差分析……………………………………………………………………… 27 6.1 硬盘调试………………………………………………………………………………… 27 6.4 软件调试问题及解决…………………………………………………………………… 27 结束语………………………………………………………………………………………….29 参考文献………………………………………………………………………………………30 致谢……………………………………………………………………………………………..31
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值