3801|6

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于12864液晶 [复制链接]

刚买了个12864的液晶,使用7920控制芯片,带字库,不知道具体该怎么用,说明上说可以支持串行数据传输,不知道有人用过这种液晶没有,能不能提供一个简单的显示程序.我想先看看液晶是不是好的.如果哪位大虾用过此类型液晶请将一个简单的程序发到我的邮箱captive@126.com 谢谢!最好是C语言的!

最新回复

谢谢 助人者天助 我找了一份简单的程序调试了一下。大漠苍穹 我并不是要拷贝别人的程序,只是借用看看使用方法!我买的液晶里的串口时序说的很简单,不太详细!所以没有调试出来。现在我改用并口调试就对了!  详情 回复 发表于 2007-9-8 23:43
点赞 关注

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
#include
#include
#include
#include

///****delay MS****/
void delay(unsigned int n)
{
  while(n--)
  {
    unsigned char i;
        for(i=125;i>0;i--);
  }
}

//******查忙****///
void busy()
{
  p_di=0;
  p_rw=1;
  while(1)
  {
    p_e=1;
        if(Data<0x80)break;
        p_e=0;
  }
  p_e=0;
}

///*****初始化******///
void Init()
{
//开显示;
  p_di=0;
  p_rw=0;
  Data=0x3f;
  p_cs1=0;
  p_cs2=1;
  p_e=1;
  p_e=0;
  p_cs1=1;
  p_cs2=0;
  p_e=1;
  p_e=0;
//0行开始显示
  busy();

  p_cs1=0;
  p_cs2=1;
  Data=0xc0;
  p_e=1;
  p_e=0;
  p_cs1=1;
  p_cs2=0;
  p_e=1;
  p_e=0;
}
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 


void setxy(unsigned char x,unsigned char y)
{  
  if(y<64)
  {
  //***写行地址l**//
    busy();
    p_di=p_rw=p_cs1=0;
    p_cs2=1;
    Data=0xb8|x;
    p_e=1;
    p_e=0;
        ///***写列地址l**//
    busy();  
    p_di=p_rw=p_cs1=0;
    p_cs2=1;
    Data=0x40|y;
    p_e=1;
    p_e=0;
  }
  else
  {
  //***写行地址r**//
    busy();
        p_di=p_rw=p_cs2=0;
        p_cs1=1;
        Data = 0xb8|x;
        p_e=1;
        p_e=0;
        ///***写列地址r**//
    busy();  
    p_di=p_rw=p_cs2=0;
    p_cs1=1;
    Data=0x40|y;
    p_e=1;
    p_e=0;
  }

}
//****写数据****//
void whitedata(unsigned char x,unsigned char y)
{
  busy();
  setxy(x,y);//set x,y address address  
  if(y<64)
  {
    p_rw=p_cs1=0;
    p_cs2=1;   
  }
  else
  {
    p_rw=p_cs2=0;
        p_cs1=0;
  }
  p_di=1;
  Data=0x00;
  p_e=1;
  p_e=0;
}
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

4
 

///******* 显示字******///
void whiteword(unsigned char x,unsigned char y,unsigned char d[2][16])
{
  unsigned char i,j;
  for(i=0;i<2;i++)
     for(j=0;j<16;j++)
         {
           busy();
           setxy(i+x,j+y);
           if(y<64)
           {
             p_rw=p_cs1=0;
             p_di=1;
             p_cs2=1;
           }
           else
           {
             p_rw=p_cs2=0;
                 p_di=1;
                 p_cs1=1;
           }
           Data=d[j];
           p_e=1;
           p_e=0;
         }  
}

///****清屏***//
void clear()
{
  unsigned char i,j;
  for(i=0;i<8;i++)
    for(j=0;j<128;j++)
            whitedata(i,j);
}
 
 
 

回复

121

帖子

0

TA的资源

一粒金砂(中级)

5
 
///***主函数****///
void main(void)
{
  unsigned char z;
  Init();
while(1)
  {
    clear();
    busy();
    whiteword(4,80,ss); //
    whiteword(4,96,tt); //迎
    whiteword(4,112,uu); //使
    whiteword(6,0,vv);   //用
    whiteword(6,16,k);  //
        for(z=0;z<2;z++)
        {
          whiteword(6,64,w1);
          delay(150);
          whiteword(6,64,w2);
          delay(150);  
          whiteword(6,64,w3);
          delay(150);  
          whiteword(6,64,w4);
          delay(150);  
          whiteword(6,64,w5);
          delay(150);  
          whiteword(6,64,w6);
          delay(150);  
          whiteword(6,64,w7);
          delay(150);  
          whiteword(6,64,w8);
          delay(150);   
        }

        delay(2000);
  }
}
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

6
 
要学会看时序图!和人要程序。没出息!
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
谢谢 助人者天助 我找了一份简单的程序调试了一下。大漠苍穹 我并不是要拷贝别人的程序,只是借用看看使用方法!我买的液晶里的串口时序说的很简单,不太详细!所以没有调试出来。现在我改用并口调试就对了!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表