彩色mini摇摇棒双色.docx

上传人:b****3 文档编号:5268317 上传时间:2022-12-14 格式:DOCX 页数:13 大小:419.73KB
下载 相关 举报
彩色mini摇摇棒双色.docx_第1页
第1页 / 共13页
彩色mini摇摇棒双色.docx_第2页
第2页 / 共13页
彩色mini摇摇棒双色.docx_第3页
第3页 / 共13页
彩色mini摇摇棒双色.docx_第4页
第4页 / 共13页
彩色mini摇摇棒双色.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

彩色mini摇摇棒双色.docx

《彩色mini摇摇棒双色.docx》由会员分享,可在线阅读,更多相关《彩色mini摇摇棒双色.docx(13页珍藏版)》请在冰豆网上搜索。

彩色mini摇摇棒双色.docx

彩色mini摇摇棒双色

首先,请有兴趣的先了解 杜洋的摇摇棒  ,不过本人不推荐也不反对 你去购买他的套件,

不过我还是喜欢自己完全DIY,包括 我做的 其他业余作品,有些创新的小点子是汲取 别人的 ,但实现过程 ,思路和程序 完全 是自己 的 。

  

     

     我自己 的实物图:

      

 (原文件名:

20100530(001).jpg) 

引用图片

                 

        这段是电池部分 ,还弄了个自锁开关,电源 是 3.7V 的锂电池,从小的MP3上拆下的 。

 (原文件名:

20100530(002).jpg) 

引用图片

        这段 是 单片机 部分,照得不怎么清楚(200w),

 (原文件名:

20100530.jpg) 

引用图片

        这是 全貌,就这个样子,中间的 很长的线是电源线 和 用来 下载的 。

        

        拍摄视频:

(复制下面地址,用浏览器打开观看)

        1.

        

       2.

       

       

        

      我用 国产的 89C51 单片机上 实现了 彩色显示(两种颜色,红色和绿色 混合显示),这个东东今年四月份做的,做了已经有大半年了,本来不想公布出来,但最终 还是转变了 思想 ,哈哈

      大概的原理图如下(本人 因正在 做一个项目,没什么时间,所以 这个图随便画了下,请见谅):

 (原文件名:

100_9115.jpg) 

引用图片

      我自己 的实物是 使用的 P1 和 P3 口,有个复位的 引脚 去掉,没有复位部分没什么 问题,单片机 能正常工作,把P3口 的引脚 朝 P1 口那边扭弯点。

有两排贴片(0805封装)的LED 灯 1和2,1那一排 LED 左为负极,右为正极。

2那一排 LED 右为负极,左为正极。

      这样 就行了,但是 亮度较低,最好 分别加个 470~1K 的上拉电阻,那样 就比较亮,但单片机 可能 会有点 微热,不过 没事 的 ,没那么容易 坏 。

      最好 能 用 12C5A 系列 的 ,它的IO 口 有个 强上拉 达20 mA,那驱动就 足够 了,,,唉 ,只是 我做的 时候 手头没有。

,因为我们学校 实验室只有 国产单片机(s x x,这个关键字似乎被屏蔽了)的,懒得自己 买了,穷人 啊>...

   上图,我的做的东东实拍图,送给一女生的,每个字的颜色是会换的,还有更强大 的功能,包括动态显示温度(加ds18b20),显示动态的3d图,以后再公布:

                   

 (原文件名:

http_imgload.jpg) 

引用图片

 (原文件名:

http_imgloadCAMZYWG8.jpg) 

引用图片

  希望 大家拍砖和仿制,时间 匆忙,写的 不好,有问题请大家多留言,今天 暂时 写道这里,以后我会继续公布,我是mhlyjay,Q我:

492364042.

------2------

部分原理:

 (原文件名:

QQ截图未命名1.jpg) 

引用图片

 (原文件名:

QQ截图未命名2.jpg) 

引用图片

 (原文件名:

QQ截图未命名3.jpg) 

引用图片

 (原文件名:

复件 http_imgload.jpg) 

引用图片

有时间 我再把视频传上来,程序写的不够好,大家就看看吧

**********************************************************/

//                  mini LED摇摇棒

//                  显示64*16像素(x*15)

#include 

#define uchar unsigned char

#define uint unsigned int   

sbit KeyChoose=P0^3;

sbit KeyLeft=P2^7;

sbit KeyRight=P2^6;

sbit Zero=P2^0;

uchar Color;

uchar code LEDDriverTable[]=

{

0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,// 1~ 8

0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff// 9~15

}; 

/////////////////////////////////////////////////////////////////////////

// 汉字字模表                                                          //

// 纵向取模下高位,数据排列:

从上到下从左到右                            //

/////////////////////////////////////////////////////////////////////////

uchar code GB16wo[] =          // 数据表

