新颖60秒旋转电子钟的设计

合集下载

旋转的led时钟+程序

旋转的led时钟+程序

电气工程及其自动化创新设计设计名称:旋转led 时钟班级:姓名:学号:指导老师:设计时间:2009年9月2号~8号旋转的时钟一、原理分析旋转时钟利用了视觉暂留原理。

用LED灯排成一列,取中间一点为圆心,他们围绕圆心旋转,最外侧的发光二极管显示时间刻度,当时针在12点时我们假设角度为0º,则每个小时时针之间的角度为360º/12=30º.于是当这一列发光二极管每旋转30º,最外侧的发光二极管就点亮一个瞬间一呈现时间刻度。

这样,如果在0.1s内这列发光二极管能旋转完一圈,则人眼就会产生错觉,而把先后产生的时间刻度连成12个完整的时间刻度。

明确系统功能系统的功能比较清楚:电机带动一系列发光二极管绕轴旋转,单片机控制发光二极管在旋转过程中的相应位置上点亮以指示时间和刻度,与此同时,单片机内部进行时钟的计时操作,以控制旋转时钟显示正确的走时。

这种利用机械的带动分时显示数据信息的方法叫做机械扫描显示。

硬件设计旋转时钟主要有两部分组成:电机部分和单片机控制发光二极管显示部分,在单片本制作品用51单片机控制,具体电路原理图如下:软件编程因学的是C51(不懂汇编)这里只提供C语言源程序,并限制为无遥控功能。

也可提供带遥控功能的hex文件。

