求无字库12864液晶显示图像的51单片机程序,C语言版的

求无字库12864液晶显示图像的51单片机程序,C语言版的,第1张

标准的一般都是这个程序

#include <reg52h>

#include <mathh>

#define lcd_data P1

sbit cs1=P2^3;

sbit cs2=P2^4;

sbit di=P2^0;

sbit rw=P2^1;

sbit e=P2^2;

void delay(int t)

{

int i,j,k;

for(i=0;i<t;i++)

{ for(j=0;j<255;j++)

k++;}

}

void write_com_l(unsigned int command)

{

cs1=1;

rw=0;

di=0;

lcd_data=command;

e=1;

e=0;

cs1=0;

}

void write_data_l(unsigned int data0)

{

cs1=1;

rw=0;

di=1;

lcd_data=data0;

e=1;

e=0;

cs1=0;

}

void write_com_r(unsigned int command)

{

cs2=1;

rw=0;

di=0;

lcd_data=command;

e=1;

e=0;

cs2=0;

}

void write_data_r(unsigned int data0)

{

cs2=1;

rw=0;

di=1;

lcd_data=data0;

e=1;

e=0;

cs2=0;

}

void disp0()

{

unsigned int i,j;

for (i=0;i<8;i++)

{write_com_l(0xb8+i);

write_com_r(0xb8+i);

write_com_l(0x40);

write_com_r(0x40);

for (j=0;j<64;j++)

{write_data_l(0xaa);

write_data_r(0xaa);

}

}

}

void disp1()

{

unsigned int i,j;

for (i=0;i<8;i++)

{write_com_l(0xb8+i);

write_com_r(0xb8+i);

write_com_l(0x40);

write_com_r(0x40);

for (j=0;j<64;j++)

{write_data_l(0x55);

write_data_r(0x55);

}

}

}

void disp2()

{

unsigned int i,j;

for (i=0;i<8;i++)

{write_com_l(0xb8+i);

write_com_r(0xb8+i);

write_com_l(0x40);

write_com_r(0x40);

for (j=0;j<64;j++)

{write_data_l(0x0f);

write_data_r(0x0f);

}

}

}

void disp3()

{

unsigned int i,j;

for (i=0;i<8;i++)

{write_com_l(0xb8+i);

write_com_r(0xb8+i);

write_com_l(0x40);

write_com_r(0x40);

for (j=0;j<64;j++)

{write_data_l(0xf0);

write_data_r(0xf0);

}

}

}

void init_lcd() //初始化LCD清屏

{

write_com_l(0x3e);

write_com_r(0x3e);

write_com_l(0x3f);

write_com_r(0x3f);

write_com_l(0xc0);

write_com_r(0xc0);

write_com_l(0xb8);

write_com_r(0xb8);

write_com_l(0x40);

write_com_r(0x40);

for(;1;)

{

disp0();

delay(0x0ff);

disp1();

delay(0x0ff);

disp2();

delay(0x0ff);

disp3();

delay(0x0ff);

}

}

void main()

{

IE=0x81;

init_lcd();

}

void innt0 () interrupt 0

{

do {}while(1);

}

买12864液晶屏时,厂家都会给测试程序的,就是C语言的。根据测试程序,改一下引脚定义就行了,编译一下测试程序,看能不能显示。如果能显示了,就可以自己根据测试程序一点点修改。

如果找不到厂家,就只好在网上找了,但不容易与你的晶屏相符。

实在不会,读一下测试程序,显示汉字的方法都是,用汉字取模软件,先取汉字点阵数据,用这些数据代替测试程序的点阵数据,看是不是能显示自己的取模的汉字了。

因液晶屏显示汉字,取模方式有多种,如果显示乱码,说明取模方式不对,再换一种,直到显示出汉字为止。这样就可以,对测试程序进行修改成自己看得懂,又实用的程序了。

clk=0;clk=1;clk=0;这是一个完整的CLK时钟周期,看图SCLK。

延时并没有实际的意义,主要功能是让电平保持一段时间供识别的,一般微秒级的延时就够了。

同步时钟信号,就是前面讲的clk=0;clk=1;clk=0;这样来实现的,只不过程序中是用的循环,8次循环,正好是可以传输8bit的数据。

以上就是关于求无字库12864液晶显示图像的51单片机程序,C语言版的全部的内容,包括:求无字库12864液晶显示图像的51单片机程序,C语言版的、不带中文字库的12864液晶怎么用C写程序然后通过51单片机控制、51单片机控制12864液晶屏串行通信时序图与程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10120893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存