您当前的位置:五五电子网电子知识单片机-工控设备51单片机基于89C51的T6963液晶驱动程序(通过验证的) 正文
基于89C51的T6963液晶驱动程序(通过验证的)

基于89C51的T6963液晶驱动程序(通过验证的)

点击数:7875 次   录入时间:03-04 11:53:18   整理:http://www.55dianzi.com   51单片机
        CS2LCM = 1;  /*SETB CS2  */
        CS3LCM = 1;  /*SETB CS3  */
 wtcom();  /* waitting for enable */
 }
void lcdbusyM(void)
 {
        CS1LCM = 1;  /*SETB CS1  */
        CS2LCM = 0;  /*CLR CS2  */
        CS3LCM = 1;  /*SETB CS3  */
 wtcom();  /* waitting for enable */
 }
void lcdbusyR(void)
 {
        CS1LCM = 1;  /*SETB CS1  */
        CS2LCM = 1;  /*SETB CS2  */
        CS3LCM = 0;  /*CLR CS3  */
 wtcom();  /* waitting for enable */
 }
void wtcom(void)
 {
 Dilcm = 0;  /*CLR DI  */
 Rwlcm = 1;  /*SETB RW  */
        Datalcm = 0xFF;  /*MOV DATA_LCM,#0FFH  */
 Elcm  = 1;_nop_(); 
       while(Datalcm & Lcdbusy);
       Elcm  = 0;
 }
/********************************************************/
/*根据设定的坐标数据,定位LCM上的下一个操作单元位置 */
/********************************************************/
void Locatexy(void)
 {
 unsigned char  x,y;
 switch (col&0xc0)  /*  col.and.0xC0 */
  {   /*条件分支执行  */
  case 0:  {lcdbusyL();break;} /*左区 */
  case 0x40: {lcdbusyM();break;} /*中区 */
  case 0x80: {lcdbusyR();break;} /*右区 */
  }
 x = col&0x3F|SETX;  /*  col.and.0x3f.or.setx */
 y = row&0x07|SETY;  /*  row.and.0x07.or.sety */
  wtcom();  /*  waitting for enable  */
  Dilcm = 0;   /*CLR DI */
  Rwlcm = 0;   /*CLR RW */
  Datalcm = y;   /*MOV P0,Y */
  Elcm = 1;_nop_();Elcm = 0;
  wtcom();  /*  waitting for enable  */
  Dilcm = 0;   /*CLR DI */
  Rwlcm = 0;   /*CLR RW */
  Datalcm = x;   /*MOV P0,X */
  Elcm = 1;_nop_();Elcm = 0;
 }
/********************************/
/*液晶屏初始化   */
/********************************/
void Lcminit(void)
 {
  cbyte = DISPOFF; /*关闭显示屏 */
  WrcmdL(cbyte);
  WrcmdM(cbyte);
  WrcmdR(cbyte);
  cbyte = DISPON;  /*打开显示屏 */
  WrcmdL(cbyte);
  WrcmdM(cbyte);
  WrcmdR(cbyte);
  cbyte = DISPFIRST; /*定义显示起始行为零 */
  WrcmdL(cbyte);
  WrcmdM(cbyte);
  WrcmdR(cbyte);
  Lcmcls();
  col=0;  /*清屏  */
  row=0;
  Locatexy();
 }
/********************************/
/* 延时    */
/********************************/
void Delay(Uchar MS)
 {
  Uchar us,usn;
  while(MS!=0)
   { usn = 4;
    while(usn!=0)
     {
      us=0xf0;
      while (us!=0){us--;};
      usn--;
     }
    MS--;
   }
 }
/********************************/
//file://定义字符串数组  */
/********************************/
Uchar code STR1[]=
  {
  0x80,0x81,0x82,0x83,0x84,0x85,
  0x86,0x87,0x88,0x89,0x8a,0x8B
  };
  
