电子钟可闹铃、设置日期和时间

电子钟可闹铃、设置日期和时间
电子钟可闹铃、设置日期和时间

/***************************lns主程序snl***************************/ #include //包含头文件

#include //包含头文件

/***************************数据类型定义***************************/

#define uchar unsigned char //数据类型定义

/*************************定义变量并初始化*************************/ uchar n=31; //定义月份天数变量并初始化

uchar ms=0; //定义毫秒变量并初始化

uchar h1=0,m1=0,s1=0; //定义计时时、分、秒变量并初始化uchar h2=0,m2=1,s2=1; //定义定时时、分、秒变量并初始化uchar year=7,month=9,day=8; //定义年、月、日变量并初始化

uchar wday=6; //定义星期变量并初始化

uchar *h=&h1,*m=&m1,*s=&s1; //定义显视位变量并初始化

uchar *p; //定义调节指针

uchar k1=0,k2=0,k3=0,k4=0,k5=0; //定义控制变量并初始化

uchar counter=0; //定义铃声节拍变量并初始化

uchar count=0; //定义铃声音符变量并初始化

sbit sound=P1^0; //定义铃声输出位

uchar a[8]={1,2,3,4,5,6,7}; //定义显视输出位数组并初始化

uchar code tt[12]={

0x3f,0x06,0x5b,0x4f,0x66,0x6d,

0x7d,0x07,0x7f,0x6f,0x40,0x00

}; //数码管显视代码

uchar code array[]={

0x18, 0x30, 0x1C, 0x10, 0x20, 0x40, 0x1C, 0x10,

0x18, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x18, 0x40,

0x1C, 0x20, 0x20, 0x20, 0x1C, 0x20, 0x18, 0x20,

0x20, 0x80, 0xFF, 0x00, 0x20, 0x30, 0x1C, 0x10,

0x18, 0x20, 0x15, 0x20, 0x1C, 0x20, 0x20, 0x20,

0x26, 0x40, 0x20, 0x20, 0x2B, 0x20, 0x26, 0x20,

0x20, 0x20, 0x30, 0x80, 0xFF, 0x00, 0x20, 0x20,

0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20,

0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x20,

0x1C, 0x10, 0x18, 0x10, 0x20, 0x20, 0x26, 0x20,

0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40, 0x20, 0x30,

0x1C, 0x10, 0x18, 0x20, 0x15, 0x20, 0x1C, 0x20,

0x20, 0x20, 0x26, 0x40, 0x20, 0x20, 0x2B, 0x20,

0x26, 0x20, 0x20, 0x20, 0x30, 0x80, 0x20, 0x30,

0x1C, 0x10, 0x20, 0x10, 0x1C, 0x10, 0x20, 0x20,

0x26, 0x20, 0x2B, 0x20, 0x30, 0x20, 0x2B, 0x40,

0x20, 0x15, 0x1F, 0x05, 0x20, 0x10, 0x1C, 0x10,

0x20, 0x20, 0x26, 0x20, 0x2B, 0x20, 0x30, 0x20,

0x2B, 0x40, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x20,

0x15, 0x20, 0x1C, 0x20, 0x20, 0x20, 0x26, 0x40,

0x20, 0x20, 0x2B, 0x20, 0x26, 0x20, 0x20, 0x20,

0x30, 0x30, 0x20, 0x30, 0x1C, 0x10, 0x18, 0x40,

0x1C, 0x20, 0x20, 0x20, 0x26, 0x40, 0x13, 0x60,

0x18, 0x20, 0x15, 0x40, 0x13, 0x40, 0x18, 0x80,

0x00, 0x00

}; //array[i]=0x00 代表歌曲演唱完毕

//array[i]=0xff 代表是休止符

/******************************************************************* * 函数名称:leap()

* 功能:计算二月份天数

* 入口参数:year

* 出口参数:无

*******************************************************************/ uchar leap(uchar year) //判断是否闰年并返回二月份的天数

{ //闰年返回29,平年返回28

year+=2000;

if(year%4==0)

{if(year%100==0)

{if(year%400==0)

return 29;

else return 28;

}

else return 29;

}

else return 28;

}

