当前位置:文档之家› 基于单片机C语言电子时钟完整版(闹钟,整点报时)

基于单片机C语言电子时钟完整版(闹钟,整点报时)

《单片机技术》课程设计说明书

数字电子钟

系、部:电气与信息工程学院

学生姓名:

指导教师:职称

专业:

班级:

完成时间:2013-06-07

摘要

电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz 晶振与单片机AT89S52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEU5键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。

关键词电子钟;AT89S52;硬件设计;软件设计

ABSTRACT

Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMEL’s as its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons KEY1, KEY2, KEY3,KEY4 and KEY5 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value.

Key words Electronic clock;;AT89S52;Hardware Design;Software Design

目录

1设计课题任务、功能要求说明及方案介绍 (1)

1.1设计课题任务 (1)

1.2功能要求说明 (1)

1.3设计总体方案介绍及原理说明 (1)

2设计课题硬件系统的设计 (2)

2.1设计课题硬件系统各模块功能简要介绍 (2)

2.2设计课题电路原理图、PCB图、元器件布局图 (2)

2.3设计课题元器件清单 (5)

3设计课题软件系统的设计 (6)

3.1设计课题使用单片机资源的情况 (6)

3.2设计课题软件系统各模块功能简要介绍 (6)

3.3设计课题软件系统程序流程框图 (6)

3.4设计课题软件系统程序清单 (10)

4设计结论、仿真结果、误差分析、教学建议 (21)

4.1设计课题的设计结论及使用说明 (21)

4.2设计课题的仿真结果 (21)

4.3设计课题的误差分析 (22)

4.4设计体会 (22)

4.5教学建议 (22)

结束语 (23)

参考文献 (24)

致谢 (25)

附录 (26)

1 设计课题任务、功能要求说明及方案介绍

1.1 设计课题任务

设计一个具有特定功能的电子钟。具有时间显示,并有时间设定,时间调整功能。

1.2 功能要求说明

设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时0分0秒开始运行,进入时钟运行状态;按电子钟KEY1键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按KEY1键再次进入时钟运行状态。

1.3 设计课题总体方案介绍及工作原理说明

本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:

图1-1 总体设计方案图

本电子钟的所有的软件、参数均存放在AT89S52的Flash ROM和内部RAM中,

减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。键盘采用动态扫描方式。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。

2 设计课题硬件系统的设计

2.1设计课题硬件系统各模块功能简要介绍

本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块。

(1)单片机最小系统模块:包括低功耗、高性能CMOS8位微控制器AT89S52;复位电路;晶振电路。本本模块AT89S52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚XTAL1,其输出端位位引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容。这样就构成一个稳定的自激振荡器。

(2)输入模块:本模块共用到了4个按键,1个电源开关,一个复位键,单片机运行期间,利用按键完成复位操作。3个按键独立式键盘,KEY1键控制电子钟的启动,KEY2键为加1键,KEY3键为减1键,KEY1键第三次控制电子钟的调整状态。且KEY1、KEY2、KEY3、任一键都独自连一个I/O(P1.0、P1.1、P1.2、P1.3)口线,说明它们可以独立实现相应的电子钟功能。

(3)输出模块:本次设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。数码管用8个PNP三极管驱动。

(4)电源模块:现在市面上销售的编程器有很多都是由PC机的USB口直接供电为了降低本设计的成本及节省设计时间,没有另外设计编程器,而直接购买了市场上的USB供电及下载器。

2.2设计课题电路原理图、PCB图、元器件布局图

图2-1 电路原理图

总设计原理图见附录A

原理总设计图见附录附录B

PCB图见附录C

2.3 设计课题元器件清单

表2-1 设计所用元器件清单

3 设计课题软件系统的设计

3.1 设计课题使用单片机资源的情况

设计课题使用单片机资源的情况如下:

P0口输出数码管段选信号,P2口输出数码管位选信号;晶振12MHz;调整选择键KEY1:P1.0;通过选择键选择调整位,选中位闪烁;增加键KEY2:P1.1;按一次使选中位加1;减少键KEY3:P1.2;按一次使选中位减1;此数字钟可实现基本的走时和显示时间时、分、秒;时间的调整;闹钟的设定和调整;闹钟的开启和关闭功能,具体如下:

(1)实现基本的走时和显示时间的时、分、秒,上电自动显示初始时间12-00-00,且控制闹钟状态的的蓝色led灯为亮的状态。

(2)当第一次按下第一个弹性按键时进入时间的调节状态,此时实现对显示时间的小时调节,按下第二个按键时实现小时的加一调节,按下第三个按键时实现小时的减一调节。

(3)当第二次按下第一个弹性按键时进入显示时间的分钟调节状态,按下第二个按键时实现分钟的加一调节,按下第三个按键时实现分钟的减一调节。

(4)当第三次按下第一个弹性按键时进入闹钟的小时调节状态,按下第二个按键时实现闹钟小时的加一调节,按下第三个按键时实现闹钟小时的减一调节。

(5)当第四次按下第一个弹性按键时进入闹钟的分钟调节状态,按下第二个按键时实现闹钟分钟的加一调节,按下第三个按键时实现闹钟分钟的减一调节。

(6)当第五次按下第一个弹性按键时返回正常的显示时间走时状态。

(7)当同时按下第二和第三个弹性按键时,关闭闹钟,且此时蓝色led灯为灭,及定时时间到蜂鸣器并不响,若再次同时按下第二和第三个弹性按键,则开启闹钟,且此时蓝色led灯为亮,定时时间到蜂鸣器发出滴滴的闹铃声,同时按下第二和第三个弹性按键即可关闭闹铃。闹铃状态默认为开启。

3.2设计课题软件系统个模块功能简要介绍

本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。

主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。

中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。

键盘输入程序模块:主要是用于确定按键并得到特定的键码值。

数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。

延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。

3.3 设计课题软件系统程序流程框图

系统软件采用汇编语言按模块化方式进行设计,然后通过Keil软件开发平台将程序转变成十六进制程序语言,接着使用Proteous 进行仿真,读出显示数据。

