基于STC51单片机数字时钟-带闹铃功能-省电模式-整点报时功能proteus仿真
基于51单片机的多功能数字钟设计
电子电路设计与方案0 引言在当今社会,时间就是金钱,做任何事情都需要对时间进行掌控和衡量。
因此,一款多功能数字钟对于所有人而言都是必不可少的。
随着科技的进步与发展,基于单片机设计的多功能数字钟已经十分流行,因其成本低、功能多、资源丰富等优点,深受人们喜爱[1]。
为了使人们的生活更加方便,本文基于STC89C52单片机设计了一款多功能数字钟,并在Keil环境中采用C语言开发了相应的控制程序,能实现钟表的所有基本功能以及一些附加功能。
1 总体方案设计本文设计的多功能数字钟的总体方案结构如图1所示,主要包括9个模块:主控模块、显示模块、时钟模块、数据存储模块、电源模块、语音模块、网络模块、按键模块和蜂鸣器模块,并能实现以下功能:(1)设置时间功能,可正常显示时、分、秒。
(2)定时功能和闹钟功能。
(3)秒表功能和倒计时功能。
(4)语音报时功能。
(5)接入电子日历功能,即能显示年、月、日。
(6)能够接入网络并自己校准显示某地时间。
图1 数字钟总体方案结构在主控模块的控制下,电源模块实现对整个系统的供电,显示模块实现年、月、日、时、分、秒的显示,数据存储模块用于存储各种设置数据等,按键模块、时钟模块、网络模块实现时间调整、万年历、闹钟设置、秒表设置与倒计时、网络校时等功能,语音模块、蜂鸣器模块实现语音报时、闹钟等功能。
2 硬件电路设计■2�1 主控制器电路设计主控制器选用的单片机型号为STC89C52。
STC89C52单片机具有成本低、功能强、资源丰富等优点,适合作为数字钟的主控制器。
若选用比STC89C52单片机更高端的单片机,不仅成本会有所提高,还会造成一定程度上的资源浪费。
■2�2 电源电路设计采用5V直流电源为整个系统供电,采用纽扣电池为时钟模块DS1302芯片稳定供电,确保主电源关闭后时钟的正常运行。
语音芯片ISD4004需要3�3V电源,通过AMS1117-3�3芯片搭建电路,可以提供稳定的3�3V电源。
51单片机数字时钟带闹钟
计算机硬件综合课程设计报告:目课学院:班级:姓名::指导教师录目功能需求 1.11.2 设计要求总体描述2.12.2 系统总体框图仿真电路图2.3 Proteus软件设计流程及描述33.1 程序流程图 3.2 函数模块及功能 4 心得体会附:源程序 1 功能需求1.1(1)实现数字时钟准确实时的计时与显示功能;实现闹钟功能,即系统时间到达闹钟时间时闹铃响;)2(.)实现时间和闹钟时间的调时功能;(3)刚启动系统的时候在数码管上滚动显示数字串(学号)。
4( 1.2设计要求单片机设计实现数字时钟电路;应用MCS-51(1)计数器中断实现计时;)使用定时器(2/选用) 8个数码管显示时间;(3(模按钮1:更换模式(4)使用3个按钮实现调时间和闹钟时间的功能。
;调当前1:调当前时间的小时;模式2式0:正常显示时间;模式:调闹钟时间的分3:调闹钟时间的小时;模式4时间的分钟;模式下给需要调节的时间数加一,但不溢出;2:在非模式0钟);按钮:在非模式0下给需要调节的时间数减一,但不小于零;按钮3模式下,给正在调节的时间闪烁提示;在非0(5)使用扬声器实现闹钟功能;)(6(7)采用C语言编写程序并调试。
2.1总体描述(1)单片机采用AT89C51型;(2)时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号;(3)时间设置电路:P3.0、P3.1、P3.2分别连接3个按键,实现调模式,时间加和时间减;(4)闹钟:P3.3口接扬声器。
2.2系统总体框图Proteus2.3仿真电路图3 软件设计流程及描述(1) void display_led()(2)学号的滚动显示函数;(3) void display()显示时间以及显示调节时间和闹钟时间的闪烁;void key_prc())4(.3个按键有关的模式转换以及数字加一减一;键盘功能函数,实现 void init() 5)(初始化设置中断; void time1() interrupt 3)(6 1中断函数,实现计时功能。
毕业设计基于51单片机的电子闹钟设计
摘要这个设计时基于AT89C2051设计的电子时钟,通过对硬件资源和软件的编写,初步了解设计的思路以及实现过程。
电子闹钟是采用电子电路实现对时、分、秒进行数字显示的装置,广泛应用于个人家庭、医院、车站、码头、办公室等公共场所,成为人们日常生活中不可缺少的必需品。
本设计基于单片机技术原理,以AT89SC2051作为核心控制器,通过硬件电路的制作及软件程序的编制,设计制作了一种利用四位LED数码管动态扫描显示时间的电子闹钟系统。
整个电子闹钟系统主要由时间显示模块、时间设置、闹铃模块、闹钟响应模块。
可实现时间显示、时间调整、闹钟设置和整点闹铃功能,具有制作简单、调整方便、稳定性好、便于扩展等特点。
电子时钟还通过对比实际的数字电子时钟,来校正和调整,从而找出误差的来源,尽可能的减少误差,是系统可以达到实际数字电子时钟允许的误差范围内。
关键词:单片机AT89SC2051、电子闹钟、LED动态显示目录摘要 (I)1.引言 (1)2 系统设计 (1)2.1设计要求 (1)2.2总设计方案 (1)2.2.1 系统实现 (2)3系统硬件电路设计 (2)3.1时钟电路设计 (3)3.2显示模块的设计 (4)3.3按键模块的设计 (5)3.4复位电路设计 (5)3.5闹铃的设计 (6)3.6发光二极管闪烁电路设计 (6)4 软件设计 (7)4.1程序流程 (7)4.1.1主程序 (8)4.1.2 时钟走时模块 (9)4.1.3时间设置模块 (10)4.1.4闹钟设置模块 (11)4.1.5 奏乐模块 (11)5 系统测试 (15)5.1硬件调试 (15)5.2软件调试 (15)6 结论 (15)附录 (15)附录1器件清单 (15)附录2调试仪器 (16)附录3原理图和PCB图 (16)附录4实物 ............................................... 错误!未定义书签。
附录5程序清单 ........................................... 错误!未定义书签。
51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)
51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)效果图:程序如下://51单片机c语言电子钟(已加入调时、闹铃、整点报时功能)#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int/*七段共阴管显示定义*///此表为LED 的字模,共阴数码管0-9 -uchar code dispcode[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; //段码控制/*定义并初始化变量*/uchar seconde=0;//秒uchar minite=0;//分uchar hour=12; //时uchar shi=0;//闹铃功能uchar fen=0;uchar bjcs;//报警次数sbit P1_0=P1^0; //second 调整定义sbit P1_1=P1^1; //minite调整定义sbit P1_2=P1^2; //hour调整定义sbit P1_5=P1^5; //整点报时sbit P1_3=P1^3; //闹铃功能,调整时间sbit P1_6=P1^6; //调整时sbit P1_7=P1^7; //调整分sbit P1_4=P1^4; //关闭闹铃/*函数声明*/void delay(uint k ); //延时子程序void time_pro( ); //时间处理子程序void display( ); //显示子程序void keyscan( ); //键盘扫描子程序/*xx子程序*/void delay (uint k){uchar j;while((k--)!=0){for(j=0;j<125;j++){;}}}/*时间处理子程序*/void time_pro(void){if(seconde==60){seconde=0;minite++;if(minite==60){minite=0;hour++;if(hour==24){hour=0;}}}}/*显示子程序*/void display(void){if(P1_3==1){P2=0XFE; P0=dispcode[seconde%10];//秒个位delay(1);P2=0XFD;P0=dispcode[seconde/10];//秒十位delay(1);P2=0XFB;P0=dispcode[10];//间隔符-delay(1);P2=0XF7;P0=dispcode[minite%10];//分个位delay(1);P2=0XEF;P0=dispcode[minite/10];//分十位delay(1);P2=0XDF;P0=dispcode[10];//间隔符-delay(1);P2=0XBF;P0=dispcode[hour%10];//时个位delay(1);P2=0X7F;P0=dispcode[hour/10];//时十位delay(1);}}/*键盘扫描子程序*/void keyscan(void){if(P1_0==0)//秒位的调整{delay (30);if(P1_0==0){seconde++;if(seconde==60){seconde=0;}}delay(250);}if(P1_1==0)//分位的调整{delay(30);if(P1_1==0){minite++;if(minite==60){minite=0;}}delay(250);}if(P1_2==0)//时位的调整{delay(30);if(P1_2==0){hour++;if(hour==24){hour=0;}}delay(250);}}/*整点报警*/void zhengdian (void){if((seconde==0)&(minite==0))//整点报时{P1_5=0;delay(1000);P1_5=1;}}/*定时闹钟*/void dingshi(void){if(P1_3==0)//按住P1_3BU不松,显示闹铃设置界面,分别按P1_6、P1_7设置闹铃时间。
基于51单片机,电子显示时钟带闹钟、整点报时、日期、星期
{ StrTab[1]=second/10; //秒十位
StrTab[0]=second%10; //秒个位
StrTab[2]=10; //间隔符-
StrTab[4]=minute/10; //分十位
StrTab[3]=minute%10; //分个位
StrTab[5]=10; //间隔符-
void display(uchar w[32])
{ unsigned int i,j,c=0;
if(a==0)//正常时间显示
{ for(i=0;i<8;i++) //依次将数组w中八个数取出,并显示
{ P2=weikong_code[i]; //位选
j=w[i]; //取出要显示的数码
P0=tab[j]; //取出段选编码
if(month==13)
{month=1; year++;
if(year==10000)
year=0;}}
week++;//星期走
if(week==8)
week=1;
data1();
week1();
while(second==err);
}
}
/**********************键盘扫描子程序*************************/
{if(dБайду номын сангаасy==30); //闰年29天
{day=1; month++;
if(month==13)
{month=1; year++;
if(year==10000)
year=0;}}}
基于51单片机电子闹钟的设计
前言20世纪末,电子技术获得了飞速的发展。
在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。
同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。
所以有必要制作一个定时系统。
随时提醒这些容易忘记时间的人。
而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。
所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
随着生活水平的提高,人们越来越追求人性化的事物。
传统的时钟已不能满足人们的需求。
而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。
利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。
但与机械式时钟相比已经具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
数字钟通过数字电路实现时、分、秒。
数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。
多功能数字钟的应用非常普遍。
由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
通过键盘可以进行校时、定时等功能。
输出设备显示器可以用液晶显示技术和数码管来显示技术。
基于单片机的可调时数字闹铃设计
摘要随着社会的发展、科技的进步,各种方便于生活的电子产品开始进入了人们的生活,电子时钟就是其中之一。
他已经成为了人们日常生活中的必需品,广泛用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学校、工作、娱乐带来了极大的方便。
本设计采用STC89C52为微处理器,通过LCD1602液晶显示当前日期、时间。
系统还具有对日期、星期、时间及闹铃的设置功能。
经测试,本设计能实现基本的数字时钟功能。
具有外围电路简单、成本低、易操作的特点。
考虑到成本,计时及数据处理均由单片机处理。
关键词:51单片机;数字时钟;LCD1602;可调时闹铃Abstract:With the development of society, the progress of science and technology, all kinds of convenience in life of electronic products began to enter into people's life, electronic clock is one of them.It has become the people daily life’s necessities, widely used in family, station, wharf, theatres, offices and other places, to people's lives, school, work, entertainment brought great convenience.This design uses microprocessor STC89C52, through the LCD1602 liquid crystal display the current date and time. The system also hasthe function setting date, week, time and alarm.According to the test, this design can achieve the basic digital clock function. With peripheral circuit is simple, low cost, easy to operate features. Considering the cost, time and data processing were determined by single chip microcomputer processing.Key words:51 SCM; Digital clock; LCD1602;Time Adjustable alarm目录引言 (1)1 设计思路及流程 (1)1.1 功能分析 (1)1.2 系统模块图 (1)2 硬件电路 (2)2.1 主要器件 (2)2.1.1 STC89C5单片机 (2)2.1.2 LCD1602液晶 (3)3 电路原理图 (5)3.1单片机电路 (5)3.2 电源指示电路 (5)3.3 按键电路 (6)3.4 闹铃电路 (6)3.5 LCD电路 (6)4 程序设计 (7)4.1 程序设计内容 (7)4.2 C语言源程序 (7)5 心得体会 (8)谢辞 (9)参考文献 (10)附录 (11)引言电子钟已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
基于51单片机实现的简单闹钟设计
基于51单片机实现的简单闹钟设计本设计利用单片机AT89C52制作一个简单的倒计时定时闹钟,这是一个很实用的工具。
我们使用按键来设定需要定时的时间长短,然后利用中断设置20次中断定义一秒,利用程序设计时间倒数。
同时,我们使用4个8段数码管来显示分和秒,并且在定时结束后使用电铃警示。
在硬件系统方面,我们使用proteus仿真,这样就能观察到系统的实际运行情况。
具体地说,我们使用AT89C52单片机芯片作为控制芯片,使用四位相连的8段共阴数码管,并且使用74HC573锁存器控制数码管的显示。
在定时过程中,我们使用s1控制十分位,s2控制分位,s3控制十秒位,s4控制秒位,s5开始倒计时。
这样,我们就能实现一个简单而实用的倒计时定时闹钟。
关于AT89C52单片机芯片,它是___MCS-51系列单片机中基本的产品,采用___可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,基于标准的MCS-51单片机体系结构和指令系统,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。
80C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
此外,80C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。
在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。
掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。
80C52有PDIP(40pin)和PLCC(44pin)两种封装形式。
8051片内有ROM,无须外接外存储器和373,更能体现“单片”的简练。
最后,关于74HC573芯片,它是一个锁存器,用于控制数码管的显示。
51单片机控制基于1602液晶显示 电子时钟【带闹铃和整点报时】
{
switch(be)
{//uint i;
/*用于整点响铃*/case 0:{
buzz=~buzz;
//delay1();
}break;
/*用于闹铃报时*/case 1:{
buzz=~buzz;
//delay(10);
}break;
}
}
void write_com(uchar com)//命令写入函数
{
rs=0;
delay(3);
P0=com;
delay(3);
lcden=1;
delay(3);
lcden=0;
}
void write_date(uchar date)//数据写入函数
{
rs=1;
delay(3);
P0=date;
delay(3);
write_date(0x30+ge);
}
void write_ymd(uchar add,uchar date)//年月日写入子程序
{
uchar sh,ge;
sh=date/10;
ge=date%10;
write_com(0x80+add);
write_date(0x30+sh);
write_date(0x30+ge);
sbit buzz=P1^5; //蜂鸣器控制端
uchar code week0[]="Sun";
uchar code week1[]="Mon";
uchar code week2[]="Tue";
51单片机数字时钟(带闹钟)
51单片机数字时钟(带闹钟)计算机硬件综合课程设计报告课目:学院:班级:姓名:指导教师:目录1.1 功能需求1.2 设计要求2.1 总体描述2.2 系统总体框图2.3 Proteus仿真电路图3 软件设计流程及描述3.1 程序流程图3.2 函数模块及功能4 心得体会附:源程序11.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.1总体描述(1)单片机采用AT89C51型;(2)时间显示电路:采用8个共阴极数码管,P1口驱动显示数字,P2口作为扫描信号;(3)时间设置电路:P3.0、P3.1、P3.2分别连接3个按键,实现调模式,时间加和时间减;(4)闹钟:P3.3口接扬声器。
2.2系统总体框图2.3Proteus仿真电路图3 软件设计流程及描述3.1 程序流程图(1) void display_led()(2)学号的滚动显示函数;(3) void display()显示时间以及显示调节时间和闹钟时间的闪烁;(4)voidkey_prc()键盘功能函数,实现3个按键有关的模式转换以及数字加一减一;(5) void init()初始化设置中断;(6) void time1() interrupt 3定时器1中断函数,实现计时功能。
51单片机设置的电子闹钟(可调时间和闹钟)
#include<reg52.h>#define uint unsigned int#define uchar unsigned char#define LED P0 // 数码管的段选#define LIGHT P1 // 时分秒位的指示灯#define WS P2 // 数码管的位选sbit key1=P3^0; // 时间暂停/开始sbit key2=P3^1; // 时间/闹钟设置sbit key3=P3^2; // 增加sbit key4=P3^3; // 减少sbit alarm=P3^6; // 闹铃uchar tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // 0-9uchar tab_dp[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; // 0.-9.(带小数点)uchar data1[]={0,0,0,0,0,0};uchar data2[]={0,0,0,0,0,0};uint t,k,kk,k1,flag;uint bbh,bbm,bbs,bbh1,bbm1,bbs1;uint sec,min,hour,sec1,min1,hour1; // 定义秒,分,时void init();void display();void display_bb();void delay( uint );void keyscan();void main(){init();while(1){keyscan();if(k1==0||k1==1||k1==2||k1==3) // 显示调节时间{display();}if(k1==4||k1==5||k1==6) // 显示调节闹钟{display_bb();}if((bbh==hour)&&(bbm==min)&&data1[4]==0&&data1[5]==5) // 5s报时{alarm=~alarm;delay(1);}if((bbs==sec)&&(bbm==min)&&(bbh==hour)) // 可调报时{alarm=~alarm;delay(1);}}}void init(){WS=LIGHT=flag=0;sec=min=hour=0; // 将0赋给时分秒TMOD=0x01; // 方式1 P129(见课本)TH0=0x3c; // 65536-50000=15536=0x3cb0(50ms) P128(见课本)TL0=0xb0;EA=1; // 开总中断P161(见课本)TR0=1; // 定时/计数器0开启ET0=1; // 定时器/计数器0溢出中断启动P161(见课本)}void delay( unsigned int t) // 延时函数{unsigned int i;while(t--)for(i=0;i<125;i++);}void display() // 显示时间函数{if(TF0==1) // 定时器/计数器溢出P130(见课本){TF0=0; // 清中断标志位t++;if(t==20) // (50ms*20=1s){t=0;sec++; // 秒加1if(sec==60) // 秒为60,则清零,分加1{sec=0;min++;}if(min==60) // 分为60,则清零,时加1{min=0;hour++;}if(hour==24)// 时为24,则清零{hour=0;}}}data1[5]=sec%10;data1[4]=sec/10;data1[3]=min%10;data1[2]=min/10;data1[1]=hour%10;data1[0]=hour/10;WS=0xdf; // 1101 1111 ,低电平显示LED=tab[data1[5]];delay(1);WS=0xef; // 1110 1111LED=tab[data1[4]];delay(1);WS=0xf7; // 1111 0111LED=tab_dp[data1[3]];delay(1);WS=0xfb; // 1111 1011LED=tab[data1[2]];delay(1);WS=0xfd; // 1111 1101LED=tab_dp[data1[1]];delay(1);WS=0xfe; // 1111 1110LED=tab[data1[0]];delay(1);}void display_bb() // 显示闹钟函数{data2[5]=bbs%10;data2[4]=bbs/10;data2[3]=bbm%10;data2[2]=bbm/10;data2[1]=bbh%10;data2[0]=bbh/10;WS=0xdf; // 1101 1111 ,低电平显示LED=tab[data2[5]];delay(1);WS=0xef; // 1110 1111LED=tab[data2[4]];delay(1);WS=0xf7; // 1111 0111LED=tab_dp[data2[3]];delay(1);WS=0xfb; // 1111 1011LED=tab[data2[2]];delay(1);WS=0xfd; // 1111 1101LED=tab_dp[data2[1]];delay(1);WS=0xfe; // 1111 1110LED=tab[data2[0]];delay(1);}void keyscan() // 键盘扫描{if(key1==0) // 暂停/开始{++kk;while(!key1){display();if(kk==1){TR0=0;if(k1==0||k1==1||k1==2||k1==3) // 显示调节时间{display();}if(k1==4||k1==5||k1==6) // 显示调节闹钟{display_bb();}if(key2==0) // 模式选择(调节时间/闹钟){k1++;while(!key2){if(k1==1) // 第1次按下{sec1=sec; // 保存秒的数值sec=88; // 显示88,表示可以调节秒的数值了display(); // 显示88sec=sec1; // 恢复前一刻秒的数值}if(k1==2){min1=min;min=88;display();delay(1);min=min1;}if(k1==3){hour1=hour;hour=88;delay(1);hour=hour1;}if(k1==4){sec1=bbs; // 保存秒的数值bbs=66; // 显示66,表示可以调节秒的数值了display_bb(); // 显示66bbs=sec1; // 恢复前一刻秒的数值}if(k1==5){min1=bbm;bbm=66;display_bb();delay(10);bbm=min1;}if(k1==6){hour1=bbh;bbh=66;display_bb();delay(10);bbh=hour1;}if(k1==7){k1=0;display();}}}if(key3==0) // 时间/闹钟增加设置{while(!key3){if(k1==1){sec++;// 秒加1if(sec==60)sec=0;display();}if(k1==2){min++;delay(60);if(min==60)min=0;display();}if(k1==3){hour++;delay(60);if(hour==24)hour=0;display();}if(k1==4){bbs++; // 秒加1delay(60);if(bbs==60)bbs=0;display_bb();}if(k1==5){bbm++;delay(60);if(bbm==60)bbm=0;display_bb();}if(k1==6){bbh++;delay(60);if(bbh==24)bbh=0;display_bb();if(k1==7){k1=0;display();}}}if(key4==0) // 时间/闹钟减少设置{while(!key4){if(k1==1){sec--; // 秒加1delay(60);if(sec==0)sec=60;display();}if(k1==2){min--;delay(60);if(min==0)min=60;display();}if(k1==3){hour--;delay(60);if(hour==0)hour=24;display();}if(k1==4){bbs--; // 秒减1delay(60);if(bbs==0)bbs=60;display_bb();if(k1==5){bbm--;delay(60);if(bbm==0)bbm=60;display_bb();}if(k1==6){bbh--;delay(60);if(bbh==0)bbh=24;display_bb();}if(k1==7){k1=0;display();}}}}}if(kk==2){kk=0;k1=0;TR0=1;}}}。
单片机课程设计--基于51单片机的定时闹钟设计
单片机课程设计报告院系:信息工程学院专业:电子信息工程课程设计题目:基于51单片机的定时闹钟设计目录一、概述---------------------------------------------------------------------------------------------------3二、原理图的绘制---------------------------------------------------------------------------------------32-1原理及工作过程说明---------------------------------------------------------------------42-2原理图---------------------------------------------------------------------------------------42-3元器件功能说明---------------------------------------------------------------------------52-3-1 STC89C52单片机引脚功能说明--------------------------------------------------52-3-2 LCD1602液晶显示器--------------------------------------------------------------72-3-3 其它重要元件------------------------------------------------------------------------9三、流程图绘制以及说明------------------------------------------------------------------------------10四、Proteus仿真说明------------------------------------------------------------------------------------11五、课程设计体会----------------------------------------------------------------------------------------11六、参考文献----------------------------------------------------------------------------------------------12七、原理图及程序-----------------------------------------------------------------------------------------13一、概述本设计师定时闹钟的设计,由单片机STC89C52芯片和LCD、LED显示器,辅以必要的的电路,构成一个单片机定时闹钟。
基于51单片机的数字时钟的设计本科学位论文
青岛农业大学毕业论文(设计)题目:基于51单片机的数字时钟的设计姓名:学院:专业:班级:学号:指导教师:2011年6月18日毕业论文(设计)诚信声明本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
论文(设计)作者签名:日期:年月日毕业论文(设计)版权使用授权书本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。
本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。
本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。
论文(设计)作者签名:日期:年月日指导教师签名:日期:年月日目录摘要: (1)ABSTRACT (1)1 绪论 (1)2 硬件总体设计方案 (2)2.1系统功能实现总体设计思路 (2)2.2各部分功能实现 (2)2.3系统工作原理 (2)2.4电路功能使用说明 (3)2.5系统的设计方案 (4)2.5.1 系统的电路图和原理图 (4)2.5.2 单片机概述 (6)2.5.3 键盘电路 (9)2.5.4 显示电路 (10)2.6硬件焊接准备 (12)2.6.1电路板的布线 (12)2.6.2 硬件电路元件明细表 (13)3 软件总体设计方案 (14)3.1程序流程图 (14)3.1.1主程序流程图 (14)3.1.2 按键处理流程图 (14)3.1.3 定时器中断流程图 (14)3.1.4 时间显示流程图 (15)3.2调试结果说明 (16)4总结 (18)致谢 (19)参考文献 (1)附录 (1)基于51单片机的数字时钟的设计电子信息科学与技术专业摘要:自诞生以来,单片机的应用日趋广泛,应用领域日趋扩展,而MCS-51系列单片机是各单片机中最为典型的一种。
基于51单片机汇编语言的数字钟课程设计报告(含有闹钟万年历)
单片微型计算机课程设计报告多功能电子数字钟姓名学号班级指导教师许伟敏4电气二班林卫2009-06-25目录一:概述 (1)二:设计基本原理简介 (2)三:设计要求及说明 (3)四:整体设计方案 (4)系统硬件电路设计 4系统软件总流程设计模块划分及分析5 6五:单模块流程设计 (8)各模块设计概述、流程图模块源程序集合及注释8 13六:单模块软件测试 (23)七:系统检测调试 (24)硬件电路调试软件部分烧写调试八:系统优化及拓展 (26)九:心得体会 (28)单片微型计算机课程设计一、概述基于汇编语言的电子数字钟概述课程设计题目:电子数字钟应用知识简介:● 51 单片机单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。
51 系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51 系列单片机的发展又进入了一个新的阶段。
在今后很长一段时间内51 系列单片机仍将占据嵌入式系统产品的中低端市场。
●汇编语言汇编语言是一种面向机器的计算机低级编程语言,通常是为特定的计算机或系列计算机专门设计的。
汇编语言保持了机器语言的优点,具有直接和简捷的特点,其代码具有效率高实时性强等优点。
但是对于复杂的运算或大型程序,用汇编语言编写将非常耗时。
汇编语言可以与高级语言配合使用,应用十分广泛。
● ISPISP(In-System Programming)在系统可编程,是当今流行的单片机编程模式,指电路板上的空白元器件可以编程写入最终用户代码,而不需要从电路板上取下元器件。
已经编程的器件也可以用ISP方式擦除或再编程。
本次课程设计便使用ISP方式,直接将编写好的程序下载到连接好的单片机中进行调试。
选题系统功能分析硬件电路设计整体流程设计及模块划分模块流程设计模块编码测试系统合成调试编译下载调试(含硬件电路调试及软件烧写调试)验收完成总结报告课程设计流程图↑选题目的及设计思想简介:课程设计是一次难得的对所学的知识进行实践的机会,我希望通过课程设计独立设计一个简单的系统从而达到强化课本知识并灵活运用的目的。
基于51单片机的电子钟设计-毕业论文
摘要摘要多功能数字钟的应用非常普遍,由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。
通过键盘可以进行校时,定时等功能。
本系统利用单片机实现其具有计时,校时等功能的数字时钟,是以单片机STC89C52 为核心元件同时采用数码管同时显示“时,分,秒,星期,年,月,日”的现代计时装置。
显示极具人性化,另外具有校时功能,闹钟功能和节电保护功能。
利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点,如在电路板上预留有电源输出,温度传感插座等插座,便于功能扩展。
关键词:STC89C52 单片机 DS12887ABSTRACTABSTRACTMulti-functional digital clock was very common by the MCU as the core controller of the digital clock, the clock signal timing function, time data is output by the microcontroller, the display. Through the keyboard can be school, timing and other functions. This system uses the MCU with the timing, school functions such as digital clock is The microcontroller STC89C52 as the core component at the same time Led also shows "hours, minutes, seconds, week, year, month, day" timing device. Show a very humane, the other school functions, alarm clock function and the power saver function. MCU digital clock with programming flexibility, easy expansion of the function, etc., power output, temperature sensor socket outlet onthe circuit board is reserved for easy extensionsKeyword: STC89C52 MCU DS12887目录i目录第一章绪论 (1)1.1单片机(S INGLE C HIP M ICROSOFTCOMPUTER,)简介 (1)1.2单片机的发展历程 (1)1.2.151单片机的概况 (4)1.2.2单片机的应用及前景 (5)1.3电子钟 (5)1.3.1电子钟简介 (5)1.3.2电子钟的应用及发展 (6)第二章各个模块的特性及结构 (7)2.18051单片机模块 (7)2.2LED显示模块 (8)2.2.1LED数码管的原理 (8)2.2.2LED数码管驱动方式 (10)2.3电子钟的实现框图 (11)第三章硬件电路设计 (13)3.1复位电路 (13)3.2按键电路 (14)3.3时钟电路 (14)3.4显示控制电路 (15)3.5数码管显示电路 (15)3.6电源电路设计 (16)3.7时钟芯片模块 (16)3.8综合电路的实现 (16)3.9本章小结 (17)第四章系统软件的设计 (19)4.1调时功能 (19)4.2显示功能 (20)ii 目录4.3程序设计 (20)第五章电路仿真 (35)5.1P ROTEUS软件简介 (35)5.1.1Proteus的功能模块 (35)5.1.2Proteus的贡献 (37)5.2电路仿真设计 (38)第六章工作的总结与未来工作的展望 (41)6.1工作总结 (41)6.2未来展望 (41)致谢 (43)参考文献 (45)第一章绪论 1第一章绪论1.1单片机(Single Chip Microsoftcomputer,简称MCU)简介单片机又称为微控制器,在一块半导体芯片上集中了中央处理器(简称CPU),只读存储器(简称ROM),随机存储器(简称RAM),输出输出接口(简称I/O Interface),计时器(Timer/Counter),中断系统(Interrupt System)构成一台完整的数字计算机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多功能数字时钟设计要求
利用51单片机或者STC单片机设计多功能数字时钟,要求:
1.用单片机控制6位数码管显示时、分、秒,以24小时计时方式运
行;
2.利用单片机片内定时器(如T0)产生1s计时,时钟最大计数值为
23时59分59秒;
3. 时钟有整点提醒功能,短蜂鸣,次数代表整点时间;
4. 时钟可以通过按键进行时间的设置;
5. 可通过按键使系统进入省电状态(数码管不亮,时钟不停)。
6.闹钟功能。
能通过按键实现闹钟/时钟功能之间的转换;可通过按键
设定闹钟时间,在定时闹钟时精确到分,可通过显示器显示闹钟设定时间;可通过按键实现闹钟有效、无效;在闹铃时,可通过按键开关使闹铃停止。
多功能数字时钟操作说明
1.上电初始化程序,时钟时显01时01分00秒
2.按键功能说明:
K1 设置键功能第一次按下时钟设置功能
第二次按下闹铃设置功能
第三次按下回到时钟显示功能
K2 加功能在时钟或闹铃设置状态下进行加操作
K3 减功能/闹铃关闭第一种功能,在时钟或闹铃设置状态下进行加操作
第二种功能,当闹铃响起来,可关闭闹铃K4 时位和分位设置切换切换时位和分位进行加减操作
K5 省电模式切换第一次按下数码管全灭,计时不停止
第二次按下数码管亮起,正常显示时间
K6启动/关闭闹铃功能默认情况下闹铃功能是开启的,按一下K6关闭闹功能,再按一下开启闹铃功能。
程序流程图。