/******************************************************************* * 函数名称:mon()

* 功能:计算并返回每个月的天数

* 入口参数:month

* 出口参数:无

*******************************************************************/ uchar mon(uchar month) //计算并返回每个月的天数

{

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:return 31;break; //1,3,5,7,8,10,12月每月31天

case 4:

数码显示电子钟实训报告

实训报告 实训名称:中夏牌ZX2042型 数码显示电子钟套件装配学院:电子信息工程学院 班级: 学号: 姓名: 地点:科技大楼B104 指导老师: 2013年5月4日 目录

一、实训目的 1、认识实验器材,了解器材性能,学会分析组装实验电路 2、把在课堂上学到的理论知识应用于生产实践 3、学会分析检查电路,排除故障 二、实训内容 按照电路原理图焊接好印刷电路板,并根据说明书安装好外壳。 三、实训仪器 万用电表、电烙铁 四、工作原理 电路原理图如下图所示。电路原理图如图,LM8560是50/60HZ的时基24小时专用集成电路,有28只管脚,1-14脚是显示比划输出15脚为正电源段,20脚为负电源端,27脚是内部振荡器RC输入端,16脚为报警输出. Tl 为降压变压器,经桥式整流及滤波后得到直流电,供主电路和显示屏工作。当交流电源停电时备用电池通过VD5向电路供电。 当调好定时时间后,并按下开关K1,显示屏有下方有绿点指示,到定时时间有驱动信号经R3使VT1工作,即可定时报警 从面板上从左到右,存在五个微动开关,分别是S4、S3、K1、S2、S1,S1调小时,S2调分钟,S3调时钟,S4调定时,K1定时报警开关 调时钟时,需按下S3的同时按动S1,即可调小时数,按下S3的同时按动S2课调分钟数 调定时报警时,需按下S4的同时按动S1调闹钟的小时数,按下S4同时按动S2可调实际上闹钟数 五、安装调试过程

先检查元器件,安装时先安装低矮和耐热的元件(如电阻),然后再装大一点的元件,最后安装怕热的元件(如三极管、集成电路等)。安装图如图所示。安装排线时,先去塑料皮上锡后,一端按原理图的序号接LED的显示屏,另一端接电路板。蜂鸣器安装时先在两端接红白导线,然后将导线接电路板上的BL+、BL-,另外还有6根跳线(J1-J4),用其他元件多余的铁线充当。安装变压器时,先将热缩管套在电源变压器初级线圈的导线上,然后与插头电源线焊接,移动热缩管至焊接处。 调试时,先认真检查有无焊错,焊漏,短路,在确保焊接正确的情况下,通电检查即可正确工作,时间显示并闪动,调整后就不闪动了。 六、实训总结 在整个课程设计完后,总的感觉是:有收获,比以前能更加熟练地组装及焊接。以前上课都是上一些最基本的东西,而现在却可以将以前学的东西做出有实际价值的东西。在这个过程中,我的确学得到很多在书本上学不到的东西,如:如何利用现有的元件组装得到设计要求,如何找到错误的原因,怎样检测元件等等。但也遇到了挫折,因为没有注意成品外壳与实验板的吻合,使得有些元件安装不合理,最终不能很好的组装。在实验中的小问题在课堂上不可能犯,在动手的过程中却很有可能犯。特别是在接电路时,一不小心就会犯错,而且很不容易检查出来。还有就是认识到自己的动手能力确实不够好,但现在回过头来看,还 是挺有成就感的,因为最终能将实验做成功。

单片机课程设计电子时钟实验可定时调闹钟用LCD显示

姓名学号 时间 2013.1.9 实验题目电子数字钟 一、实验目的与要求 1.电子数字钟必须具有显示年、月、日和显示时、分、秒的功能。(用LCD显示)。 2.具有按键时间校正功能。 3.具备设定闹钟和定时闹钟功能。 二、实验环境(硬件环境、软件环境) 1.硬件环境:单片机开发板一个,计算机一台,单片机主机电源线及与计算机的连接线各一条。 2.软件环境:软件Keil C51和软件Flash Magic。 三、实验电路(P2口输入、P1口输出实验原理图) 本次实验主要使用了开发板的4个板块,分别是单片机STC89C52(如图2所示)、矩阵键盘(如图2所示)、1206LCD显示器和蜂鸣器(如图3所示)。其中单片机芯片通过P0口把总线和矩阵键盘连接;通过P2.2和蜂鸣器间接相连,因为蜂鸣器所在的电路已经连芯片ULN2003,因此用一根杜邦线把P2.2和芯片ULN2003的第一个输入口IN1连起来。而键盘 显示这一块,由于内部已经把键盘显示的电路和单片机芯片连接起来了,

所以不需要借助杜邦线了。图1为实物连线图。 图1 实物连线图 图2 单片机机座和矩阵键盘

图3 蜂鸣器和1602液晶显示器 四、程序流程图 主要算法:主函数中先定时中断初始化,利用定时器中断实现走时,调用LCD显示程序和按键处理子函数,再调用显示时间函数显示初始时间值。同时,在主函数中判断当前的小时和分钟值是否等于闹钟设定的时间,若等于则让蜂鸣器响。主函数算法的框图如图4所示。 按键处理函数算法:通过键盘扫描函数得到确定哪个键盘按下,得到键盘值,如果键0按下则暂停时钟走时;键1按下则在当前的光标所在的时间单元加1;键2按下则开闹钟;键3按下则实现当前的时间单元左移一位的功能;键4按下则在当前的光标所在的时间单元减1。 时间的年月日算法:通过定时器实现时钟的走时,秒满60,分钟加1;分满60,小时加1;小时满24,日加1;至于每个月的天数根据闰年和非闰年的表格确定当月天数。

用数码管显示实时日历时钟的应用设计

(用数码管显示实时日历时钟的应用设计)

摘要 本课题通过MCS-51单片机来设计电子时钟,采用汇编语言进行编程,可以实现以下一些功能:小时,分,秒和年,月,日的显示。本次设计的电子时钟系统由时钟电路,LED显示电路三部分组成。51单片机通过软件编程,在LED数码管上实现小时,分,秒和年,月,日的显示;利用时钟芯片DS1302来实现计时。本文详细介绍了DS1302 芯片的基本工作原理及其软件设计过程,运用PROTEUS软件进行电路连接和仿真,同时还介绍了74LS164,通过它来实现I|O口的扩展。 关键词:时钟芯片,仿真软件,74LS164 目录 前言 0.1设计思路 (8) 0.2研究意义 (8)

一、时钟芯片 1.1 了解时钟芯片……………………………………………….8-9 1.2 掌握时钟芯片的工作原理………………………………….10-11二、74LS164 2.1 了解74LS164........................................................11-12 2.2 掌握的74LS164工作原理. (12) 三、数码管 3.1 熟悉常用的LED数码管...........................................12-13 3.2 了解动态显示与静态显示. (13) 四、程序设计 4.0 程序流程图 (14) 4.1 DS1392的驱动.......................................................15-16 4.2 PROTUES实现电路连接. (17) 4.3 数码管的显示:小时;分;秒 (18) 4.4 数码管显示:年;月;日 (19) 五、总结…………………………………………………………………..20-21 六、附页程序………………………………………………………………22-31前言

基于单片机电子闹钟的设计

西南石油大学 单片机课程设计 学院: 电气信息学院 专业年级: 通信工程2013级 姓名: 王昕铃 学号: 课题:基于单片机的定时闹钟设计 指导老师: 邓魁 日期: 2016 年 6月 30日 前言 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有

更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。 多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机,定时器,中断,闹钟,LED

LED数码管显示电子钟设计

《单片机原理及应用》 课程设计说明书 题目LED数码管显示电子钟设计系(部) 专业(班级) 姓名 学号 指导教师 起止日期 课程设计任务书

系(部): 专业:

目录 一、摘要 单片机全称为单片机微型计算机(Single Chip Microsoftcomputer).从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容

易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础.在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 二、设计内容 2.1、任务要求 本次设计时钟电路,使用了A TC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的年、月、日、时、分、秒,还有设定闹钟,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求. 2。2、设计程序方案 设计程序思路: 1.实现8位数码管动态扫描显示 void Display_1Code(unsigned char pos,unsigned char code1); void Display_2Num(unsigned char pos,unsigned char num,unsigned char point); 数码管动态扫描就是: 段显位选延时显示消影 因为我们用的是共阳数码管,而段码表用的共阴的,所以对code1取反 共阳数码管高电平点亮,所以P2移位后不用取反,从高位开始是第1个数码管 掩饰显示1ms,P2给全0全部熄灭,消影作用. 2。时间显示 采用实时时钟芯片DS1302,读芯片的datasheet,根据时序等说明编写驱动程序。 1)初始化 void DS1302_Init(void) 2)底层基本读写函数 void DS1302_WriteByte(unsigned char byte) unsigned char DS1302_ReadByte(void) 3)对芯片寄存器的读写函数 void DS1302_WriteData(unsigned char addr,unsigned char mdata) unsigned char DS1302_ReadData(unsigned char addr) 4)修改时间函数

