查看: 537|回复: 8
打印 上一主题 下一主题

谁写过液晶JG12864M.的C程序,可以显示图片的

[复制链接] qrcode

5

主题

9

帖子

25

积分

新手上路

Rank: 1

积分
25
楼主
跳转到指定楼层
发表于 2015-12-15 10:37 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人刚开始学单片机,有谁写过液晶JG12864M.的C程序,可以显示图片的,我写了好久都写不出来,和水平有限啊!因此只能求助了,                                                                                                                                                                       
回复

使用道具 举报

61

主题

1045

帖子

2157

积分

金牌会员

Rank: 6Rank: 6

积分
2157
沙发
发表于 2015-12-18 10:06 AM | 只看该作者
要用字模转换软件将图形转换成字符代码,用程序调用就可以了.可以半屏显示                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
板凳
发表于 2015-12-27 09:42 AM | 只看该作者
19264的、320240的都整过,那个不难。

静下心来看看吧!
回复 支持 反对

使用道具 举报

0

主题

16

帖子

38

积分

新手上路

Rank: 1

积分
38
地板
发表于 2015-1-3 10:29 AM | 只看该作者
那里有类似的程序!                                                                                                                                                                       
回复 支持 反对

使用道具 举报

13

主题

376

帖子

777

积分

高级会员

Rank: 4

积分
777
5#
发表于 2015-8-21 12:48 PM | 只看该作者
是点不亮啊,还是图片部分不会写呀?需要可以联系我ranran_lcm@hotmail.com                                                                                                                                                                       
回复 支持 反对

使用道具 举报

13

主题

376

帖子

777

积分

高级会员

Rank: 4

积分
777
6#
发表于 2015-8-21 01:45 PM | 只看该作者
//Giantplus Test programme for kgm281b0 .
//IC:SSD1289 use 16bus-80i