主程序流程框图如3-1所示;时间处理子程序流程框图3-2所示;

中断服务程序程序如3=3所示;

图3-1 主程序流程框图

图3-2 时间处理子程序流程框图

图3-3 中断子程序

3.4 设计课题软件系统程序清单

;----------------------------------------------------------------------- ;项目名称:数字电子钟

;项目功能:本电子钟实现24小时制,8位数码管显示时分秒,显示格式:12-59-00 通过4只按键来调整时间,调整选择键KEY1:P1.0;通过选择键选

择调整位,选中位闪烁,增加键KEY2:P1.1;按一次使选中位加1。

减少键KEY3:P1.2;按一次使选中位减1,bear:P3.1;到了整点和闹

钟就会响,

如果长按KEY1第一次切换到正常时钟显示,按第二次切换到时的调整,

按第三次切换到分的调整,同时led:P1.2就会闪烁,

按第四次和第五次分别切换到闹钟的时分的调整,可进行调

时、调分快进快减,并停止闪烁。如果选中位是秒,

则按增加键或减少键可实现,但无调时快进和快减功能。P0口输出数

码管段选信号,P2口输出数码管位选信号;晶振12MHz。

编程作者:林炽逸

完成时间: 2013年06月8日

程序请清单如下:

#include

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit KEY1=P1^1; //切换键

sbit KEY2=P1^2; //minute ,hour调整加1定义

sbit KEY3=P1^7; //minute ,hour调整减1定义

sbit bear=P3^1; //闹铃

sbit led=P1^2; //闹钟,整时灯闪烁

code unsigned char tab[]={0xc0,0xf9,0xa4,

0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xc8,0x8e,0xff,0x21}; //段码控制