单片机数字时钟带闹钟

计算机硬件综合课程 设计报告 课目: 学院: 班级: 姓名: 指导教师: 目录

1 设计要求 功能需求 设计要求 2 硬件设计及描述 总体描述 系统总体框图 Proteus仿真电路图3 软件设计流程及描述 程序流程图 函数模块及功能 4 心得体会 附:源程序

1设计要求 1.1功能需求 (1)实现数字时钟准确实时的计时与显示功能; (2)实现闹钟功能,即系统时间到达闹钟时间时闹铃响; (3)实现时间和闹钟时间的调时功能; (4)刚启动系统的时候在数码管上滚动显示数字串(学号)。 1.2设计要求 (1)应用MCS-51单片机设计实现数字时钟电路; (2)使用定时器/计数器中断实现计时; (3)选用8个数码管显示时间; (4)使用3个按钮实现调时间和闹钟时间的功能。按钮1:更换模式(模式0:正常显示时间;模式1:调当前时间的小时;模式 2;调当前时间的分钟;模式3:调闹钟时间的小时;模式4: 调闹钟时间的分钟);按钮2:在非模式0下给需要调节的时 间数加一,但不溢出;按钮3:在非模式0下给需要调节的时 间数减一,但不小于零; (5)在非0模式下,给正在调节的时间闪烁提示; (6)使用扬声器实现闹钟功能; (7)采用C语言编写程序并调试。