#include <reg51.h>sbit gate11=P3^0;sbit gate12=P3^1;#define unit unsigned int#define uchar unsigned charuchar data BUFFER[]={0,0,0,0,1,1,7};uchar data M[]={31,28,31,30,31,30,31,31,30,31,30,31};uchar code NUM1[] ={0x80,0x7F,0xC0,0xFF,0x40,0x90,0x40,0x8C, // -0-0x40,0x82,0xC0,0xFF,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x81,0x80,0x81,0xC0,0xFF, // -1-0xC0,0xFF,0x00,0x80,0x00,0x80,0x00,0x00,0x80,0xE0,0xC0,0xF0,0x40,0x98,0x40,0x8C, // -2-0x40,0x86,0xC0,0xC3,0x80,0xC1,0x00,0x00,0x80,0x40,0xC0,0xC0,0x40,0x84,0x40,0x84, // -3-0x40,0x84,0xC0,0xFF,0x80,0x7B,0x00,0x00,0x00,0x0C,0x00,0x0E,0x00,0x0B,0x80,0x89, // -4-0xC0,0xFF,0xC0,0xFF,0x00,0x88,0x00,0x00,0xC0,0x47,0xC0,0xC7,0x40,0x84,0x40,0x84, // -5-0x40,0x8C,0x40,0xFC,0x40,0x78,0x00,0x00,0x00,0x7F,0x80,0xFF,0xC0,0x84,0x40,0x84, // -6-0x40,0x84,0x00,0xFC,0x00,0x78,0x00,0x00,0xC0,0x00,0xC0,0x00,0x40,0xF0,0x40,0xF8, // -7-0x40,0x0C,0xC0,0x07,0xC0,0x03,0x00,0x00,0x80,0x7B,0xC0,0xFF,0x40,0x84,0x40,0x84, // -8-0x40,0x84,0xC0,0xFF,0x80,0x7B,0x00,0x00,0x80,0x03,0xC0,0x87,0x40,0x84,0x40,0x84, // -9-0x40,0xC4,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63, // -:-0x00,0x63,0x00,0x00,0x00,0x00,0x00,0x00,};uchar code NUM2[]={0x00,0x00,0x7f,0x80,0xff,0xc0,0x82,0x40, // -0-0x8c,0x40,0x90,0x40,0xff,0xc0,0x7f,0x80,0x00,0x00,0x00,0x00,0x20,0x40,0x60,0x40, // -1-0xff,0xc0,0xff,0xc0,0x00,0x40,0x00,0x40,0x00,0x00,0x41,0xc0,0xc3,0xc0,0x86,0x40, // -2-0x8c,0x40,0x98,0x40,0xf0,0xc0,0x60,0xc0,0x00,0x00,0x40,0x80,0xc0,0xc0,0x88,0x40, // -3-0x88,0x40,0x88,0x40,0xff,0xc0,0x77,0x80,0x00,0x00,0x0c,0x00,0x1c,0x00,0x34,0x00, // -4-0x64,0x40,0xff,0xc0,0xff,0xc0,0x04,0x40,0x00,0x00,0xf8,0x80,0xf8,0xc0,0x88,0x40, // -5-0x88,0x40,0x8c,0x40,0x8f,0xc0,0x87,0x80,0x00,0x00,0x3f,0x80,0x7f,0xc0,0xc8,0x40, // -6-0x88,0x40,0x88,0x40,0x0f,0xc0,0x07,0x80,0x00,0x00,0xc0,0x00,0xc0,0x00,0x83,0xc0, // -7-0x87,0xc0,0x8c,0x00,0xf8,0x00,0xf0,0x00,0x00,0x00,0x77,0x80,0xff,0xc0,0x88,0x40, // -8-0x88,0x40,0x88,0x40,0xff,0xc0,0x77,0x80,0x00,0x00,0x70,0x00,0xf8,0x40,0x88,0x40, // -9-0x88,0x40,0x88,0xc0,0xff,0x80,0x7f,0x00,0x00,0x00,0x00,0xc0,0x01,0x80,0x03,0x00, // -/-0x06,0x00,0x0c,0x00,0x18,0x00,0x30,0x00,};unit disp1,disp2,key1,key2;unit ii,jj;unit i,sw,xz;void Delay(unit ms){ms=ms*3;while(--ms);}void num_led(int kk, int tt){int jj;for(jj=0;jj<8;jj++){gate11=key1; gate12=key2;P2=~NUM1[kk+jj*2];P1=~NUM1[kk+1+jj*2];Delay(20);P1=0xff;P2=0xff;gate11=key2; gate12=key1;P2=~NUM2[tt+15-jj*2];P1=~NUM2[tt+14-jj*2];Delay(20);P1=0xff;P2=0xff;}}void display_clock(void){key1=!key1;key2=!key2;disp1=BUFFER[3]/10;disp2=BUFFER[4]-(BUFFER[4]/10)*10;ii=disp1*16;jj=disp2*16;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);disp1=BUFFER[3]-disp1*10;disp2=BUFFER[4]/10;ii=disp1*16;jj=disp2*16;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);ii=160;jj=160;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);disp1=BUFFER[2]/10;disp2=BUFFER[5]-(BUFFER[5]/10)*10;ii=disp1*16;jj=disp2*16;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);disp1=BUFFER[2]-disp1*10;disp2=BUFFER[5]/10;ii=disp1*16;jj=disp2*16;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);ii=160;jj=160;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);disp1=BUFFER[1]/10;disp2=BUFFER[6]-(BUFFER[6]/10)*10;ii=disp1*16;jj=disp2*16;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);disp1=BUFFER[1]-disp1*10;disp2=BUFFER[6]/10;ii=disp1*16;jj=disp2*16;num_led(ii,jj);P2=0xff;P1=0xff;Delay(60);}void timer0(void) interrupt 1 using 1{TMOD=0x11;TH0=-(5000/256);TL0=-(5000%256);TR0=1;BUFFER[0]=BUFFER[0]+1;if (BUFFER[6]%4==0) M[1]=M[1]+1;if (BUFFER[0]>201+xz){BUFFER[0]=0;BUFFER[1]=BUFFER[1]+1;if (BUFFER[1]==60){BUFFER[1]=0;BUFFER[2]=BUFFER[2]+1;if (BUFFER[2]==60){BUFFER[2]=0;BUFFER[3]=BUFFER[3]+1;if (BUFFER[3]==24){BUFFER[3]=0;BUFFER[4]=BUFFER[4]+1;if (BUFFER[4]>M[BUFFER[5]-1]){BUFFER[4]=1;BUFFER[5]=BUFFER[5]+1;if (BUFFER[5]>12){BUFFER[5]=1;BUFFER[6]=BUFFER[6]+1;if(BUFFER[6]>99) {BUFFER[6]=0;M[1]=M[1]-1;}}}}}}}}void intersvr0(void) interrupt 0 {sw=1;}void main(void){xz=8;key1=1;key2=0;EA=1;IT0=1;EX0=1;IT1=1;ET0=1;TMOD=0x11;TH0=-5000/256; TL0=-5000%256;TR0=1;for(;;){Delay(10);if(sw==1) {display_clock();sw=0;}}}。