char code weikong_code[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uchar ms[8]={2,2,10,4,0,0,1,14};

uchar StrTab[8];

uchar minute=59,hour=12,second=0; // 正常时钟秒,分,时定义

uchar minute1=00,hour1=00; second1=00; // 闹钟时钟秒,分,时定义

uchar flag=0, flag1=0; //切换标志

uchar num=0;

uint count=0; //定时器计数,定时50ms,count满20,秒加1

/***********子函数声明*******************************************/

void xianshishuzu(); // 显示数组子程序

void alarm(); //闹钟子程序

/********************** 延时子程序*****************************/ void delay(uint z)

{ uint x,y;

for(x=0;x

for(y=0;y<110;y++);

}

/***********************时间处理子程序*************************/ void time_pro(void)

{

if(second==60)

{second=0;minute++;

if(minute==60)

{minute=0;hour++;

if(hour==24)

{hour=0;}

}

}

}

/**********************显示时钟子函数***************************/ void dispaly(uchar w[8])

{ unsigned int i,j,aa;

aa=0xfe; //位选初值1111 1110

for(i=0;i<8;i++) //依次将数组w中八个数取出,并显示

{

P2=aa; //位选

j=w[i]; //取出要显示的数码

P0=tab[j]; //取出段选编码

aa=_crol_(aa,1); //位选信号循环右移?

delay(1); //显示延时

P0=0xff; //消影

}

}

/***********************显示时钟数组子程序***********************/ void xianshishuzu()

{

StrTab[1]=second/10; //秒个位

StrTab[0]=second%10; //秒十位

StrTab[2]=10; //间隔符-

StrTab[4]=minute/10; //分个位

StrTab[3]=minute%10; //分十位

StrTab[5]=10; //间隔符-

StrTab[7]=hour/10; //时个位

StrTab[6]=hour%10; //时十位

}

/**********************键盘扫描子程序*************************/

void keycan()

{

if(KEY1==0) //按一次,正常显示,按第二次,时调整,按第三次,分调这整,{ delay(10); //按键1去抖以及动作

if(KEY1==0) //确认按键是否按下

{flag++;} //切换标志

while(!KEY1);} //释放按键

if(flag==1)

{ if(KEY2==0)

{ delay(10);

if(KEY2==0)

{ hour++;if(hour==24)hour=0; } //正常时间小时加1

while(!KEY2) //释放按键

{dispaly(StrTab); }

}

if(KEY3==0)

{delay(10);

if(KEY3==0)

{ hour--;if(hour==0)hour=23; dispaly(StrTab);} //正常时间小时减1

while(!KEY3)

{ dispaly(StrTab);}

}

}

if(flag==2)

{if(KEY2==0) //按键去抖以及动作

{ delay(10);

if(KEY2==0)

{ minute++;if(minute==60)minute=0;} //分加1

while(!KEY2) { dispaly(StrTab); }

}

if(flag==3) // 秒表的加1

{ if(KEY3==0)

{ delay(10);

if(KEY3==0)

{ second++;if(second==0)second=59; //秒加1

} while(!KEY3){ dispaly(StrTab);}

}

}

}

if(flag==3) //闹钟对时

{ if(KEY2==0)

{ delay(10);

if(KEY2==0)

{ hour1++;if(hour1==24)hour1=0; } //闹钟时间小时加1

while(!KEY2){ alarm(); }

}

if(KEY3==0)

{ delay(10);

if(KEY3==0)

{ hour1--;if(hour1==0)hour1=23; } //闹钟时间小时减

while(!KEY3)

{ alarm();}

}

}

if(flag==4)

{

if(KEY2==0) //按键去抖以及动作

{

delay(10);

if(KEY2==0)

{

minute1++;if(minute1==60)minute1=0; //闹钟分加1

}while(!KEY2){ alarm(); }

}

if(KEY3==0) //按键去抖以及动作

{

delay(10);

if(KEY3==0)

{ minute1--;if(minute1==0)minute1=59; } //闹钟分减1 }while(!KEY3) {alarm();}

}

}

/*******************蜂鸣器子程序****************************/ void beng()

{

bear=1;

P3=0xfd;

delay(100);

bear=0;

P3=0XFf;

delay(100);

}

/*****************整点报警子程序***************************/

void zhengdian (void)

{

uchar i=0;

if((second==0)&(minute==0))//整点报时

{

for(i=0;i<10;i++)

{

TR0=1; beng();dispaly(ms);

}

}

}

/********************************定时闹钟****************/

void alarm()

{

uint i;

if((hour==hour1&&second1==minute1&&(second>=second1&&second

for(i=0;i<3;i++)

{ beng();}

StrTab[1]=second1/10; //闹钟秒个位

StrTab[0]=second1%10; //秒十位

StrTab[2]=10; //间隔符-

StrTab[4]=minute1/10; //分个位

StrTab[3]=minute1%10; //分十位

StrTab[5]=10; //间隔符-

StrTab[7]=hour1/10; //时个位

StrTab[6]=hour1%10; //时十位

TR0=0;

dispaly(StrTab);

xianshishuzu();

}

/**************************中断子程序*********************************/

void time_() interrupt 1 //中断程序

{

count++;

TH0=(65536-50000)/256; //0.5ms重新送初值

TL0=(65536-50000)%256;

if(count==20) //定时器计数,定时50ms,count满20,秒加1

{ second++; count=0;

if(second==60) //秒值等于60,秒清零,分加1

{ second=0;minute++;

if(minute==60) //分值等于60,分清零,时加1

{ minute=0; hour++;

if(hour==24) //时值等于24,时清零,返回,全部归零{hour=0;}

}

}

}

xianshishuzu();

}

/***********************主函数***************************/

void main()

{

P1=0XFF;

TMOD = 0x11; //time0为定时器,方式1

TH0=(65536-50000)/256; //预置计数初值,50ms

TL0=(65536-50000)%256;

EA=1; //总中断开

ET0=1; //允许定时器0中断

TR0=1; //开启定时器0

while(1) //主循环

{

if(flag==0) { TR0=0; dispaly(ms);}

if(P1!=0XFF) { keycan(); }

if(flag>0)

{ if(flag==1||flag==2){ TR0=1; dispaly(StrTab); zhengdian ();}

if(flag==3||flag==4) { TR0=0;alarm(); }

if(flag==5) { dispaly(StrTab); }

if(flag==6) { TR0=0; flag=0; dispaly(ms); }}

}

}

4设计结论、仿真结果、误差分析、教学建议

4.1 设计课题的设计结论及使用说明

本设计为基于单片机的电子钟的设计。刚开始,我们很多地方理不清头绪,无从下手,但通过认真研究设计课题,找书上网查资料买元件,确定基本设计方案,对所用芯片功能进行查找、调试,然后画电路图制PCB板、打孔、溶铜、焊接等,真的经历了许多困难,却积累了很多宝贵的经验,本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;设计中有三个按键,其中KEY1为启动键,KEY2为加控制键 KEY3为减控制键。

4.2 设计课题的仿真结果

在Proteus ISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如图所示。

仿真结果图见附录D

实现功能:

可调整运行的电子钟具有三种工作状态:“d.1004-22”状态、运行状态、调整状态。

(1)、“d.1004-22”状态,依靠上电或按复位键进入,在此状态下,按KEY2、KEY3键均无效,

按KEY1键有效,进入运行状态;

(2)、运行状态,在此状态下,按KET2、KEY3键均无效,只有按KEY1键有效,按下KEY1键后,退出运行状态,进入调整状态;

(3)、调整状态,按KEY1键进入时、分、秒的闪烁,在此状态下,按KEY2(+1键)、

KEY3(-1键)键均有效;调整结束后必须按KEY1键,即可退出调整状态,

进入

运行状态。在调整状态时长按KRY2、KEY3时可以连加及连减。

时间显示格式为:时-分-秒;

图4-2 “d.1004-22”上电初始化运行状态仿真结果图4-3 时钟正常运行状态仿真结果

图4-4 闹钟定时调整状态仿真结果

单片机完整电子时钟设计报告.doc

目 一.作品介???????????????????????????????? 2 二.片机系原理及工作原理描述????????????????????? 2 三.程中碰到的及解决方法????????????????????? 4 四.数据及差分析??????????????????????????? 4 五.?????????????????????????????????? 5 六.程序模框?????????????????????????????? 5 七.程序清????????????????????????????????7

单片机的个性化电子钟设计报告 一.作品简介 该作品是个性化电子钟设计,技术上主要用单片机(AT89S52)主控, 4 位 LED 数码显示,分别显示“小时:分钟”。该作品主要用于24 小时计时显示,能整时报时 ,能作为秒表使用,能定时闹铃 1 分钟。 使用方法 :开机后显示日期,学号,时钟在00:00:00 起开始计时。 (1)长按进入调分状态 :分单元闪烁 ,按加 1,按减 1.再长按进入时调整 状态 ,时单元闪烁 ,加减调整同调分 .按长按退出调整状态。 (2)按进入设定闹时状态: 12:00: ,可进行分设定,按分加 1,再按为时调 整 ,按时加 1,按调闹钟结束.在闹铃时可按停闹,不按闹铃 1 分钟。 (3)按下进入秒表状态:再按秒表又启动,按暂停 ,再按秒表清零 ,按 退出秒表回到时钟状态。 二.单片机系统原理图及工作原理描述 (1)总原理图 如原理图所示,硬件系统主要由单片机最小应用系统、LED数码管显示模块组成。

基于单片机的数字电子时钟设计

基于单片机的数字电子时钟设计 数字电子时钟是一种非常常见的电子产品,它可以帮助我们实现精确的时间显示,让我们的生活更加方便。随着科技的不断发展,数字电子时钟也在不断更新和发展,基于单片机的数字电子时钟已经成为当前最先进的技术之一。本文将介绍基于单片机的数字电子时钟的设计原理和实现方法。 一、数字电子时钟的设计原理 数字电子时钟的实现原理就是把时间信号转换成数字信号,再通过计算机芯片来显示时间。其中,时间信号可以是电缆信号或者无线信号,并且也可以通过外部的控制电路进行调节。而计算机芯片可以采用单片机、PLC控制器等方案进行设计。 基于单片机的数字电子时钟,可以使用数字时钟芯片和定时器芯片来完成。数字时钟芯片是一种能够实现数据的统计、时钟显示等功能的IC芯片,通过将其与定时器芯片相连,就 能够实现精确的时间统计和显示。此外,在设计时还需要进行软硬件电路的优化和调试。 二、基于单片机的数字电子时钟的实现方法 1、硬件设计 基于单片机的数字电子时钟的硬件设计,主要包含单片机控制电路、显示电路、外设接口电路、供电电路、时钟芯片和定时器芯片等部分。其中,时钟芯片用于提供精准的时间信号,

定时器芯片则用于进行计时,而单片机和外设接口电路则用于控制整个数字电子时钟的功能。 另外,数字电子时钟还需要进行外观设计,通常采用的是数码管或液晶屏幕显示时间。通过优化电路布局和参数匹配,可以有效地提高整个数字电子时钟的稳定性和精度。 2、软件设计 在数字电子时钟的软件设计中,主要包含固件设计和操作系统设计两部分。固件设计是指对单片机系统进行程序编写、调试和优化,以实现时钟的各种功能;而操作系统设计,则是对固件进行封装,建立起一套完整的操作环境,方便用户进行操作。 在固件设计中,需要考虑到时钟的显示、调节、闹钟、定时等多种功能的实现。通常,这些功能都会涉及到多个模块和数据结构的设计,需要通过循序渐进的方式逐步实现。 在操作系统设计中,需要对时钟的各种操作进行封装,形成一套完整的操作界面。这需要在系统设计之初进行考虑,以方便后续的硬件连接和软件编写。 三、基于单片机的数字电子时钟的应用场景 基于单片机的数字电子时钟广泛应用于家庭、工厂、学校、医院等多种场所。其中,常见的应用场景包括: 1、家庭数字电子时钟 家庭数字电子时钟常见于客厅、卧室等场所,主要用于提供准确的时间显示和闹钟提醒。

单片机课程设计电子时钟

单片机课程设计电子时钟 一、选题意义电子时钟是一款基于单片机的智能时钟,具备控制显示时间、闹钟提醒等功能,广泛应用于家庭、办公室、学校和工厂等场合。学习单片机课程设计电子时钟,不仅可以更深入地了解单片机的编程原理和应用技巧,还可以提高学生的动手能力,培养学生独立思考和解决问题的能力。 二、设计思路电子时钟的设计思路主要包括时钟的显示、时钟的控制和闹钟的提醒三个方面。时钟的显示采用数码管显示时间,时钟的控制包括设置时间、显示时间、时间修改等功能,闹钟的提醒则采用蜂鸣器声音提示。下面分别介绍各个模块的实现方案。 1. 数码管显示模块数码管显示模块主要用于显示当前时间,需要用到7位共阴数码管,通过原理图连接数码管和单片机端口,根据单片机输出的信号来控制数码管的选通和数值显示。数码管显示时间的格式可以有24小时制和12小时制两种,24小时制显示格式为“时:分:秒”,12小时制显示格式为“AM/P M 时:分:秒”。 2. 时钟控制模块时钟控制模块主要用于设置并控制时钟 的运行和显示,包括时钟的开关、时间的设置和修改、时间的显示等功能。时钟开关的控制可以通过单片机IO口控制,时 钟的时间设置和修改需要由用户输入时钟的时间信息,并对单片机中的寄存器进行相应的存储操作,时间的显示也需要通过单片机读取寄存器的信息,并将其转换为数码管的显示信号。

3. 闹钟提醒模块闹钟提醒模块主要通过蜂鸣器的声音提 示来提醒用户已到设置时间。闹钟的设置需要由用户输入提醒时间,单片机负责将提醒时间和当前时间进行比较,并在提醒时间之后发出蜂鸣器的声音信号。 三、硬件设计硬件设计包括原理图设计和PCB布局设计两个部分。原理图设计需要根据电子时钟的功能模块,绘制出各个模块的连接关系图,确定各个元器件和单片机的引脚连接方式。PCB布局设计需要根据原理图的设计,在PCB板上布置各个元器件,并连接各个元器件和单片机的引脚。硬件设计需要注意尽量缩小电路板面积,优化PCB 布局,避免线路交叉和 信号干扰等问题。 四、软件设计软件设计主要包括单片机的程序设计和调试。程序设计需要采用 C 语言编写,实现各个模块的功能。程序 的调试需要通过单片机仿真软件或单片机下载设备进行,对程序进行断点调试和单步调试,检查程序的正确性,并调试出硬件和软件的问题。 五、实验结果电子时钟是一款简单而实用的单片机应用设计,完成之后可以实现按键设置时间、24小时和12小时制显 示切换、时间的正常流动和修正、长响蜂鸣器提醒用户等功能。通过设计电子时钟,可以更深入地了解单片机的编程原理和应用技巧,掌握实际电路设计和调试技能,为今后的应用开发提供更加扎实的基础。

单片机电子时钟课程设计实验报告(1)

单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告 一、实验内容 本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。 二、实验步骤 1.硬件设计 根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。 2.软件设计 通过C语言编写单片机程序,用于实现时钟功能。 3.程序实现 (1)时钟显示功能 通过读取时钟模块的时间信息,在显示模块上显示当前时间。 (2)报时功能 设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。 (3)闹钟功能 设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。 (4)时间设置功能

通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。 (5)年月日设置功能 通过按键模块实现年月日的设置,包括设置年份、月份、日期等。 三、实验结果 经过调试,电子时钟的各项功能都能够正常实现。在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。 四、实验感悟 通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。

单片机课程设计实验报告 基于单片机的数字时钟 含完整实验代码..

单片机课程设计报告 基于单片机的数字时钟 姓名: 班级: 学号:

一、前言 利用实验板上的4个LED数码管,设计带有闹铃、秒表功能的数字时钟。 功能要求: a)计时并显示(LED)。由于实验板上只有4位数码管,可设计成显示“时分” 和显示“分秒”并可切换。 b)时间调整功能。利用4个独立按钮,实现时钟调整功能。这4个按钮的功能 为工作模式切换按钮(MODE),数字加(INC),数字减(DEC)和数字移 位(SHITF)。 c)定闹功能。利用4个独立按钮设定闹钟时间,时间到以蜂鸣器响、继电器动 作作为闹铃。 d)秒表功能。最小时间单位0.01秒。 二、硬件原理分析 1.电源部分 电源部份采用两种输入接口(如上图)。 a)外电源供电,采用2.1电源座,可接入电源DC5V,经单向保护D1接入开关 S1。 b)USB供电,USB供电口输入电源也经D1单向保护,送到开关S1。 注:两路电源输入是并连的,因此只选择一路就可以了,以免出问题。 S1为板子工作电源开关,按下后接通电源,提供VCC给板子各功能电路。电路采用两个滤波电容,给板子一个更加稳定的工作电源。LED为电源的指示灯,通电后LED灯

