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)
制作好的实物图片
(原文件名:1632背面2.jpg)
(原文件名:1632侧面.jpg)
(原文件名:1632正面.jpg)
(原文件名:1632正侧面.jpg)
(原文件名:1632加驱动板效果1.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[][32]={
/*-- 文字: 成 --*/
/*-- 黑体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[0][i*2]);
sendbyteRG(hanzi[0][i*2+1]);
sendbyteRG(hanzi[1][i*2]);
sendbyteRG(hanzi[1][i*2+1]);
P1=i;
STR=0;STR=1;
E=1;
}
}
}
一周热门 更多>