"); //-->
本人经过一段时间的动手制作,基本掌握了其原理和技术。 关键问题还是噪音大和发光亮度低,几乎没有继续做下去的必要了(另一原因是目前要忙于其它事情)。现公开本人的制作资料,让有兴趣朋友继续。
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点位置的四个指针 )。
最后要说明的是: 原方案用的是透光方式而我在做试验时用的是反光方式。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。