2 硬件设计及描述 2.1总体描述 (1)单片机采用AT89C51型; (2)时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号; (3)时间设置电路:、、分别连接3个按键,实现调模式,时间加和时间减; (4)闹钟:口接扬声器。 2.2系统总体框图 2.3Proteus仿真电路图

8位数码管显示电子时钟c51单片机程序

8位数码管显示电子时钟c51单片机程序 时间:2012-09-10 13:52:26 来源:作者: /* 8位数码管显示时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=19,hour=23,second; //定义并初始化为 12:30:00 void delay(unsigned int cnt) { while(--cnt); } /******************************************************************/ /* 显示处理函数 */ /******************************************************************/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0x40; //显示"-" StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0x40; //显示"-" StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } main()

Led数码显示电子钟套件装配说明书

Led数码显示电子钟套件装配说明书 一、装配说明书 RW-2042数码显示电子钟电路,采用一只PMOS大规模集成电路LM8560或 TMS3450NL、SC8560、CD8560和四位LED显示屏,通过驱动显示屏显示时、分,振荡部分采用了石英晶体作时基信号源,从而保证了走时的精度。本电路还供有定时报警功能。它定时调整方便,电路稳定可靠。能耗低,集成电路采用插座插装,制作成功率高,非常适合广大电子爱好者装配使用。本电路还可扩展成定时控制交流开关(小保姆式)等功能。 1、工作原理 电路原理土建第三部分。LM8560(Ic1)是50/60Hz的时基24小时专用数字时钟集成电路。有28只,1—14脚是显示笔划输出,15脚为正电源端,20脚为负电源端,27脚是内部振荡器RC输入端,16脚为报警输出。 T1为降压变压器,经桥式整流(VD6-VD9)及滤波(C3、C4)后得到直流电,供主电路和显示屏工作。当交流电源停电时,备用电池通过VD5向电路供电。 IC2(CD4060)JT、R2、C2构成60Hz的时基电路。CD4060内部包含14位二分频器和一个振荡器,电路简洁,30720HZ的信号经分频后,得到50HZ的信号送到LM8560的25脚,并做秒信号经VT2、VT3驱动显示屏内的冒号闪动 当调好定时时间后,并按下开关K1(白按钮),显示屏右下方有绿点指示,到定时时间有驱动信号经R3使VT1工作,即可定时报警输出。在面板上从左到右,存在五个微动开关,分别是S4、S3、K1、S2、S1,S1调小时,S2调分钟,S3调时钟,S4调定时,K1定时报警开关(即闹铃开关)。 调时钟时,需按下S3的同时按动S1,即可调小时数;按下S3的同时按动S2可调分钟数。调定时报警时,需按下S4的同时按动S1即可调闹铃的小时数;按下S4的同时按动S2可调事实上时闹铃数。 2、安装要求 在手动焊接前请用万用表将各元件测试一下,安装元件时,先装低矮和耐热的元件如电阻,再装大一点的元件,最后装怕热元件三极管,集成电路等。电阻的安装:将电阻阻值选择好后,根据两孔的距离采用立式紧贴电路板安装。电解电容、二极管、三极管安装时注意极性和型号,电解电容C4紧贴电路板卧式安装,C3紧贴电路板立式安装;二极管紧贴电路板立式安装;三极管安装时要注意型号,轻触开关和自锁开关紧贴电路板安装。

