horalxi 发表于 2012-12-9 13:02:15

最近测试的小玩意

最近公司忙,没时间玩,搞了两个小玩意:

1,ULN2003驱动继电器(上位机VC,下位机51)
上位机:


下位机,单片机部分:


下位机,ULN2003继电器部分:


亮灯:

灭灯:


继电器使用HUIKE4100F,动触点250v,3A,可以驱动用来控制大部分家用电器。也就是说此电路稍加改造就可以用作
控制家用电器。实时上,很多家用电器就是用ULN2003控制继电器实现自动控制的。

2,8X8LED点阵
效果如图:
LED点阵最忌讳亮度不均匀,本例以驱动扫描单个LED实现亮度一致。
LED点阵最常用的驱动方式是按列扫描,代码如下:
unsigned char code scanx[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char code scany2[]={0xff,0x81,0x42,0x42,0x81,0x42,0x42,0x81};

void main()
{
        xFlag=0;
        yFlag=0;
        TMOD=0x01;
        TH0=(65536-200)/256;
        TL0=(65536-200)%256;

        EA=1;
        ET0=1;
        TR0=1;

        P0=0x00;
        wei=1;
        wei=0;
       
        while(1)
        {
                        P0=scanx;
                        P1=scany;
        }
}
辅以定时器控制xFLAG、yFlag两个参数以控制扫描。
由于没列要点亮的LED个数不同,所以不同列的LED亮度不一致。

为了实现亮度一致,使每次只扫描一个LED,亮度一致性好,代码:
unsigned char xFlag,yFlag;
unsigned char code scanx[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
sbit wei=P2^7;
unsigned char code scany[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
                                                        0xff,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xff,
                                                        0xff,0xbf,0xff,0xff,0xff,0xff,0xfd,0xff,
                                                        0xff,0xbf,0xff,0xff,0xff,0xff,0xfd,0xff,
                                                        0xff,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xff,
                                                        0xff,0xbf,0xff,0xff,0xff,0xff,0xfd,0xff,
                                                        0xff,0xbf,0xff,0xff,0xff,0xff,0xfd,0xff,
                                                        0xff,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xff};

void main()
{
        xFlag=0;
        yFlag=0;
        TMOD=0x01;
        TH0=(65536-200)/256;
        TL0=(65536-200)%256;

        EA=1;
        ET0=1;
        TR0=1;

        P0=0x00;
        wei=1;
        wei=0;
       
        while(1)
        {
                        P0=scanx;
                        P1=scany;
        }
}
辅以定时器控制xFLAG、yFlag两个参数以控制扫描。

liudaolunhui 发表于 2012-12-9 13:33:49

加油!!!!!!

bbssilverkey 发表于 2012-12-9 14:13:09

楼主的那种洞洞超好焊.

armok 发表于 2012-12-9 14:19:06

Ross_Geller 发表于 2012-12-9 14:49:36

看到这个标题是老大的回复,就知道楼主悲剧啦。
页: [1]
查看完整版本: 最近测试的小玩意