用STC89C51制作一个16*16的点阵

用STC89C51制作一个16*16的点阵

PCB文件及其源码下载链接
https://download.csdn.net/download/ZhangDaXianc/13648854

  1. 我们想要实现一个16X16的点阵显示,则需要四块8X8的点阵(市面上也有那种16X16的点阵,奈何穷人家的孩子确实买不起),然后就是对于点阵的驱动,我们采用横向用74HC138译码器进行行选,采用64HC595列选,CPU则采用一个古老的芯片STC89C51或(AT89C51)这两个的内核相同,不用太计较。
  2. OK大概的硬件就这些,然后上电路图
    上层板

在这里插入图片描述

在这里插入图片描述
(这是PCB的上层,是放点阵屏的一层)
下层板
在这里插入图片描述

在这里插入图片描述
(这是PCB的下层主要放控制电路)
在51的P0口加上了上拉电阻,因为我们需要用到P0来操作驱动芯片
在51的 P3.0和P3.1上加了两个按键用于外部中断

3)硬件也就这些然后上代码
(代码可能过于繁琐,因为到后期我也懒得改了,就这样吧)
PS:代码实现了点阵屏上的图像左移程序

#include<STC12C5A60S2.H>
#include<intrins.h>
#define uint unsigned int      
#define uchar unsigned char
	
sbit SHCP=P1^0;//位移时钟
sbit STCP=P1^1;//锁存时钟
sbit DS=P1^2;//数据输入

code uchar Lie[16]={0x10,0x90,0x50,0xd0,0x30,0xb0,0x70,0xf0,0x01,0x09,0x05,0x0d,0x03,0x0b,0x07,0x0f};

code uchar jian[32]={
/*--  图案:  箭  --*/
0x00,0x00,0x7E,0x0E,0x81,0x86,0x40,0x4A,0x20,0x30,0x10,0x30,0x08,0x48,0x04,0x84,
0x03,0x04,0x03,0x02,0x04,0x82,0x08,0x42,0x30,0x22,0xF0,0x12,0x60,0x0A,0x20,0x04
};