数字电子钟设计报告

数字电子钟设计报告

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

它的计时周期为24小时,显示满刻度为23时59分59秒。

因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路和振荡器组成。

主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。

秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。

“时计数器”采用24进制计时器,可实现对一天24小时的累计。

译码显示电路将“时”、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来。

校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整。

采用74160,74393实现24进制和60进制,从而实现计数功能。

目录一.正文 (3)1.1系统设计 (3)1.11设计原理(数字电子钟结构框图): (3)1.12石英晶体振荡器 (3)1.2单元电路设计 (4)1.21时、分、秒计数器的设计: (4)1.2.1.1 元器件的选择:74LS160 同步十进制计数器、与非门 (4)1.2.1.2 二十四进制计数器电路图 (5)1.2.1.3 六十进制计数器电路图 (6)1.2.1.4 秒脉冲谐振电路: (6)1.3系统的测试 (8)1.3.1 N进制级联 (8)1.3.2分频器电路 (8)1.3.3.调校电路 (9)1.4 总结 (10)参考文献 (10)附录 (11)1.元器件的明细表 (12)一.正文1.1系统设计1.11设计原理(数字电子钟结构框图):数字电子钟是一个典型的数字电路系统,其由直流稳压电源,秒脉冲发生器,时、分、秒计数器以及校时和显示电路组成结构框图如下:图表 11.12石英晶体振荡器:石英晶体振荡器的特点是振荡频率准确,电路结构简单,频率易调节。

电子数字钟的设计与制作

电子数字钟的设计与制作

电子数字钟的设计与制作
设计和制作电子数字钟的步骤如下:
1. 确定需求:确定所要设计的电子数字钟的功能要求,如显示时间、日期、闹钟功能等。

2. 选取器件:选取合适的微控制器、显示屏、时钟芯片、按键等器件。

微控制器需要具备足够的处理能力和接口,以便于控制显示屏和处理输入信号。

3. 硬件设计:根据选取的器件,设计电路图和PCB布局。


括时钟电路、显示电路、按键电路、电源供电电路等。

4. 软件开发:编写嵌入式软件程序,实现时钟的各种功能。

包括处理时间的计算与显示、闹钟功能的设置与触发、用户界面的交互等。

5. 制作电路板:利用电子设计软件将电路图转化为PCB文件,并进行打样加工,制作出电路板。

6. 组装调试:根据设计好的布局,将所选取的器件焊接到电路板上。

完成后进行电路的检查、组装和连线等工作。

7. 软件烧录:通过编程器将软件程序烧录到微控制器中。

8. 调试测试:进行电源接入,对时钟的各个功能进行测试调试,确保其正常运行。

9. 外壳设计与制作:设计合适的外壳以保护电子数字钟,可以采用3D打印、注塑等方式制作外壳。

10. 最终装配与测试:将完整的电子数字钟进行装配,并进行
最后的测试以确保其功能正常。

60秒倒计时器-单片机课程设计

60秒倒计时器-单片机课程设计

目录一、设计要求 (3)二、设计的作用目的 (3)三、具体设计 (4)1.问题分析 (4)2.总体设计思想 (5)3.具体实现方法 (7)四、Proteus调试过程及现象 (14)五、调试问题及解决方法 (15)六、设计的优缺点分析 (16)七、总结 (16)八、参考文献 (17)一、设计要求由单片机接收小键盘阵列设定倒计时时间,倒计时的范围最大为60分钟,由LED 显示模块显示剩余时间,显示格式为 XX(分):XX(秒).X,精确到0.1s的整数倍。

