用STC89C51制作一个16*16的点阵
PCB文件及其源码下载链接
https://download.csdn.net/download/ZhangDaXianc/13648854
- 我们想要实现一个16X16的点阵显示,则需要四块8X8的点阵(市面上也有那种16X16的点阵,奈何穷人家的孩子确实买不起),然后就是对于点阵的驱动,我们采用横向用74HC138译码器进行行选,采用64HC595列选,CPU则采用一个古老的芯片STC89C51或(AT89C51)这两个的内核相同,不用太计较。
- 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