电子制作—纯手工打造摇摆LED显示(3)

2021-09-24 19:51

}

else {

if(Ms*w[10-ii]==1) P2=0xff; else P2=~ASCIIDOC[v[13-ii]*6+5-jj]; //反向显示

}

jj++;

if(jj>5) {ii++; jj=0;}

if(ii>13) {ii=0;ff=!ff;}

Ti=-Tr[ii*6+jj]; //读显示中断表

}

/*主程序*/

void main(void)

{

//变量初始化

Ms=0;

ff=0;

Ta=46; //正反显一致性调整, 取值范围在42~50 之间, 根据实际确定

put1=0;put2=1;

//中断初始化

TMOD=0x11;

TH0=-5000/256; TL0=-5000%256;

TR0=1;ET0=1;

TH1=-2000/256; TL1=-2000%256;

TR1=1;ET1=1;

//十四个字符中前三个和后三个不显(不用)

v[0]=10;

v[1]=10;

v[2]=10;

v[11]=10;

v[12]=10;

v[13]=10;

/*摇摆棒初始启动*/

do {

mm++;

Delay(120+mm);

put1=~put1; put2=~put2;

}while(mm<60);

介绍了 市场上一种常见的 摇动LED显示模式,还有常见的如硬盘时钟等等,这个纯手工打造的电子制作,相信对大家很有用

Delay(20);

/*启动显示*/

ii=0;jj=0;

EA=1;

/*正式运行*/

for(;;){

v[3]=36;v[4]=44;v[5]=51;v[6]=42;v[7]=54;v[8]=52;v[9]=44;v[10]=11; //显示欢迎

Delay(6000);

v[3]=10;v[4]=10;v[5]=10;v[6]=10;v[7]=10;v[8]=10;v[9]=10;v[10]=10; //关闭显示

Delay(600);

v[3]=0;v[4]=0;v[5]=13;v[6]=0;v[7]=0;v[8]=13;v[9]=0;v[10]=0; //显示时钟初始状

/*进入时钟状态*/

while(1){

//时钟处理

if (BUFFER[0]>21){ //进位到秒

BUFFER[0]=0; BUFFER[1]=BUFFER[1]+1;

Ms=!Ms;

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;

}

}

}

//将显示内容送显示缓冲区

v[9]=BUFFER[1]/10;

v[10]=BUFFER[1]-v[9]*10;

v[6]=BUFFER[2]/10;

v[7]=BUFFER[2]-v[6]*10;

v[3]=BUFFER[3]/10;

v[4]=BUFFER[3]-v[3]*10;

//键盘处理

if(ChKey(set0)==1){ //模式键

Ms=1; //秒闪开

if(TZ<2) TZ++; else TZ=0; //三种状态循环转换

switch(TZ){

case 0:w[0]=0;w[1]=0;w[2]=0;w[3]=0;w[4]=0;w[5]=0;w[6]=0;w[7]=0;break;

case 1:w[0]=0;w[1]=0;w[2]=0;w[3]=1;w[4]=1;w[5]=0;w[6]=0;w[7]=0;break;

case 2:w[0]=1;w[1]=1;w[2]=0;w[3]=0;w[4]=0;w[5]=0;w[6]=0;w[7]=0;break;

}

Ms=0; //秒闪关

};

Delay(80);

if(ChKey(set1)==1){ if(BUFFER[TZ+1]<maxnum[TZ-1]) BUFFER[TZ+1]++; else

BUFFER[TZ+1]=0;Delay(300);};

//键盘"+"

if(ChKey(set2)==1){ if(BUFFER[TZ+1]>0) BUFFER[TZ+1]--; else

介绍了 市场上一种常见的 摇动LED显示模式,还有常见的如硬盘时钟等等,这个纯手工打造的电子制作,相信对大家很有用

BUFFER[TZ+1]=maxnum[TZ-1];Delay(300);};

//键盘"-"

Delay(80);

}

}

}

四.调试方法

虽说是个机电一体的制作,但调试过程并不复杂。

1. 机械部分的调整主要是两只拉簧, 要尽量保证两边受力一致,让摇棒静态时保持在竖直状态。

2. 软件部分,先将void timer1(void)函数中的“Ti=-Tr[ii*6+jj];”这段程序删除,试着让Ti 取一常数值(大约-2000 左右)看显示效果(摇棒摆动的幅度),一直到满意为止,这时正反显示可能没有重合,接着试Ta 的取值,范围在42 到50 之间,使正反显示重合为止。最后一步就是调整显示的不均匀性,将“Ti=-Tr[ii*6+jj];”这段程序恢复回来,试着改变Tr[]表中数组元素的值,并保证表中的元素的平均值为开始Ti 取得的值,让显示的每个字符宽度一致为止。

五.结语

本制作电路简单,其原理实质就是LED 流水灯,而关键的音圈电机也很容易找到,很适合刚入门的单片机爱好者制作。制作还有发挥的地方,

1. 添加时钟IC,使显时更精准,而且不怕掉电;

2. 加装位置传感器,增加显示的稳定性;

3. 增添摇控功能,使调整更方便。


电子制作—纯手工打造摇摆LED显示(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:李克强:让科技人员合理合法富起来

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: