基于单片机的简易电子钟设计

8 篇文章 0 订阅
4 篇文章 0 订阅

1、摘  要

单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。

这次毕业设计通过对它的学习、应用,以STC89C51单片机为核心,辅以必要的电路,设计了一个简易的电子时钟,它由5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定 时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字 钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱, 因此得到了广泛的使用。

2、引  言

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 

目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时、分和秒的校对,片选的灵活性好。

时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12C887等都可以满足高精度的要求。

3、目录

4、仿真文件

5、功能

设计通过单片机和数码管、led灯等组成,74hc573驱动6位数码管,其显示是:小时.分钟.。按键功能是:小时加,分钟加,秒清零,12/24h切换0~12h(也就是上午)灯亮,12~24h(下午)时灯灭,12小时制时灯亮,24小时制时灯灭。

6、代码

部分
#include<reg52.h>
#define uc unsigned char
#define ui unsigned int
sbit LED=P3^2;//定义LED
sbit key0=P3^3;//定义小时切换
sbit key1=P3^4;//定义调小时
sbit key2=P3^5;//定义调分钟
sbit key3=P3^6;//定义秒清零
sbit wan=P3^7;
uc min,hour,sec,num;
bit bdata zhi;
uc code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*0,1,2,3,4,5,6,7,8,9,.*///共阴极编码

void delay(ui x)//延时函数
{
	ui i,j;
	for(i=0;i<x;i++)
	for(j=0;j<121;j++);
}
void display()//扫描显示函数,高位到低位
{
	P0=tab[hour/10];
	P2=0xdf;//11011111
	delay(1);
	P2=0xff;

	P0=(tab[hour%10])|0x80;//给第二位后加“点
	P2=0xef;//11101111
	delay(1);
	P2=0xff;

	P0=tab[min/10];
	P2=0xf7;//11110111
	delay(1);
	P2=0xff;

	P0=(tab[min%10])|0x80;//给第四位后加“点”
	P2=0xfb;//11111011
	delay(1);
	P2=0xff;

	P0=tab[sec/10];
	P2=0xfd;//11111101
	delay(1);
	P2=0xff;

	P0=tab[sec%10];
	P2=0xfe;//11111110
	delay(1);
	P2=0xff;
}

void keyscan()//键盘扫描,开关接地
{
	if(key0==0)
	{
		delay(5);
		if(key0==0)
		{
			LED=~LED;
			zhi=~zhi;
			if((hour>=12)&&(zhi==0))
			{	
				hour=hour-12;
			}
			if((zhi==1)&&(wan==1))
			{
				hour=hour+12;
			}			 		 
		}
		while(!key0) display();//判断是否松开
	}
	if(key1==0)
	{
		delay(5);
		if((key1==0)&&(zhi==0))
		{
			hour++;
			if(hour==12)
			{
				hour=0;
				wan=~wan;
			}
		}
		if((key1==0)&&(zhi==1))
		{
			hour++;
			if(hour==24)
			hour=0;
		}
		while(!key1) display();//判断是否松开
	}
	if(key2==0)
	{
		delay(5);
		if(key2==0)
		{
			min++;
			if(min==60)
			min=0;
		}
		while(!key2) display();//判断是否松开
	}
	if(key3==0)//判断调整秒按键
	{
		delay(5);
		if(key3==0)
		{sec=0;}
		while(!key3) display();//判断是否松开
	}
}

7、下载地址

仿真文件、论文、代码、焊接步骤、视频讲解、芯片资料、开题报告、pcb等等

12h-24h切换简易时钟-单片机文档类资源-CSDN下载

  • 5
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初尘屿风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值