旋转的led时钟_图文(精)

旋转的led时钟_图文(精)
旋转的led时钟_图文(精)

电气工程及其自动化

创新设计

设计名称:旋转 led 时钟

班级:

姓名:

学号:

指导老师:

设计时间:2009年9月2号~8号

茂名学院计算机与信息学院自动化系

旋转的时钟

一、原理分析

旋转时钟利用了视觉暂留原理。用LED灯排成一列,取中间一点为圆心,他们围绕圆心旋转,最外侧的发光二极管显示时间刻度,当时针在12点时我们假设角度为0o,则每个小时时针之间的角度为360o/12=30o.于是当这一列发光二极管每旋转30o,最外侧的发光二极管就点亮一个瞬间一呈现时间刻度。这样,如果在0.1s 内这列发光二极管能旋转完一圈,则人眼就会产生错觉,而把先后产生的时间刻度连成12个完整的时间刻度。

明确系统功能

系统的功能比较清楚:电机带动一系列发光二极管绕轴旋转,单片机控制发光二极管在旋转过程中的相应位置上点亮以指示时间和刻度,与此同时,单片机内部进行时钟的计时操作,以控制旋转时钟显示正确的走时。这种利用机械的带动分时显示数据信息的方法叫做机械扫描显示。

硬件设计

旋转时钟主要有两部分组成:电机部分和单片机控制发光二极管显示部分,在单片本制作品用51单片机控制,具体电路原理图如下:

软件编程

因学的是C51(不懂汇编)这里只提供C语言源程序,并限制为无遥控功能。也可提供带遥控功能的hex文件。

#include

sbit gate11=P3^0;

sbit gate12=P3^1;

#define unit unsigned int

#define uchar unsigned char

uchar 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;} }

}

旋转LED灯程序(51单片机)

飘飞在空中的文字(详情咨询QQ:278540660) 一、实物图 (夜晚可以观测到飘在空中的文字,美!!!) 二、部分代码 /***************************************************************main. c***************************************************/ #include void main() { EX0init(); TIM0init(); Init_DS1302(); while(1) { time_set(IRcord[2]); IRcord[2]=0; if(time_love==0) {

if(time_onoff==0) { ds1302_read_time(); Dig_time(); } else { Dig_time(); } } else { Display_love(); } while(!flag); flag=0; } } /***************************************************************redco n.h**************************************************/ #define uchar unsigned char #define uint unsigned int sbit IR=P3^2; uchar irtime; //中断次数 uchar IRcord[4]; //记录接收到的四个字节数据 uchar irdata[33]; //接收到的32个二进制bit uint flag=0; uchar nums=0; uint timelate=0; void TIM0init(void) //定时器0初始化 { TMOD=0x02; //定时器0工作方式2,TH0是重装值,TL0是初值 TH0=0x00; //重载值 TL0=0x00; //初始化值(0.255ms一次中断)--晶振频率的十二分之一 ET0=1; //开中断 TR0=1; } void EX0init(void) { IT0 = 1; //指定外部中断0下降沿触发,INT0 (P3.2) EX0 = 1; //使能外部中断0 IT1=1; //指定外部中断1下降沿触发,INT0 (P3.3) EX1=1; //使能外部中断1

单片机旋转时钟结题报告

单片机课题结题分析报告课题名称:LED旋转时钟 二O一一年十二月

