标题: 12864液晶的问题 [打印本页]

作者: ccdres    时间: 2009-3-12 00:18
标题: 12864液晶的问题
买了一块12864液晶不会用(我是单片机新手),引脚1-VSS,2-VDD,3-VO,4-RS,5-R/W,6-E,7~14-DB0~DB7,15-PSB,16-NC,17-/RST,18-VEE,19-LEDA,20-LEDK。用51单片机连接,搞了一晚都不成功,看了很多资料还是不行。会的朋友帮我写条简单的程序吧,最好告诉我引脚怎么连接(新注册没有金币)
作者: 扬扬    时间: 2009-10-14 14:33

发个程序吧 我也是从网上找的 自己看看 是可以显示的 改了点

 

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int

#define p0 P0
uchar code table1[]={"    欢迎光临    "};
uchar code table2[]={"马勒戈壁工作室! "};
uchar code table3[]={"马勒戈壁专家组诚"};
uchar code table4[]={"挚邀请您加入!专"};

 

 


sbit rs=P1^0;
sbit rw=P1^1;
sbit en=P1^2;
sbit rst=P2^2;
sbit psb=P2^4;
sbit BEEP=P2^3;
sbit BEEPP=P3^0;
void delay(uint k)
{
        uint i,j;       
        for(i=0;i<k;i++)
        for(j=0;j<121;j++);
}

void wcode(uchar c)   
{
   
        rs=0;
        rw=0;
        en=0;
        P0=c;
        delay(5);
        en=1;
       
        delay(5);
       
        en=0;
        delay(5);
}
void wdata(uchar date)
{

        rs=1;
        rw=0;
        en=0;
        P0=date;
        delay(5);
        en=1;
        delay(5);
        en=0;
        delay(5);
}
void init()           
{
        psb=1;
        rst=0;
        delay(10);
        rst=1;
        delay(10);
        psb=1;
        wcode(0x30);
        delay(5);
        wcode(0x0c);
        delay(5);
        wcode(0x01);
        delay(5);
       
}

 


void main()
{      
 unsigned char i=0;
 while(1)
 {
 init();
 delay(500);
 wcode(0x80+0x00);
 for(i=0;i<16;i++)
 {wdata(table1);
  delay(150);
 }
 wcode(0x90+0x00);
 for(i=0;i<16;i++)
 {wdata(table2);
  delay(150);
 }
 wcode(0x88+0x00);
 for(i=0;i<16;i++)
 {wdata(table3);
  delay(150);}
 wcode(0x98+0x00);
 for(i=0;i<16;i++)
 {wdata(table4);
  delay(150);
  }
 delay(1000);
 
}
}


作者: 扬扬    时间: 2009-10-14 14:34
自己改了别人的 可以显示
作者: 电子与电脑    时间: 2016-1-25 22:02
扬扬 发表于 2009-10-14 14:33
发个程序吧 我也是从网上找的 自己看看 是可以显示的 改了点
&nbsp;
#include&lt;reg52.h&gt;#include&lt;in ...

太逗了你
作者: wgh008    时间: 2017-9-14 14:14
程序要改为wdata(table1[i]); wdata(table2[i]); wdata(table3[i]); wdata(table4[i]); 否则字符无法正确写入端口。另外时序函数是可用但延时过大了。可以看着手册适当修改减少。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1