#include
sbit RS="P3"^3;
sbit _WR=P3^1;
sbit RSET="P3"^0;
sbit _LE=P3^6;
//sbit Adr16=P3^4;
//sbit Adr17=P3^5;
sbit Adr18=P3^2;
#define uchar unsigned char
#define uint unsigned int
uchar idata a;
uint data k;
void Delay(char data1);
void W_COM(uchar data0,uchar data1,uchar data2);
void W_R22(void);
void W_DATA(uchar data1,uchar data2);
void ALLCOR(uchar sx,ex,syl,syh,eyl,eyh,rg,gb);
void ShowPicture(uchar sx,ex,syl,syh,eyl,eyh,uchar xdata *p);
void INITIAL(void);
/*--------------Delay-----------------------*/
void Delay(uchar data1)
{ uchar i,j;
for(i=0; i { for(j=0;j<0xff;j++)
{ ;
}
}
}
/*---------------Write command--------------------*/
void W_COM(uchar data0, uchar data1, uchar data2)
{ RS="0";
_WR=0;
_LE=1;
P1=0x00;
_LE=0;
P1=data0;
_WR=1;
RS=1;
_WR=0;
_LE=1;
P1=data1;
_LE=0;
P1=data2;
_WR=1;
}
/*----------Command 22h writting--------------------*/
void W_R22(void)
{ RS=0;
_WR=0;
_LE=1;
P1=0x00;
_LE=0;
P1=0x22;
_WR=1;
}
/*-----------Display data writting------------------*/
void W_DATA(uchar data1, uchar data2)
{ RS=1;
_WR=0;
_LE=1;
P1=data1;
_LE=0;
P1=data2;
_WR=1;
}
/*-----------Display internal----------------------*/
void ALLCOR(uchar sx,ex,syl,syh,eyl,eyh,rg,gb)
{ uchar j;
uint i,ey,sy;
W_COM(0x44,ex,sx);
W_COM(0x45,syh,syl);
W_COM(0x46,eyh,eyl);
W_COM(0x4E,0x00,sx);
W_COM(0x4F,syh,syl);
if (syh)
{sy=0x0100;
}
else sy="0x0000";
sy=sy+syl;
if (eyh)
{ey=0x0100;
}
else ey="0x0000";
ey=ey+eyl;
W_R22();
for (i=0; i { for (j=0; j { W_DATA(rg, gb);
}
}
}
/*
void ShowPicture(uchar sx,ex,syl,syh,eyl,eyh,uchar xdata *p)
{ uchar j;
uint i,ey,sy;
W_COM(0x44,ex,sx);
W_COM(0x45,syh,syl);
W_COM(0x46,eyh,eyl);
W_COM(0x4E,0x00,sx);
W_COM(0x4F,syh,syl);
if(syh)
{sy=0x0100;
}
else sy="0x0000";
sy=sy+syl;
if(eyh)
{ey=0x0100;
}
else ey="0x0000";
ey=ey+eyl;
W_R22();
for (i=0;i { for (j=0;j { W_DATA((*p++),(*p++));
k++;
if (k==32768)
{ k="0";
p="0x00";
a++;
Adr16=(uchar)(a%2);
Adr17=(uchar)(((uchar)(a/2))%2);
Adr18=(uchar)(((uchar)(a/4))%2);
}
}
}
}*/
/*-------------------------
void SHOWPIC(uchar xdata *P )
{ uchar i;
uint j;
long k;
if(a==2) k="32768";
else k="0";
W_COM(66,0x00); //start x-address ofthe ram
W_COM(67,0x00); //start y-address ofthe ram
W_COM(68,0x00);

W_COM(69,0);
W_COM(70,0xef);



W_COM(71,0x00);
W_COM(72,0x00);
W_COM(73,0x01);
W_COM(74,0x3f);

for(j=0;j<=0x13f;j++)
{ for(i=0;i<=0xef;i++)
{ W_DATA(~(*P++),~(*P++));
k="k"+2;
if(k==65536)
{
k=0;
P=0x00;
a++;
ADR18=((uint)(a/4))%2;
ADR17=((uint)(a/2))%2;
ADR16=a%2;
}
}
}
}
----------------------*/
/*-----------SSD1289 initial-----------------*/
void INITIAL(void)
{
W_COM(0x00,0x00,0x01);
W_COM(0x03,0xA8,0XEE);
W_COM(0x0C,0x00,0x02);
W_COM(0x0D,0x00,0x0E);
W_COM(0x0E,0x2E,0x00);
W_COM(0x01,0x61,0x3F);
W_COM(0x02,0x06,0x00);



W_COM(0x10,0x00,0x00);
W_COM(0x11,0x60,0x30);
W_COM(0x05,0x00,0x00);
W_COM(0x06,0x00,0x00);
W_COM(0x16,0xEF,0x1C);
W_COM(0x17,0x00,0x03);
// W_COM(0x07,0x00,0x01);
// W_COM(0x07,0x00,0x21);
// W_COM(0x07,0x00,0x23);
W_COM(0x07,0x02,0x33);
W_COM(0x0B,0x00,0x00);
W_COM(0x1E,0x00,0xAB);
W_COM(0x0F,0x00,0x00);
W_COM(0x41,0x00,0x00);
W_COM(0x42,0x00,0x00);
W_COM(0x48,0x00,0x00);
W_COM(0x49,0x01,0x3F);
W_COM(0x4A,0x00,0x00);
W_COM(0x4B,0x00,0x00);
W_COM(0x44,0xEF,0x00);
W_COM(0x4E,0x00,0x00);
W_COM(0x4F,0x00,0x00);
W_COM(0x45,0x00,0x00);
W_COM(0x46,0x01,0x3F);
W_COM(0x23,0x00,0x00);
W_COM(0x24,0x00,0x00);
W_COM(0x21,0x00,0x00);
}
/*--------------main-------*/
void main(void)
{
EA="0";
TMOD=0x01;
TCON=0x00;
TH0=0xD8;
TL0=0xF0;
RSET=1;
RSET=0;
Delay(0x02);
RSET=1;
Delay(0xA0);
INITIAL();
Delay(0xA0);
while(1)
{



ALLCOR(0,0xef,0,0,0x3f,0x01,0xff,0xff);//フ
Delay(0x64);

ALLCOR(1,0xee,1,0,0x3e,0x01,0x00,0x00);//娩//uchar sx,ex,syl,syh,eyl,eyh,rg,gb
Delay(0x10);

// ALLCOR(0,0xef,0,0,0x3f,0x01,0x00,0x00);//堵
// Delay(0x64);

ALLCOR(0,0xef,0,0,0x3f,0x01,0xf8,0x00);//
Delay(0x64);

ALLCOR(0,0xef,0,0,0x3f,0x01,0x07,0xe0);//厚
Delay(0x64);

ALLCOR(0,0xef,0,0,0x3f,0x01,0x00,0x1f);//屡
Delay(0x64);

ALLCOR(0x00,0x50,0x00,0x00,0x6D,0x00,0x00,0x00); //9甤瓜
ALLCOR(0x51,0xA0,0x00,0x00,0x6D,0x00,0xf8,0x00);
ALLCOR(0xA1,0xEF,0x00,0x00,0x6D,0x00,0xf8,0x1f);
ALLCOR(0x00,0x50,0x6E,0x00,0xdF,0x00,0x07,0xff);
ALLCOR(0x51,0xA0,0x6E,0x00,0xdF,0x00,0x07,0xe0);
ALLCOR(0xA1,0xEF,0x6E,0x00,0xdF,0x00,0xF0,0xE0 );
ALLCOR(0x00,0x50,0xE0,0x00,0x3f,0x01,0xff,0xe0);
ALLCOR(0x51,0xA0,0xE0,0x00,0x3f,0x01,0xff,0xff);
ALLCOR(0xA1,0xEF,0xE0,0x00,0x3f,0x01,0x00,0x1f);
Delay(0x64);

/*
k="0";
a="0";
Adr16=0;
Adr17=0;
Adr18=0;
ShowPicture(0x00,0xef,0,0,0x3f,0x01,0x0000);
Delay(0x64);


k="0x4000";
a="2";
Adr16=0;
Adr17=1;
Adr18=0;
ShowPicture(0x00,0xef,0,0,0x3f,0x01,0x8000);
Delay(0x64);


k="0";
a="5";
Adr16=1;
Adr17=0;
Adr18=1;
ShowPicture(0x00,0xef,0,0,0x3f,0x01,0x0000);
Delay(0x64);
*/
}
}
回复 支持 反对

使用道具 举报

61

主题

1045

帖子

2157

积分

金牌会员

Rank: 6Rank: 6

积分
2157
7#
发表于 2015-8-21 04:26 PM | 只看该作者
我有程序,而且是分各个函数的,C语言写的。分发送数据函数,写命令函数,读数据函数,及测忙函数。也有现实图片的例子!我以前参加电子竞赛的时候写的,一定可以用。要的话就发邮件给我:shjh511@sina.com                                                                                                                                                                       
回复 支持 反对

使用道具 举报

1

主题

12

帖子

29

积分

新手上路

Rank: 1

积分
29
8#
发表于 2015-8-21 05:57 PM | 只看该作者
感觉上面那个的程序太不好读了,液晶的程序最好写成函数和调用的形式,另外,楼主请将问题描述清楚                                                                                                                                                                       
回复 支持 反对

使用道具 举报

0

主题

16

帖子

38

积分

新手上路

Rank: 1

积分
38
9#
发表于 2015-8-21 07:13 PM | 只看该作者
我就来凑个热闹,,                                                                                                                                                                       
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表