带闹钟的电子钟(单片机)

课程设计 带闹钟的电子钟 系别:计算机科学与技术系 专业(班级):计算机科学与技术2011级本<2>班作者(学号):汪静(51102012011) 指导教师:张自军 完成日期: 2013年12月05日 二○一二年12月28日

20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。 多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。

基于郭天祥单片机数码管的电子钟(含闹钟、整点报时)

基于单片机数码管的电子钟(郭天祥系列单片机) 功能说明 (D本电子钟可以显示当前时刻、年月日和闹钟时刻。不同时间的显示可以用key4来切换。 (2)、独立键盘key—key4(左到右)调节不同功能,7段数 码管显示。 (3)整点提示功能:当时间为整点时,蜂鸣器会滴滴滴响,响20秒; (4)闹铃功能:本程序有闹铃功能,当定时时间到时,闹铃会滴滴滴报警,报警30秒; (5)附加功能:当在闹铃和整点时,8个发光二极管会闪亮; (6)时、分、秒之间和年、月、日之间也是用分割。 2、键盘控制 (1)key1-键移动调整单位,每按一次移动一个单位,可调整时分秒、年月日和闹钟时间。比如:在显示时分秒时,按下keyl 键, 可通过key2和key3对'秒'加减;再按一下keyl,可对"分'加减;再按一下keyl,可对"时'加减;再按keyl,时间开始走动 (2)key2-加 1 ; key3-减 1; (3)key4-键切换时分秒、年月日和闹铃时间的显示。比如:当前为时分秒,按一下key4,则显示年月;再按一下,则显示闹铃时间;再按一下,则显示时分秒时间。

附录:C语言程序 〃设计项目:带闹铃的电子钟 //功能:keyV键:开始/调时分秒/调年月日/调定时 // key2 ■键:加 1 // key3-键:减 1 // key4-键:切换页面 #in clude #define uchar unsigned char #define uint unsigned int sbit dula=P2A6; sbit wela=P2A7; sbit key1=P3A4; sbit key2=P3A5; sbit key3=P3A6; sbit key4=P3A7; sbit bear=P2A3; uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e, 0x79,0x71}; uchar sed ,hour1 ,year1 ,mon1 ,day1,tempi ,temp2,sec2,min2,hour2; void keyscan(); void display(uchar hour,uchar min,uchar sec); void delay(uint z) { uint x,y; for(x=0;x

单片机大全程序电子闹钟

电子闹钟课程设计 摘要:本课程设计主要是通过单片机系统,综合运用定时器、中断、数码显示等知识设计一个可定时的电子钟。它包括系统总体方案及硬件设计,软件设计,Proteus软件仿真等部分。 硬件设计的主要任务是根据总体设计要求,以及在所选机型的基础上,确定系统扩展所要用的存储器,I/O电路及有关外围电路等然后设计出系统的电路原理图。 合理的软件结构是设计出一个性能优良的单片机应用性系统软件的基础,因此必须充 1 2. 3. 而 本系统采用单片机AT89C51作为本设计的核心元件,利用7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,扬声器发出报警声,提示预先设定时间电器的起停时间到,从而控制电器的起停。

电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示,报警电路, 芯片选用AT89C51 单片机。 系统框图: 四.硬件设计 1.单片机AT89C51 AT89C51是一个低电压,高性能CMOS型 8位单片机,片内含4KB的可反复擦写的Flash 只读程序存储器(ROM)和128 B的随机存取数据存储器(RAM),器件采用ATMEL公司的高 8 Array位器和 内置功能 实 的I/O 几个特殊管脚: XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。 2.时钟电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz~12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳 定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。时钟电路

电子时钟数码管显示

/********************************************************** ***/ //电子时钟数码管显示,具有暂停,清零,调整时,分,秒的功能2014年8月17日 /********************************************************** */ #include #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; //sbit s0=P3^2; //清零键 sbit speak=P1^2; //蜂鸣器 //sbit s2=P3^0; //矩阵键盘 //sbit s3=P3^1; //sbit s4=P3^4; //暂停 sbit s1=P3^2; //功能键 sbit s2=P3^5;// 闹钟设定 sbit s3=P3^3; //加 sbit s4=P3^4; //减 //sbit juzhen=P3^4;

bit sflag,setflag,setcflag,cflag,k1,k2,k3,k4; uchar code duanma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //显示数字0~9 unsigned char code weima[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //unsigned char code weima[]={0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //unsigned char code weima[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb}; uchar tempdata[8]; uchar miao,fen,shi,cmiao,cfen,cshi; uchar count,ncount,s1num,cnum,state,normal; //-------------------------ms级延时函数-----------------------------------------// void delayms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=123;y>0;y--); } //-----------------------------蜂鸣器发声--------------------------------------------------// void buzzer() {

C51单片机实现电子闹钟

课程名称:单片机原理与接口技术实践设计课题:基于MCS 51单片机实现电子 闹钟功能的设计 学院:电子与信息工程学院 专业:通信工程 小组成员:

电子闹钟在科学技术高度发展的今天,千家万户都少不了它,所以很多家庭个人都需要有一个电子闹钟,为人们提供报时方便,但普通电子闹钟不够方便实用。本文给出了一种基于MCS51单片机实现电子闹钟功能的设计方法,从而给人们带来更为方便的工作与生活。 一.电子闹钟简介 我们设计的电子闹钟是以MCS 51单片机中的计时器作为时钟,用8位数码管显示当前时间,并且可以设置闹钟时间,并在设置的时间点发出闹铃。 简易闹钟具有以下功能: 1.时钟能准确地走时,并可以通过数码管进行显示 2.复位后可以进行当前时间的设置 3.可以随意设置闹钟时间,闹钟会在设置时间响铃 整个系统的任务要求: 1)输入数字按键的功能。 保证数字的输入。 2)复位电路的功能。 所有时间回到初始化状态,用于启动设定时间参数(调时或设定闹钟时间); 3)显示电路的功能。 当输入数字时显示24小时时间功能。 4)闹铃功能 设置闹铃的时间后.能按设置好的时间准时闹铃。 二.系统方案的设计要求 根据以上各模块并结合显示屏的功能及元器件材料的情况,决定采用AT89C51为核显示设计方案。 先进行系统的整体规划确定整个系统的功能,然后按照每个功能的具体要求,进行各个模块的实物设计并逐个调试,待全部通过后,进行整个系统的联调,最终实现一个完整的系统。 整个系统的设计步骤如下: 在单片机最小系统的基础上,完成按键电路和复位电路的设计。 完成显示电路、数字按键、单片机时钟电路。