亮。 2.蜂鸣器 蜂鸣器分为有源和无源两种,有源即两引脚有一个直流电源就可以长鸣,无源则需要一个1K左右的脉冲才可以蜂鸣,因此对于按键的提示音及报警蜂鸣使用有源来得方便。有源也可以当无源使用,而无源则不能当有源使用,当然用有源蜂鸣器作音乐发声会失真厉害。 如上图:单片机P15输出高低电平经R21连接三极管B极,控制三极管的导通与截止,从而控制蜂鸣器的工作。低电平时三极管导通,蜂鸣器得电蜂鸣,高电平时三极管截止,蜂鸣器失电关闭蜂鸣。

(完整)基于51单片机电子时钟设计

(完整)基于51单片机电子时钟设计 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于51单片机电子时钟设计)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于51单片机电子时钟设计的全部内容。

基于51单片机的电子时钟设计 摘要 本电子时钟以STC89C52单片机作为主控芯片,采用DS12C887时钟芯片,使用1602液晶作为显示输出.该时钟走时精确,具有闹钟设置,以及可同时显示时间、日期等多种功能。本文将详细介绍该电子时钟涉及到的一些基本原理,从硬件和软件两方面进行分析. 【关键词】 STC89C52单片机 DS12C887时钟芯片 1602液晶蜂鸣器 目录 一、绪论 (4)

