本帖最后由 yingguang 于 2023-1-18 19:34 编辑
前几天在老王家买了几个屏玩玩,本人新手,主要是学习一下,在网上找个程序测试屏幕,运行后屏幕只有一行显示所有信息,一段汉子和一个点阵图,请帮忙看看是什么问题?
源程序:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define DelayNOP() {_nop_();_nop_();_nop_();_nop_();}
sbit CS = P2^0;
sbit RES = P2^1;
sbit A0 = P2^2;
sbit SCLK = P2^3;
sbit SDA= P2^4;
uchar code Q[][32]=
{
/*-- 文字: 谢 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x40,0x42,0xCC,0x00,0x00,0xFC,0x56,0x55,0xFC,0x80,0x10,0x10,0xFF,0x10,0x10,0x00,
0x00,0x00,0x3F,0x10,0x2A,0x13,0x4A,0x86,0x7F,0x00,0x43,0x80,0x7F,0x00,0x00,0x00},
/*-- 文字: 谢 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x40,0x42,0xCC,0x00,0x00,0xFC,0x56,0x55,0xFC,0x80,0x10,0x10,0xFF,0x10,0x10,0x00,
0x00,0x00,0x3F,0x10,0x2A,0x13,0x4A,0x86,0x7F,0x00,0x43,0x80,0x7F,0x00,0x00,0x00},
/*-- 文字: --*/
/*-- 宋体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},
/*-- 文字: 5 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0xF8,0x88,0x88,0x88,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x19,0x20,0x20,0x20,0x11,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 1 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 黑 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x00,0x3E,0x22,0x2A,0x32,0x22,0xFE,0x22,0x32,0x2A,0x22,0x3E,0x00,0x00,0x00,
0x88,0x68,0x09,0x09,0x29,0xC9,0x09,0x0F,0x29,0xC9,0x09,0x09,0x29,0xC8,0x08,0x00},
/*-- 文字: 电 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00,
0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x7F,0x88,0x88,0x88,0x88,0x9F,0x80,0xF0,0x00},
/*-- 文字: 子 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 论 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x40,0x40,0x42,0xCC,0x00,0x40,0x20,0x90,0x0C,0x03,0x0C,0x90,0x20,0x40,0x40,0x00,
0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x3F,0x44,0x42,0x41,0x40,0x40,0x70,0x00,0x00},
/*-- 文字: 坛 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x20,0x20,0x20,0xFF,0x20,0x20,0x40,0x44,0x44,0x44,0xC4,0x44,0x44,0x44,0x40,0x00,
0x10,0x30,0x10,0x0F,0x08,0x08,0x20,0x70,0x28,0x26,0x21,0x20,0x28,0x30,0x60,0x00},
/*-- 文字: , --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 让 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x40,0x40,0x42,0xCC,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x00,0x00,
0x00,0x00,0x00,0x3F,0x50,0x48,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x00},
/*-- 文字: 大 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,
0x80,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x20,0x40,0x80,0x80,0x00},
/*-- 文字: 家 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x10,0x2C,0x24,0x24,0xA4,0xA4,0x65,0xA6,0x24,0x24,0x24,0x24,0xA4,0x34,0x0C,0x00,
0x40,0x49,0x49,0x29,0x24,0x14,0x52,0x89,0x7F,0x04,0x0A,0x11,0x10,0x20,0x20,0x00},
/*-- 文字: 有 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x04,0x04,0x04,0x84,0xE4,0x3C,0x27,0x24,0x24,0x24,0x24,0xE4,0x04,0x04,0x04,0x00,
0x04,0x02,0x01,0x00,0xFF,0x09,0x09,0x09,0x09,0x49,0x89,0x7F,0x00,0x00,0x00,0x00},
/*-- 文字: 个 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x80,0x80,0x40,0x20,0x10,0x08,0x04,0xC3,0x04,0x08,0x10,0x20,0x40,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 很 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x10,0x88,0xC4,0x33,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,
0x02,0x01,0x00,0xFF,0x00,0x00,0xFF,0x40,0x20,0x03,0x0C,0x14,0x22,0x41,0x40,0x00},
/*-- 文字: 好 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x10,0x10,0xF0,0x1F,0x10,0xF0,0x00,0x80,0x82,0x82,0xE2,0x92,0x8A,0x86,0x80,0x00,
0x40,0x22,0x15,0x08,0x16,0x61,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 的 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0xF8,0x0C,0x0B,0x08,0x08,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0xF8,0x00,0x00,
0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,0x43,0x80,0x40,0x3F,0x00,0x00},
/*-- 文字: 学 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,
0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00},
/*-- 文字: 习 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x02,0x02,0x02,0x12,0x22,0xC2,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
0x00,0x08,0x18,0x08,0x04,0x04,0x04,0x02,0x02,0x41,0x81,0x40,0x3F,0x00,0x00,0x00},
/*-- 文字: 机 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x10,0x10,0xD0,0xFF,0x90,0x10,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,
0x04,0x03,0x00,0xFF,0x00,0x83,0x60,0x1F,0x00,0x00,0x00,0x3F,0x40,0x40,0x78,0x00},
/*-- 文字: 会 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x40,0x40,0x20,0x20,0x50,0x48,0x44,0x43,0x44,0x48,0x50,0x20,0x20,0x40,0x40,0x00,
0x00,0x02,0x42,0xE2,0x52,0x4A,0x46,0x42,0x42,0x42,0x52,0x62,0xC2,0x02,0x00,0x00},
/*-- 文字: , --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x58,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 第 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x08,0x04,0x93,0x92,0x96,0x9A,0x92,0xFA,0x94,0x93,0x92,0x96,0xFA,0x02,0x02,0x00,
0x40,0x40,0x47,0x24,0x24,0x14,0x0C,0xFF,0x04,0x04,0x24,0x44,0x24,0x1C,0x00,0x00},
/*-- 文字: 一 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 个 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x80,0x80,0x40,0x20,0x10,0x08,0x04,0xC3,0x04,0x08,0x10,0x20,0x40,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: 成 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0x08,0x08,0xFF,0x08,0x09,0x0A,0xC8,0x08,0x00,
0x80,0x60,0x1F,0x00,0x10,0x20,0x1F,0x80,0x40,0x21,0x16,0x18,0x26,0x41,0xF8,0x00},
/*-- 文字: 功 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x10,0x10,0xFF,0x10,0x10,0x10,0xF0,0x00,0x00,
0x10,0x30,0x10,0x1F,0x08,0x88,0x48,0x30,0x0E,0x01,0x40,0x80,0x40,0x3F,0x00,0x00},
/*-- 文字: 了 --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xE2,0x22,0x12,0x0A,0x06,0x02,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
/*-- 文字: ! --*/
/*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
{0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
};
uchar code Clip_BMP[1008]=
{
/*-- 宽度x高度=128x64 --*/
/* 0X22,0X01,0X62,0X00,0X40,0X00, */
/* 0X22,0X01,0X7E,0X00,0X40,0X00, */
0XFF,0XFF,0XFF,0X7B,0XA7,0XCF,0X6B,0X03,0X84,0X87,0X0B,0XCF,0X87,0XFB,0XFF,0XFF,
0XFA,0XFE,0XF2,0XF8,0XE4,0XF8,0XF2,0XFE,0XE6,0XF7,0X77,0X7F,0X6F,0XAF,0X9F,0XDF,
0XDF,0XDF,0X5F,0X7D,0XFB,0X51,0XD4,0X86,0XE8,0XDB,0XBD,0XFD,0X7F,0XFF,0XFF,0XCC,
0X5C,0X5C,0X5C,0XD7,0X77,0X7F,0XEE,0XBE,0X9E,0X7D,0XFD,0XF9,0X00,0X0E,0XFE,0XFE,
0XFE,0XAF,0XBF,0XA7,0X0F,0X13,0X0F,0XA7,0XBF,0XBF,0XFC,0XFC,0XFC,0XFF,0XFF,0XFF,
0X3F,0X5C,0X1C,0X2C,0X1A,0X7A,0X78,0XF2,0XE3,0XC8,0XC9,0XF9,0XBA,0X2A,0X81,0XD2,
0XCE,0XC0,0X46,0X87,0XF8,0XA9,0X3D,0XFD,0XF2,0XD8,0XD8,0XDF,0XDF,0XDF,0XFF,0XFF,
0X9F,0XBF,0XEF,0X7F,0X77,0XFF,0XFF,0XF6,0XF7,0XFF,0XF7,0XE3,0XE3,0XE3,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFB,0XFB,0XFF,0XFF,0XFD,0XF6,0XF7,0XFB,0XFF,0XF5,0XF5,0XF5,
0XE5,0X44,0X6D,0X7D,0XBD,0XD3,0XEA,0XBC,0X96,0XE2,0XFC,0XFE,0XFF,0XFF,0XFE,0XFB,
0XFB,0XED,0X25,0XB7,0XBF,0X5F,0XAC,0XD0,0X60,0XE1,0X1E,0XF0,0XE3,0XCF,0X9F,0X3E,
0X7F,0X7C,0X7E,0XF9,0X3E,0X7C,0X7F,0XC6,0X9F,0X3F,0X7F,0XFF,0XFF,0XFF,0XFE,0XFD,
0X7E,0X3D,0X84,0XFF,0XFE,0X7F,0X7F,0X7F,0X3F,0X9F,0XCF,0XE0,0XFC,0XF9,0XF0,0XC5,
0XAD,0X59,0XF5,0XAF,0X4B,0XEB,0XFE,0XFE,0XDE,0XBC,0X3A,0XFB,0XEB,0XCB,0XDF,0XFF,
0XF7,0XF7,0XCE,0XED,0XFB,0X7B,0XFF,0XFE,0XF6,0XF6,0XFE,0XFE,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0X73,0X03,0X33,0XA3,0XAD,0XDC,0X20,0XCC,0XAD,0XB3,0X33,0X23,0X7B,0XFF,0XFD,
0XFD,0XFF,0XF2,0XFB,0XFD,0XFD,0XFB,0XF9,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFE,0XFC,0XF8,0XF0,0XF0,0X00,0X00,0X00,0X01,0X01,0X01,0X01,0X00,0X00,0X01,
0XF0,0XF0,0XF8,0XF8,0XFE,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
0XFD,0XFF,0XFF,0XFE,0XFD,0XFF,0XFD,0XF9,0XFD,0XF7,0XEF,0X8F,0XCF,0X4F,0XFB,0XE3,
0X07,0X07,0X3B,0X00,0X1B,0X07,0X27,0XE3,0XFF,0X4F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7F,0X7F,0X3F,0X3F,0X3F,0X3F,0X1F,0X1F,0X1F,0X1F,
0X1E,0X3E,0X3E,0X3D,0X3D,0X38,0X3D,0X3D,0X3E,0X3E,0X3E,0X3F,0X3F,0X3F,0X3F,0X3F,
0X3F,0X3F,0X3F,0X3F,0X3F,0X3F,0X3F,0X3F,0X3F,0X1F,0X1F,0X1F,0X1F,0X1F,0X1F,0X0F,
0X0F,0X07,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XE0,0XFC,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0XEE,0XE2,0XF6,0XE4,0XBE,0X8E,0XC4,0XE0,
0XB0,0X40,0XB8,0XC0,0XC4,0X8E,0XBE,0XE4,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XF7,0XF3,0XF8,0XC0,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,0XC0,0XF0,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFC,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0X7F,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XC0,
0XC0,0X80,0X80,0X80,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,
0X80,0X80,0X80,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC0,0XE0,
0XF0,0XF0,0XF8,0XFC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F,0X03,0X01,
0X80,0XC0,0XE0,0X80,0X00,0X00,0XF8,0XFC,0XFE,0XFE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFE,0X00,0X00,0X00,0XC0,0X00,0X00,0X00,0XF0,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3F,0X03,0X80,0XF0,0XFC,0XFF,0XFF,
0XFF,0XFF,0XFE,0XF8,0XC0,0X03,0X0F,0X3F,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0X00,0X00,0XFC,0XFF,0X00,0X00,0XFC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
};
void DelayMS(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void Write_Command(uchar c)
{
uchar i;
SCLK = 0;
CS = 0;
A0 = 0;
DelayNOP();
for(i=0;i<8;i++)
{
c<<=1;
SDA = CY;
SCLK = 1;
DelayNOP();
SCLK = 0;
}
DelayNOP();
CS = 1;
}
void Write_Data(uchar d)
{
uchar i;
SCLK = 0;
CS = 0;
A0 = 1;
DelayNOP();
for(i=0;i<8;i++)
{
d<<=1;
SDA = CY;
SCLK = 1;
DelayNOP();
SCLK = 0;
}
DelayNOP();
CS = 1;
}
void Init_LCD()
{
//硬复位
RES = 0;
DelayMS(10);
RES = 1;
DelayMS(20);
Write_Command(0xa2);//软复位
Write_Command(0xaf);//0xaf显示器开
Write_Command(0x2f);//0x2f升压电路,电压管理电路,
Write_Command(0x25); //0x20-0x27为V5电压内部电阻调整设置 ,重要否则黑屏
Write_Command(0x81);// SET EV 调对比度,测试暂时无效
Write_Command(0x31);//0x01-0x3f电量寄存器设置模式
Write_Command(0xa1);//0xa0为Segment正向,0xa1 为Segment反向 ,如果模拟测试下实际不一样调整
Write_Command(0xc0);//0xc0正向扫描,0xc8反射扫描
Write_Command(0xa6);//0xa6正向显示,0xa7反向显示 即,黑白屏的意思
Write_Command(0xa4);//0xa4正常显示,0xa5全屏点亮
Write_Command(0x1b);
Write_Command(0xf8);//背压比设置
Write_Command(0x00);//00--10 MSBox10为高位开始 , LSB 0x00为从低位开始
//Write_Command(0x2c);
//Write_Command(0x2e);
// Disp_Off();//清屏
}
void Disp_All()
{
uchar i,j;
Write_Command(0x40);
for(i=0;i<8;i++)
{
Write_Command(0xb0+i);
Write_Command(0x10);
Write_Command(0x00);
for(j=0;j<128;j++)
{
Write_Data(0xff);
}
}
}
void Disp_Off()
{
uchar i,j;
Write_Command(0x40);
for(i=0;i<8;i++)
{
Write_Command(0xb0+i);
Write_Command(0x10);
Write_Command(0x00);
for(j=0;j<128;j++)
{
Write_Data(0x00);
}
}
}
void Disp_Q()
{
uchar i,j,k;
Write_Command(0x40);
for(i=0;i<1;i++)
{
Write_Command(0xb0+i);
Write_Command(0x10);
Write_Command(0x00);
// Write_Command(0x40+2);
for(j=0;j<1;j++)
{
for(k=0;k<64;k++){
if(k%16==0){
++i;
Write_Command(0xb0+i);
Write_Command(0x10-2);
//Write_Command(0x00);
//
}
if(k%32==0){
--i;
Write_Command(0xb0+i);
}
Write_Data(Q[k]);
DelayMS(50);
}
}
}
}
/**
中文16*16 文字输出
*/
void xianshi()
{
uchar i,j,k,l;
k=0;
Write_Command(0x40); //Y轴的开始地址行地址start line Y轴的地址从上到下共 0-63行
//先计算出数组的长度
for (j = 0; j <sizeof(Q)/sizeof(Q[0]); j++)
//for (j = 0; j <11; j++)
{
if (j % 8 == 0 &&j>0){
k=k+2;
DelayMS(1000);
}
l=j%8; //只要是8个字后,自动从左到右开始计算
Write_Command(0xb0+k); //0-8页地址page
Write_Command(0x10+l); // X 轴从左到右16位,0-8页即 16*8=128 MBS
// Write_Command(0x00); // X 轴从右到左16位,0-8页即 16*8=128 LBS
for(i=0;i<16;i++)
{
Write_Data(Q[j]);
}
Write_Command(0xb0+1+k);
Write_Command(0x10+l);
for(i=0;i<16;i++)
{
Write_Data(Q[j][i+16]);
}
}
}
void Disp_Clip()
{
uchar i,j;
Write_Command(0x40);
for(i=0;i<8;i++)
{
Write_Command(0xb0+i);
Write_Command(0x10);
Write_Command(0x00);
for(j=0;j<128;j++)
{
Write_Data(Clip_BMP[i*128+j]);
//DelayMS(000);
}
}
}
void main()
{
Init_LCD();
//DelayMS(5);
Disp_All();
DelayMS(200);
while(1)
{
xianshi();
//Disp_Q();
DelayMS(20000);
Disp_All();
Disp_Clip();
DelayMS(50000);
Disp_All();
}
}
|