Ⅰ硬件设计 系统硬件的设计可以根据系统的各个功能,把整个系统划分成若干个模块,分别对这些模块来进行设计,然后在通过单片机程序来实现对各个硬件模块功能的调度。 本系统涉及到的硬件模块有:按键电路、数码管显示电路、单片机时钟电路、蜂鸣器电路。 各部分实现功能如下: 按键电路:提供按键信号。 单片机时钟电路、复位电路:提供部时钟。 数码管驱动显示电路:显示当前时间。 蜂鸣器电路:闹钟报时。 Ⅱ软件设计 本系统的软件部分主要完成功能:时分秒的进位算法处理、数码管的时间显示、时间调整设置、闹钟功能。 根据软件的功能划分软件设计模块结构,如下所示 其中各个模块具体任务如下: 按键驱动模块:对各个按键的功能进行相关的定义。 LED驱动模块:根据系统需要显示相应的数字时间; 时间处理模块:时、分、秒的进位算法处理

数字电子钟

电子制作实训报告 题目:数字电子钟 班级:09电信 姓名:苏欣欣 指导教师:赵欣 湖北轻工职业技术学院 完成日期:2011年4月16日

目录 第一章概述 3 第二章数字电子钟的电路原理 4 第三章电路调试与制作12 第四章总结与体会12 第五章附录13