1.1 电子时钟功能 (4) 1.2设计方案 (4) 二、硬件设计 (4) 2。151单片机部分设计 (4) 2.2 USB供电电路设计 (5) 2.3 串行通信电路设计 (6) 2.4 DS12C887时钟芯片电路的设计 (6) 2。5 1602LCD液晶屏显示电路设计 (7) 2。6蜂鸣器电路设计 (8) 2。7按键调整电路设计 (8) 三、软件设计 (9) 3.1系统程序流程图设计 (9) 3。2程序设计 (11) 四、心得体会 (22) 参考文献 (23) 一、绪论 1。1电子时钟功能 (1)在1602液晶上显示年、月、日、星期、时、分、秒,并且按秒实时更新显示。 (2)具有闹铃设定即到时报警功能,报警响起时按任意键可取消报警。 (3)能够使用实验板上的按键随时调节各个参数,四个有效键分别为功能选择键、数值增大键、数值减小键和闹钟查看键。 (4)每次有键按下时,蜂鸣器都以短“滴”声报警. (5)利用DS12C887自身掉电可继续走时的特性,该时钟可实现断电时间不停、再次上电时时间仍准确显示在液晶上的功能。 1。2设计方案 DS12C887时钟芯片+1602LCD液晶屏 DS12C887时钟芯片功能丰富、价格适中,能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部含有世纪寄存器,从而利用硬件电路解决“千年”问题。DS12C887中自带锂电池,外部掉电时,其内部时间信息还能保持10年之久。1602LCD液晶屏可以输出2行,每行显示16个字符。1602LCD液晶屏显示清晰且不会闪烁,由于液晶屏是数字式的,因此和单片机系统的接口简单,操作方便。 以STC89C52为主控芯片,DS12C887为时钟芯片,1602LCD液晶屏作为显示器.程序控制DS12C887时钟芯片实现小时、分、秒和年、月、日的计时,并在1602LCD液晶屏上显示出来。当时间走到程序所设定的时间时,蜂鸣器响起,起到闹钟功能。

STC51单片机电子闹钟

数字电子闹钟 摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。 数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用数码管显示时、分,以24 小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整,并且具有定时闹铃功能。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱, 因此得到了广泛的使用。 关键字:单片机电子闹钟

目录 第一章绪论 1.1 单片机的背景 (1) 1.2 单片机的意义 (1) 1.3 单片机的应用 (1) 第二章整体设计方案 2.1 单片机的选择 (2) 第三章数字钟的硬件设计 3.1 电源模块 (6) 3.2 USB串口 (7) 3.3 单片机模块 (8) 3.4四位共阳数码管和LED模块 (8) 3.3 按键模块 (8) 第四章数字钟的软件设计 4.1 系统软件设计流程图 (9) 4.2主程序 (10) 4.3系统分析与说明 (17) 附:实物图 (18) 结束语……………………………………………………………………………………

基于单片机的电子钟设计

基于单片机的电子钟设计 摘要: 电子钟是一种普遍使用的时钟类型。通过单片机,可以实现数字 时钟的各种功能,例如:时间显示、闹钟功能、温度显示等。本文介 绍了基于单片机的电子钟设计方案,其中包括硬件系统的设计和程序 代码的实现。该电子钟的基本功能包括:时钟模式、闹钟模式、温度 显示和日期显示。设计方案使用的单片机是AT89C52,时钟模块为 DS1302。实验结果表明,该电子钟系统具有稳定性高、精度高、实用 性强等特点。 关键词:单片机、电子钟、DS1302 1. 概述 电子钟是目前流行的现代时钟类型之一。通过单片机,可以实现 数字时钟的各种功能,例如:时间显示、闹钟功能、温度显示等。作 为一种普遍应用于家庭以及公共场所的计时工具,电子钟能够提高人 们的时效性、管理效率。 本文将介绍基于单片机的电子钟设计方案,其中包括硬件系统的 设计和程序代码的实现。该电子钟的基本功能包括:时钟模式、闹钟 模式、温度显示和日期显示。设计方案使用的单片机是AT89C52,时钟模块为DS1302。实验结果表明,该电子钟系统具有稳定性高、精度高、实用性强等特点。 2. 硬件设计 2.1 系统原理 系统的核心是AT89C52单片机,其包括了8051架构下所有标准 的特殊功能寄存器以及升级的功能模块。DS1302是常用的实时时钟模块,它包含一个时钟/日历的B类时钟芯片、一个31个字节的静态RAM 以及一个摆振电路。通过与AT89C52的串行通信接口,可以实现时钟 芯片与单片机的通信。 2.2 电路设计

电路设计包括AT89C52单片机、DS1302时钟芯片、4个7段数码管以及相关的外围元件。其中,输入电源电压为5V直流电压,4个7段数码管均采用共阴极的连接方式。 2.3 电路说明 (1) 时钟模块DS1302 DS1302是一种时钟模块,其具有许多特性,例如:硬件控制时间的计数、在停电情况下,仍能保持时间记录、考虑到掉电情况、在无外部纪念日的情况下,为计时器提供64字节的RAM等特点。DS1302可以通过单片机的串行通信接口进行通信,实现单片机与时钟芯片之间的数据传输。 (2) AT89C52单片机 AT89C52是一种8位的单片机,具有时钟速度高、存储空间大、内部EEPROM、容易和其他外围硬件进行接口连接等特点。该单片机可用于任何普通的监测与控制系统,并能够与各种器件进行通信,如LCD 模块、密钥盘、时钟模块等。AT89C52单片机的电路连接如图2所示。 (3) 7段数码管 7段数码管是一种常用的显示元件,其具有数字显示、字母显示、渐变显示等多种显示方式。本文使用的是共阴极数码管,通过单片机的I/O口输出位控制,实现数码管数字的显示。4个7段数码管的电路连接如图2所示。 3. 程序设计 主要功能模块 (1) 时钟显示模块:使用DS1302时钟模块,实现时间显示。 (2) 日期显示模块:通过AT89C52单片机获取DS1302模块提供的日期数据,实现日期的显示。 (3) 温度检测模块:通过温度传感器检测环境温度,实现温度位的显示。 (4) 闹钟模块:通过AT89C52单片机设置闹钟时间,实现闹钟的响铃功能。 4. 结论

电子时钟计时器的设计(c语言版_调试完美通过_可直接使用)(附原理图源程序以及完整的文档)汇总

湖南人文科技学院 课程设计报告 课程名称:单片机原理及应用课程设计 设计题目:电子时钟的设计 系别:通信与控制工程系 专业:通信工程 班级:09级通信二班 学生姓名: 袁琦黄文付 学号: 09416230 09416227 起止日期:2011年12月20日~2011年12月30日 指导教师:王善伟姚毅谢四莲 教研室主任:刘建闽

指导教师评语: 指导教师签名:年月日 成绩评定 项目权重 成绩 袁琦黄文付 1、设计过程中出勤、学习态度等方面0.2 2、课程设计质量与答辩0.5 3、设计报告书写及图纸规范程度0.3 总成绩 教研室审核意见: 教研室主任签字:年月日教学系审核意见: 主任签字:年月日

摘要 时钟是人类日常生活必不可少的工具,本设计从日常生活中常见的事物入手,通过对电子时钟的设计,让我们认识到单片机已经深入到我们生活的每个领域,该设计不仅可以锻炼我们的动手能力,而且可以加深我们对单片机的认识和激发我们对未知科学领域的探索。 本文利用单片机实现数字时钟计时功能的主要内容。它体积小,成本低、功能强、使用方便、可靠性高等一系列优点,广泛应用于智能产业和工业自动化上。本次设计采用独立式按键进行时间调整,其中STC89C52是核心元件,同时采用数码管LED动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外利用DS1302具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。该系统同时具有硬件设计简单、工作稳定性高、价格低廉等优点。 关键词:STC89C52 ;LED数码管;8255芯片;DS1302芯片;

单片机的C语言程序设计——时钟

单片机的C 语言程序设计——时钟 1. 针对图1,用单片机C语言编程实现时钟,并利用Protues 仿真演示。(1秒钟的 定时使用定时器中断方式) (1)硬件原理图 图1 定时电路原理图 (2)软件流程图

(3)程序清单(标注注释) #include static unsigned char code seg[10]= {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F} ; // 字形码void show(); unsigned int num[2]; void main(void) { P2=0x00; P3=0x00; //P2,P3赋初值 TMOD=0x00; TH0=0x10; TL0=0x60; //定时4mS EA=1; ET0=1; TR0=1 ; //开启定时器

while(1); //进入死循环,进入中断判断 } void timeint(void) interrupt 1 using 2 { unsigned int h; //定义变量h h++; if(h==125){ show(); //调用显示程序 h=0; } //循环125次,达到定时一秒后,让h重新计数 TH0=0x10; TL0=0x60; //重新赋给定时器初值 } void show() //显示程序 { unsigned char s; num[0]=s%10; //取个位的数 num[1]=s/10; //取十位的数 P3=seg[num[0]]; //根据字形码显示个位的数 P2=seg[num[1]]; //根据字形码显示十位的数 s++; //显示的数加一 if(s==60) s=0; //计数到60的时候,重新让它等于0.如此循环,成为秒表2.针对图2,用单片机C语言编程按键按下,显示数据增加1,并用Protues仿真运行

基于单片机C语言电子时钟完整版(闹钟,整点报时)

《单片机技术》课程设计说明书 数字电子钟 系、部:电气与信息工程学院 学生姓名: 指导教师:职称 专业: 班级: 完成时间:2013-06-07

