数码管电子钟

数码管电子钟
数码管电子钟

摘要

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。而机械式的依赖于晶体震荡器,可能会导致误差。

数字钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。

目录

第一章绪论

1.1数字电子钟的背景

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

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

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

1.2数字电子钟的意义

数字钟是采用数字电路实现对,时,分,秒。数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电

路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

1.3 电子时钟简介

1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。

1.4 电子时钟的基本特点

现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

1.5 电子时钟的原理

该电子时钟由80C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通

过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。

1.6数字电子钟的应用

数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

2 数字钟的软件设计与控制

系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题。

(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;

(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;

(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;

(4)绘制程序流程图;

(5)合理分配系统资源;

(6)为程序加入注释,提高可读性,实施软件工程;

(7)注意软件的抗干扰设计,提高系统的可靠性。

2.1 系统软件设计流程图

这次的数字电子钟设计用到很多子程序,它们的流程图如下所示。

主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可

以显示时间。

图4-1 主程序流程图

按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,

1;如果没到,就检测1分钟是否到,11小时是否到,1小时如果到,时单元就加1

3.1 程序设计

秒,minute分,hour 时,max时制

//主函

{

unsigned char code table[]={0xdd,0x84,0xe9,0xec,0xb4,0x7c,0x7d,0xc4,0xfd,0xfc};

unsigned int i;

void good();

TMOD=0X11; //T0工作于定时模式1用于计时,T1工作于定时模式1用于扫描按键

IE=0X8a; //开放T0、T1中断

IP=0X80; //T1优先级高于T0,有按键停止计时

TH0=0X3c; //设置T0初值,定时5MS

TL0=0Xb0;

TH1=0x3c; //定时250ms扫描按键;

TL1=0xb0;

TR1=1; //启动

good();

while(1) //扫描轮流显示

{

i=minute/10; //显示分十位

P0_5=0;

P0_4=1;

P0_6=1;

P0_7=1;

P2=table[i];

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

i=minute%10; //显示分个位 P0_5=1;

P0_4=0;

P0_6=1;

P0_7=1;

P2=table[i];

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

i=hour%10; //显示时个位 P0_5=1;

P0_4=1;

P0_6=0;

P0_7=1;

P2=table[i];

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

i=hour/10; //显示时十位 P0_5=1;

P0_4=1;

P0_6=1;

if(i!=0)P0_7=0;

P2=table[i];

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

}

}

//计时中断程序

void abc() interrupt 1 //t0(计时)中断子程序

{

static char a=0;

TH0=0X3c; //重赋初值

TL0=0Xb0;

a++;

if (a==20) //当a=20时一秒到了

{a=0;

P1_7=~P1_7; //二级管取反闪烁

second++; //秒增1

if(minute==0)

{if(second<2*hour)P1_4=~P1_4;

else P1_4=1; }

if(second==60){second=0;minute++;} //秒计到60,秒清0,分增一 if(minute==60){minute=0;hour++;} //分计到60,分清0,时增一 if(hour==max+1){hour=0;} //时计到最大值,清0

}

}

//按键中断处理程序

void key() interrupt 3

{ char key=9;

// int i;

static char b=0;

TR1=0; //停止计时

TH1=0x3c; //重赋初值

TL1=0xb0;

b++; //250ms计数

if(b==5){ //判断按键是哪一个

if(P1_0==0)key=0;

if(P1_1==0)key=1;

if(P1_2==0||P3_2==0)key=2;

if(P1_3==0)key=3;

b=0;

}

switch (key)

{

case 0: //按下调时键调整时数

{TR0=0;

hour++;

if (hour==max+1)hour=0;

break;}

case 2: //按下调分键调整分数

{TR0=0;

minute++;

if (minute==60)minute=0;

break;}

case 1: {TR0=1;break;}//按下重启键重新计时

case 3: Musicu(); //按下通讯键,功能待定

}

TR1=1; //重启T1

}

void good()

{ int i,j=0,k;

unsigned char a[]={0x00,0x00,0x00,0x84,0x00,0x19,0x2d,0x0d,0x79,0x00,0xbc,0x2d,0x9d} ;//放置0~9

while(TR0==0&&minute==0&&hour==0)

{ if(k==60 ) { k=0;j++;if(j==13) j=0;}

//显示g

P0_5=1;

P0_4=1;

P0_6=1;

if(a[j%13]==0x00) P0_7=1;

else P0_7=0;

P2=a[j%13];

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

//显示分十位

if(a[(j+1)%13]==0x00) P0_6=1;

else P0_6=0;

P0_4=1;

P0_5=1;

P0_7=1;

P2=a[(j+1)%13];

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

//显示时O位

P0_4=1;

P0_6=1;

if(a[(j+2)%13]==0x00) P0_5=1;

else P0_5=0;

P0_7=1;

P2=a[(j+2)%13];

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

//显示分0位

P0_5=1;

if(a[(j+3)%13]==0x00) P0_4=1;

else P0_4=0;

P0_6=1;

P0_7=1;

P2=a[(j+3)%13];

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

k++;

} }

3.2 数字钟的原理图

用PROTUES软件,根据要求画出数字电子钟的原理图如下所示。

图4-5 数字钟的原理图

在此有必要介绍一下数字电子钟的工作原理。

工作原理:

数字电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它

的计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能。因此,一个基本的数字钟电路主要由显示器“时”,“分”,“秒”和单片机,还有校时电路组成。8个数码管的段选接到单片机的P0口,位选接到单片机的P2口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分单元”的时钟脉冲。“分单元”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。“时单元”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”通过七段显示器显示出来。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整,按一下ksec,秒单元就加1 ,按一下kmin,分就加1,按一下khour,时就加1。

在这里,我们有必要介绍一下单片机的中断系统,以利于我们的学习。

中断技术在单片系统中有着十分重要的作用,它不仅可以提高单片机CPU的效率,也可以对突发事件处理。所谓中断就是当CPU正在执行程序A时,发生了另一个急需处理的事件B,这是CPU暂停当前执行的程序A,立即转去执行处理事件B的程序,处理完事件B 后,再返回到程序A继续执行,这个过程被叫做中断。关于中断的概念有下列几个名词:(1)程序A称为主程序,(2)处理事件B的程序称为中断服务程序,(3)主程序中转向中断服务程序的地方称为断点,(4)引起中断的原因即事件B称为中断源,(5)转去执行中断服务程序称为中断响应。关于中断的概念可以打个如下的比喻。领导(CPU)在自己的房间办公(执行主程序),下属(外设)有问题打电话来请示(中断源),领导停下正在进行的工作,通过电话给下属做指示(执行中断服务程序),指示完后,领导挂断电话,继续做自己的工作(返回主程序继续执行)。

中断是一个过程,当中央处理器CPU在处理某件事情时,外部又发生了另一紧急事件,请求CPU暂停当前的工作而去迅速处理该紧急事件。处理结束后,再回到原来被中断的地方,继续原来的工作。引起中断的原因或发出中断请求的来源,称为中断源。

单片机一般允许有多个中断源,当几个中断源同时向CPU请求中断时,就存在CPU优先响应哪一个中断请求源的问题(优先级问题),一般根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别,并且CPU总是响应级别最高的中断请求。

当CPU正在处理一个中断源请求的时候,又发生了另一个优先级比它高的中断源请求,如果CPU能够暂时中止对原来中断处理程序的执行,转而去处理优先级更高的中断源请求,待处理完以后,再继续执行原来的低级中断处理程序,这样的过程称为中断嵌套。

第四章系统仿真

4.1 PROTUES软件介绍

Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。

4.2 电子钟系统PROTUES仿真

用PROTUES软件,根据数字电子钟的原理图,画出仿真图,得到的图如下所示。

图5-1 数字钟的PROTES仿真

第五章调试与功能说明

单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。

5.1 硬盘调试

拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避免电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检查各引脚的电位是否正确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。

5.2 系统性能测试与功能说明

走时:默认为走时状态,按24小时制分别显示“时时-分分-秒秒”,有2个“-”动态显示,时间会按实际时间以秒为最少单位变化。

走时调整:按ksec对秒进行调整,按一下加一秒;按kmin对分进行调整,按一下加一分;按khour对时进行调整,按一下加一小时,从而达到快速设定时间的目的。

5.3 系统时钟误差分析

时间是一个基本物理量,具有连续、自动流逝、不重复等特性。我国时间基准来自国家授时中心,人们日常使用的时钟就是以一定的精度与该基准保持同步的。结合时间概念和误差理论,可以定义电子钟的走时误差S=S1-S2,S1表示程序实际运行计算所得的秒;S2表示客观时间的标准秒。S>0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S<0表示秒单元数值的刷新超前,即走时误差为“快”。

本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。

5.4 软件调试问题及解决

软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;

后者一般需要仿真系统的支持。本次课题,Keil软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。

仿真部分采用protus 6 professional软件,此软件功能强大且操作较为简单,可以很容易的实现各种系统的仿真。

首先打开protus 6 professional软件,在元件库中找到要选用的所有元件,然后进行原理图的绘制;绘制好后再选择wave6000已经编译好的*.hex文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。

总结

在我王盟老师耐心的指导下,我顺利完成了这次单片机课程设计课题中的电子时钟设计,通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。损耗了过多的内存资源。

本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的理解。

最后,感谢王盟老师对我的细心的指导,正是由于王老师的细心的辅导和他提供给我们的参考资料,使得我的课程设计能够顺利的完成,同时在课程设计过程中,我们巩固和学习了我们的单片机知识。相信这对我以后的课程设计和毕业设计将会有很大的帮助!

参考文献

[1] 谢自美.电子线路设计·实验·测试[M].武汉:华中理工大学出版社,1992.

[2] 何立民.单片机应用系统设计[M].北京:北京航空航天大学出版社,1993.

[3] 楼然笛.单片机开发[M].北京:人民邮电出版社,1994.

[4] 付家才.单片机控制工程实践技术[M].北京:化学工业出版社 2004.3.

[5] 李光才.单片机课程设计实例指导[M].北京:北京航空航天大学出版社 2004.

[6] 朱定华.单片机原理及接口技术实验[M].北京:北方交通大学出版社2002.11.

[7] 刘湘涛.江世明.单片机原理与应用[M]. 北京:电子工业出版社,2006

基于DS1302的数码管显示数字钟

单片机原理课程设计 课题名称:基于DS1302的数码管显示数字钟 专业班级:电子信息工程 学生学号: 学生姓名: 指导教师: 设计时间:2010年6月21日--2010年6月25日

目录 摘要........................................................................................................................................................................ 1 设计任务和要求............................................................................................................................................ 2 方案论证........................................................................................................................................................ 3 系统硬件设计................................................................................................................................................ 3.1 系统总原理图 ................................................................................................................................ 3.2 元器件清单...................................................................................................................................... 3.3 PCB板图....................................................................................................................................... 3.4 Proteus仿真图 ............................................................................................................................... 3.5 分电路图及原理说明................................................................................................................... 3.5.1 主控部分(单片机MCS-51).............................................................................. 3.5.2 计时部分(实时时钟芯片DS1302).................................................................. 3.5.3 显示部分(共阳极数码管)................................................................................ 3.5.4 调时部分(按键)................................................................................................ 4系统软件设计................................................................................................................................................ 4.1 程序流程图..................................................................................................................................... 4.2 程序源代码........................................................................................................................................ 5心得体会........................................................................................................................................................ 6参考文献........................................................................................................................................................ 7结束语............................................................................................................................................................

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)修改时间函数

单片机课程设计报告—LED显示电子钟

《单片机原理及其接口技术》 课程设计报告 课题LED显示的电子钟 姓名 学号 院系自动控制与机械工程学院 班级 指导教师

2012 年6 月 目录 一、课程设计目的 (3) 二、课程设计要求 (3) 三、设计内容 (4) 四、硬件设计需求 (5) 1、硬件系统各模块功能 (5) (1)、单片机最小系统——AT89C51 (5) (2)、LED数码管显示模块 (8) (3)、晶振模块 (9) (4)、按键模块 (10) 五、电路软件系统设计 (10) 1、protues软件简介 (10) 2、仿真结果 (11) 3、流程图 (13) 六、误差分析 (15) 七、总结与心得体会 (15) 八、参考文献 (16) 九、附录(程序) (16)

一、课程设计目的 单片机课程设计作为独立的教学环节,是自动化及相关专业集中实践性环节系列之一,是学习完《单片机原理及应用》课程后,并在进行相关课程设计基础上进行的一次综合练习。 单片机课程设计过程中,学生通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并且有综合功能的小应用系统设计。使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路,电子元器件等方面的知识进一步加深认识,同时在软件编程,调试,相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。使学生增进对单片机的感性认识,加深对单片机理论方面的理解,加深单片机的内部功能模块的应用,如定时器/计数器,中断,片内外存储器,I/O接口,串行口等。使学生了解和掌握单片机应用系统的软硬件设计过程,方法及实现,强化单片机应用电路的设计与分析能力。提高学生在单片机应用方面的实践技能和科学作风,培育学生综合运用理论知识解决问题的能力。 二、课程设计要求 课程设计应以学生认知为主体,充分调动学生的积极性和能动性,重视学生自学能力培养。根据课程设计具体课题安排时间,确定课题的涉及,变成和调试内容,分团队开展课程设计活动,安排完成每部分工作。课程设计集中在实验室进行。在课程设计过程中,坚持独立完成,实现课题规定的各项指标,并写出设计报告。 要求学生自己调研,设计系统功能,划分软硬件功能,选择器件,用Proteus软件在PC机上完成硬件原理图设计。然后使用使用Proteus软件在PC机运行系统仿真,调试电路和修改调试程序。对整个系统做试运行,有问题再进一步修改调试,直至达到设计的要求和取得满意的效果。最后编写系统说明书,其内容主要包括系统功能介绍,使用范围,主要性能指标,使用

51单片机数码管时钟电路的设计_AT89C51

广东石油化工学院 《51单片机原理与实践》课程设计报告 学院计算机与电子信息学院 专业 班级 学号 姓名 指导教师 课程成绩 完成日期 2010年12月27日

数码管时钟电路的设计 一、设计目的: 通过这次课程设计掌握单片机系统的基本设计步骤及设计思路,掌握汇编语言的用法及各种指令的含义,比较熟练的运用指令进行单片机系统的设计的,熟悉用KEIL软件进行汇编语言的汇编,以及把代码写入实验板中,观测代码结合实际的运行结果后进行调整,体会到编程的分析问题、确定算法、画程序流程图、编写程序、程序功能模块化的优点的各各步骤。 二、设计要求: LED数码管时钟电路采用24h计时方式,时、分、秒用六位数码管显示。该电路采用AT89C2051单片机,使用3V电池供电,只使用一个按键开关即可进入调时、省电(不显示LED数码管)和正常显示三种状态。 三、设计实验内容: 1. 硬件的设计 其采用AT89C51单片机应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P2口输出位码数据,P1.1、P1.2接按钮开关。为了提供LED数码管的驱动电流,采用6MHz晶振。 2. 系统总体分析 系统主要包含四大模块:显示模块、时间计时模块、模式切换模块和模式设置模块。 显示模块:主要由主循环负责。内存中开辟了一段8字节的内存空间,

用作数据显示的字符缓冲区。主循环不断将缓冲区中的字符呈现至数码管。 ● 时间计时模块:电子钟的核心模块,记录了时间的时、分、秒信息。 ● 模式切换模块(MODE ):切换电子钟的设置模式,包括时设置、分设置、秒设置、闹铃开关设置、闹铃时设置和闹铃分设置。相关数据被设置时将闪烁显示。 ● 模式设置模块(CONFIG ):通过判断设置模式(MODE ),执行相应的设置。如时、分、秒的增1以及闹铃开关的变换。 另外,主循环还负责扫描键盘,检测相应键是否被按下,若MODE 键被按下则在特定单元中登记该功能,并启动定时器1,然后返回继续执行显示功能。在定时器1中断时,被登记的功能正式执行。期间用时约10ms ,用以消除机械抖动。 主循环流程图大致如下: 图(一)主循环流程图 定时器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前言

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()

数码管时钟显示(含有原理图)

简单的共阴极数码管时钟显示程序(简单、易于理解,如果想定时只要再次基础上稍作修改即可) #include #define uint unsigned int #define uchar unsigned char uchar aa,shi1,shi0,fen1,fen0,miao1,miao0; uint temp; ucharshi,fen,miao; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z) { uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void display(uchar shi1,shi0,fen1,fen0,miao1,miao0) { P2=0xfe; P0=table[shi1]; delay(1); P2=0xfd; P0=table[shi0]; delay(1); P2=0xfb; P0=0x40;//"-" delay(1); P2=0xf7; P0=table[fen1]; delay(1); P2=0xef; P0=table[fen0]; delay(1); P2=0xdf;

P0=0x40;//"-" delay(1); P2=0xbf; P0=table[miao1]; delay(1); P2=0x7f; P0=table[miao0]; delay(1); } voidinit() { temp=41760; TMOD=0x01; TH0=(65536-46080)/256; TL0=(65536-46080)%256; EA=1; ET0=1; TCON=0x10; //TR0=1; } void main() { init();//初始化子程序 while(1) { if(aa==20) { aa=0; temp++; if(temp==86400) { temp=0; } shi1=temp/3600/10; shi0=temp/3600-(shi1*10); fen1=temp%3600/60/10; fen0=temp%3600/60-(fen1*10);

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

基于单片机数码管的电子钟(郭天祥系列单片机) 功能说明 (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

基于单片机的LED数码管数字电子钟

题目:基于单片机的LED数字电子钟学生姓名:胡振凤潘兴学 学号:U201010897 U201010906 专业:测控技术与仪器 班级:1004班

摘要 数字电子钟是采用电子电路实现对年、月、日、时、分、秒数字显示的计时装置,由于数字集成电路的发展和石英晶体震荡器的广泛应用,使得数字电子钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,成为人们日常生活中不可缺少的必需品。 本次课程设计的是基于AT89C52单片机和实时时钟芯片DS1302在数码管上进行时钟显示,并能通过按键对其进行调时和校准,并且可以设置闹钟,且具有秒表功能。通过按键可以切换时钟和秒表功能,同时可以对闹钟进行设置。采用AT89C52单片机和DS1302实时时钟芯片,使用5V电源供电。DS1302是一种高性能、低功耗、带RAM 的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到数码管上显示。程序运行时,数码管将从当前时间开始显示,通过调节按键可以分别对小时和分钟进行调整,调整后,时钟以新的时间为起点继续刷新显示。 这种实现方法的优点是电路简单,性能可靠,实时性好,时间和日期精度高,操作简单,编程容易。

目录 目录--------------------------------------------------------------------- 2 - 一前言-----------------------------------------------------------------2 1.1课题研究的现实性意义---------------------------------------------2 1.2国内外研究现状---------------------------------------------------2 1.3课题基本概况-----------------------------------------------------3 二总体方案设计---------------------------------------------------------4 2.1方案原理---------------------------------------------------------4 2.2 硬件选择--------------------------------------------------------4 2.2.1 DS1302简介------------------------------------------------4 2.2.2单片机-----------------------------------------------------5 2.2.3显示方案---------------------------------------------------6 三硬件设计-------------------------------------------------------------8 3.1显示模块---------------------------------------------------------9 3.2独立按键模块-----------------------------------------------------9 3.3实时时钟芯片DS1302----------------------------------------------10 四软件设计------------------------------------------------------------11 4.1 程序流程图-----------------------------------------------------11 4.2 按键子程序-----------------------------------------------------12 4.3 功能键按键程序流程图-------------------------------------------12 4.4 时间调整程序---------------------------------------------------13 五总结----------------------------------------------------------------14 六硬件原理图----------------------------------------------------------15

用数码管设计的可调式电子钟

单片机原理及应用课程设计 题目:基于T89C51设计可调式的电子钟 学院:信息工程学院 专业:计算机科学与技术 班级:专升本班 姓名:张永明 学号: 2013052109 指导老师:杜俊

1概述 (4) 1.1课题研究的目的和意义 (4) 2 课题方案论证 (4) 2.1系统总体设计要求 (4) 2.2系统模块结构论证 (5) 3 系统硬件设计 (5) 3.2最小单片机系统 (6) 3.3按键电路 (7) 3.4显示电路 (8) 4软件设计 (9) 4.1 主程序 (9) 5软硬件联调及调试结果 (18) 5.1调试步骤 (18) 结束语 (18) 参考文献 (18) 附录 (19) 附录3 proteus仿真图 (19)

基于T89C51设计可调式的电子钟 摘要: 数字电子时钟电路设计系统,以AT89C51单片机为控制核心,由开关显示、LED 共阴极数码管和LED灯显示等功能模块组成。基于题目基本要求,本系统对时间显示和定时报警进行了重点设计。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,而且有一定的创新功能。 关键字:单片机;AT89C51;数字钟

1概述 1.1课题研究的目的和意义 此次设计是单片机内部的定时/计数器来实现电子时钟的方法以及借助键盘直接控制整时的调整,本设计根据AT89C51单片机系统扩展的基本原理和方法,由单片机AT89S51芯片,LED数码管和键盘为核心,辅以必要的电路,构成了一个单片机电子时钟。一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。除此之外还广泛应用办公自动化领域、商业营销领域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。而此次的设计刚好用到单片机相关的知识可以说这是这次设计的重要意义和目的所在。 再者,此设计的LED电子时钟主要是显时间的,是时钟用途。在此设计的基础上人们还可根据不同的需求和不同的设计水平做出不同的设计项目。也可以加上日期,温度的显示和闹钟的功能。如果设计水平还更高的话还可以设计LED 电子显示屏。因此说,LED电子时钟设计是最简单和基础的。而且电子时钟很实用,准确性也很好,也容易调节,若有毁坏更换元器件也简单,制作原理和过程也很易懂易做,成本也不高。在此设计间也包含了很多的知识,跟我所学专业又对口,所以,做这个LED电子时钟是个很用很好很值得做的设计。 2 课题方案论证 2.1系统总体设计要求 本次设计中的LED数码管电子时钟电路采用24小时制记时方式。本次设计采用AT89C51单片机的扩展芯片和1个74LS04做驱动,由八块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。设计采用AT89C51单片机,配备12MHz晶振,复位电路为上电复位。采用软件译码动态显示,考虑直接用单片机I/O口作为位选时可能驱动功率不够,可采用三极管作驱动共阳极数码管显示。8位8段LED数码管作正常、调时显示,时间按时分秒排列,时钟误差:24小时误差3~5秒,并且在按键的作用下可以进行调时,调分,复位功能。本电路采用直流5V电源供电。同时为了限流保护电路也用了若干个阻值不等的电阻。 在本文一开始做了一些概述主要说明此设计的目的和意义,并会对这类设计项目发展情况做个简介。这是对这次设计很重要的一个认识是前提和设计者必须明确和了解的。 然后本文对此设计做了一些简要分析,这对理清设计思想很重要。然后还对设计中用到的元器件进行比较全面的介绍。只有真正了解了元器件的特性和功能才能让这些元器件在设计中起到作用。电子整个设计第一步是电路原理图,它直接关系着后续的工作。

电子钟四位数码管电路原理图

程序: #include #define uchar unsigned char #define uint unsigned int uchar num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar t,s=0,m=11,h=0,qian=0,bai=0,shi=0,ge=0,s0=0,m0=0,h0=0,qian0=0,bai0=0,shi0=0,ge0=0,n1=0; sbit key1=P1^0; //功能 sbit key2=P1^1; //加一 sbit key3=P1^2; //减一 sbit key4=P1^3; //查看秒数 bit mm=0; sbit beep=P2^3; uint a; void delay_1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void delay(uint i) { uint j; for(;i>0;i--) for(j>19;j>0;j--);

} /*void clock() { for(a=0;a<=50;a++) { beep=1; delay_1ms(200); beep=0; delay_1ms(200); } }*/ void timer () interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; if(t==20) { s++;t=0; if(s==60) { m++;s=0; if(m==60) { h++;m=0; if(h==24) h=0; } } } } void display(uchar h,uchar m,uchar s) { qian=h/10; bai=h%10; shi=m/10; ge=m%10; P0=num[qian]; P2=0xef; delay_1ms(2); P0=0xff; P0=num[bai];

电子时钟数码管显示

/********************************************************** ***/ //电子时钟数码管显示,具有暂停,清零,调整时,分,秒的功能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() {

段数码管电子闹钟课程设计

科技大学 信息科学技术学院 课程设计 (32位微机原理与接口技术)班级: 姓名: 课题名称:7段数码管电子闹钟

一、设计要求: 利用试验箱资源,自行设定一个7段数码管电子闹钟,完成电路设计、电路连线、软件编程、系统调试等工作。所实现的电梯模拟系统主要功能如下。 ①用7段数码管或液晶显示当前的时间。 ②允许设置响铃时间。 ③允许设施当前时间。 ④用发光二极管的闪烁表示响铃。 ⑤按某个按钮后,闹钟停止响应。 二、设计原理: 1、设计所用到的芯片: 8086CPU中央处理器、8255A并行接口芯片、74LS244三态缓冲器 2、硬件电路设计电路图

3、硬件电路设计原理 用8255芯片实现4位共阳数码管的动态扫描,就是将数码管的段码由8255PB口送到数码管的段选端,数码管的位码由8255PA口送到数码管的位选端,这样每一时刻就可以利用8255让4个数码管当中的一位显示一个特定的数,再设计相应的驱动程序来控制8255,就可以实现数码管的动态显示,能显示4位数。另外通过PC口来控制三个LED的亮灭,以表示相应的信息。 用74HC244将数据有数据总线送给CPU。244的四个输入端与四个弹跳按键相接,当其中某一个按钮按下时,对应数据总线中的那一位的数据就是0,否则为1,因此,我们可以通过244来改变电子闹钟的工作模式。 4、软件设计流程图 5、总体设计 用数码管的动态扫描来作为显示部分,用四个按键来作为操控部分,CPU接收用户输入的控制信号并进行分析,切换到相应的状态。 按键部分是通过循环从244读取数据到CPU,然后进行分析,若从四个按键读回的数据均为1,表示没有按键被按下,因此不做任何额外操作。若第一个按键被按下,表示对分进行加操作,如果当前是模式0,则对实时时间分钟进行加1操作,否则对闹钟定时时间的分钟进行加1操作;若第二个按键被按下,当前模式为0时对实时秒进行加1操作,当前模式为1时对闹钟的定时时间秒进行加1操作;若第三个键被按下,模式0和1进行切换;按下第四个按键时,若当前闹钟正在响铃,及LED灯D3在闪烁,按下此按键后停止响铃,即关掉LED灯,不让其闪烁,若当前没有处在响铃时段,按下此

LED数码管设计的可调式电子钟说明说

课程设计说明书 用LED 数码管设计的可调式电子钟 专业 学生姓名 班级 学 号 指导教师 完成日期 2013年6月28日

用LED数码管设计的可调式电子钟 摘要: 数字电子时钟电路设计系统,以AT89C51单片机为控制核心,由键盘显示、定时闹铃、LED共阴极数码管和LED灯显示等功能模块组成。基于题目基本要求,本系统对时间显示和定时报警进行了重点设计。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,而且有一定的创新功能。 关键字:单片机;AT89C51;数字钟 Abstract: T h i s d i g i a l electronic clock circuit design system ,based o n c hip microcomputer AT89C51,is composed by the following functional modules : keyboard displaying , timing alarmg. common cathode LED digital tube, LED lights display,and s o on. According to the basic requirem ents of t he subj ect,t he s ys t em st res ses on the real iz ati on of Time display and regularly report t o the police.The design achieved the required basic technical indexes. Furthermore , adopting the iedao fhardware-to-software, m o s t o f those functions are r e a l i z e d b y softwares, which makes the electrocircuit more concise and the system more stable. Key words:chip microcomputer;AT89C51:digital electronic clock

用LED数码管设计的可调式电子钟

目录 1概述 (1) 1.1课题研究的目的和意义 (1) 2 课题方案论证 (1) 2.1系统总体设计要求 (1) 2.2系统模块结构论证 (2) 3 系统硬件设计 (2) 3.1总体设计 (2) 3.2最小单片机系统如图3-2所示 (3) 3.3按键电路如图3-3所示 (3) 4软件设计 (3) 4.1 主程序 (3) 图4-1主程序流程图 (4) 4.2 显示子程序 (4) 4.3定时器/计数器T0中断服务程序 (4) 5软硬件联调及调试结果 (5) 5.1调试步骤 (5) 5.2实际出现的问题及解决方法 (6) 5.3仿真图如图5-2所示 (6) 5.4实物图正面如图5-3-1所示,实物图背面如图5-3-2所示 (6) 5.5板子运行情况如图5-5所示 (7) 结束语 (7) 参考文献 (8) 附录 (8) 附录1 原理图如图附录-1所示 (8) 附录2 PCB图如图附录-2所示 (8) 附录-2PCB图 (9) 附录3 proteus仿真图如图附录-3所示 (9) 附录-3 proteus仿真图 (9) 附录4 C语言程序清单 (10) 附录5 元器件清单 (10)

1概述 1.1课题研究的目的和意义 此次设计是单片机内部的定时/计数器来实现电子时钟的方法以及借助键盘直接控制整时的调整,本设计根据STC89C52单片机系统扩展的基本原理和方法,由单片机STC89S52芯片,LED数码管和键盘为核心,辅以必要的电路,构成了一个单片机电子时钟。一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。除此之外还广泛应用办公自动化领域、商业营销领域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。而此次的设计刚好用到单片机相关的知识可以说这是这次设计的重要意义和目的所在。 再者,此设计的LED电子时钟主要是显时间的,是时钟用途。在此设计的基础上人们还可根据不同的需求和不同的设计水平做出不同的设计项目。也可以加上日期,温度的显示和闹钟的功能。如果设计水平还更高的话还可以设计LED电子显示屏。因此说,LED电子时钟设计是最简单和基础的。而且电子时钟很实用,准确性也很好,也容易调节,若有毁坏更换元器件也简单,制作原理和过程也很易懂易做,成本也不高。在此设计间也包含了很多的知识,跟我所学专业又对口,所以,做这个LED电子时钟是个很用很好很值得做的设计。 2 课题方案论证 2.1系统总体设计要求 本次设计中的LED数码管电子时钟电路采用24小时制记时方式。本次设计采用STC89C52单片机的扩展芯片和2个74LS04做驱动,由八块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。设计采用STC89C52单片机,配备11.0592MHz晶振,复位电路为上电复位。采用软件译码动态显示,考虑直接用单片机I/O口作为位选时可能驱动功率不够,可采用三极管作驱动共阳极数码管显示。8位8段LED数码管作正常、调时显示,时间按时分秒排列,时钟误差:24小时误差3~5秒,并且在按键的作用下可以进行调时,调分,复位功能。本电路采用直流5V电源供电。同时为了限流保护电路也用了若干个阻值不等的电阻。 在本文一开始做了一些概述主要说明此设计的目的和意义,并会对这类设计项目发展情况做个简介。这是对这次设计很重要的一个认识是前提和设计者必须明确和了解的。 然后本文对此设计做了一些简要分析,这对理清设计思想很重要。然后还对设计中用到的元器件进行比较全面的介绍。只有真正了解了元器件的特性和功能才能让这些元器件在设计中起到作用。电子整个设计第一步是电路原理图,它直接关系着后续的工作。 接着当原理图完成好后就要为后面的刻板做准备了,这就是PCB印制电路板的

相关文档
最新文档