wanglituan 发表于 2010-3-21 16:49:35

液晶测试程序(后续会慢慢上传)

液晶模组测试画面一般有全黑、全白、横线单、横线双、竖线单、竖线双、雪花、方框、字符、图形画面等。不同的公司当然会不一样。
1.字符型程序
http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_539989.JPG
16205 (原文件名:16205.JPG)

http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_539990.JPG
20200 (原文件名:20200.JPG)

http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_539991.JPG
40400 (原文件名:40400.JPG)

//*********--------09.03.01--------****
//********Character LCM screen test****
//********MICROTIPS TECHNDLOGY-----****
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define Data_Port P0

uchar code DATA[]={0xff,0xff,0xff,0x00,0x00,0xff,
                   0x55,0x55,0xaa,0xaa,0x55,0xaa,0xaa,0x55};

sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
sbit NEXT=P1^3;
sbit LAST=P1^4;
sbit AUTO=P1^5;
uchar num,k;
uchar i,j;

void init();
void delay1ms(uint z);
void write_com(uchar com);
void write_data(uchar date);
void show();
void displaydata();
void displaydata1();
void key();

void main()
{
        init();
        show();
        displaydata();// written characters Library function
        while(1)
        {       
                key();       
        }
}

void key()
{
    if(NEXT==0) //The next screen               
        {
                  delay1ms(30);
                if(NEXT==0)
                {
                      k++;
                        if(k>11)
                                k=1;
                        while(!NEXT);
                        write_com(0x01);//Clean screen
                        show();
                }
        }
    if(LAST==0) //The last screen               
        {
                  delay1ms(30);
                if(LAST==0)
                {
                      k--;
                        if(k<1)
                                k=11;
                        while(!LAST);
                        write_com(0x01);//Clean screen
                        show();
                }
        }
    if(AUTO==0) //Automatically switch the screen       
        {
                  delay1ms(30);
                if(AUTO==0)
                {
                        delay1ms(30);
                        while(!AUTO);
                        write_com(0x01);//Clean screen
                        for(k=1;k<12;k++)
                        {
                                show();
                                delay1ms(2000);       
                        }
                }
        }       
}

void show()
{
        switch(k)
        {
                case 1://Special characters
                        write_com(0x80);
                        for(num=0;num<40;num++)
                                write_data(0x41+num);
                        write_com(0x80+0x40);
                        for(num=0;num<40;num++)          
                                write_data(0x61+num);
                        break;
                case 2://All black
                        write_com(0x80);
                        for(i=0;i<40;i++) write_data(0x00);

                        write_com(0xc0);
                        for(i=0;i<40;i++) write_data(0x00);
                        break;
                case 3:
                        write_com(0x80);//display first line
                        for(i=0;i<40;i++) write_data(0x07);
                        write_com(0xc0);//display scecond line
                        for(i=0;i<40;i++) write_data(0x07);
                        break;
                case 4:
                        write_com(0x01);//All white
                        break;
                case 5://Single Common line
                        write_com(0x80);
                        for(i=0;i<40;i++) write_data(0x01);
                        write_com(0xc0);
                        for(i=0;i<40;i++) write_data(0x01);
                        break;
                case 6://Double Common line
                        write_com(0x80);
                        for(i=0;i<40;i++) write_data(0x02);
                        write_com(0xc0);
                        for(i=0;i<40;i++) write_data(0x02);
                        break;
                case 7://Single Segment lines
                        write_com(0x80);
                        for(i=0;i<40;i++) write_data(0x03);
                        write_com(0xc0);
                        for(i=0;i<40;i++) write_data(0x03);
                        break;
                case 8://Double Segment lines
                        write_com(0x80);
                        for(i=0;i<40;i++) write_data(0x04);
                        write_com(0xc0);
                        for(i=0;i<40;i++) write_data(0x04);
                        break;
                case 9://Snowflake 1
                        write_com(0x80);
                        for(i=0;i<40;i++) write_data(0x05);
                        write_com(0xc0);
                        for(i=0;i<40;i++) write_data(0x05);
                        break;
                case 10://Snowflake 2
                        write_com(0x80);
                        for(i=0;i<40;i++) write_data(0x06);
                        write_com(0xc0);
                        for(i=0;i<40;i++) write_data(0x06);
                        break;
                case 11://Special characters
                        write_com(0x80);
                        for(num=0;num<40;num++)
                                write_data(0xb0+num);
                        write_com(0x80+0x40);
                        for(num=0;num<40;num++)
                                write_data(0xe0+num);
                        break;
        }
}
void displaydata()
{
        uchar i,j;
        write_com(0x40);//set cgram
        for(i=0;i<14;i+=2)
        {
                for(j=0;j<4;j++)
                {
                        write_data(DATA);               
                        write_data(DATA);
                }   
        }
        write_data(0xff);               
        write_data(0x11);   
        write_data(0x11);
        write_data(0x11);
        write_data(0x11);   
        write_data(0x11);
        write_data(0x11);
        write_data(0xff);
}