摘要 电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz 晶振与单片机AT89S52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEU5键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。 关键词电子钟;AT89S52;硬件设计;软件设计

ABSTRACT Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMEL’s as its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons KEY1, KEY2, KEY3,KEY4 and KEY5 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value. Key words Electronic clock;;AT89S52;Hardware Design;Software Design

51单片机数码管电子时钟C程序

//**单片机stc89c52, 8位共阴数码管12M晶振 //*******P0 位选,P2 段选❖******// #include 〃reg52・ h〃 #define uchar unsigned char #define uint unsigned int uchar code tab[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x40, Oxff}; uchar n; uchar hh, mm, ss; uchar nhh, nmm, nss; uint year; uchar day, mon, week; uchar hhs, hhg, mms, mmg, sss, ssg; uchar days,dayg, mons, mong; uchar nhhs, nhhg, nmms, nmmg, nsss, nssg; uchar setl=l, set2=l; sbit dula=P3 3; sbit fm=P3 2;

sbit kl二P3"4; sbit k2二P3"5; sbit k3二P3飞; sbit k4二P3"7; uchar tablel[] = {31, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 〃闰年uchar table2[] = {31, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //非闰年void jishi (); void baoshi (); void alarm(); void set_time(); void set_alarm(); void set_mdw(); void key_change(): void key_set (); void delay (int m) 〃延时程序,延时m*0. 5ms uint i; uint j; for (i=0;i

【单片机】c51数字时钟(带年月日显示)

【单片机】c51数字时钟(带年月日显示)显示当前时间:9点58分34秒(第一个零表示闹钟未开启)

当前日期:10年4月六日 摘要:本设计以单片机为核心,LED数码管动态扫描显示。采用矩阵式键盘输入能任意修改当前时间日期和设定闹钟时间。具有显示年月日(区分闰年和二月),闹钟报警和整点报时功能 说明 系统的功能选择由7个按键完成。 其中P3.0,P3.1分别对应调整当前时间的时和分, P3.2为外部中断0,控制闹钟功能的开启/关闭(开启时数码管第一位显示字母’c’)

P3.3用作外部中断1,当前时间的显示与闹铃时间显示切换,闹钟显示时按 P3.0,P3.1可进行闹钟时分的设定,此时,led1灯灭。闹铃时间到切闹钟开关开启时,闹铃响一分钟。 P3.5\P3.6\P3.7对年月日进行调整(第一次按P3.5,就进入了年月日的显示,现在就可对日期进行调整)。按P3.1回到当前时间的显示状态。 整点到时:报警对应小时的次数。 程序如下: #include #include #include #define uchar unsigned char #define uint unsigned int uchar data keyvalue; //查到的键值 uchar data keys; //转换出的数字 uchar dis[8]; uchar code seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67,0x40,0x00,0x 39,0xf7}; // 0 1 2 3 4 5 6 7 8 9 - 灭灯 c n sbit led_duan=P2^6; //段选通 sbit led_wei=P2^7; //位选通 sbit speaker=P2^3; //蜂鸣器 sbit minitek=P3^0; //分校正按键 sbit hourk=P3^1; //小时校正按键 sbit p3_4=P3^4; // sbit yeark=P3^5; //年 sbit monthk=P3^6; //月 sbit dayk=P3^7; //日 uchar data wei,i; bit leap_year; //闰年标志位 bit dis_nyr; bit cal_year=1; bit calculate=1; //显示年月日与当前时间切换标志 uchar data c_min; //闹钟‘分寄存单元 uchar data c_hou; //闹钟、小时寄存单元

基于51系列单片机与DS1302时钟芯片的电子时钟C语言Proteus仿真报告

基于单片机的电子时钟 : 班级: 学号: 指导教师: 完成日期: I / 20

目录 摘要 一、引言 (1) 二、基于单片机的电子时钟硬件选择分析 (2) 2.1主要IC芯片选择 (2) 2.1.1微处理器选择 (2) 2.1.2 DS1302简介 (4) 2.1.3 DS1302引脚说明 (4) 2.2电子时钟硬件电路设计 (5) 2.2.1时钟电路设计 (6) 2.2.2整点报时功能 (7) 三、Protel软件画原理图 (8) 3.1系统工作流程图 (8) 3.2原理图 (9) 四、proteus软件仿真与调试 (9) 4.1电路板的仿真 (9) 4.2软件调试 (9) 五、源程序 (10) 六、课设心得 (13) II / 20

七、参考文献 (13) 基于单片机电子时钟设计 摘要 电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。 本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。 本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。 该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。 关键词:电子时钟;多功能;AT89C52;时钟日历芯片 III / 20

基于c51功能最全的电子钟程序(lcd1602)

功能最全的电子钟 【单片机】c51数字时钟(带年月日显示) 摘要:本设计以单片机为核心,lcd1602显示。采用独立键盘输入能任意修改当前时间日期和设定闹钟时间。具有显示年月日(区分闰年和二月),闹钟报警和整点报时功能 主程序: /****************************************************************************** ******************** ******************************************************************************* ******************** ********************** lcd1602电子钟*************************************************** ******************************************************************************* ******************** ******************************************************************************* ********************/ # include # include "lcd16024.h" sbit key1 = P2^0; //调整 sbit key2 = P2^1; //加1 sbit key3 = P2^2; //减1

(完整word版)基于单片机的多功能电子钟

山东建筑大学 课程设计说明书 题目:基于单片机的多功能电子钟 课程: 单片机原理及应用B课程设计院(部):信息与电气工程学院 专业:电子信息工程 班级:电信111 学生姓名:姜庆飞 学号: 2011081197 指导教师: 高焕兵 完成日期:2015年1月

摘要............................................................................................................ I I 1 设计目的 (1) 2 设计要求 (2) 3 设计内容 (3) 3.1电子时钟的工作原理 (3) 3。2 系统硬件电路设计及元件 (4) 3。2。1 AT89C51芯片 (4) 3.2。2 DS1302芯片 (8) 3.2。3 LCD1602液晶显示 (12) 3。3系统软件电路设计 (15) 3。3。1 系统流程图及源代码设计 (15) 总结与致谢 (18) 参考文献 (19) 附录一 (20)

