用硬盘音圈电机DIY摇摆显示钟 - 图文(6)

2020-05-23 15:06

于我们可以按我们的要求,改变数组中的数据来驱动端口上的LED,达到我们预期的显示效果。这可以说是流水灯的万能程序。这样我们迈出了第一步。

再来看如何产生需要的图案。

现在我们让LED显示数字12为例,我们先作一个表。

0 1 0 0 1 1 1 1 低四位 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0

0 1 0 0 0 1 0 0 高四位 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1

从下到上将每列看成是一个16进制数,我得到8个16进制数 10000010=0x82 11111111=0xff 10000000=0x80 00000000=0x00 11100011=0xe3 10010001=0x91 10001001=0x89 10000111=0x87

这样我们得到了我们想要的一组扫描码{0x82,0xff,0x80,0x00,0xe3,0x91,0x89,0x87}

将前一程序的数组数据改成我们得到的扫描码,我们得到新的C51程序 #include

code unsigned char led[]={0x82,0xff,0x80,0x00,0xe3,0x91,0x89,0x87}; void main(void) {

unsigned int i,j; while(1) {

for(j=0;j<8;j++){ P0=~led[j];

for(i=600;i>0;i--); }

for(i=8000;i>0;i--); for(i=8000;i>0;i--); } }

编译下载后,将运行进的电路板来回晃晃看……,哈,“12”已隐约出现在眼前。

哈哈,是不是成功离我们已经不远了。

最后是发挥部分。接着要做的事就是解决如何让这些LED运动,如何检测运行时的开始和结束,如何给运动着的系统供电,如何控制运动着的系统….等等。不同的解决方案造就各具特色的LED旋转屏。

用上面的办法对一些简单图案还能行,当遇到LED个数多或图文复杂时,用这样直接取码的工作量就会很大,这就需要专门软件,根据显示的字符和图案自动生成扫描码。好在网上有不少这类软件可免费下载,免去了手工取码之苦。 临渊羡鱼,不如退而结网,动手做一个真正属于自己的旋转LED显示并不难。

用硬盘音圈电机DIY摇摆显示钟(附详细资料) 2008-02-29 00:08

看到市场上正在流行的时尚商品——摇摆LED时钟,感觉非常新颖独特,正在玩单片机的我,激起了自己也想DIY一个的冲动。不就是一个流水灯吗?有什么难的?! 于是,一个单片机项目就这样开始了。

然而动手以后才知道问题并非想象那样简单,有许许多问题在制作中一一出现,经过十多天的制作、修改与调试,作品才告完成,基本达到预先要求。

一. 设计思路

本制作是根据视觉暂留原理, 让一排8只LED运动, 在空中呈现数字来表示时钟。由于其实质就是一个摆动的流水灯,特别适合初入门的单片机爱好者动手制作。

整个屏可显示七个字符,平时作时钟只用其中的五个字符。

显示分 “正常运行”、“调分”和“调时” 三种状态。正常运行时中间的“:”符每一秒闪现一次,调分和调时时,则为调整的项闪现。

设置三个调整按键,一个为“状态键”,一个为“加法键”,一个为“减法键”。

完成图(见图1、图2)

图1

图2

效果图(见图3)

图3

二. 硬件结构

主板的结构布局见图4。


用硬盘音圈电机DIY摇摆显示钟 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:NZ800C 数字式电容器保护测控装置说明书(V5.0)

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

马上注册会员

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