//>
显示的一个,给你吧
#include<reg52h>
#define Data P0
#define uint unsigned int
#define uchar unsigned char
sbit RS = P2^0;
sbit RW = P2^1;
sbit E = P2^2;
sbit PSB = P1^3;
sbit RET = P1^6;
/////////////////////////////////////////////////////////////////////////
// Bitmap点阵数据表 //
// : C:\桌面\1111bmp,横向取模左高位,数据排列:从左到右从上到下 //
// 尺寸: 128 64 //
/////////////////////////////////////////////////////////////////////////
unsigned char code nBitmapDot[] = // 数据表
{
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,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xBF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xBF,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,
0xFF,0xFF,0xC8,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xBF,0xFF,0xF0,0xFF,0xFD,0xEF,0xFF,
0xFF,0xFF,0x9F,0x7F,0xFF,0x93,0xFF,0xFF,
0xFF,0x3F,0xFF,0xEE,0xFF,0xFB,0xF7,0xFF,
0xFF,0xFF,0x3F,0xBF,0xFF,0xBF,0xFF,0xFF,
0xFF,0x7F,0xFF,0xDF,0x7F,0xFB,0xFB,0xFF,
0xFF,0xFF,0x7F,0x9F,0xFF,0x7F,0xFF,0xFF,
0xFF,0x3F,0xFF,0xCF,0x3F,0xF7,0xFF,0xFF,
0xFF,0xFC,0xFF,0xDF,0xFF,0x7F,0xFF,0xFF,
0xFF,0x9F,0xFF,0xEF,0x8F,0xF7,0xFC,0xFF,
0xFF,0xFB,0xFF,0xEF,0xFE,0xFF,0xFF,0xFF,
0xFF,0xDF,0xFF,0xEF,0xE0,0x0F,0xFF,0xBF,
0xFF,0xE7,0xFF,0xE7,0xFD,0xFF,0xFF,0xFF,
0xFF,0xDF,0xFF,0xCF,0xFF,0xFF,0xFF,0xDF,
0xFF,0xCF,0xFF,0xF3,0xF3,0xFF,0xFF,0xFF,
0xFF,0xDF,0xFF,0xDF,0xFF,0xFF,0xFF,0xF7,
0xFF,0x3F,0xFF,0xF9,0xC7,0xFF,0xFF,0xFF,
0xFF,0xC3,0xFF,0x9F,0xFF,0xFF,0xFF,0xFD,
0x28,0xFF,0xFF,0xFC,0xBF,0xFF,0xFF,0xFF,
0xFF,0xFC,0x00,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,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,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,0xDF,0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xDF,0xFF,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xDF,0xDF,0xFF,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,
0x9F,0xDE,0x0F,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE3,0xFC,0xCD,0xFF,0xFE,
0xFF,0x99,0xF7,0xFF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFC,0x7F,0xE4,0xFD,0x5D,0xFF,0xFF,
0xFF,0x93,0xFB,0xBF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xE7,0xFF,0xEE,0x7F,0x5D,0xFF,0xFF,
0xF7,0x9B,0xFB,0xFF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xEF,0xFF,0xDF,0x7F,0xBD,0xFF,0xFF,
0xFF,0x5F,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xEF,0xFF,0xDF,0xBF,0x3D,0xFF,0xFF,
0xF7,0x7B,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xEF,0xFF,0x94,0x3F,0x3D,0xFF,0xFF,
0xFE,0x5F,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xBF,0xBF,0x3D,0xFF,0xFF,
0xF0,0xDB,0xFB,0xBF,0xDF,0xFF,0xFF,0xFF,
0xFF,0xEF,0xFF,0x7F,0xDF,0x3D,0xFF,0xFF,
0xFF,0xDF,0xFB,0xBF,0xBF,0xFF,0xFF,0xFF,
0xFF,0xEF,0xFE,0xFF,0xDF,0x3D,0xFF,0xFF,
0xFF,0xDB,0xFB,0xBF,0xBF,0xFF,0xFF,0xFF,
0xFF,0xE7,0xFE,0xFF,0xCF,0x7E,0xFB,0xFF,
0xFF,0xDB,0xF3,0xDF,0x7F,0xFF,0xFF,0xFF,
0xFF,0xF7,0xFE,0xFF,0xFF,0x7F,0x6B,0xFF,
0xFF,0xDD,0xE7,0xE0,0x7F,0xFF,0xFF,0xFF,
0xFF,0xF0,0x17,0xFF,0xFF,0x7F,0xFF,0xFF,
0xFF,0xDC,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x5E,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x40,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF8,0x00,0x47,0xFF,0xFF,0xC3,0xFE,
0x7F,0xFF,0xFF,0xFF,0xF9,0xFF,0xFF,0xFF,
0xFF,0xF8,0x50,0x03,0xFF,0xFF,0x7D,0xFE,
0xFF,0xFF,0xFF,0xFF,0xFE,0x1F,0xFF,0xFF,
0xFF,0xFB,0xFF,0xFF,0xFF,0x17,0xFF,0xFE,
0x7F,0xFF,0xFF,0xFF,0xFF,0x0F,0xFF,0xFF,
0xFF,0xF9,0xFF,0xFF,0xFD,0xF7,0x7E,0xFE,
0xFF,0xFC,0x40,0x1F,0xFF,0xEF,0xFF,0xFF,
0xFF,0xF9,0xFF,0xFF,0xFB,0xFF,0xFE,0xFE,
0xFF,0xFC,0xFF,0xE0,0x10,0x77,0xFF,0xFF,
0xFF,0xFE,0x00,0x07,0xFB,0xFA,0xFE,0xFE,
0x7F,0xFF,0x7F,0xFF,0xEF,0x37,0xFF,0xFF,
0xFF,0xF8,0xC1,0x0B,0xFF,0xFB,0xFE,0xFE,
0x7F,0xFF,0x02,0x28,0x42,0x67,0xFF,0xFF,
0xFF,0xF8,0x38,0x0B,0xF7,0xFF,0x7E,0xFE,
0x7F,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,
0xFF,0xF8,0x08,0xA3,0xF9,0x6B,0x65,0xFF,
0x7F,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,
0xFF,0xF8,0x08,0x27,0xF7,0xFF,0x1F,0xFD,
0x7F,0xFF,0xFF,0xFF,0xFF,0xCF,0xFF,0xFF,
0xFF,0xF9,0xFF,0xFF,0xFB,0xFF,0xBF,0xFD,
0x7F,0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,
0xFF,0xF9,0xFF,0xFF,0xFB,0xFF,0x9F,0xFE,
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF9,0xFF,0xFF,0xFD,0x4F,0xE0,0x3F,
0x63,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x1C,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0x02,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};
void delayUs() ;
void wait();
void writeData(uchar dat)
{
wait();
RS = 1;
RW = 0;
E = 0;
Data = dat;
E = 1;
delayUs();
E = 0;
}
void delayUs()
{uint j,i;
for(i=2;i>0;i--)
for(j = 1; j > 0; j--);
}
void delayMs(uint a)
{
uint i, j;
for(i = a; i > 0; i--)
for(j = 100; j > 0; j--);
}
bit checkBusy()
{
bit busy;
RS = 0;
RW = 1;
E = 1;
delayUs();
busy = (bit)(Data&0x80);
E = 0;
return busy;
}
void wait()
{
while(checkBusy());
}
void writeCmd(uchar cmd)
{
wait();
RS = 0;
RW = 0;
E = 0;
delayUs();
Data = cmd;
delayUs();
E = 1;
delayUs();
E = 0;
}
void init()
{ RET=1;
PSB = 1; //并口方式
writeCmd(0x30); //基本指令, 扩充指令为34H
delayMs(20);
writeCmd(0x0c); //显示开, 关光标
delayMs(20);
writeCmd(0x01); //清屏
delayMs(20);
}
void display(uchar p)
{ uchar x,y;
for(y=0;y<32;y++)
for (x=0;x<8;x++)
{ writeCmd(0x36);
writeCmd(0x80+y);
writeCmd(0x80+x);
writeData(p[2x+16y]); writeData(p[2x+16y+1]); writeCmd(0x30);
}
for(y=0;y<32;y++)
for (x=0;x<8;x++)
{ writeCmd(0x36);
writeCmd(0x80+y);
writeCmd(0x80+x+8);
writeData(p[2x+16y+512]); writeData(p[2x+16y+513]); writeCmd(0x30);
}
}
void main()
{
RET=0;
init();
while(1)
{
display(nBitmapDot); delayMs(100000);
} }
买12864液晶屏时,厂家都会给测试程序的,就是C语言的。根据测试程序,改一下引脚定义就行了,编译一下测试程序,看能不能显示。如果能显示了,就可以自己根据测试程序一点点修改。
如果找不到厂家,就只好在网上找了,但不容易与你的晶屏相符。
实在不会,读一下测试程序,显示汉字的方法都是,用汉字取模软件,先取汉字点阵数据,用这些数据代替测试程序的点阵数据,看是不是能显示自己的取模的汉字了。
因液晶屏显示汉字,取模方式有多种,如果显示乱码,说明取模方式不对,再换一种,直到显示出汉字为止。这样就可以,对测试程序进行修改成自己看得懂,又实用的程序了。
以上就是关于求一FPGA控制LCD12864程序,程序用VHDL编写,且LCD是串行发送数据,急求!!!全部的内容,包括:求一FPGA控制LCD12864程序,程序用VHDL编写,且LCD是串行发送数据,急求!!!、用AT89C52,使其在128*64点阵LCD屏幕上显示“河南理工大学”,并向上滚动显示,一下是部分程序,帮忙解释、求一个STC-89C52RC控制12864液晶显示的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)