单片机, 是集CPU ,RAM ,ROM , 定时器,计数器和多种接口于一体的微控制器.自20 世纪70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上. 本系统为基于DS1302的多功能电子钟,以AT89C51单片机作为主控芯,采用实时时钟芯片DS1302,使用1602液晶作为显示输出。该系统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、日期等多种功能。本文将详细介绍AT89C51单片机和DS1302 时钟芯片的基本原理,从软件和硬件电路的实现两大方面进行分析。 关键词:AT89C51;单片机;液晶屏;时钟芯片;蜂鸣器

(完整)基于STC单片机的电子时钟毕业设计(DOC)

电子时钟 [摘要] 本设计是基于STC单片机的电子时钟技术,由STC12C5A16S2芯片和LCD1602液晶显示屏,DS18B20进行温度测量,辅以必要的的电路,构成一个单片机定时闹钟。电子钟可采用数字电路实现,也可以采用单片机来完成.LCD显示“时”,“分”,LED闪动来做秒计数,定时时间到能发出警报声或者启动继电器,从而控制电器的启停。现在是自动化高度发达的时代,特别是电子类产品都是靠内部的控制电路来实现对产品的控制,达到自动运行的目的,这就需要我们这里要做的设计中的电器元件及电路的支持。在这次设计中主要是用STC12C5A16S2来进行定时,也结合着其他辅助电路实施控制,在定时的时候,按一下控制小时的键对小时加一;按一下控制分钟的键对分钟加一;到达预设的时间,此电路就会发出报警声音提示已经到点。 [关键词] 定时闹钟STC12C5A16S2 LCD1602

Time clock [Abstract] The regular alarm clock designers design, by the microcontroller STC12C5A16S2 chip and LCD1602 display、 DS18B20 , combined with the necessary circuitry to form a single—chip timer alarm clock. Clock can be digital circuit,the microcontroller can also be used to complete。LCD display "when”, "sub”,LED flash to do the second count, regular time to be able to sound an alarm or start relay to control the electrical start and stop. Now is the era of highly developed automation, especially electronic products are relying on the internal control circuitry to achieve control of the product to achieve the purpose of automatic operation, which requires us to do the design of electrical components and circuits to support 。 In this design it is mainly used to carry out regular AT89S51, but also combined with other auxiliary circuit implementation of the control, in time, when you click a control button on the hour plus one hour; click the button on the control minutes plus one minute; reach preset time, this will sound an alarm circuit has prompted the point. [Key Words] time clock STC12C5A16S2 LCD1602

C51单片机实现电子闹钟

C51单片机实现电子闹钟

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

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

实际要用到5个按键,受空间限制仿真电路中只画出4个。 单片机管脚资源分配: P0口为数码管段选信号输出口。 P3口为数码管位选信号输出口。 P1.0、P1.1、P1.2、P1.3、P1.4为键盘的输入信号。 P3.6为蜂鸣器信号的输出口。 下面分别介绍各个电路。 (1)数码管驱动及显示电路 本设计采用8位7段共阳极数码管用来显示时间。为了将时间在LED数码管上显示可采用动态显示法。通过对每位数码管的依次扫描,使对应数码管亮;同时向该数码管送对应的字码使其显示数字。由于数码管扫描周期很短,而且人眼有视觉暂留效应,所以数码管看起来总是亮的从而实现了数字的同时显示。 数码管主要包括位选和段选信号线。位选是用来选通数码管的,只有位选信号有效该数码管才会亮并显示要现实的数字;段选是选择数码管7段的那一笔亮,从而显示不同的数字。 本设计中单片机P0口输出段选数据,P3口输出位选数据。 数码管与单片机相连的电路如下图所示:

电脑时钟设计(整点报时)

目录 一、实训目的意义及任务要求 (2) 1.1实训目的意义 (2) 1.2任务要求 (2) 二、实训方案 (3) 2.1系统分析 (3) 2.2设计思想 (3) 三、系统硬件设计 (4) 3.1最小单片机系统 (4) 3.2复位电路 (4) 3.3按键电路的设计 (5) 3.4 显示电路 (5) 3.5晶振电路 (7) 3.6 蜂鸣器接口电路 (7) 3.7 RS-232接口电路 (8) 四、系统软件设计 (8) 4.1 控制程序的结构及模块划分 (8) 4.2实时时间子程序 (9) 4.3秒表子程序 (10) 4.4闹钟子程序 (10) 4.5数码管显示子程序 (10) 五、调式及性能分析 (11) 5.1程序调试 (11) 5.2性能分析 (11) 六、心得体会 (12) 参考文献 (12) 附录一原理图 (13) 附录二程序清单 (14)

电脑时钟设计(整点报时功能) 一、实训目的意义及任务要求 1.1实训目的意义 《单片机》是一门技术性的,具有很强应用性的课程。实训教学是的一个它极其重要的环节。单片机课程设计的目的就是为了让我们在理论学习的基础上,完成一系列的小设计。这样可以巩固我们所学的理论知识,让我们能够很好的将实践与理论结合起来。加强对单片机的软硬知识的了解,获得初步的经验,为以后的学习和工作打下基础。 1.2任务要求 要求设计的电脑时钟完成以下功能: 1.1基本功能 (1)、实时显示当前时间(4位数码管显示,2位显示小时,2位显示分钟,第2位小数点0.5秒亮,0.5秒灭)。 (2)、半点及整点时间用蜂鸣器模仿自鸣钟报时,半点短鸣,整点长鸣对应的次数。22点~6点不鸣。 (3)能修改当前时钟。 (4)具有秒表功能,显示秒和百分秒。 1.2 扩展功能 (1)单片机与PC机的通讯(可选) (2)可设定初值的倒计时功能(可选)③闹钟及年月日显示功能(可选) 2

相关主题
文本预览
相关文档 最新文档