倒计时到,由蜂鸣器发出报警。

绘制系统硬件接线图,并进行系统仿真和实验。

画出程序流程图并编写程序实现系统功能。

二、设计的作用目的此次设计是我们更进一步了解基本电路的设计流程,提高自己的设计理念,丰富自己的理论知识,巩固所学知识,使自己的动手动脑能力有更进一步提高,为自己今后的学习和工作打好基础,为自己的专业技能打好基础。

通过解决实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。

本次设计注重对单片机工作原理以及键盘控制及显示原理的理解,以便今后自己在单片机领域的学习和开发打下基础,提高自己的动手能力和设计能力,培养创新能力,丰富自己的理论知识,做到理论和实践相结合。

本次设计的重要意义还在于对单片机的内部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方式和控制方式作更深层次的了解。

三、具体设计1.问题分析:在电子技术飞速发展的今天,电子产品的人性化和智能化已经非常成熟,其发展前景仍然不可估量。

如今的人们需求的是一种能给自己带来方便的电子产品,当然最好是人性化和智能化的,如何能做到智能化呢?单片机的引入就是一个很好的例子。

单片机又称单片微型计算机,也称为微控制器,是微型计算机的一个重要分支,单片机是20世纪70年代中期发展起来的一种大规模集成电路芯片,是集CPU,RAM,ROM,I/O接口和中断系统于同一硅片上的器件。

用贴片LED制作的旋转屏数字钟(有图精华版)

用贴片LED制作的旋转屏数字钟(有图精华版)
单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。这是因为这类芯片的生产量很大,技术也很成熟。
其次,单片机的体积也远小于其他两种方案。单片机本身一般用40引脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。
当然,单片机无论在速度还是容量方面都小于其他两种方案,但是在实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能。例如,控制电冰箱的控制器就不需要使用嵌入式系统,用一片52就可以轻松实现。所以应用的关键是看能否够用,是否有很好的性能价格比。52系列的单片机已经面世多年,依然没有被淘汰,还在不断发展中,这就说明是他有广阔的应用前景
This design USES LED by a row rotating screen patch LED lamp, make its water use of visual remain high rotation speed, high resolution, forming the effect of dot matrix display character, screen, can design of Chinese characters, even, and design looks and the suspended in the air transparency, very dazzle eye. Plus single-chip microcomputer control, but also become a unique piece of digital clock. When the human eye, light observed scenery in brain nerve, should be introduced into signals through a short time, light effect ends, the visual image is not immediately disappear, the residue after the visual says "as", visual this phenomenon is called "visual temporarily leave". The concrete application is film and screened. Reason is caused by the response speed of the optic nerve, its duration is 24 points of a second. Is animation, movies and other visual media according to the formation and transmission.

毕业设计183数字电子钟的设计

毕业设计183数字电子钟的设计

数字电子钟的设计[实验目的]:1、巩固和加强“模拟电子技术”,“数字电子技术”课程的理论知识;2、掌握电子电路一般的设计方法,并了解电子产品研制开发过程;3、基本掌握电子电路安装和调试的方法;4、培养独立分析问题和解决问题的能力以及创新能力和创新思维。

分析问题和解决问题的能力以及创新能力和创新思维。

[实验要求]:1、设计的数字钟能直接显示“时”,“分”,“秒”,并以24小时为一计时周期;2、当电路发生走时误差时,要求电路具有校时功能。

3、要求电路具有整点报时功能,报时声响为四低一高,最后一响正好为整点。

[实验器材]:数字电路实验箱一个,面包板一块,74LS90 9片,74LS48 6片,74LS00 5片,CC4012 2片,4.7K和5.1K电阻各一个,大小电容各一个,若干导线[实验原理]:数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。

它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。

因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。

干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。

秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。

将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发现胡一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。

“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。

“时计数器”采用24进制计时器,可实现对一天24小时的累计。

译码显示电路将“时”、“分”、“秒”计数器的输出状态菁七段显示译码器译码,通过六位LED七段显示器显示出来。

整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。

(整理)LED旋转时钟原理.

(整理)LED旋转时钟原理.