LED旋转时钟 【摘要】本实验利用单片机的特性,将各种廉价的原材料自制成可用于室内装饰和便利生活的LED 旋转时钟。其制作方法简单、整体结构紧凑、材料环保、成品便于移动、外形美观而且成本低廉。 【关键词】发光二极管单片机系统旋转视觉停留编码显示时间 一、课题背景: 课题构思背景 在课题构思初期,本组计划用51单片机来实现变色光纤花篮的控制(本组大二期间物理课题,计划将其改进)。之后通过查阅资料,本组认为制作旋转时钟与变色光纤花篮大体原理相同,但在技术知识上比变色光纤花篮更进一步,所以将课题目标定为“旋转时钟”。 课题技术背景 “单片机原理及应用”是我们大学本科学习期间的重要课程之一。它注重培养同学们的实践动手能力,使我们在自学与实际操作中将知识融汇贯通。单片机的应用大到卫星、导弹,小到洗衣机、微波炉,都有他们的踪影。 旋转时钟的主要特点就是结构新颖,效果奇特。加入了现代科技的元素,利用人眼的视觉暂留特性,用单片机作为主控芯片,采用电机带动发光二极管高速旋转,霍尔传感器进行定位,利用刷屏显示原理呈现时钟画面及DS18B20温度显示。造型及显示效果个性、新颖,解决了传统时钟结构单一,显示效果固定的缺陷,更好了满足了人们对美的追求。 现今人们家庭用的时钟主要还是传统意义上的时钟,固定的表盘与表针,显示效果单一,不能满足时钟不但用来看时间还是一件很好的装饰品的要求。随着科技的发展网络上出现了以DIY为主要形式的旋转时钟作品。 但是随着单片机技术、高亮发光二极管制造技术和高速稳定电机制造技术的发展,这种千奇百怪、创意无限的电子旋转时钟必将走进千家万户。 二、原理介绍 (一)、发光二极管发光原理 发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有

模拟时钟转动程序

模拟时钟转动程序 一、课程设计的内容 能模拟机械钟表行走,还要准确利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。 二、课程设计的要求与数据 1.进一步掌握和利用C语言进行课程设计的能力 2.进一步理解和运用结构化程序设计的思想和方法 3.初步掌握开发一个小型实用系统的基本方法 4.学会调试一个较长程序的基本方法 5.学会利用流程图和N-S图表示算法 6.掌握书写程序设计开发文当的能力 三、课程设计应完成的工作 1、编写完成相应题目的程序 2、编写课程设计报告,课程设计报告应该包含以下6部分 1)需求分析:包括设计题目、设计要求以及系统功能需求分析 2)总体设计:包括系统总体设计框架和系统功能模块图 3)详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图 4)调试分析过程描述:包括测试数据、测试输出结果以及对程序测试过程中存在问题进行思考(主要问题的出错现象、出错原因、 解决方法及其效果等,相应效果截图) 5)总结:课程设计完成了哪些主要功能,是否有扩展功能?还有哪些地方需要改进?课程设计的学习与体会?有哪些合理化建 议? 6)附录:主要原程序代码含必要的注释 3、答辩:在实验室建立程序运行环境,并在指导教师的监督下,独立解决问题,运行程序和回答教师的提问。 四、课程设计进程安排

五、应收集的资料及其主要参考文献 [1]谭浩强.C程序设计(第三版)[M]北京:清华大学出版社,2005年9月 [2]谭浩强.C程序设计题解与上机指导(第三版)[M]北京:清华大学出版社,2005年7月 [3]夏宝岚张慕蓉夏耘.程序设计教程(第二版)[M],上海:华东理工出版社,2003.1 [4]陈锦昌赵明秀.C语言计算机绘图教程(第一版)[M],广州:华南理工大 学出版社,1998.9 发出任务日期:2010年12月15日指导教师签名: 计划完成日期:2010年12月30日基层教学单位责任人签名: 主管院长签章: 目录 1.设计目的与要求 (5)

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

目录 第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)可通过按键设置分校时。

基于单片机的多功能数字钟60秒LED旋转电子钟

第1节引言 1.1 电子钟概述 目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。要知道当前的时间,必须先开灯,故较为不便。现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,违背了人们指针式的传统习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,解决了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。 1.2 设计任务 本次设计通过对一个实现定时、双时钟显示、闹钟、温度等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。系统由AT89C2051、LED数码管、按键、三极管、两片CD4017BE、CD4069BE、DS18B20、电阻等组成。能实现时钟时、分、秒的显示。也具有温度显示、时间设置、闹铃开和关设置、制式切换。文章后附有电路图、程序清单。 1.3 系统主要功能 电子钟的外观如图1所示。周边60只发光管顺时旋转来显示秒,中间四只LED 数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。其主要功能有: ①整点报时; ②四只LED数码管显示当前时分; ③每隔一秒钟周边的60只LED发光管旋转一格; ④当发生停电事件时,由后备电池供电,系统进入低功耗状态,所 有显示部件停止显示,这样即延长了电池的寿命,同时又保证CPU继续计数,不至于因停电而时钟停止运行。 ⑤当恢复供电后,系统自动恢复工作状态,不影响计时。