{

//"你",

      0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,

      0x40,0x00,0x20,0x08,0x18,0x04,0x0F,0x43,

      0x08,0x80,0xC8,0x7F,0x08,0x00,0x08,0x01,

      0x28,0x06,0x18,0x0C,0x00,0x00,0x00,0x00,

//"爱",

      0x40,0x00,0xB0,0x00,0x92,0x40,0x96,0x30,

      0x9A,0x8C,0x92,0x83,0xF2,0x46,0x9E,0x2A,

      0x92,0x12,0x91,0x2A,0x99,0x26,0x95,0x42,

      0x91,0xC0,0x50,0x40,0x30,0x00,0x00,0x00,

//"我",

      0x20,0x00,0x24,0x08,0x24,0x48,0x24,0x84,

      0xFE,0x7F,0x23,0x02,0x22,0x21,0x20,0x10,

      0xFF,0x09,0x20,0x06,0x22,0x1A,0xAC,0x61,

      0x20,0x80,0x30,0xE0,0x20,0x00,0x00,0x00,

//"吗",

      0x00,0x00,0xFC,0x1F,0x04,0x08,0x04,0x08,

      0xFE,0x1F,0x04,0x08,0x02,0x08,0xFA,0x09,

      0x02,0x09,0x02,0x09,0x02,0x0D,0xFF,0x49,

      0x02,0x81,0x80,0x7F,0x00,0x01,0x00,0x00,

//"?

",

      0x00,0x00,0x00,0x00,0x30,0x00,0x38,0x00,

      0x28,0x00,0x04,0x00,0x04,0x20,0x04,0x70,

      0x84,0x73,0x84,0x21,0xC4,0x00,0x4C,0x00,

      0x78,0x00,0x30,0x00,0x00,0x00,0x00,0x00

};

/*****n(us)延时子程序*****/

void Delay(uint N)

{

uint x,y;

for(x=0; x<=N;x++)

for(y=0;y<=2;y++);

}

void DisplayPoint(uchar LEDChoose, uchar Color)//bit Color)?

//,uint DisplayTime)   //15(×2)LED    //LEDChoose(Up 1~15 Down),Color(0:

Green;1:

Blue),DisplayTime ()

{//uchar t;

//t=(LEDChoose-1)+Color*8;

if(LEDChoose>=1&LEDChoose<=8)

{

P1=LEDDriverTable[(LEDChoose-1)+Color*8];

P3=(!

Color)*0xff;           //!

or~

}    

else if(LEDChoose>=9&LEDChoose<=15)

{

P3=LEDDriverTable[(LEDChoose-1-8)+(Color*8)];

P1=(Color)*0xff;

}  

else 

{

P1=0xff;

P3=0xff;

}

//Delay(DisplayTime);   //

}

void YScanDisplay(uchar YDisplay,uint DisplayTime,uchar UorD)   //YScanDisplayData(8bit);

{

//bit PointTable[8];

//uchar PointTable[8];   //!

 LEDChoose is (Up 1~15 Down)

uchar i=0;

for(i=1;i<=8;i++)

//{

//while(YDisplay!

=0)

{   

//PointTable[i]=(bit)(YDisplay&0x01);   

    if((bit)(YDisplay&0x01)!

=0)                      //target:

  (共阴~取反~共阳)

{

DisplayPoint(i+UorD*8,Color);         //Color

Delay(DisplayTime);

}

YDisplay>>=1;

// i++;

    

}

//}

//for(i=0;i<=7;i++)

//while(PointTable[i]!

='\0')

//{      

 //i++;

//}

}

void XScanDisplay()

{

}

/*****主函数*****/

void main(void)

{

uchar tt,ccc=1;

bit cc=0;

Zero = 0;

while(520)

//if(KeyRight=0)

{

if(KeyChoose=0)cc=!

cc;

while(KeyLeft);

Delay(1400);

for(tt=1;tt<=160;tt++)

{

YScanDisplay(GB16wo[tt],2,tt%2);

if(++ccc==32){

Color=!

Color;

ccc=0;}

}

P1=0xff;

P3=0xff;

while(KeyRight);

Delay(1400);

for(tt=160;tt>=1;tt--)

{

YScanDisplay(GB16wo[tt],2,tt%2);

if(++ccc==32){

Color=!

Color;

ccc=0;}

}

P1=0xff;

P3=0xff;

};

//////////////////////以下为最开始 的硬件测试程序,用来检测LED 有没有焊接好,有没有焊接烧坏等///////////////////////////

//效果是 :

首先是第一排亮,然后是第二排亮,最后 全亮,当然这只是看起来全亮,但是 LED 不可能真正同时亮,实际上,某一时刻,只有一个被点亮

/*

//P1=0x80;

//P3=0x80;

for(tt=0;tt<=15;tt++)

{

DisplayPoint(tt,1);

Delay(10000);

}

for(tt=0;tt<=15;tt++)

{

DisplayPoint(tt,0);

Delay(10000);

}

while(520){

for(tt=0;tt<=15;tt++)

{

DisplayPoint(tt,1);

Delay(350);

DisplayPoint(tt,0);

Delay(700);

}}

while(520);

//while

(1)  

//{

   //-----------忧伤的分割线-----------//

P1=0xfe;   //0b

delay(100);

P1=0x01;   //0r

delay(100);

P1=0xfc;   //1b

delay(100);

P1=0x03;   //1r

delay(100);

P1=0xf8;   //2b

delay(100);  

P1=0x07;

delay(100);   //2r

P1=0x;       //b

delay(100);

P1=0x;       //r

delay(100);

while

(1);

//}

*/

}

/*****END*****/ 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1