新闻  |   论坛  |   博客  |   在线研讨会
(转)DIY"硬盘时钟"资料公开
tvb2058 | 2008-04-23 16:39:14    阅读:2833   发布文章

本人经过一段时间的动手制作,基本掌握了其原理和技术。 关键问题还是噪音大和发光亮度低,几乎没有继续做下去的必要了(另一原因是目前要忙于其它事情)。现公开本人的制作资料,让有兴趣朋友继续。

    C51程序显示部分:
   
// 硬盘时钟试验(部分)程序
//
//    周正华
// 2008.3.29

#include

#define LR 0x02;
#define LB 0x08;
#define LG 0x10;

sbit Rs="P3"^0;
sbit LED_R=P3^1;
sbit LED_B=P3^3;
sbit LED_G=P3^4;

unsigned char Put_LED[60];
unsigned int m,Ti0,Tm0;


void intersvr1(void) interrupt 0 using 1
{
TH0=-Ti0/256; TL0=-Ti0%256;
m=0;
}


/*定时中断1处理函数*/
void timer0(void) interrupt 1 using 1
{
TH0=-Tm0/256; TL0=-Tm0%256;
P3=P3|Put_LED[m];
TH1=-300/256; TL1=-300%256;
m++;
}

/*定时中断2处理函数*/
void timer1(void) interrupt 3 using 1
{
LED_R=0;LED_B=0;LED_G=0;
}

/*演示主程序*/
void main(void)
{
m=0;
Rs=0;
Ti0=103;
Tm0=273;

//分别指示四个时钟位置的"时针"
Put_LED[15]=LR;
Put_LED[30]=LG;
Put_LED[45]=LB;
Put_LED[0]=LR;

//中断初始化
TMOD=0x11;  
TH0=-Ti0/256; TL0=-Ti0%256;
TR0=1;ET0=1;

TH1=-300/256; TL1=-300%256;
TR1=1;ET1=1;

EA=1;IT0=1;EX0=1;
for(;;){
}
}

    我试着将硬盘的晶振换小,的确会让主轴电机转速减慢,而且噪音明显减小。遗憾的是此时的电机转速变成不稳定了。
    发现一个很有趣的问题, 可能受光波性质影响,  同时设置在同一地方的不同颜色的"时针"实际上并不在一起, 就像光谱一样散开的, 在编程时, 也许要作适当的修正。上一张图(分别指示0, 3, 6, 9点位置的四个指针 )。
    最后要说明的是: 原方案用的是透光方式而我在做试验时用的是反光方式。

点击开大图

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客