模拟时钟电路的程序

//单片机实验模板文件。具有三个基本功能: // 1、数码管、发光二极管扫描显示 // 2、键盘扫描,返回0---15 // 3、T0中断,产生基本延时2.5ms,并且调用显示函数 // 根据以上功能,该文件为进一步编写实验程序、实际应用程序,提供了基础 #include #define delay5ms(x) {delay_xms=x*2; while(delay_xms<255);} //用于延时的宏,x的1个数值对应延时5ms。 x<=127。 void display(void); unsigned char code ledcode[]={0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0}; //共阴极7段数码管显示段码 //unsigned char xdata dis_seg _at_ 0xfeff; //输出数码管段显示码地址 //unsigned char xdata dis_bit _at_ 0xfdff; //输出数码管位控制码地址unsigned char min,sec,hour; unsigned char bdata dis_buf[7]; //dis_buf[0]为最高位数据(显示在左边),dis_buf[5]为最低位数据;dis_buf[6]为8个发光二极管的数据。 unsigned char data delay_xms; //用于延时 sfr IPH = 0xb7; //定义中断优先级(高2级)寄存器 //****************************************************************** void int_t0(void) interrupt 1 //T0中断函数,fosc按11.0592M计算,定时时间为2.5ms { TH0=0xf7; delay_xms--; display(); //调用显示函数 } //****************************************************************** void display(void) //数码管显示函数。左边是最高位,从左边开始扫描,函数每执行1次仅扫描1位,每2.5ms扫描一位 { static unsigned char data i=0, scan=0xfe; P0=0; if(i<6) P0=ledcode[dis_buf[i]]; else

模拟电梯问题实验报告