1、绪论旋转时钟造型奇特,结构简单,但却能显现出炫丽的画面。

从在网上看到旋转时钟的视频的那一刻起,我就决心做一个属于自己的LED旋转时钟。

我开始在网上收集各种有关旋转时钟的资料,网上大致分几种模式,简单的只是刷屏读取字模显示汉字,难度大一点的则可以显示数字钟、表盘钟、动画,复杂则可以显示动态表锤、温度以及变色。

通过学习,我掌握了旋转时钟的原理及其程序算法,通过半个月的努力,我在别人的基础上做出了属于我自己的个性时钟,可以显示数字钟、表盘钟、动画、图片、温度、螺旋线以及颜色变换,并且能通过遥控控制电机的开停、LED显示的开启和关闭。

2、旋转时钟的原理旋转时钟是一种利用人眼的视觉暂留,让LED高速旋转形成LED屏,显示文字、数字及图形的LED屏显示的电子产品。

主要构成:显示部分:在AT89S52单片机的P0、P2口上接上16个贴片的LED;在分别用P1.0、P1.1和P1.2上接上一个三极管9012,分别用三极管驱动4个贴片LED,共30个贴片,我这里用了两列贴片,总共有60个贴片二极管来完成显示。

测速定位:用霍尔传感器CS3144来测定转速,并告知二极管即将显示的内容。

温度:用DS18B20温度传感器来测温。

取模:采用取字模软件将字符和图案自动生成扫描码。

旋转部分:旋转由一个24v直流电机提供20r/s以上的转速。

遥控部分:由一个遥控器控制两个接收模块来完成。

供电:系统采用可充锂电池供电,这里我设计了一个电池的充放回路,断开自锁开关,插上USB供电线即可给锂电池充电,巧妙的解决了单片机的供电问题。

电机的供电则由一个24V1A的适配器来提供。

色彩变换:由两个三极管来控制两列贴片的通断来完成。

变色需要程序结合电路实现,这个电路运用到旋转时钟上也是第一次。

2.1、显示板60高亮贴片LED形成两列显示部件,旋转板上有一个霍尔传感器,在电机上贴有一个磁钢,旋转板每旋转一周,霍尔传感器就会经过一次磁钢位置,并感应到信号,由于霍尔是接到外终端P3.2上,这个信号又被称为过零信号,有了这个信号,CPU就可以在旋转的过程中实时检测计算指针板所处的不同位置,并根据指针所处的不同位置,点亮相应的LED,利用人眼的视觉暂留效应,形成完整的显示画面。

旋转LED电子钟制作

旋转LED电子钟制作

在网上看到不少老外做的各种旋转LED显示屏,非常COOL,我也动手用洞洞板试做了一个类似的显示屏,结果感觉还不错。

于是再接再励继续努力,将作品进一步改进,完善后制成如今这个样子。

由于刚学51单片机,加上制作电路板软件也是从零开始,的确花了我不少的时间和精力。

不过也就是在这艰难的独立制作中,真正学到了不少实在的东西。

本项目的关键是如何解决高速旋转的电路板如何供电,如何调时的问题。

我采用电机电刷的原理,将旋转轴钻空,通过一只插头将电源的从反面引到前面的电路板上,而这个旋转的插头又与固定在背板上的两个铜片接触的。

调时的问题有些困难,一是让电路板在旋转前与PC机相接,由电脑传送调时数据,这虽然可行但不方便。

还有就是用遥控方法,但此方案在调试方面有很大的困难。

显示方式上,我采用平衡式的两排LED,这除了在旋转时能较好的保持平衡外,主要能利用两边交替显示方式,比单排要快一倍。

本装置不仅是一个时钟,它还可以动态显示汉字及图案,这就看如何发挥了。

其具体制作过程如下:一。

旋转电机的制作从制作成本与方便考虑,选用旧电脑用的大软驱上的直流无刷电机,只是对局部进行改造。

就是这种古董软驱软驱上的直流无刷电机拆开后的电机仔细拆开直流电机,将带圆盘的铝轴从中开孔,让它刚好能插入一个插头。