第一章概述 数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运运超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 虽然市场上已有现成的数字集成电路芯片出售,价格便宜,使用方便,这里所制作的数字电子可以随意设置时,分的输出,是数字电子中具有体积小、耗电省、计时准确、性能稳定、维护方便等优点。 设计目的 (1)加强对电子制作的认识,充分掌握和理解设计个部分的工作原理、设计过程、选择芯片器件、电路的焊接与调试等多项知识。 (2)把理论知识与实践相结合,充分发挥个人与团队协作能力,并在实践中锻炼。 (3)提高利用已学知识分析和解决问题的能力。 (4)提高实践动手能力。

第二章数字电子钟的电路原理 数字电子钟的设计与制作主要包括:数码显示电路、计数器与校时电路、时基电路和闹铃报时电路四个部分。 1.数码显示电路 译码和数码显示电路是将数字钟的计时状态直观清晰地反映出来。显示器件选用FTTL-655SB双阴极显示屏组。在计数电路输出信号的驱动下,显示出清晰的数字符号。 2.计数器电路 LM8560是一种大规模时钟集成电路它与双阴极显示屏组可以制成数字钟钟控电路。 3.校时电路 数字钟电路由于秒信号的精确性和稳定性不可能做到完全准确无误,时基电路的误差会累积;又因外部环境对电路的影响,设计产品会产生走时误差的现象。所以,电路中就应该有校准时间功能的电路。通过手动调节按键,达到校准的目的。 4.定时报警电路 当调好定时间后并按下开关K1(白色键),显示屏右下方有红点指示,到定时时间有驱动信号经R3使VT1工作,即可定时报警输出。

LED数码管显示电子钟

#include #include unsigned char data dis_digit; unsigned char key_s, key_v; unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off unsigned char data dis_buf[8]; unsigned char data dis_index; unsigned char hour,min,sec; unsigned char sec100; sbit K1 = P1^4; sbit K2 = P1^5; bit scan_key(); void proc_key(); void inc_sec(); void inc_min(); void inc_hour(); void display(); void delayms(unsigned char ms); void main(void) { P0 = 0xff; P2 = 0xff; TMOD = 0x11; // 定时器0, 1工作模式1, 16位定时方式 TH1 = 0xdc; TL1 = 0; TH0 = 0xFC; TL0 = 0x17; hour = 12; min = 00; sec = 00; sec100 = 0; dis_buf[0] = dis_code[hour / 10]; // 时十位

基于单片机的电子闹钟设计