电梯模拟问题 一、目的与要求 1. 掌握线性结构的逻辑特点及存储实现; 2. 根据选题,按规范化流程完成课程设计报告: ⑴.提供需求分析。(15分) ⑵.列出概要设计。(包括:抽象数据类型的描述;程序结构图或功能模块图)(20分) ⑶.给出详细设计。(包括:①存储结构的描述;②算法的详细设计,对复杂算法,最好画出其N-S流程图;③函数的调用关系图)(30分) ⑷.进行调试分析(注:调试时遇到的问题及解决方法,程序的输出结果及对结果的分析)。(15分) ⑸. 整理设计总结。(设计心得体会,以及其他总结信息等)(10分) ⑹.附有程序清单(注:代码可具有适当注释,用来说明程序的功能、结构)。(10分) 二、设计步骤 1、线性结构是有序数据元素的集合,存在着“一对一”的线性关系且只有一 个首结点,一个尾结点,首结点只有后继没有前趋,尾结点只有前趋没有后继。顺序表的存储结构包括顺序表和链表,顺序存储是指将线性表元素按照逻辑顺序依次存储在一组连续的地址单元中。链式存储是通过结点中的链域将线性表中n个结点按其逻辑顺序链接在一起。分为:单向链表,双向链表,循环链表。 2、(1)设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是 乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。可模拟某校五层教学楼的电梯系统,或者九层教学楼的电梯系统。 此程序的关键是模拟好电梯运行状态的转换与乘客进出的同步进行,需要一个函数判断电梯的运行状态,决定电梯的下一个运行状态如电梯的开门,关门,上升,下降,减速,加速等,也需要模拟时钟的函数来判断该运行哪个函数,也需要定义几个结构体存放结点信息。 (2)时钟函数: void DoTime() { //此函数用于模拟时钟 while(1) { if(Time>MaxTime)

DIY基于51单片机的旋转LED数字电子钟

标签: DIY基于51单片机的旋转LED数字电子钟(红外线遥控调时) 在网上看到不少老外做的各种旋转LED显示屏,非常COOL,我也动手用洞洞板试做了一个类似的显示屏,结果感觉还不错。于是再接再励继续努力,将作品进一步改进,完善后制成如今这个样子。 由于刚学51单片机,加上制作电路板软件也是从零开始,的确花了我不少的时间和精力。不过也就是在这艰难的独立制作中,真正学到了不少实在的东西。 本项目的关键是如何解决高速旋转的电路板如何供电,如何调时的问题。我采用电机电刷的原理,将旋转轴钻空,通过一只插头将电源的从反面引到前面的电路板上,而这个旋转的插头又与固定在背板上的两个铜片接触的。调时的问题有些困难,一是让电路板在旋转前与PC机相接,由电脑传送调时数据,这虽然可行但不方便。还有就是用遥控方法,但此方案在调试方面有很大的困难。

显示方式上,我采用平衡式的两排LED,这除了在旋转时能较好的保持平衡外,主要能利用两边交替显示方式,比单排要快一倍。 本装置不仅是一个时钟,它还可以动态显示汉字及图案,这就看如何发挥了。 其具体制作过程如下: 一。旋转电机的制作 从制作成本与方便考虑,选用旧电脑用的大软驱上的直流无刷电机,只是对局部进行改造。 就是这种古董软驱

软驱上的直流无刷电机 拆开后的电机

仔细拆开直流电机,将带圆盘的铝轴从中开孔,让它刚好能插入一个插头。 将旋转轴加工成这样 装配好以后 按拆开时的顺序,反序将轴安装直流电机上。

电机装配完成后用两片铜片做的电刷

电刷装好后的侧面图将电路板上较突出的元件改焊在反面,

C语言模拟时钟转动程序

#include"graphics.h" #include"math.h" #include"dos.h" #define pi 3.1415926 #define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300 #define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240 #define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) void init() /*划时钟边框函数*/ { int i,l,x1,x2,y1,y2; setbkcolor(1); circle(300,240,200); circle(300,240,205); circle(300,240,5); for(i=0;i<60;i++) /*划钟点上的短线*/ { if(i%5==0) l=15; else l=5; x1=200*sin(i*6*pi/180)+300; y1=200*cos(i*6*pi/180)+240; x2=(200-l)*sin(i*6*pi/180)+300; y2=(200-l)*cos(i*6*pi/180)+240; line(x1,y1,x2,y2); } } #include"graphics.h" #include"math.h" #include"dos.h" #define pi 3.1415926 #define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300 #define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240 #define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) void init() /*划时钟边框函数*/ { int i,l,x1,x2,y1,y2; setbkcolor(1); circle(300,240,200); circle(300,240,205); circle(300,240,5); for(i=0;i<60;i++) /*划钟点上的短线*/ { if(i%5==0)

旋转LED显示旋转单片机课程设计

单片机课程设计 题目:基于51单片机的旋转LED显示屏

前言 现在计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。在这一个知识爆炸的新时代。新产品、新技术层出不穷,电子技术的发展更是日新月异。可以毫不夸张的说,电子技术的应用无处不在,电子技术正在不断地改变我们的生活,改变着我们的世界。近年来,随着电子产品的发展,人们对时钟的要求越来越高,而在对要求高之余,又要讲究有创意,新奇,所以在这个基础上设计一款既能满足人们的要求,又要有创意的显示装置是很有必要的,LED旋转屏在可以显示的基础上,又能够满足人们对事物要有创意的需求。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。 单片机经过30多年的发展,已经形成一个规格齐全、品种繁多的大家族,用户有非常大的选择余地。下面为读者简单介绍目前市面上常见的主流单片机。 单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下方面。 显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符。 机电控制:用单片机控制机电产品做定时或定向的动作。 检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。 通信:通过RS-232串行通信或者是USB通信,传输数据和信号。 科学计算:用来实现简单的算法。 那么单片机是不是解决上述应用的唯一选择呢?当然不是!目前,在自动控制中,一般有三种选择,分别是嵌入式微机、DSP和单片机。 单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。这是因为这类芯片的生产量很大,技术也很成熟。 其次,单片机的体积也远小于其他两种方案。单片机本身一般用40引脚封

模拟时钟的VB程序

沈阳航空航天大学课程设计 学号2009040301055 班级94030102 姓名李超 指导教师刘学平 2010 年3 月15 日

沈阳航空航天大学 课程设计任务书 学院:航空宇航工程学院专业:飞行器制造班级:94030102 学号:2009040301055 题目:模拟时钟 一、课程设计时间 2011年3月7日~11日(第1周),共计1周。 二、课程设计内容 在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。 用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。 三、课程设计要求 程序质量: ?贯彻事件驱动的程序设计思想。 ?用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。 ?代码应适当缩进,并给出必要的注释,以增强程序的可读性。 课程设计说明书: ?课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提 供的模板。 四、指导教师和学生签字 指导教师:________ 学生签名:________ 五、成绩 六、教师评语

目录 一、需求分析 (4) 二、设计分析 (5) 三、关键技术 (7) 四、总结 (12) 五、完整的源程序 (14) 六、参考文献 (16)

一、需求分析 “模拟时钟”软件。在窗体上演示一个正在工作的有时、分、秒指针的时钟,要求:可以对时钟的时间进行手工修正。用户界面中的菜单(或命令按钮)至少应包括“运行时钟”、“修改时间”、“退出”3项。 ①在VB窗体Form1中设计模拟时钟表盘,设计四个按钮:运行时钟、修改时间、应用、退出。在窗体Form2中设计填输入时间的位置和两个按钮:重新输入、确定。 ②用运行时钟按钮使时钟从零点开始运行。 ③利用修改时间按钮在Form2中输入合理时间,单击确定后单击应用使模拟时钟按所需时间开始运行。 ④Form2中重新输入按钮可以使所有Text控件清空,可以进行时间的重新输入。 ⑤程序可以实现时钟指针的转动。

基于单片机的LED旋转时钟设计报告

LED旋转时钟 【摘要】本实验利用单片机的特性,将各种廉价的原材料自制成可用于室内装饰和便利生活的LED旋转时钟。其制作方法简单、整体结构紧凑、材料环保、成品便于移动、外形美观而且成本低廉。 【关键词】发光二极管单片机系统旋转视觉停留编码显示时间 一、课题背景: 课题构思背景 在课题构思初期,本组计划用51单片机来实现变色光纤花篮的控制(本组大二期间物理课题,计划将其改进)。之后通过查阅资料,本组认为制作旋转时钟与变色光纤花篮大体原理相同,但在技术知识上比变色光纤花篮更进一步,所以将课题目标定为“旋转时钟”。 课题技术背景 “单片机原理及应用”是我们大学本科学习期间的重要课程之一。它注重培养同学们的实践动手能力,使我们在自学与实际操作中将知识融汇贯通。单片机的应用大到卫星、导弹,小到洗衣机、微波炉,都有他们的踪影。 旋转时钟的主要特点就是结构新颖,效果奇特。加入了现代科技的元素,利用人眼的视觉暂留特性,用单片机作为主控芯片,采用电机带动发光二极管高速旋转,霍尔传感器进行定位,利用刷屏显示原理呈现时钟画面及DS18B20温度显示。造型及显示效果个性、新颖,解决了传统时钟结构单一,显示效果固定的缺陷,更好了满足了人们对美的追求。 现今人们家庭用的时钟主要还是传统意义上的时钟,固定的表盘与表针,显示效果单一,不能满足时钟不但用来看时间还是一件很好的装饰品的要求。随着科技的发展网络上出现了以DIY为主要形式的旋转时钟作品。 但是随着单片机技术、高亮发光二极管制造技术和高速稳定电机制造技术的发展,这种千奇百怪、创意无限的电子旋转时钟必将走进千家万户。 二、原理介绍 (一)、发光二极管发光原理 发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。LED发光二极管内部结构如图1所示。

旋转时钟原理和程序

POV即persistanc d of vision 利用单片机控制流水灯,通过流水灯移动以及人的视觉暂留效应产生各种图形或文字。效果如下图:

这张可以窥探其原理. 原理比较简单,使用单片机很容易实现,转帖旋转LED电子钟制作详细过程。 关于作者提出的两个难点,个人观点,供电科采用电机单独供电,单片机供电加装在旋转的电路板上。改进电路,使用电子钟芯片,加装备用电池,加装备用电池后也可以很容易解决调时问题。本人打算在次基础上改进一下进行制作,另作者提供的源程序没有任何注释,对与我们新手很不方便,随后我将在电路改进后写出有详细注释的程序,以方便更多人制作,敬请期待。 以下内容转自“艺新工作室”

在网上看到不少老外做的各种旋转LED显示屏,非常COOL,我也动手用洞洞板试做了一个类似的显示屏,结果感觉还不错。于是再接再励继续努力,将作品进一步改进,完善后制成如今这个样子。 由于刚学51单片机,加上制作电路板软件也是从零开始,的确花了我不少的时间和精力。不过也就是在这艰难的独立制作中,真正学到了不少实在的东西。 本项目的关键是如何解决高速旋转的电路板如何供电,如何调时的问题。我采用电机电刷的原理,将旋转轴钻空,通过一只插头将电源的从反面引到前面的电路板上,而这个旋转的插头又与固定在背板上的两个铜片接触的。调时的问题有些困难,一是让电路板在旋转前与PC机相接,由电脑传送调时数据,这虽然可行但不方便。还有就是用遥控方法,但此方案在调试方面有很大的困难。 显示方式上,我采用平衡式的两排LED,这除了在旋转时能较好的保持平衡外,主要能利用两边交替显示方式,比单排要快一倍。 本装置不仅是一个时钟,它还可以动态显示汉字及图案,这就看如何发挥了。 其具体制作过程如下: 一。旋转电机的制作 从制作成本与方便考虑,选用旧电脑用的大软驱上的直流无刷电机,只是对局部进行改造。 就是这种古董软驱

模拟时钟转动程序课程设计报告

《高级语言》课程设计 课题名称模拟时钟转动程序 学院信息工程专业网络工程地点 D507 学生姓名钟都华学号 13046130 开课时间 2013 至 2014 学年第 2 学期 同组人李卓 成绩

一、课程设计的目的和要求 1.课程设计的目的 本程序旨在训练读者的基本编程能力,使读者熟悉C语言图形模式下的编程。本程序中涉及时间结构体、数组、绘图等方面的知识。通过本程序的训练,使读者能对C 语言有一个更深刻的了解,掌握利用C语言相关函数开发电子时钟的基本原理,为进一步开发出高质量的程序打下坚实的基础。 2.课程设计的要求 能模拟机械钟表行走;在屏幕上显示一个活动时钟;程序界面设计合理,色彩得体大方,显示正确;各指针运动规律正确;要准确的利用数字显示日期和时间并且可以根据用户的需求更改当前时间(指针式时钟与数字式时钟实现同步更改);数字式时钟的时间显示与指针式时钟显示一致;可以通过上下键改变当前的时、分、秒;改的时间是小时、分钟、还是秒数;通过Tab键切换按Esc时程序退出。 二、设计 如下图,此电子时钟主要由以下4个功能模块组成。 1.界面显示模块 电子时钟界面显示在调用时钟运行处理之前完成,在这里主要调用了C语言图形系统函数和自负屏幕处理函数画出时钟程序的主界面。主界面包括类似Windows自带的电子时钟的界面和帮助界面两部冯。电子时钟界面包括一个模拟时钟运转的钟表和一个显示时间的数字钟表。在帮助界面中,主要包括一些按键的操作说明。 2.按键控制模块 按键控制模块主要完成两大部分功能。第一,读取用户按键的键值。第二,通过对键盘按键值得判断,执行相应的操作,如光标移动、修改时间。 3.时钟动画处理模块 在时钟动画处理模块中,它通过对相关条件的判断和时钟坐标值的计算,完成时、分、秒指针的擦除和重绘,以达到模拟时钟运转的功能。

推荐-基于PIC16F877的LED旋转时钟单片机设计实验报告 精品

20XX年小学期单片机设计实验报告题目:基于PIC16F877单片机的LED旋转时钟 班级: 学号: 班内序号: 实验组号: 学生姓名: 指导教师:

基于PIC16F877单片机的LED旋转时钟 ――班 实验摘要 本次我们制作的基于PIC16F877单片机的LED旋转时钟是能够输入、显示时间的时钟。 结构新颖,效果奇特。加入了现代科技的元素,利用人眼的视觉暂留特性,解决了传统时钟 结构单一,显示效果固定的缺陷,更好了满足了人们对美的追求。 整个系统中,微控制器采用了Microchip公司的PIC16F877,软件设计中涉及PORTA 用作普通数字I/O脚控制按键输入,PORTB、PORTC控制灯的亮灭,PORTD向时钟芯片DS1302写入和读出时间。 概括来说,本实验就是用人眼的视觉暂留特性,用PIC16F877单片机作为主控芯片, 采用电机带动发光二极管高速旋转,利用频闪显示原理呈现时钟画面。 A b s t r a c t In this experiment, we made a LED rotating clock base on PIC16F877 MCU. It can input and show time. Its structure is novel and its effect is amazing. It’s full of modern technology element. With human eyes’ persistence of vision, it solves traditional clock’s structure and effect’s disadvantage, fits human pursue for beauty better. The system uses the production of the Microchip cord--PIC16F877. The design includes the drive of PORTA as general digital ports to input time, the drive of PORTB and PORTC to control the LED’s on, the drive of PORTD to write and read time on DS1302. In conclusion, with human eyes’ persistence of v ision, this experiment uses PIC16F877 MCU as master chip, uses motor to drive LED rotate at high speed, uses strobe display principle to show the clock. 关键字 单片机——microcontroller 芯片——CMOS chip LED旋转时钟-- LED rotating clock

时钟(LED方式)java课程设计

摘要 随着经济全球化的发展,推动生活节奏的加快,也给时间赋予了更重要的意义。基于方便人们更好的掌握时间,我设计出了这个小时钟。 本时钟是一个基于Java语言设计而成的一个小程序,目的是显示日期和时间,并且能调准时钟。整个程序从符合操作简便、界面友好、灵活使用的要求出发,完成调用、调整的全过程。 本课程设计报告介绍了时钟的构成,论述了目标功能模块;给出了时钟设计的步骤。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。 关键字时钟,Java程序设计,面向对象,设计

目录 摘要..............................................................................................................................- 1 - 1前言..........................................................................................................................- 3 - 1.1 课程设计目的 ....................................................................................................- 3 - 1.2 课程设计的实验环境..........................................................................................- 3 - 1.3 课程设计的预备知识..........................................................................................- 3 - 1.4 课程设计要求 ....................................................................................................- 3 - 2 可行性分析................................................................................................................- 4 - 2.1 社会可行性........................................................................................................- 4 - 2.2 市场可行性........................................................................................................- 4 - 2.3 技术可行性........................................................................................................- 4 - 2.4 经济可行性........................................................................................................- 4 - 3 总体设计....................................................................................................................- 5 - 3.1开发平台 ............................................................................................................- 5 - 3.2时钟功能的概述..................................................................................................- 5 - 3.3时钟数字显示 .....................................................................................................- 5 - 3.3时钟指针显示 .....................................................................................................- 5 - 3.4时钟的设置.........................................................................................................- 5 - 4 代码设计....................................................................................................................- 6 - 4.1 部分源码............................................................................................................- 6 - 5 界面设计....................................................................................................................- 9 - 5.1课程设计主要内容 ..............................................................................................- 9 - 5.2概要设计 ............................................................................................................- 9 - 5.2.1自定义类说明...........................................................................................- 9 - 5.3表单设计 .......................................................................................................... - 10 - 5.4 界面展示.......................................................................................................... - 11 - 5.4.1日期的界面 ............................................................................................ - 11 - 5.4.2 部分代码 ............................................................................................... - 11 - 5.4.3 时间的界面............................................................................................ - 12 - 5.4.4 部分代码 ............................................................................................... - 12 - 5.4.5整体界面................................................................................................ - 14 - 6结束语....................................................................................................................... - 15 - 参考文献................................................................................................................ - 16 -

相关文档
最新文档