void init()//Initialization Functions
{
        EN=0;
        k=1;
        write_com(0x38);//Set16*2,5*7,8-bit data interface
        write_com(0x0c);//Open show,Don't show Cursor and Blinking cursor
        write_com(0x06);//Automatic cursor 1,All screen display will not move
        write_com(0x01);//Clean screen                       
}
void delay1ms(uint z)//delay 1ms Functions
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=50;y>0;y--);       
}
void write_com(uchar com)//Writing directive Functions
{
        RS=0;
        RW=0;
        Data_Port=com;
        delay1ms(1);
        EN=1;//Give EN a high pulse
        delay1ms(1);
        EN=0;       
}
void write_data(uchar date)//Write date function
{
        RS=1;
        RW=0;
        Data_Port=date;
        delay1ms(1);
        EN=1;//Give EN a high pulse
        delay1ms(1);
        EN=0;
}

shwty 发表于 2010-3-21 16:54:35

mark 谢谢!

wanglituan 发表于 2010-3-21 17:00:19

2.图形12232(SED1520)

点击此处下载 ourdev_539992.zip(文件大小:1.20M) (原文件名:12232.zip)

wanglituan 发表于 2010-3-21 17:06:11

3.图形12864(KS0107,KS0108)

http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_540014.JPG
(原文件名:12864(KS108).JPG)

点击此处下载 ourdev_540015.zip(文件大小:854K) (原文件名:12864(KS0108).zip)

wanglituan 发表于 2010-3-21 17:14:41

4.图形12864(COG-S6B1713)
---时序:6800    duty:1/65

http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_540043.JPG
(原文件名:12864(S6B1713).JPG)

http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_540044.JPG
(原文件名:12864(S6B1713)2.JPG)

http://cache.amobbs.com/bbs_upload782111/files_27/ourdev_540045.JPG
(原文件名:12864.JPG)

点击此处下载 ourdev_540046.zip(文件大小:168字节) (原文件名:12864(S6B1713).zip)

1181zjf 发表于 2010-3-21 18:20:13

MARK

jbzzz 发表于 2010-3-21 18:48:29

thanks.

jbzzz 发表于 2010-3-21 18:53:13

thanks.

fool_boy 发表于 2010-3-21 18:54:30

留个记号

zhangchengxx 发表于 2010-3-23 21:28:11

look 学习下

wanglituan 发表于 2010-3-27 23:17:38

320240(RA8835&SED1335)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_541698.JPG
(原文件名:320240.JPG)

点击此处下载 ourdev_541699.zip(文件大小:35K) (原文件名:32240_8835.zip)

wanglituan 发表于 2010-5-6 18:05:52

点击此处下载 ourdev_551928.zip(文件大小:39K) (原文件名:SBN6400G_16050.zip)
16050COB模组用到IC为SBN6400G和SBN0064G,可代替KS0107和KS0108.

wanglituan 发表于 2010-5-6 18:06:59

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_551930.JPG
(原文件名:16050.JPG)

21006091 发表于 2010-5-6 18:14:29

标记此贴

chen441256 发表于 2010-5-8 22:12:33

3Q 继续上传啊,LZ,我也是LCD测试的,传上来学习学习!

wanglituan 发表于 2010-5-9 00:17:40

来个TAB的12864带16按键的矩阵键盘。
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_552518.jpg
(原文件名:DSCN2110.jpg)