code uchar Inde[][32]={
/*--  图案:  心  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x30,0x1E,0x78,0x3F,0xFC,0x3F,0xFC,0x3F,0xFC,
0x3F,0xFC,0x1F,0xF8,0x0F,0xF0,0x07,0xE0,0x03,0xC0,0x01,0x80,0x00,0x00,0x00,0x00,
0x01,0x80,0x06,0x60,0x18,0x18,0x20,0x04,0x40,0x02,0x4C,0x32,0x8C,0x31,0x80,0x01,
0x81,0x81,0x88,0x11,0x4C,0x32,0x44,0x22,0x23,0xC4,0x18,0x18,0x06,0x60,0x01,0x80

};
	
code uchar Xihuan[][32]={
/*--  文字:  我  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x20,0x0A,0x70,0x12,0x1E,0x12,0x10,0x02,0x10,0x7F,0xFF,0x02,0x10,0x22,0x10,
0x22,0x50,0x12,0x30,0x0C,0x18,0x44,0x16,0x4A,0x10,0x51,0x10,0x60,0xD4,0x40,0x08,

/*--  文字:  们  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x90,0x01,0x10,0x3D,0x10,0x20,0x48,0x20,0x48,0x20,0x4C,0x20,0x4C,0x20,0x4A,
0x20,0x49,0x20,0x48,0x20,0x48,0x20,0x48,0x20,0x48,0x20,0x48,0x28,0x48,0x10,0x48,

/*--  文字:  的  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x08,0x02,0x08,0x02,0x04,0x3E,0x7E,0x21,0x42,0x21,0x42,0x20,0xC2,0x22,0x42,
0x24,0x7E,0x24,0x42,0x20,0x42,0x20,0x42,0x20,0x42,0x20,0x7E,0x14,0x42,0x08,0x00,

/*--  文字:  相  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x3F,0x10,0x21,0x10,0x21,0x10,0x21,0x7F,0x3F,0x10,0x21,0x18,0x21,0x38,
0x21,0x54,0x3F,0x54,0x21,0x12,0x21,0x11,0x21,0x10,0x21,0x10,0x3F,0x10,0x21,0x10,

/*--  文字:  遇  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x1F,0xC4,0x12,0x48,0x1F,0xC8,0x12,0x40,0x1F,0xC0,0x02,0x0F,0x3F,0xE8,
0x22,0x28,0x2A,0x28,0x2E,0x28,0x29,0xA8,0x20,0x28,0x30,0x28,0x00,0x14,0x7F,0xE2,

/*--  文字:  也  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x00,0x80,0x00,0x88,0x0C,0x88,0x0B,0x88,0x08,0xE8,0x08,0x9C,0x08,0x8B,
0x08,0x88,0x0A,0x88,0x04,0x88,0x40,0x88,0x40,0x08,0x40,0x08,0x7F,0xF0,0x00,0x00,

/*--  文字:  许  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x01,0x00,0x01,0x04,0x01,0x08,0x3F,0x88,0x04,0x80,0x04,0x40,0x04,0x0F,0x04,0x08,
0x7F,0xC8,0x04,0x08,0x04,0x08,0x04,0x08,0x04,0x28,0x04,0x18,0x04,0x08,0x04,0x00,

/*--  文字:  只  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x0F,0xF8,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x0F,0xF8,0x08,0x08,0x00,0x00,0x04,0x10,0x08,0x10,0x10,0x08,0x20,0x04,0x20,0x02,

/*--  文字:  是  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x0F,0xF8,0x08,0x08,0x08,0x08,0x0F,0xF8,0x08,0x08,0x08,0x08,0x0F,0xF8,0x00,0x00,
0x7F,0xFF,0x00,0x80,0x00,0x88,0x1F,0x88,0x00,0x88,0x00,0x94,0x00,0xA2,0x7F,0xC1,

/*--  文字:  偶  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x08,0x3F,0xE8,0x22,0x28,0x22,0x24,0x3F,0xE4,0x22,0x26,0x22,0x26,0x3F,0xE5,
0x02,0x04,0x7F,0xF4,0x42,0x14,0x4A,0x14,0x4F,0xD4,0x48,0x94,0x50,0x14,0x20,0x14,

/*--  文字:  然  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x04,0x08,0x14,0x08,0x24,0x78,0x04,0x44,0x7F,0xCC,0x04,0x52,0x0A,0x25,0x0A,0x28,
0x11,0x10,0x11,0x08,0x20,0x84,0x40,0x42,0x00,0x00,0x11,0x12,0x22,0x22,0x22,0x21,

/*--  文字:     --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,

/*--  文字:  但  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x00,0x10,0x3F,0xD0,0x20,0x48,0x20,0x48,0x20,0x4C,0x3F,0xCC,0x20,0x4A,
0x20,0x49,0x20,0x48,0x3F,0xC8,0x20,0x48,0x00,0x08,0x00,0x08,0x7F,0xE8,0x00,0x08,

/*--  文字:  既  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x3F,0xBE,0x04,0x22,0x04,0x22,0x04,0xBE,0x04,0xA2,0x7F,0xA2,0x04,0x3E,
0x04,0x02,0x0C,0x12,0x0A,0x22,0x0A,0x52,0x49,0x4A,0x49,0x06,0x70,0x82,0x00,0x40,

/*--  文字:  然  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x04,0x08,0x14,0x08,0x24,0x78,0x04,0x44,0x7F,0xCC,0x04,0x52,0x0A,0x25,0x0A,0x28,
0x11,0x10,0x11,0x08,0x20,0x84,0x40,0x42,0x00,0x00,0x11,0x12,0x22,0x22,0x22,0x21,

/*--  文字:  我  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x20,0x0A,0x70,0x12,0x1E,0x12,0x10,0x02,0x10,0x7F,0xFF,0x02,0x10,0x22,0x10,
0x22,0x50,0x12,0x30,0x0C,0x18,0x44,0x16,0x4A,0x10,0x51,0x10,0x60,0xD4,0x40,0x08,

/*--  文字:  们  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x90,0x01,0x10,0x3D,0x10,0x20,0x48,0x20,0x48,0x20,0x4C,0x20,0x4C,0x20,0x4A,
0x20,0x49,0x20,0x48,0x20,0x48,0x20,0x48,0x20,0x48,0x20,0x48,0x28,0x48,0x10,0x48,

/*--  文字:  认  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x00,0x02,0x04,0x02,0x08,0x02,0x08,0x02,0x00,0x02,0x00,0x02,0x0F,0x02,0x08,
0x05,0x08,0x05,0x08,0x05,0x08,0x08,0xA8,0x08,0x98,0x10,0x48,0x20,0x20,0x40,0x10,

/*--  文字:  识  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x04,0x3F,0x88,0x20,0x88,0x20,0x80,0x20,0x80,0x20,0x8F,0x20,0x88,
0x3F,0x88,0x20,0x88,0x00,0x08,0x09,0x28,0x11,0x18,0x20,0x88,0x40,0x40,0x40,0x20,

/*--  文字:  了  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x1F,0xFE,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x80,0x00,0x80,
0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,

/*--  文字:     --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,

/*--  文字:  我  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x20,0x0A,0x70,0x12,0x1E,0x12,0x10,0x02,0x10,0x7F,0xFF,0x02,0x10,0x22,0x10,
0x22,0x50,0x12,0x30,0x0C,0x18,0x44,0x16,0x4A,0x10,0x51,0x10,0x60,0xD4,0x40,0x08,

/*--  文字:  就  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x04,0x0A,0x08,0x12,0x7F,0x12,0x00,0x02,0x00,0x7F,0xBE,0x0A,0x22,0x0A,0x22,
0x0A,0x22,0x0A,0x3E,0x09,0x08,0x09,0x2A,0x49,0x49,0x48,0x88,0x70,0x8A,0x00,0x44,

/*--  文字:  再  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x7F,0xFF,0x00,0x80,0x00,0x80,0x1F,0xFC,0x10,0x84,0x10,0x84,0x1F,0xFC,
0x10,0x84,0x10,0x84,0x7F,0xFF,0x10,0x04,0x10,0x04,0x10,0x04,0x14,0x04,0x08,0x04,

/*--  文字:  也  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x00,0x80,0x00,0x88,0x0C,0x88,0x0B,0x88,0x08,0xE8,0x08,0x9C,0x08,0x8B,
0x08,0x88,0x0A,0x88,0x04,0x88,0x40,0x88,0x40,0x08,0x40,0x08,0x7F,0xF0,0x00,0x00,

/*--  文字:  不  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x3F,0xFE,0x01,0x00,0x01,0x00,0x00,0x80,0x00,0x80,0x02,0xC0,0x04,0xA0,
0x08,0x90,0x10,0x88,0x20,0x84,0x20,0x82,0x00,0x81,0x00,0x80,0x00,0x80,0x00,0x80,

/*--  文字:  想  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x1F,0x10,0x11,0x10,0x11,0x7E,0x1F,0x10,0x11,0x18,0x1F,0x38,0x11,0x54,
0x11,0x12,0x1F,0x10,0x00,0x80,0x21,0x10,0x49,0x12,0x48,0x12,0x0F,0xE1,0x00,0x00,

/*--  文字:  错  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x84,0x08,0x84,0x08,0x9C,0x3F,0xE4,0x08,0x82,0x08,0x9E,0x7F,0xF5,0x00,0x04,
0x1F,0xDF,0x10,0x44,0x10,0x44,0x1F,0xC4,0x10,0x54,0x10,0x4C,0x1F,0xC4,0x10,0x40,

/*--  文字:  过  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x00,0x08,0x04,0x08,0x08,0x7F,0xE8,0x08,0x00,0x08,0x00,0x08,0x4F,0x08,0x88,
0x08,0x88,0x08,0x08,0x08,0x08,0x0A,0x08,0x04,0x08,0x00,0x14,0x7F,0xE2,0x00,0x00,

/*--  文字:  你  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x01,0x10,0x01,0x10,0x01,0x10,0x7F,0x88,0x40,0x88,0x20,0x4C,0x04,0x2C,0x04,0x0A,
0x14,0x89,0x24,0x88,0x24,0x48,0x44,0x48,0x44,0x28,0x04,0x08,0x05,0x08,0x02,0x08,

/*--  文字:  了  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x1F,0xFE,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x80,0x00,0x80,
0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,

/*--  文字:     --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,

/*--  文字:  我  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x20,0x0A,0x70,0x12,0x1E,0x12,0x10,0x02,0x10,0x7F,0xFF,0x02,0x10,0x22,0x10,
0x22,0x50,0x12,0x30,0x0C,0x18,0x44,0x16,0x4A,0x10,0x51,0x10,0x60,0xD4,0x40,0x08,

/*--  文字:  希  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x18,0x18,0x06,0x60,0x01,0x80,0x06,0x60,0x18,0x5C,0x00,0x40,0x7F,0xFF,0x01,0x20,
0x01,0x10,0x1F,0xF8,0x11,0x14,0x11,0x12,0x15,0x11,0x09,0x10,0x01,0x00,0x01,0x00,

/*--  文字:  望  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x08,0x3E,0x10,0x22,0xFF,0x3E,0x04,0x22,0x04,0x3E,0x64,0x22,0x1C,0x29,0x04,
0x10,0x80,0x3F,0xFE,0x00,0x80,0x00,0x80,0x1F,0xFC,0x00,0x80,0x00,0x80,0x7F,0xFF,

/*--  文字:  在  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x00,0x40,0x00,0x20,0x7F,0xFF,0x00,0x10,0x02,0x10,0x02,0x08,0x02,0x0C,
0x3F,0xEA,0x02,0x09,0x02,0x08,0x02,0x08,0x02,0x08,0x02,0x08,0x7F,0xF8,0x00,0x08,

/*--  文字:  多  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x00,0x40,0x0F,0xE0,0x04,0x10,0x02,0x1C,0x01,0x20,0x02,0xC0,0x01,0x30,
0x1F,0x8E,0x10,0x40,0x08,0x30,0x04,0x4C,0x02,0x80,0x01,0x80,0x00,0x70,0x00,0x0E,

/*--  文字:  年  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x08,0x00,0x08,0x3F,0xF8,0x01,0x04,0x01,0x04,0x01,0x02,0x1F,0xF8,0x01,0x08,
0x01,0x08,0x01,0x08,0x7F,0xFF,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,

/*--  文字:  以  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x00,0x08,0x20,0x08,0x44,0x08,0x84,0x08,0x84,0x08,0x04,0x08,0x04,0x04,0x04,
0x04,0x04,0x04,0x04,0x02,0x24,0x0A,0x14,0x11,0x0C,0x20,0x84,0x40,0x40,0x40,0x20,

/*--  文字:  后  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x08,0x00,0x1F,0x00,0x00,0xF8,0x00,0x08,0x00,0x08,0x7F,0xF8,0x00,0x08,0x00,0x08,
0x00,0x08,0x1F,0xE8,0x10,0x28,0x10,0x24,0x10,0x24,0x10,0x22,0x1F,0xE1,0x10,0x20,

/*--  文字:     --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,

/*--  文字:  想  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x1F,0x10,0x11,0x10,0x11,0x7E,0x1F,0x10,0x11,0x18,0x1F,0x38,0x11,0x54,
0x11,0x12,0x1F,0x10,0x00,0x80,0x21,0x10,0x49,0x12,0x48,0x12,0x0F,0xE1,0x00,0x00,

/*--  文字:  起  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x00,0x10,0x1F,0x10,0x10,0x7E,0x10,0x10,0x10,0x10,0x1F,0x7F,0x11,0x10,
0x01,0x14,0x01,0x14,0x21,0x74,0x21,0x14,0x3E,0x14,0x00,0x1A,0x7F,0xF2,0x00,0x01,

/*--  文字:  我  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x20,0x0A,0x70,0x12,0x1E,0x12,0x10,0x02,0x10,0x7F,0xFF,0x02,0x10,0x22,0x10,
0x22,0x50,0x12,0x30,0x0C,0x18,0x44,0x16,0x4A,0x10,0x51,0x10,0x60,0xD4,0x40,0x08,

/*--  文字:  高  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x00,0x80,0x7F,0xFF,0x00,0x00,0x07,0xF0,0x04,0x10,0x04,0x10,0x07,0xF0,
0x00,0x00,0x3F,0xFE,0x20,0x02,0x27,0xF2,0x24,0x12,0x24,0x12,0x27,0xF2,0x30,0x02,

/*--  文字:  中  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x1F,0xFC,0x10,0x84,0x10,0x84,0x10,0x84,
0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,

/*--  文字:  最  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x0F,0xF8,0x08,0x08,0x0F,0xF8,0x08,0x08,0x0F,0xF8,0x00,0x00,0x7F,0xFF,0x00,0x44,
0x1F,0x7C,0x11,0x44,0x09,0x7C,0x0A,0x44,0x04,0xF4,0x0A,0x4F,0x11,0x42,0x60,0xC0,

/*--  文字:  好  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x08,0x3F,0x08,0x20,0x08,0x10,0x08,0x08,0x3F,0x04,0x24,0x04,0x24,0x7F,0xA4,
0x04,0x24,0x04,0x12,0x04,0x14,0x04,0x08,0x04,0x14,0x04,0x22,0x05,0x21,0x02,0x00,

/*--  文字:  的  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x08,0x02,0x08,0x02,0x04,0x3E,0x7E,0x21,0x42,0x21,0x42,0x20,0xC2,0x22,0x42,
0x24,0x7E,0x24,0x42,0x20,0x42,0x20,0x42,0x20,0x42,0x20,0x7E,0x14,0x42,0x08,0x00,

/*--  文字:  兄  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x04,0x1F,0xFC,
0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x10,0x02,0x10,0x42,0x08,0x42,0x04,0x7C,0x03,

/*--  文字:  弟  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x04,0x10,0x04,0x20,0x02,0x20,0x1F,0xFE,0x10,0x80,0x10,0x80,0x1F,0xFC,0x00,0x84,
0x00,0x84,0x3F,0xFC,0x20,0xC0,0x20,0xA0,0x28,0x90,0x10,0x88,0x00,0x86,0x00,0x80,

/*--  文字:     --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,

/*--  文字:  脑  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x00,0x04,0x1E,0x04,0x12,0x7F,0xF2,0x00,0x12,0x00,0x1E,0x09,0x12,0x2A,0x52,
0x24,0x52,0x24,0x5E,0x2A,0x52,0x29,0x52,0x20,0x52,0x20,0x52,0x3F,0xD2,0x20,0x19,

/*--  文字:  海  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x00,0x84,0x3F,0x88,0x00,0x48,0x1F,0xA1,0x10,0x82,0x12,0x92,0x14,0x90,
0x7F,0xE8,0x10,0x88,0x12,0x47,0x14,0x44,0x3F,0xC4,0x10,0x04,0x0A,0x04,0x04,0x00,

/*--  文字:  里  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x1F,0xFC,0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x84,0x10,0x84,0x1F,0xFC,
0x00,0x80,0x00,0x80,0x1F,0xFC,0x00,0x80,0x00,0x80,0x00,0x80,0x7F,0xFF,0x00,0x00,

/*--  文字:  出  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x00,0x80,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x1F,0xFC,0x10,0x80,
0x00,0x80,0x00,0x80,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x3F,0xFE,0x20,0x00,

/*--  文字:  现  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x3F,0x80,0x20,0xBF,0x20,0x88,0x24,0x88,0x24,0x88,0x24,0x88,0x24,0xBE,
0x24,0x88,0x2A,0x88,0x0A,0x08,0x09,0x08,0x09,0x38,0x48,0x87,0x48,0x42,0x70,0x20,

/*--  文字:  的  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x08,0x02,0x08,0x02,0x04,0x3E,0x7E,0x21,0x42,0x21,0x42,0x20,0xC2,0x22,0x42,
0x24,0x7E,0x24,0x42,0x20,0x42,0x20,0x42,0x20,0x42,0x20,0x7E,0x14,0x42,0x08,0x00,

/*--  文字:  还  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x3F,0xC4,0x04,0x08,0x04,0x08,0x02,0x00,0x02,0x00,0x0B,0x0F,0x12,0x88,
0x22,0x48,0x22,0x28,0x02,0x08,0x02,0x08,0x02,0x08,0x00,0x14,0x7F,0xE2,0x00,0x00,

/*--  文字:  是  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x0F,0xF8,0x08,0x08,0x08,0x08,0x0F,0xF8,0x08,0x08,0x08,0x08,0x0F,0xF8,0x00,0x00,
0x7F,0xFF,0x00,0x80,0x00,0x88,0x1F,0x88,0x00,0x88,0x00,0x94,0x00,0xA2,0x7F,0xC1,

/*--  文字:  你  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x01,0x10,0x01,0x10,0x01,0x10,0x7F,0x88,0x40,0x88,0x20,0x4C,0x04,0x2C,0x04,0x0A,
0x14,0x89,0x24,0x88,0x24,0x48,0x44,0x48,0x44,0x28,0x04,0x08,0x05,0x08,0x02,0x08,

/*--  文字:  的  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x08,0x02,0x08,0x02,0x04,0x3E,0x7E,0x21,0x42,0x21,0x42,0x20,0xC2,0x22,0x42,
0x24,0x7E,0x24,0x42,0x20,0x42,0x20,0x42,0x20,0x42,0x20,0x7E,0x14,0x42,0x08,0x00,

/*--  文字:  名  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x00,0x40,0x0F,0xE0,0x08,0x10,0x04,0x28,0x02,0x46,0x01,0x40,0x00,0x80,
0x00,0x60,0x1F,0xF8,0x10,0x17,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,

/*--  文字:  字  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x00,0x80,0x7F,0xFE,0x40,0x02,0x20,0x01,0x07,0xF8,0x02,0x00,0x01,0x00,
0x00,0x80,0x7F,0xFF,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0xA0,0x00,0x40,

/*--  文字:     --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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,

/*--  文字:  —— --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  大  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x7F,0xFF,0x00,0x80,0x00,0x80,
0x01,0x40,0x01,0x40,0x02,0x20,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x60,0x03,

/*--  文字:  仙  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x08,0x02,0x08,0x02,0x08,0x02,0x04,0x22,0x24,0x22,0x26,0x22,0x26,0x22,0x25,
0x22,0x24,0x22,0x24,0x22,0x24,0x22,0x24,0x22,0x24,0x3F,0xE4,0x20,0x04,0x00,0x04,

/*--  文字:     --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
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

};
code Fenshan[10][32]={
0x00,0x00,0x00,0x80,0x01,0x80,0x03,0x80,0x03,0x80,0x01,0x80,0x00,0x8C,0x01,0xDE,
0x7F,0xFF,0x3D,0xC0,0x18,0x80,0x00,0xC0,0x00,0xE0,0x00,0xE0,0x00,0xC0,0x00,0x80,
0x00,0x00,0x00,0x00,0x20,0x1E,0x30,0x3C,0x38,0x38,0x3C,0x30,0x1E,0xA0,0x01,0xC0,
0x03,0xE0,0x01,0xC0,0x02,0xBC,0x06,0x1E,0x0E,0x0E,0x1E,0x06,0x3C,0x02,0x00,0x00,
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,
0x01,0x80,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,0x01,0x80,
0x01,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x04,0x20,0x05,0xA0,
0x05,0xA0,0x04,0x20,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0D,0xB0,0x0F,0xF0,0x04,0x20,0x0D,0xB0,
0x0D,0xB0,0x04,0x20,0x0F,0xF0,0x0D,0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	
0x00,0x00,0x00,0x00,0x00,0x00,0x19,0x98,0x1D,0xB8,0x0F,0xF0,0x04,0x20,0x1D,0xB8,
0x1D,0xB8,0x04,0x20,0x0F,0xF0,0x1D,0xB8,0x19,0x98,0x00,0x00,0x00,0x00,0x00,0x00,
	
0x00,0x00,0x00,0x00,0x31,0x8C,0x39,0x9C,0x1D,0xB8,0x0F,0xF0,0x04,0x20,0x3D,0xBC,
0x3D,0xBC,0x04,0x20,0x0F,0xF0,0x1D,0xB8,0x39,0x9C,0x31,0x8C,0x00,0x00,0x00,0x00,

0x00,0x00,0x61,0x86,0x71,0x8E,0x39,0x9C,0x1D,0xB8,0x0F,0xF0,0x04,0x20,0x7D,0xBE,
0x7D,0xBE,0x04,0x20,0x0F,0xF0,0x1D,0xB8,0x39,0x9C,0x71,0x8E,0x61,0x86,0x00,0x00,

0xC1,0x83,0xE1,0x87,0x71,0x8E,0x39,0x9C,0x1D,0xB8,0x0F,0xF0,0x04,0x20,0xFD,0xBF,
0xFD,0xBF,0x04,0x20,0x0F,0xF0,0x1D,0xB8,0x39,0x9C,0x71,0x8E,0xE1,0x87,0xC1,0x83,
}	;

void HC595send(uchar dat1,uchar dat2);
void delay(uint z);
void Txt_Xi();
void Tuxiang_show();
void index();
sbit LED=P1^0;

void main()
{
	EX1=1;//INT1中断允许
	EX0=1;
	EA=1;//全局中断打开
	IT1=1;//触发方式为下降沿触发
	IT0=1;
	while(1)
	{
		index();
	}
}
	

void ZhongduanOne()	 interrupt 2
{
	Tuxiang_show();
}
void ZhongduanTwo()	 interrupt 1
{
	Txt_Xi();
}

	
//-------------HC595发送函数--------------//
void HC595send(uchar dat1,uchar dat2)
	{
		uchar a;
		SHCP=0;
		STCP=0;
		for(a=0;a<8;a++)
			{
				DS=dat1&0x80;
				SHCP=0;
				_nop_();
				_nop_();
				SHCP=1;	
				dat1<<=1;
			}	
		for(a=0;a<8;a++)
			{
				DS=dat2&0x80;
				SHCP=0;
				_nop_();
				_nop_();
				SHCP=1;	
				dat2<<=1;
			}	
		STCP=0;
		_nop_();
		_nop_();
		STCP=1;
	}
//---------------------------------------//
	
//-----------------延时函数----------------//
void delay(uint z)
	{
			uint x,y;
			for(x=z;x>0;x--)
			for(y=110;y>0;y--);
	}
//----------------------------------------//
	
//-----------------图像函数----------------//
void Tuxiang_show()
{
	uint i,j,k,l,m;
		for(m=0;m<4;m++)
		{
			for(k=0;k<2;k++)
			{
				for(l=0;l<15;l++)
				{
					for(i=0,j=0;i<32;i=i+2,j++)
					{
						P0=Lie[j];
						HC595send(Fenshan[k][i],Fenshan[k][i+1]);
						delay(3);
						HC595send(0x00,0x00);
					}
				}
			}
		}
		
		for(k=2;k<10;k++)
			{
				for(l=0;l<15;l++)
				{
					for(i=0,j=0;i<32;i=i+2,j++)
					{
						P0=Lie[j];
						HC595send(Fenshan[k][i],Fenshan[k][i+1]);
						delay(3);
						HC595send(0x00,0x00);
					}
				}
			}
		for(k=9;k>1;k--)
			{
				for(l=0;l<15;l++)
				{
					for(i=0,j=0;i<32;i=i+2,j++)
					{
						P0=Lie[j];
						HC595send(Fenshan[k][i],Fenshan[k][i+1]);
						delay(3);
						HC595send(0x00,0x00);
					}
				}
			}
		for(k=0;k<100;k++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send(jian[i],jian[i+1]);
				delay(3);
				HC595send(0x00,0x00);
			}
		}
}
//----------------------------------------//
	
	
void Txt_Xi()
{
	uint i,j,k,c;
	for(k=0;k<68;k++)
	{
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send(Xihuan[k][i+1]<<(8-c),0x00);
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);
		}
		//----第一阶段
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send((Xihuan[k][i+1]>>(c))+(Xihuan[k][i]<<(8-c)),Xihuan[k][i+1]<<(8-c));
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);
		}
		//----第二阶段
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send(Xihuan[k][i]>>c,(Xihuan[k][i+1]>>c)+(Xihuan[k][i]<<(8-c)));
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);		
		}
		//----第三阶段
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send(0x00,Xihuan[k][i]>>c);
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);		
		}
		//----第四阶段			
	}
}
//----------------------------------------//

void index()
{
	uint i,j,k,c;
	for(k=0;k<2;k++)
	{
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send(Inde[k][i+1]<<(8-c),0x00);
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);
		}
		//----第一阶段
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send((Inde[k][i+1]>>(c))+(Inde[k][i]<<(8-c)),Inde[k][i+1]<<(8-c));
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);
		}
		//----第二阶段
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send(Inde[k][i]>>c,(Inde[k][i+1]>>c)+(Inde[k][i]<<(8-c)));
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);		
		}
		//----第三阶段
		for(c=0;c<8;c++)
		{
			for(i=0,j=0;i<32;i=i+2,j++)
			{
				P0=Lie[j];
				HC595send(0x00,Inde[k][i]>>c);
				delay(3);
				HC595send(0x00,0x00);
			}
			delay(300);		
		}
		//----第四阶段			
	}
}
//----------------------------------------//
	
本人也是菜鸡一个,若有不妥之处,略过就行


## **白玉卿工作室**

作者邮箱: zjkenjin@qq.com

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值