将旋转轴加工成这样装配好以后按拆开时的顺序,反序将轴安装直流电机上。

电机装配完成后用两片铜片做的电刷电刷装好后的侧面图将电路板上较突出的元件改焊在反面,电机的电源接法。

从电路板标注的符号看,“+”为电源正,“G”为电源负,“C”与“M”端分别与电源正相连匀可使电机运转将一张旧唱片按电机座的位置开孔,而定位用的挡光板应根据电路板上感光组件的位置确定。

二。

电路板的制作本制作品用51单片机控制,具体电原理图如下:用Protel 99设计制作了电路板。

最后得到完成的作品。

遥控器用的是松下车载机的,只用了其中的六个键。

三。

软件编程因学的是C51(不懂汇编)这里只提供C语言源程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

. 目 录

第1节 引 言 …………………………………………………………………2

1.1 电子钟概述………………………………………………………………2 1.2 设计任务…………………………………………………………………2 1.3 系统主要功能……………………………………………………………3

第2节 电子钟硬件设计………………………………………………………3

2.1 系统的硬件构成及功能…………………………………………………3 2.2 AT89C2051单片机及其引脚说明………………………………………4 2.3 60秒旋转译码驱动原理……………………………………………… 6

2.4 时分显示部件……………………………………………………………8

第3节 系统软件设计…………………………………………………………10

3.1 系统主程序设计…………………………………………………………10 3.2 定时计数中断程序设计及累计误差消除………………………………11 3.3 定时计数中断程序设计……………………………………………… 12 3.4 时间调整或定闹设置程序设计 ………………………………………13

第4节 系统调试与测试结果分析…………………………………………14

4.1 使用的仪器仪表…………………………………………………………14 4.2 系统调试…………………………………………………………………14 4.3 测试结果…………………………………………………………………14 4.4 测试结果分析……………………………………………………………14 4.5 系统误差处理……………………………………………………………15

结束语 ………………………………………………………………………………15 参考文献 ………………………………………………………………………16 附录 ……………………………………………………………………………17 . 新颖60秒旋转电子钟

第1节 引 言 目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。现在市场上也出现了一些电子钟,它以六只数码管显示时分秒,与传统的以指针显示秒的方式不同,违背了人们传统的习惯与理念,而且这类电子钟一般是采用大型显示器件,且外观设计欠美观,很少进入百姓家庭。此外,无论是 机械钟,电子钟还是石英钟,都存在共同的问题:时间误差。针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,有效的克服了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,并且以60只发光二极管实现秒显示,并能发出嘀哒嘀哒声,用户容易接受,而且美观大方,更具实用性。 1.1 电子钟概述

新颖60秒旋转电子钟是本次的设计内容,它采用LED显示器件显示电子时钟,有效的克服了时钟存在的误差问题;它采用的数码管显示时间能在夜间不需要其它照明就能看到时间,而且在7点以前和21点以后数码显示管的亮度会变暗,整点报时也会消失,不仅实现节能,而且不会影响人们的休息;并具有一天两次闹铃的功能,可通过手工更改二次闹铃的时间,停闹无须手工操作;它以60只发光二极管实现秒显示,接看近于传统的秒针来显示秒的形式,利用蜂鸣器模拟秒针行走的嘀哒声。

1.2 设计任务 1.任务: 设计一款基于AT89C2051单片机的电子钟。 2.设计基本要求: (1)用4只LED数码管输出显示时和分。 (2)可通过按键设置闹钟功能,且停闹无须手工操作。 (3)可通过按键设置分校时。 . (4)月计时误差小于45秒。 3.设计发挥部分: (1)用60只LED发光管旋转显示,模拟“秒针”的行走。 (2)模拟“秒针”行走的“滴哒”声。 (3)增加室温检测和显示功能(可与时间交替显示)。 (4)增加停(掉)电保护功能。 (5)提高计市时精度,使年计时误差小于30秒。 (6)增加日自动校准功能,使得该电子钟“永无误差”。 (7)增加红黄绿三色变色装饰。 (8)可通过按键设置一天两闹(比如早晨、中午各一次)。 1.3 系统主要功能