http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_552519.jpg
(原文件名:DSCN2109.jpg)

点击此处下载 ourdev_552520.zip(文件大小:762K) (原文件名:NT7534_12864.zip)

jack_yu 发表于 2010-5-9 01:01:54

mark

jack_yu 发表于 2010-5-9 01:02:06

mark

chen441256 发表于 2010-5-10 23:23:23

LZ有没有段码式的LCD驱动代码!发上来看看!用波形驱动的

wangshaosh 发表于 2010-5-13 17:48:12

5110液晶
8个引脚
电路非常简单
图片我不会上传 你们百度一下~~~

xinyou 发表于 2010-5-14 01:22:14

mark

fq121312 发表于 2010-5-27 16:28:16

楼主有没有24064的液晶资料啊?这方面很少的

wanglituan 发表于 2010-5-27 19:43:34

来传个长沙太阳人电子有限公司24064的程序 T6963的控制器 
点击此处下载 ourdev_557540.zip(文件大小:3.78M) (原文件名:24064_T6963.zip)

后面这个是我自己写的可以正常点亮就是读取字符不正常
点击此处下载 ourdev_557541.zip(文件大小:461K) (原文件名:6963.zip)

whsh304 发表于 2010-11-20 19:41:09

mark

arvidwen 发表于 2010-11-24 00:15:50

mark

xuesheng 发表于 2010-11-24 07:06:49

机号

mysignal 发表于 2010-11-24 11:28:28

机号

vcrm 发表于 2010-11-24 12:56:49

mark

zxs2000 发表于 2010-11-24 14:06:26

学习了!

xyq4513 发表于 2010-11-24 19:16:26

mark

caaron168 发表于 2011-9-21 09:20:54

好全面啊,MARK

kingwaykingway 发表于 2011-9-21 11:39:14

不错。。mark

416446891 发表于 2011-9-21 15:47:56

MARK期待

09jwjian 发表于 2011-9-22 19:11:56

学习了。

ece123 发表于 2011-12-6 11:11:24

MARK

lotuss 发表于 2011-12-6 15:22:14

回复【1楼】shwty
MARK

c63584197 发表于 2011-12-6 15:34:17

学习!~~~~~

OyutianO 发表于 2011-12-6 15:55:38

mark

zhaoliang056 发表于 2011-12-8 13:53:28

学习中
。。

aikimi7 发表于 2011-12-9 23:43:44

mark

xuyapple 发表于 2011-12-10 09:44:52

谢谢楼主分享^_^
液晶没怎么用过,标记一下,以后用到再参考~

liaozy 发表于 2011-12-10 17:43:06

不错,学习了

rickly_hzy 发表于 2011-12-11 00:42:27

LZ,有金鹏13232液晶的驱动没?或者引脚功能说明…

cdkzigbee 发表于 2011-12-11 10:57:36

在普中的开发板上怎么连接12864,插上插槽后其余的排线怎么连线??

madswan 发表于 2011-12-12 14:03:59

mark

madswan 发表于 2011-12-12 20:14:45

求12864无字库液晶屏的测试程序

cdkzigbee 发表于 2011-12-13 17:24:24

如果我想用红外控制和12864结合起来实现红外控制液晶屏怎么写程序?

zhenglu891028 发表于 2011-12-13 22:14:44

回复【楼主位】wanglituan 小王
-----------------------------------------------------------------------

thanks.thanks.

sszzeettee 发表于 2012-1-12 11:52:04

我终于找到这个贴子了,谢谢小王

elec2000 发表于 2012-1-12 12:53:53

mark

wjq1n1n 发表于 2012-1-12 13:22:50

mark

wtiechen1969 发表于 2012-1-18 18:27:58

mark

jianjun42 发表于 2012-1-18 19:22:10

不错

yingjian45185 发表于 2012-1-18 19:47:40

我是新手,请大家多多关照!

yytei 发表于 2012-1-18 21:12:38

mark

shi_90 发表于 2012-1-19 10:47:28

mark

myh_hh 发表于 2015-9-12 20:43:12

mark{:victory:}

34071417 发表于 2015-9-12 23:08:18

楼主好东西,谢谢分享
页: [1]
查看完整版本: 液晶测试程序(后续会慢慢上传)