标题:
单片机16*96点阵屏仿真 74hc138和74hc595驱动 带源程序
[打印本页]
作者:
51黑ff
时间:
2016-9-9 23:45
标题:
单片机16*96点阵屏仿真 74hc138和74hc595驱动 带源程序
0.png
(30.2 KB, 下载次数: 45)
下载附件
2016-9-9 23:43 上传
51单片机做的16*96点阵屏仿真,使用的驱动芯片是74hc138和74hc595,电路原理图如上
单片机程序源码如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit SH=P3^0;
sbit DS=P3^1;
sbit ST=P3^2;
uchar num=12; //汉字个数
uchar code hanzi[]={
//好
//C51 Code,逐行从上到下取模,每行左为最高位
//Creat By Super Led_Dot_Matrix Char V1.0
0x00,0x00,0x0C,0xC6,0x0F,0xCC,0x7F,0x78,
0x7C,0x70,0x0F,0xF8,0x0F,0x9C,0x21,0x88,
0x21,0x80,0x21,0x86,0x27,0x86,0x2F,0xFE,
0x29,0x80,0x39,0x80,0x31,0x80,0x00,0x80,
0x00,0x00,0x0C,0xC6,0x0F,0xCC,0x7F,0x78,
0x7C,0x70,0x0F,0xF8,0x0F,0x9C,0x21,0x88,
0x21,0x80,0x21,0x86,0x27,0x86,0x2F,0xFE,
0x29,0x80,0x39,0x80,0x31,0x80,0x00,0x80,
//学
//C51 Code,逐行从上到下取模,每行左为最高位
0x00,0x00,0x0E,0x30,0x4E,0x30,0x7D,0x30,
0x3D,0x30,0x0D,0x32,0x4D,0x33,0xED,0x73,
0x2D,0xFE,0x0D,0xF0,0x1D,0xB0,0x7D,0xB0,
0xED,0x30,0x4E,0x30,0x0E,0x30,0x00,0x00,
//习
//C51 Code,逐行从上到下取模,每行左为最高位
0x00,0x00,0x00,0x00,0x00,0x10,0x60,0x18,
0x2C,0x18,0x2E,0x30,0x26,0x30,0x23,0x20,
0x22,0x60,0x20,0x66,0x20,0xC6,0x20,0x06,
0x3F,0xFE,0x3F,0xFC,0x00,0x00,0x00,0x00,
//完
//C51 Code,逐行从上到下取模,每行左为最高位
0x00,0x00,0x3C,0x82,0x3C,0x86,0x34,0x86,
0x36,0x8C,0x36,0xF8,0x36,0xE0,0xF6,0x80,
0x76,0x80,0x36,0xFE,0x36,0x86,0x36,0x82,
0x30,0x82,0x38,0x8E,0x3C,0x8C,0x00,0x00,
//善
//C51 Code,逐行从上到下取模,每行左为最高位
0x00,0x00,0x11,0x20,0x15,0x3E,0x15,0x31,
0x55,0xF1,0x35,0x31,0x15,0x31,0x1F,0xF1,
0x15,0x31,0x15,0x31,0x35,0x31,0x75,0xF1,
0x15,0x31,0x15,0x3F,0x11,0x20,0x00,0x00,
//自
//C51 Code,逐行从上到下取模,每行左为最高位
0x00,0x00,0x00,0x00,0x10,0x02,0x1F,0xFE,
0x12,0x4C,0x12,0x4C,0xF2,0x4C,0x72,0x4C,
0x12,0x4C,0x12,0x4C,0x12,0x4C,0x12,0x4C,
0x1F,0xFE,0x1F,0xFE,0x00,0x00,0x00,0x00,
//我
//C51 Code,逐行从上到下取模,每行左为最高位
0x00,0x00,0x16,0x60,0x36,0x62,0x36,0x62,
0x3F,0xFE,0x3F,0xFC,0x66,0xC4,0x66,0xC6,
0x06,0x0C,0x7F,0xEC,0x06,0xF8,0x26,0x3C,
0x36,0xE6,0x1F,0xC2,0x06,0x0E,0x00,0x04,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=50;y>0;y--);
}
void send(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
dat>>=1;
DS=CY;
SH=0;
SH=1;
}
}
void display(uchar k)
{
uchar i,j,hang,m;
uint g;
for(j=0;j<5;j++) //动态扫描5次
{
hang=0x08; // 开通第一个138
for(i=0;i<16;i++)
{
ST=0;
for(m=4;m>0;m--)
{
g=2*i+2*k+m*32-32;
send(hanzi[g]);
send(hanzi[g+1]);
}
P1=hang;
hang++;
ST=1; //锁存数据
delay(1);
}
}
}
void move()
{
uint k,j,a,b;
for(k=0;k<16*(num-4);k++)
{
display(k);
}
for(a=16*(num-4);a>0;a--)
{
display(a);
}
for(j=0;j<2;j++)
{
for(b=16;b>0;b--)
{
display(16*4*j);
}
}
}
void main()
{
while(1)
{
move();
}
}
复制代码
0.png
(71 KB, 下载次数: 35)
下载附件
2016-9-9 23:44 上传
所有资料下载:
595.138点阵屏.zip
(74.98 KB, 下载次数: 62)
2016-9-9 23:45 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
november1104
时间:
2016-10-20 20:55
很好 刚好用得到
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1