电子钟的外观是周边60只发光管顺时旋转来显示秒,中间四只LED数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。三个按键分别控制电子钟的复位,定闹和调时。 其主要功能有:整点报时;四只LED数码管显示当前时分;每隔一秒钟周边的60只LED发光管旋转一格,装饰用的LED每隔一秒旋转一次。当发生停电事件时,由后备电池供电,系统进入低功耗状态,所有显示部件停止显示,这样即延长了电池的寿命,同时又保证了CPU继续计数,不至于因停电而时钟停止运行。当恢复供电后,系统自动恢复工作状态,不影响计时。

第2节 系统的硬件设计 2.1 系统的硬件构成及功能 电脑钟的原理框图如图1所示。它由以下几个部件组成:单片机89C2051、电源、时分显示部件、60秒旋转译码驱动电路。 时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。时分显示模块、60秒旋转译码驱动电路以及显示驱动都通过89C2051的I/O口控制。 电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整 . 流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。具体电路参见“新颖的60秒旋转电子钟参考电路原理图”。

AT89C2051时间显示(时,分)显示驱动60秒旋转译码驱动电路电源

图1 电子钟系统原理框图 2.2 AT89C2051单片机及其引脚说明 AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。 AT89C2051是一个有20个引脚的芯片,引脚配置如图2所示。与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引 脚下,因而芯片尺寸有所减小。 . 图2 AT89C2051引脚配置 图3 CD4017引脚图 AT89C2051芯片的20个引脚功能为 VCC 电源电压。 GND 接地。 RST 复位输入。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”。 XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2 来自反向振荡放大器的输出。 P1口 8位双向I/O口。引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA电流,并能直接驱动LED显示器;P1口引脚写入“1” 后,可用作输入。在闪速编程与编程校验期间,P1口也可接收编码数据。 P3口 引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。P3口的输出缓冲器能接收20mA的灌电流;P3口写入“1”后,内部上拉,可用输入。P3口也可用作特殊功能口,其功能见表1。P3口同时也可为闪速存储器编程和编程校验接收控制信号。 . 2.3 60秒旋转译码驱动原理 按常规传统设计,需60进制译码驱动电路才能实现60秒旋转译码驱动,若用六片十进制计数译码器构成六十进制计数译码电路,则电路连线多(需要120根连线),硬件电路庞大,开销大。为此,我们巧妙地采用了两片CD4017进行六十进制计数译码,实现60秒旋转译码驱动。既减少了电路的复杂程度又可降低了成本。图4为其时序图。

表1 P3口特殊功能 P3口引脚 特殊功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 (外部中断0) P3.3 (外部中断1) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入)

图4 CD4017引脚、时序图 . CD4017集成电路是十进制计数/时序译码器,共有10个译码输出Q0~Q9;每个译码输出通常处于低电平,且在时钟脉冲由低到高的上升沿输出高电平;每个高电平输出维持1个时钟周期;每输入10个时钟脉冲,输出一个进位脉冲,因此进位输出信号可作为下一级计数器的时钟信号。在清零输入端(R)加高电平或正脉冲时,CD4017计数器中各计数单元输出低电平“0”,仅在译码器中只有对应“0”状态的输出端Q0为高电平。 为实现对发光二极管的驱动,将每一个译码输出端口接一只发光二极管,并将二极管串联限流电阻后接地。当译码端口Q0~Q9中任一端口为高电平,则对 应的发光二极管点亮,如图5(左)所示。仔细考查CD4017的功能,可发现其10个输出的高电平是相互排斥的,即任一时刻只有一只发光二极管点亮,因此可将图5(左)电路进一步简化为如图5(右)所示,从而简化电路设计。

图5 CD4017控制发光二极管原理图 在本电子钟设计中,每秒点亮一个发光二极管,循环点亮一周共需60个发光二极管,若用上述的6片CD4017实现驱动,显然电路复杂。为此我们选用两片CD4017和一片6反相器,采用“纵横双译码”技术,巧妙地实现60秒旋转译码驱动,其中一片接成10进制,一片接成6进制,实现6×10=60的功能,具体连接方法如图6所示。

相关文档
最新文档