Uchar code STR2[]="Our friend over the wold";
Uchar code STR3[]="Program by Keil C51 6.12";
Uchar code STR4[]="Thank you ~v~ 1234567890";
/********************************/
/*  定义中文字库  */
/********************************/
Uchar code Hzk[]={
/*茂 C3515 0 */
  0x04,0x04,0xC4,0x44,0x5F,0x44,0x44,0xF4,
  0x44,0x4F,0x54,0x64,0x44,0x46,0x04,0x00,
  0x80,0x40,0x3F,0x00,0x40,0x40,0x20,0x20,
  0x13,0x0C,0x18,0x24,0x43,0x80,0xE0,0x00,
/*兴 C4843 1 */
  0x00,0xFE,0x4A,0x4A,0x00,0xFE,0xEA,0xAA,
  0xAA,0xFE,0x00,0x4A,0x4A,0xFE,0x00,0x00,
  0x02,0x83,0x42,0x22,0x12,0x1B,0x02,0x02,
  0x02,0x0B,0x12,0x22,0x62,0xC3,0x02,0x00,
/*国 C2590 2 */
  0x00,0xFE,0x02,0xD2,0x52,0x52,0xD2,0x3E,
  0xD2,0x16,0x1A,0x12,0xFF,0x02,0x00,0x00,
  0x00,0xFF,0x50,0x53,0x52,0x4A,0x6B,0x50,
  0x4F,0x54,0x7B,0x40,0xFF,0x00,0x00,0x00,
/*际 C2842 3 */
  0x00,0xFE,0x22,0xD2,0x0E,0x20,0xB8,0x4F,
  0xB2,0x9E,0x80,0x9F,0x72,0x8A,0x06,0x00,
  0x00,0xFF,0x04,0x08,0x07,0x21,0x12,0x0A,
  0x46,0x82,0x7E,0x06,0x0A,0x12,0x31,0x00,
/*( C0308 4 */
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0xC0,0x30,0x08,0x04,0x02,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x03,0x0C,0x10,0x20,0x40,0x00,0x00,
/*广 C2567 5 */
  0x00,0x00,0xFC,0x44,0x54,0x54,0x7C,0x55,
  0xD6,0x54,0x7C,0x54,0x54,0x44,0x44,0x00,
  0x80,0x60,0x1F,0x80,0x9F,0x55,0x35,0x15,
  0x1F,0x15,0x15,0x35,0x5F,0x80,0x00,0x00,
/*东 C2211 6 */
  0x00,0x08,0xE8,0xA8,0xA8,0xA8,0xA8,0xFF,
  0xA8,0xA8,0xA8,0xA8,0xE8,0x0C,0x08,0x00,
  0x00,0x40,0x23,0x12,0x0A,0x06,0x02,0xFF,
  0x02,0x06,0x0A,0x12,0x23,0x60,0x20,0x00,
/*) C0309 7 */
  0x00,0x00,0x02,0x04,0x08,0x30,0xC0,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*有 C5148 8 */
  0x04,0x04,0x04,0x84,0xE4,0x3C,0x27,0x24,
  0x24,0x24,0x24,0xF4,0x24,0x06,0x04,0x00,
  0x04,0x02,0x01,0x00,0xFF,0x09,0x09,0x09,
  0x09,0x49,0x89,0x7F,0x00,0x00,0x00,0x00,
/*限 C4762 9 */
  0x00,0xFE,0x02,0x22,0xDA,0x06,0x00,0xFE,
  0x92,0x92,0x92,0x92,0xFF,0x02,0x00,0x00,
  0x00,0xFF,0x08,0x10,0x08,0x07,0x00,0xFF,
  0x42,0x24,0x08,0x14,0x22,0x61,0x20,0x00,
/*公 C2511 10 */
  0x00,0x00,0x80,0x40,0x30,0x0C,0x00,0xC0,
  0x07,0x1A,0x20,0x40,0x80,0x80,0x80,0x00,
  0x01,0x01,0x20,0x70,0x28,0x24,0x23,0x20,
  0x20,0x28,0x30,0x60,0x00,0x01,0x00,0x00,
/*司 C4330 11 */
0x10,0x10,0x92,0x92,0x92,0x92,0x92,0x92,
  0xD2,0x9A,0x12,0x02,0xFF,0x02,0x00,0x00,
  0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,
  0x3F,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,
};
/****************************************/
/* 定义ASCII字库8列*16行  */
/****************************************/
Uchar code Ezk[]={
/*-文字: --0x20 */
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-文字:!--0x21 */
  0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x27,0x00,0x00,0x00,0x00,
/*-文字:"--0x22 */
  0x00,0x08,0x04,0x02,0x08,0x04,0x02,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-文字:#--0x23 */
  0x40,0x40,0xF8,0x40,0x40,0xF8,0x40,0x00,
  0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,
/*-文字:$--0x24 */
  0x00,0x70,0x88,0xFC,0x08,0x08,0x30,0x00,
  0x00,0x1C,0x20,0xFF,0x21,0x22,0x1C,0x00,
/*-文字:%--0x25 */
  0xF0,0x08,0xF0,0x80,0x70,0x08,0x00,0x00,
  0x00,0x31,0x0E,0x01,0x1E,0x21,0x1E,0x00,
/*-文字:&--0x26 */
  0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,
  0x1E,0x21,0x23,0x24,0x18,0x16,0x20,0x00,

上一页  [1] [2] [3] [4] [5]  下一页


本文关键字:程序  51单片机单片机-工控设备 - 51单片机