一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 9365|回复: 0

lcd 2004液晶屏 带背光 字符 液晶模块 兼容1602液晶 OPTREX 20X4液晶测试程序

[复制链接]
发表于 2010-4-6 14:44 | 显示全部楼层 |阅读模式
全新台湾产带背光2004 LCD显示屏, 液晶,全新,带背光。宽温度范围,宽视角,外形尺寸98*60*10, 标准型号,标准接口,兼容HD44780和1602LCD
淘宝购买链接
厂家资料参考 dmc20481ny-ly-ABE.pdf (174.19 KB, 下载次数: 1405) S52测试程序 C2004A.hex (1.49 KB, 下载次数: 501)
#include <AT89X52.H>
#include<intrins.h>
sbit rs = P2^0;
sbit rw = P2^1;
sbit e = P2^2;
#define bus P1
unsigned char xpos,ypos;
//*********延时程序*********
void delay(unsigned int t)
{  unsigned int i,j;
   for(i=0;i<t;i++)
      for(j=0;j<10;j++)
      ;
}
//**********测忙*************
void busycheck(void)
{  bus=0xff;
   rs=0;
   rw=1;
   e=1;
   while((bus&0x80)==0x80);
   e=0;
}
//**********写指令代码*******
void wrcom(unsigned char com)
{  busycheck();
   rs=0;
   rw=0;
   bus=com;
   e=1;
   _nop_();
   e=0;
}
//************写数据*********
void wrdat(unsigned char dat)
{  busycheck();
   rs=1;
   rw=0;
   bus=dat;
   e=1;
   _nop_();
   e=0;
}
//********设置CGROM 地址,CODE为0x01 ***********
void setcgrom(void)
{  unsigned char i;
    wrcom(0x48);
    for(i=0;i<4;i++)
     { wrdat(0x15);
    wrdat(0x0a);
    }
  }
//******shift left ***********
void shiftleft(unsigned char x)
{  unsigned char i;
   for(i=0;i<x;i++)
   {  wrcom(0x18);
  delay(3000);
  }
}
//****内部数据地址指针定位****
void lcdpos(void)
{  xpos&=0x1f;
   ypos&=0x03;
   if(ypos==0x00)
      wrcom(xpos|0x80);
   else if(ypos==0x01)
      wrcom((xpos+0x40)|0x80);
   else if(ypos==0x02)
      wrcom((xpos+0x14)|0x80);
   else
      wrcom((xpos+0x54)|0x80);
}
//**********初始化************
void lcdreset()
{  delay(150);
   wrcom(0x38);   //8-bit,2-line,5x8 dots
   delay(50);
   wrcom(0x01);   //clear screen
   wrcom(0x06);   //cursor increase,no shift
   wrcom(0x0c);   //display on,cursor off,blink off
   wrcom(0x03);   //return home
}
//********整屏显示某个数据************
void display_all(unsigned char dat)
{  for(ypos=0;ypos<4;ypos++)
      for(xpos=0;xpos<20;xpos++)
      {  lcdpos();
         wrdat(dat);
      }
}
//*********在指定的坐标下写字符串**********
void lcdwda(unsigned char x,unsigned char y,unsigned char *s)
{  ypos=y;
   for(xpos=x;xpos<20;xpos++)
   {  lcdpos();
      wrdat(*s);
      s++;
   }
}
main()
{  
    e=0;
    lcdreset();
setcgrom();
display_all(0xff);     
delay(4000);
    display_all(0x38);
delay(4000);
display_all(0x01);
    delay(4000);
display_all(0xb6);
delay(4000);
    lcdwda(0,0,"  WELCOME TO YLEEE ");
    lcdwda(0,1,"   WWW.YLEEE.NET   ");
    lcdwda(0,2,"TEL:+86-13927433520");
    lcdwda(0,3,"  2004 LCD MODULE  ");
delay(4000);
shiftleft(20);
    while(1);
}


                               
登录/注册后可看大图

联系电话13927433520          QQ841526919 旺旺在线         yleee@163.com
DSC_2060.JPG
DSC_2169.JPG
DSC_2121.JPG

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-13 22:00 , Processed in 0.031705 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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