利用51控制的16*32点阵屏幕,其实条屏原理跟这个都一样,只不过51控制不了多大屏幕
16*32点阵屏幕由512个LED组成,在实际制作过程中我们可以采用8*8的点阵模块。下面开始做1632点阵屏幕硬件设计。
所先设计行扫描电路:
16*32点阵屏幕总共有16行,其扫描电路一般采用74HC154或者74HC138来进行4-16扩展,这样可以占用较少的单片机IO口。如果利用74HC154那么一片就可以满足16行的需求;如果采用74HC138,那么需要两片。由于74HC138价格便宜,市场使用量比较大,采购比较容易,这里我们采用74HC138来进行行 扩展。74HC138是三、八译码器,根据起手册可以用两片组成
传原理图
点击此处下载 ourdev_494693.pdf(文件大小:50K) (原文件名:CPU.pdf)
点击此处下载 ourdev_494694.pdf(文件大小:70K) (原文件名:DIANZHEN.pdf)
制作好的实物图片
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494703.jpg
(原文件名:1632背面2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494704.jpg
(原文件名:1632侧面.jpg)
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494705.jpg
(原文件名:1632正面.jpg)
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494706.jpg
(原文件名:1632正侧面.jpg)
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494707.jpg
(原文件名:1632加驱动板效果1.jpg)
http://cache.amobbs.com/bbs_upload782111/files_20/ourdev_494708.JPG
(原文件名:两快级链效果.JPG)
#include <reg52.h>
sbit STR=P3^2;//锁存
sbit CLK=P3^3; //时钟
sbit RData= P3^4; //红 数据
sbit GData= P3^5; //绿 数据
sbit E=P1^4; //使能
unsigned char code hanzi[]={
/*--文字:成--*/
/*--黑体12;此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xD8,0x00,0xD8,0x3F,0xFC,0x3F,0xFC,0x30,0xC0,0x30,0xC0,0x3E,0xD8,0x3E,0xD8,
0x36,0xD8,0x36,0x70,0x36,0x60,0x6E,0xE6,0x61,0xB6,0xC3,0x1E,0x42,0x0C,0x00,0x00,
/*--文字:功--*/
/*--黑体12;此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0xC0,0x00,0xC0,0xFC,0xC0,0xFC,0xC0,0x33,0xFC,0x33,0xFC,0x30,0xCC,0x30,0xCC,
0x30,0xCC,0x30,0xCC,0x3D,0x8C,0xFD,0x8C,0xE3,0x0C,0x0E,0x3C,0x04,0x38,0x00,0x00,
};
void sendbyteRG(unsigned char bbyte1)
{
unsigned char i;
for(i=0;i<8;i++)
{
RData=GData=~bbyte1&0x80; //取高位
CLK=0;CLK=1;
bbyte1<<=1;
}
}
void main(void)
{
unsigned char i;
while(1)
{
P1=0XFF;
for(i=0;i<16;i++)
{
E=0;
sendbyteRG(hanzi);
sendbyteRG(hanzi);
sendbyteRG(hanzi);
sendbyteRG(hanzi);
P1=i;
STR=0;STR=1;
E=1;
}
}
} 传说中的沙发^_^ LZ“只不过51控制不了多大屏幕”。。。
不知道多大算大,我的产品有用51驱动256x32点的屏 楼主的PCB是自己做的吗?能看得出来画PCB花费了点时间,如果有些细节在注意点的话你的PCB我个人到是非常欣赏。整体来讲我感觉不错 lz "只不过51控制不了多大屏幕"
-------------------------------
我用AT89S52+24兆晶振驱动过32×128双色点阵屏,只有很轻微的闪动。 楼主的PCB是自己做的吗?能看得出来画PCB花费了点时间,如果有些细节在注意点的话你的PCB我个人到是非常欣赏。整体来讲我感觉不错
——————————————————————————————————
是自己做的,不过没花多少心事去美化,从原理设计到PCB设计只用了两天时间(有大半天时间是用洞洞板做了个单色电路)
如果把安装孔搞对称了还有595搞成贴片的就完美了,
电路中104电容是有的,在点阵那一面 看着挺好 看错了,以为是全彩的 楼主的产品设计有重大失误,4953串接16个电阻是达不到电流平均的,虽然焊接能节省苦力,1个电阻分流相了32个LED(1行),点阵点亮的个数不同时容易造成亮度不均匀,双色的最好的8个是595每个端口串接64个47~100电阻才合适,本人做过这个实验,深有体会... LZ的电阻是接在G极的,不是行选的限流电阻 呵呵,我也觉得是接在G级(作为数字量这里接电阻没有什么用),点亮是可以的,这样设计也还是有些问题,正规的产品需要很好的限流,可以针对行或列,共阳的来说最好在列,,16*32必须在595加串64个电阻,多大阻值视点阵大大小 楼主的产品设计有重大失误,4953串接16个电阻是达不到电流平均的,虽然焊接能节省苦力,1个电阻分流相了32个LED(1行),点阵点亮的个数不同时容易造成亮度不均匀,双色的最好的8个是595每个端口串接64个47~100电阻才合适,本人做过这个实验,深有体会...
——————————————————————————-
做商业的当然要考虑周全写,不过现在很多商业的也是这样做的,只不过在控制上做了写文章,
我这个只是用于学习,考虑的是自己设计PCB方便,所以在商业屏的基础上删减了不少 恩,爱好而已,现在想想楼上说的,也是这个场效应管G接不接电阻都没有什么区别,是多余的,甚至什么电阻都不要这样也过得去,我做过16*64双色的,花了太多时间,不是人干的活。现在想想还不如找个便宜的买... 楼顶的设计的板才16*32,就用掉了2个238?有点浪费吧,还有光16*32就设计了4个接口,看不明白,能否说一下那么多接口干嘛的,是用于行列的纵横扩展吗,学习了 强人,你太伟大了。。
其他元器件都用贴片的,595就舍不得用。
其实可以考虑使用MBI5026,DM134之类的16口恒流芯片。这样做更简单。 楼上:贴片595更便宜吧 顶下,51控制点阵多大屏幕。 可以 LZ,使能E,那样子写会使下行在数据在上行微微显示 楼主的产品设计有重大失误,4953串接16个电阻是达不到电流平均的,虽然焊接能节省苦力,1个电阻分流相了32个LED(1行),点阵点亮的个数不同时容易造成亮度不均匀,双色的最好的8个是595每个端口串接64个47~100电阻才合适,本人做过这个实验,深有体会...
是不是在595每个端口串接64个47~100电阻才合适取消4953串接的16个1K的电阻? 这种屏的控制板在电子市场就有卖的,都是用STC的单片机 用STC11+74HC595控制板很多. 顶顶! 学习了 顶! 学习。 拿来参考下~
页:
[1]