基于单片机的电子闹钟设计 摘要 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。 关键词:单片机;led;闹钟;定时器 Abstract This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. Keywords:single chip machine ,in fixed time machine, alarm clock,LED 1 引言 1.1设计目的 此次课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 1.2设计要求 结合单片机知识,以AT89C51单片机为核心,利用七段LED数码管实现计时、校时及闹钟功能。 1.3设计方法 以AT89C51单片机为核心,外加晶振电路,使用8个七段数码管显示,LED 采用动态扫描,用74ls245芯片作为驱动电路。通过四个独立按键对时间进行定时、校时,从而实现闹钟提醒功能。 2 设计方案及原理 2.1设计方案 选AT89C51单片机作为系统核心,辅助外部产生时钟信号的晶振电路,再加上四个独立按键作为输入信号,使用8个七段数码管显示时间,芯片74ls245为数

51单片机数码管显示时钟(C语言)

//以下程序都是在VC++6.0 上调试运行过的程序,没有错误,没有警告。 //单片机是STC89C52RC,但是在所有的51 52单片机上都是通用的。51只是一个学习的基础平台,你懂得。 //程序在关键的位置添加了注释。 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////以下是主文件main.c 的内容 /****************************************************************************** * * 实验名: 万年历实验 * 使用的IO : * 实验效果:1602显示时钟 * 注意: ******************************************************************************* / #include #include"ds1302.h" //数码管IO #define DIG P0 sbit LSA=P2^2; sbit LSB=P2^3; sbit LSC=P2^4; unsigned char code DIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char Num=0; unsigned int disp[8]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f}; void LcdDisplay(); void Timer0Configuration(); /****************************************************************************** * * 函数名: main * 函数功能: 主函数 * 输入: 无 * 输出: 无 ******************************************************************************* / void main() {

基于单片机的数字时钟加闹钟的设计与制作

题目基于单片机的数字时钟加闹钟的设计与制作 1绪论 (2) 1.1引言 (2) 1.2研究目的 (2) 1.3系统基本方案选择和论证 (2) 1.3.1单片机芯片的选择方案和论证: (2) 1.3.2显示模块选择方案和论证: (2) 1.3.3时钟芯片的选择方案和论证: (2) 1.3.4电路设计最终方案确定 (3) 1.4硬件系统框图 (3) 2 主要元件介绍 (4) 2.1STC89C52以及最小系统介绍 (4) 2.1.1 ST89C52单片机: (4) 2.1.2 计时芯片DS1302: (5) 2.1.3字符液晶显示屏LCD1602资料: (6) 2.1.4 电源模块: (8) 3. 硬件电路连接图: (8) 3.1单片机的连接图 (8) 3.2DS1302计时模块 (9) 3.3LCD1602液晶显示模块 (9) 3.4按键模块 (9) 4. 系统的软件设计: (10) 4.1软件设计流程图: (10) 5. 系统的调试: (11) 6. 总结: (12) 参考文献 (13) 附录一: (14) 附录二: (15) 附录三: (29)

嵌入式综合课程设计III (基于单片机的数字时钟加闹钟的设计与制作) 任务提出: 随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能 进一步提高。 时间就是金钱、时间就是生命、时间就是胜利……,准确的掌握时间和分配时间对人们来说至关重要,时钟是我们生活中必不可少的工具。电子钟的设计方法有很多种,但是基于单片机并通过LCD显示的电子时钟具有编程灵活、精确度高、便于携带、显示直观等特点。利用STC89C52单片机对DS1302时钟芯片进行读写操作并通过LCD1602字符液晶显示实时时钟信息,这样便构成了一个单片机电子时钟。 设计要求: 利用单片机作为核心控制器件,制作一个数字时钟。要求其具有如下功能: ①具有年、月、日、星期、时、分、秒显示功能; ②具备年、月、日、星期、时、分、秒校准功能; ③具有闹钟显示、调节设定、鸣叫功能; ④计时器模块能够准确计时; ⑤显示模块能够清晰、稳定显示,不出现乱码; ⑥输入模块能够正确输入指令; ⑦控制模块能够正确控制输入、输出显示; ⑧整个系统能够正常、稳定工作。

相关文档
最新文档