《匠人手记》推荐网上购书渠道:
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
卓越亚马逊网 购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历
载入中...

百宝专栏

载入中...
最新货色

载入中...

粉丝评论

载入中...

载入中...



百宝信息

载入中...

百宝流量

(2006-07-01开始)


匠人手记

 匠人观点: 好记性不如烂笔头  
 黑色幽默:三鹿门——后世畅想

12864 LCD图形显示程序例子
程序匠人 发表于 2005-9-29 18:14:00  阅读全文 | 回复(4) | 引用通告 | 编辑

12864 LCD图形显示程序例子
[日期:2005-9-29] 来源:PIC 单片机  作者:mikezhong [字体:大 中 小] 

    这是一个在LCD128*64上显示图形的一个程序,一直以来都总是不知道怎么搞,现在终于都通了,想当初在网上总找,要不是程序不全,就是无法运行,或者是C51汇编语言,让人不爽,这样的痛苦不可以再让别人难受了。在LCD上显示一幅图,是“我的电脑,我的文档”。IC用PIC16F877A,晶振4MHZ,采用并行8线,LCD:TS12864-3,接法在程序中有定义,只要将此程序COPY到你的PICC里编译下载后,在目标板上即可以看到图画了!

     不知道可不可以加酷?

#i nclude "pic.h"
#define  RS   RC0
#define  RW   RC1
#define  E    RC2
#define  PSB  RC3
#define  RST  RC4
//PORTD=DATA;
unsigned char COUNT3,COUNT2,COUNT1,COUNT,LCD_X,LCD_Y,LCD_DATA1,LCD_DATA2,LCD_DATA,F3,R1,F0;
const unsigned char TU_TAB1[]={
        // 16  15   14   13   12   11   10   9     8   7     6   5    4    3    2    1
         0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xF0,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x18,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xFF,0xDC,0x00,0x01,
       0x80,0x00,0x1F,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xFF,0xBC,0x00,0x01,
       0x80,0x00,0x30,0x00,0x01,0x80,0x00,0x00,0x00,0x00,0x01,0x7F,0xFF,0xB8,0x00,0x01,
       0x80,0x00,0x30,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x01,0x7F,0xFF,0x78,0x00,0x01,
       0x80,0x00,0x19,0xFF,0xFE,0xC0,0x00,0x00,0x00,0x00,0x02,0xFF,0xFF,0x70,0x00,0x01,
       0x80,0x00,0x18,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0xFF,0xFE,0xF0,0x00,0x01,
       0x80,0x00,0x0C,0x01,0xFF,0x60,0x00,0x00,0x00,0x00,0x05,0xFF,0xFE,0xE0,0x00,0x01,
    0x80,0x00,0x0C,0x7F,0xD0,0x20,0x00,0x00,0x00,0x00,0x05,0xFF,0xFD,0xE0,0x00,0x01,
    0x80,0x00,0x06,0x00,0x0F,0xB0,0x00,0x00,0x00,0x00,0x0B,0xFF,0xFD,0xC0,0x00,0x01,
    0x80,0x00,0x06,0x03,0xFC,0x10,0x00,0x00,0x00,0x00,0x0B,0xFF,0xFB,0xC0,0x00,0x01,
    0x80,0x00,0x03,0x1F,0x00,0x18,0x00,0x00,0x00,0x00,0x17,0xFF,0xFB,0x80,0x00,0x01,
    0x80,0x00,0x03,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x17,0xFF,0xF7,0x80,0x00,0x01,
    0x80,0x00,0x01,0x80,0x00,0x0C,0x00,0x00,0x00,0x00,0x17,0xFF,0xF7,0x00,0x00,0x01,
    0x80,0x00,0x01,0x80,0x00,0x04,0x00,0x00,0x00,0x00,0x09,0xFF,0xEF,0x00,0x00,0x01,
    0x80,0x00,0x00,0xC0,0x00,0xF6,0x00,0x00,0x00,0x00,0x06,0x7F,0xEE,0x00,0x00,0x01,
    0x80,0x00,0x00,0xC0,0x03,0xC2,0x00,0x00,0x00,0x00,0x01,0x9F,0xDE,0x00,0x00,0x01,
    0x80,0x00,0x00,0x60,0x00,0x3B,0x00,0x00,0x00,0x00,0x00,0x67,0xDF,0x00,0x00,0x01,
    0x80,0x00,0x00,0x60,0x00,0xE3,0x00,0x00,0x00,0x00,0x00,0x19,0xBF,0x00,0x00,0x01,
    0x80,0x00,0x00,0x30,0x03,0x8E,0x00,0x00,0x00,0x00,0x00,0x06,0x3F,0x00,0x00,0x01,
    0x80,0x00,0x00,0x30,0x06,0x3C,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x01,
    0x80,0x00,0x00,0x18,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x01,
    0x80,0x00,0x00,0x18,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x0F,0x7F,0x80,0x00,0x01,
       0x80,0x00,0x00,0x0C,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1F,0xC0,0x00,0x01,
    0x80,0x00,0x00,0x0C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x07,0xE0,0x00,0x01,
    0x80,0x00,0x00,0x06,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xE0,0x00,0x01,
    0x80,0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0xC0,0x00,0x01,
    0x80,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0xFF,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xF0,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    0x80,0x05,0x40,0x88,0x04,0x01,0x08,0x00,0x00,0x0A,0x81,0x10,0x04,0x00,0x20,0x01,
    0x80,0x79,0x21,0x08,0x02,0x21,0x49,0x00,0x00,0xF2,0x42,0x10,0x04,0x47,0x10,0x01,
    0x80,0x09,0x07,0xDF,0x7F,0xF7,0xAA,0x00,0x00,0x12,0x0F,0xBE,0x7F,0xE5,0xFE,0x01,
    0x80,0x7F,0xF4,0x51,0x08,0x81,0x2C,0x00,0x00,0xFF,0xE8,0xA2,0x44,0x47,0x00,0x01,
    0x80,0x09,0x04,0x61,0x08,0x81,0x7F,0x00,0x00,0x12,0x08,0xC2,0x7F,0xC5,0x4A,0x01,
    0x80,0x0B,0x24,0x51,0x08,0x83,0x81,0x00,0x00,0x16,0x48,0xA2,0x44,0x45,0x6A,0x01,
    0x80,0x1D,0x47,0xC9,0x05,0x05,0x01,0x00,0x00,0x3A,0x8F,0x92,0x44,0x47,0x52,0x01,
    0x80,0x68,0x84,0x49,0x05,0x05,0x7F,0x00,0x00,0xD1,0x08,0x92,0x7F,0xC5,0x6A,0x01,
       0x80,0x09,0x94,0x41,0x02,0x01,0x01,0x00,0x00,0x13,0x28,0x82,0x44,0x05,0x4A,0x01,
    0x80,0x0E,0x57,0xC1,0x0D,0x81,0x01,0x00,0x00,0x1C,0xAF,0x82,0x04,0x29,0x42,0x01,
       0x80,0x38,0x34,0x4E,0x70,0x71,0x7F,0x00,0x00,0x70,0x68,0x9C,0x03,0xEB,0x7E,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
       0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
         };

//*************delay_ms********************************
void delay_10us(unsigned char x) 

  while(x--);

void delay_ms(unsigned char cnt)
{
    unsigned char i;
do {
  i = 4;
  do {
   delay_10us(39);
  } while(--i);
} while(--cnt);
}

//***********检查是否LCD忙碌的子程序**********************
void check_busy(void)

  TRISD=0xff;//在此处设为输入。
  PORTD=0xff;
  RS=0;
  RW=1;
  while (1)
   {
    NOP();NOP();NOP();
    E =1;
    NOP();NOP();NOP();
    if (RD7==0) break;
    NOP();NOP();NOP();
    E =0;
   }
  E =0;     
  TRISD=0X00;//还原为输出。
  RC7=!RC7;
  //delay_ms(50);
}
//**********数据写命令***************************
void send_com(unsigned char command )
{
  check_busy();
  RS=0;
  RW=0;
  PORTD=command;
  E =1;
  NOP();
  NOP();
  E =0;
}
//**********LCD初始化时的送命令******************
void send_com_init(unsigned char command_init )
{
  RS=0;
  RW=0;
  PORTD=command_init;
  E =1;
  NOP();
  NOP();
  E =0;
}
//**********写数据***************************
void send_data(unsigned char data )
{
  check_busy();
  RS=1;
  RW=0;
  PORTD=data;
  E =1;
  NOP();
  NOP();
  E =0;
}
//***********读数据****************************
unsigned char read_data(void)
{
  unsigned char read_data;
  check_busy();
  TRISD=0XFF;
  RS=1;
  RW=1;
  E =1;
  NOP();
  read_data=PORTD;
  E =0;
  TRISD=0x00;//还原为输出。
  return (read_data);
}
//***********清屏*****************************
void clear_LCD(void)
{
  send_com(0x01);
  send_com(0x34);
  send_com(0x30);
}
//**********LCD初始化************************
void initial_LCD(void)
{  
   PSB=1;
   RST=0;//Reset.
   NOP();
   NOP();
   RST=1;
   NOP();
   delay_10us(10);
   send_com_init(0x30);//30H--基本指令操作
   delay_10us(4);
   send_com_init(0x0c);//开显示,关光标,不闪烁。
   delay_10us(10);
   send_com_init(0x01);//清除显示
   delay_ms(10);
   send_com_init(0x06);//指定在资料写入或读取时,光标的移动方向,DDRAM的地址计数器(AC)加1。
   
}
//**********写准备***************************
void WR_ZB(void)
{
   send_com(0x34);
   send_com(LCD_Y);
   send_com(LCD_X);
   send_com(0x30);
}
//*********取数送显示******************************
void QUSHU(const unsigned char *shu)
{
   for (;COUNT!=0;COUNT--)
   {
     send_data(*shu++);
     delay_ms(80);
   }  
}
//*********Flash******************************
void flash(void)
{
   send_com(0x08);//关闭显示
   delay_ms(250);
   send_com(0x0c);//开显示,关光标,不闪烁。
   delay_ms(250);
   send_com(0x08);//关闭显示
   delay_ms(250);
   send_com(0x0c);//开显示,关光标,不闪烁。
   delay_ms(250);
   send_com(0x08);//关闭显示
   delay_ms(250);
}
//**********显示图形子程序*********************
void PHO_DISP(const unsigned char *s)
{
   COUNT3=0X02;
   LCD_X=0X80;
   for (;COUNT3!=0;COUNT3--)
   {
       LCD_Y=0X80;
       COUNT2=0X20;//32
       for (;COUNT2!=0;COUNT2--)
       {
         COUNT1=0X10;//16
         WR_ZB();
         for (;COUNT1!=0;COUNT1--)
          {
            send_data(*s++);
            
          }
         LCD_Y+=1;
       }
       LCD_X=0X88;
   }
   send_com(0x36);
   send_com(0x30);
}
//******************显示点阵子程序************
void LAT_DISP(void)
{
   COUNT3=0X02;
   LCD_X=0X80;
   for (;COUNT3!=0;COUNT--)
    {
       LCD_Y=0X80;
       F0=0;
       COUNT2=0X20;
       for (;COUNT2!=0;COUNT--)
         {
           COUNT1=0X10;
           WR_ZB();
           if (F0!=0)
           {
             LCD_DATA=LCD_DATA2;
           }
           else LCD_DATA=LCD_DATA1;
           for (;COUNT1!=0;COUNT1--)
             {
              send_data(LCD_DATA);
             }
           LCD_Y+=1;
           F0=!F0;
         }
       LCD_X=0X88;
    }
   
   send_com(0x36);
   send_com(0x30);
}
  
void main(void)
{
   TRISC=0X00;
   TRISD=0X00;   
   PORTD=0X00;
   PORTC=0X00;
   initial_LCD();
   while (1)
   {   
       clear_LCD();
       PHO_DISP(TU_TAB1);//显示图形
       while (1);     
   }
}


 

看《匠人手记》,与匠人同行!北航出版,正在热卖!

Re:12864 LCD图形显示程序例子
feirtian(游客)发表评论于2008-8-16 23:43:00  个人主页 | 引用 | 返回 | 删除 | 回复

feirtian(游客)怎么样显示波形? 程序该怎么编 谢谢

看《匠人手记》,与匠人同行!北航出版,正在热卖!

回复:12864 LCD图形显示程序例子
zybzyb(游客)发表评论于2006-4-23 12:43:00  个人主页 | 引用 | 返回 | 删除 | 回复

zybzyb(游客)

有啊,是有PROTEL 99画的传不上来,你有邮箱吗,我以邮件发给你吧,我写的这个程序是在LCD显示一个“你”字但人仿真时LCD的地址会在单片机向LCD写入两个数据时会自动加1。所以在每个显示单元只显示几点。以下是我的程序:

;本程序是在LCD上显示"你"

      list   p=16f877

      include  <p16f877.inc>

DI         EQU      0

E          EQU      1

           #define     rst   portd,2

qq         equ      30h

nn         EQU         33H

COUNTER    EQU      34H

cnt         EQU     35H

nt         EQU      36H

pp         equ      37h

           org      00h

main       nop

           bsf       status,rp0

           bcf       status,rp1

           clrf      trisc

           clrf      trisd

           bcf       status,rp0

           clrf      portc

           clrf      portd

           bsf       rst

           BCF       PORTD,E

           movlw     01h

           movwf     counter

           call      wri

           MOVLW     30H          ;功能设定为基本指令集动作。

           MOVWF     COUNTER

           CALL      WRi

           MOVLW     2H

           MOVWF     COUNTER

           CALL      WRI

           MOVLW     04H

           MOVWF     COUNTER

           CALL      WRi

           MOVLW     0cH

           MOVWF     COUNTER

           CALL      WRi

           movlw     01h

           movwf     counter

           call      wri

           movlw     80h

           movwf     counter

           call      wri             

           clrf     nn

Lp1       MOVLW     10H

          MOVWF     cnt           ;列计数寄存器          

           MOVLW     80H           ; 设定X地址,即让“你”显示在第一行第一列

           MOVWF     COUNTER

           CALL      WRI

LP         MOVF      nn,W       ; 调显示数据

           CALL      NI

           MOVWF     COUNTER

           CALL      WRD

           INCF      nn,F

           DECFSZ    cnt,F

           GOTO      lp

           GOTO      $

WRI       ;写指令子程序

          BCF               PORTD,E

          BCF               PORTD,DI

          MOVF             COUNTER,W

          MOVWF            PORTC

          ;CALL              DELAY10

          BSF                PORTD,E

          ;CALL              DELAY10

          BCF                PORTD,E

          ;CALL              DELAY10

          ;CALL              DELAY10

          ;CALL              DELAY10

          RETlw             0

WRD      ;写数据子程序

      BCF               PORTD,E

          BSF               PORTD,DI

          MOVF             COUNTER,W

          MOVWF             PORTC

         ;CALL              DELAY10

          BSF                PORTD,E

          ;CALL              DELAY10

          BCF                PORTD,E

          ;CALL              DELAY10

          ;CALL              DELAY10

         ; CALL              DELAY10

          RETlw             0

NI        ADDWF         PCL,F

          retlw   40H

          retlw   20H

          retlw   10H

          retlw   0FCH

          retlw   23H

          retlw   10H

          retlw   8CH

          retlw    67H

          retlw   04H

          retlw   0F4H

          retlw   04H

          retlw   44H

          retlw   94H

          retlw   8CH

          retlw   00H

          retlw   00H

          retlw   40H

          retlw   30H

          retlw   00H

          retlw   77H

          retlw   80H

          retlw   81H

          retlw   88H

          retlw   92H

          retlw   0B4H

          retlw   83H

          retlw   80H

          retlw   0E0H

          retlw   00H

          retlw   11H

          retlw   60H

          retlw   00H

          retlw   00h

DELAY10

            MOVLW    2H

            MOVWF    7EH      

DELAY2      MOVLW      0C7H

            MOVWF       7FH

DELAY1      NOP

            NOP

            DECFSZ      7FH,F

            GOTO        DELAY1

            DECFSZ      7EH,F

            GOTO        DELAY2

            RETlw       0

DELAY100

            MOVLW    0f0H

            MOVWF    40H      

DELAY20      MOVLW      0C7H

            MOVWF       41H

DELAY00     NOP

            NOP

            DECFSZ      41H,F

            GOTO        DELAY00

            DECFSZ      40H,F

            GOTO        DELAY20

            RETlw       0

            END

 

          

 

 

看《匠人手记》,与匠人同行!北航出版,正在热卖!

求助谢谢
zybzyb(游客)发表评论于2006-4-21 23:42:00  个人主页 | 引用 | 返回 | 删除 | 回复

zybzyb(游客)

啊,朋友看来我们有同感受。我也被这家公司的液晶显示屏困扰了很久,我在网上找了很久PIC在这款TG12864E-01的现在我看到你的程序心理特高兴,不过我还是有点失望因为我还不懂C语言。请问有没有汇编言写的啊,最好是TG12864E-01的这款不过我想TS ,TG 都差不了多远吧下面是TG 12864E-01的说明书,能否照应下朋友,我找了好久了,谢谢

图形点阵液晶显示模块使用手册
TG12864E(L)
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
公司地址:广州市天河区大观路新塘商贸园C 幢3 楼
电话:(020)82374566 82342879 82342837 传真:(020)82346155
网址:HTTP://WWW.TINSHARP.COM
E-mail:TINSHARP@PUBLIC.GUANGZHOU.GD.CN
SALES@TINSHARP.COM
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
2
目录
1. 概述--------------------------------------------------------------------------3
2. 外形尺寸---------------------------------------------------------------------3
3. 模块主要硬件构成说明--------------------------------------------------4
4. 模块的外部接口-----------------------------------------------------------4
5. 读写操作时序----------------------------------------------------------------5
6. 用户指令集-------------------------------------------------------------------6
7. 显示坐标关系---------------------------------------------------------------11
8. 显示步骤---------------------------------------------------------------------13
9.应用举例--------------------------------------------------------------------15
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
3
一、概述
TG12864E 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64 全点阵液晶
显示器组成。可完成图形显示,也可以8×4 个(16×16 点阵)汉字。
主要技术参数和性能:
1. 电源:VDD:+2.7~ +5V; 模块内自带-10V负压,用于LCD的驱动电压。
2. 显示内容:128(列)×64(行)点
3. 全屏幕点阵
4. 七种指令
5. 与CPU接口采用8位数据总线并行输入输出和8条控制线
6. 占空比1/64
7. 工作温度:-10℃~+60℃,储存温度:-20℃~+70℃,可选择宽温:-20℃~+70℃
二、外形尺寸图
表1
ITEM NOMINAL DIMEN UNIT
模块体积93.0x70.0x13 mm
视域72.0x40.0 mm
行列点阵数128×64 DOTS
点距离0.52x0.52 mm
点大小0.48x0.48 mm
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
4
三、模块主要硬件构成说明
结构框图:
背光方式背光颜色背光电流
LED 背光黄绿色110mA
四、模块的外部接口
外部接口信号如下表2 所示:
表2
管脚号管脚名称LEVER 管脚功能描述
1 VSS 0V 电池地
2 VDD 5.0V 电源电压
3 V0 -- 液晶显示驱动电压输入
4 D/I H/L
D/I=“H”,表示DB7~DB0 为显示数据
D/I=“L”,表示DB7~DB0 为显示指令数据
5 R/W H/L
R/W=“H”,E=“H”,数据被读到DB7~DB0
R/W=“L”,E=“H→L”,DB7~DB0 的数据被写到IR 或DR
6 E H/L
使能信号:R/W=“L”,E信号下降沿锁存DB7~DB0
R/W=“H”,E=“H”DRAM数据读到DB7~DB0
7 DB0 H/L 数据线
8 DB1 H/L 数据线
9 DB2 H/L 数据线
10 DB3 H/L 数据线
11 DB4 H/L 数据线
12 DB5 H/L 数据线
13 DB6 H/L 数据线
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
5
14 DB7 H/L 数据线
15 PSB H/L
H:并行模式
L:串行模式
16 NC H/L
17 /RST H/L 复位信号
18 NC --
19 LEDK 0V 背光接地
20 LEDA +5V 背光电源+
五、读写操作时序
1. 写操作时序
V
V
IH1
IL1
RS
R/W
E
DB0-DB7
AS
AH
AH
PW
DSW
H R
C
T
T
T
T
T
T
T
T
Valid
data
2. 读操作时序
V
V
IH1
IL1
RS
R/W
E
DB0-DB7
AS
AH
AH
PW
D
D
H
R
C
T
T
T
T
T T
T
T
Valid
data
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
6
六、用户指令集
1、指令表1:(RE=0:基本指令集)
指令码
指令
RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
说明
执行时间
(540KHZ)
清除显示0 0 0 0 0 0 0 0 0 1
将DDRAM 填满“20H”,并且设定
DDRAM的地址计数器(AC)到“00H”
4.6ms
地址归位0 0 0 0 0 0 0 0 1 X
设定DDRAM 的地址计数器(AC)到
“00H”,并且将游标移到开头原点位置;
这个指令并不改变DDRAM的内容
4.6ms
进入点
设定
0 0 0 0 0 0 0 1 I/D S
指定在资料的读取与写入时,设定游标
移动方向及指定显示的移位
72us
显示状态
开/关
0 0 0 0 0 0 1 D C B
D=1:整体显示ON
C=1:游标ON
B=1:游标位置ON
72us
游标或显示移
位控制
0 0 0 0 0 1 S/C R/L X X
设定游标的移动与显示的移位控制位
元;这个指令并不改变DDRAM的内容
72us
功能设定0 0 0 0 1 DL X
0
RE
X X
DL=1 (必须设为1)
RE=1: 扩充指令集动作
RE=0: 基本指令集动作
72us
设定CGRAM
地址
0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM地址到地址计数器(AC) 72us
设定DDRAM
地址
0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 设定DDRAM 地址到地址计数器(AC) 72us
读取忙碌标志
(BF)和地址
0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0
读取忙碌标志(BF)可以确认内部动作
是否完成,同时可以读出地址计数器
(AC)的值
0us
写资料到
RAM
1 0 D7 D6 D5 D4 D3 D2 D1 D0
写入资料到内部的RAM
(DDRAM/CGRAM/IRAM/GDRAM)
72us
读出RAM 的

1 1 D7 D6 D5 D4 D3 D2 D1 D0
从内部RAM 读取资料
(DDRAM/CGRAM/IRAM/GDRAM)
72us
指令表—2:(RE=1:扩充指令集)
指令指令码说明
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
7
RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
执行时间
(540KHZ)
待命模式0 0 0 0 0 0 0 0 0 1
将DDRAM 填满“20H”,并且设定
DDRAM的地址计数器(AC)到“00H”
72us
卷动地址或
IRAM地址
选择
0 0 0 0 0 0 0 0 1 SR
SR=1:允许输入垂直卷动地址
SR=0:允许输入IRAM地址
72us
反白选择0 0 0 0 0 0 0 1 R1 R0
选择4 行中的任一行作反白显示,并可
决定反白与否
72us
睡眠模式0 0 0 0 0 0 1 SL X X
SL=1:脱离睡眠模式
SL=0:进入睡眠模式
72us
扩充功能设

0 0 0 0 1 1 X
1
RE
G 0
RE=1: 扩充指令集动作
RE=0: 基本指令集动作
G=1 :绘图显示ON
G=0 :绘图显示OFF
72us
设定IRAM
地址或卷动
地址
0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0
SR=1:AC5—AC0为垂直卷动地址
SR=0:AC3—AC0为ICON IRAM地址
72us
设定绘图
RAM地址
0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM 地址到地址计数器(AC) 72us
TG12864EL 串口接线方式:
备注:
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
8
1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,
方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须
延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令
说明。
2“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后
的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。
具体指令介绍:
1、清除显示
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L L H
功能:清除显示屏幕,把DDRAM 位址计数器调整为“00H”
2、位址归位
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L H X
功能:把DDRAM 位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM
3、位址归位
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L H I/D S
功能:把DDRAM 位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM 功能:执行该命令后,所设
置的行将显示在屏幕的第一行。显示起始行是由Z 地址计数器控制的,该命令自动将A0-A5位地址送入Z地址
计数器,起始地址可以是0-63 范围内任意一行。Z 地址计数器具有循环计数功能,用于显示行扫描同步,当扫
描完一行后自动加一。
4、显示状态开/关
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L H D C B
功能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON
5、游标或显示移位控制
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L H S/C R/L X X
功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容
6、功能设定
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L H DL X 0 RE X X
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
9
功能:DL=1(必须设为1) RE=1;扩充指令集动作RE=0:基本指令集动作
7、设定CGRAM 位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L H AC5 AC4 AC3 AC2 AC1 AC0
功能:设定CGRAM位址到位址计数器(AC)
8、设定DDRAM 位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L H AC6 AC5 AC4 AC3 AC2 AC1 AC0
功能:设定DDRAM位址到位址计数器(AC)
9、读取忙碌状态(BF)和位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L H BF AC6 AC5 AC4 AC3 AC2 AC1 AC0
功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
10、写资料到RAM
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
H L D7 D6 D5 D4 D3 D2 D1 D0
功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)
11、读出RAM 的值
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
H H D7 D6 D5 D4 D3 D2 D1 D0
功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)
12、待命模式(12H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L L H
功能:进入待命模式,执行其他命令都可终止待命模式
13、卷动位址或IRAM 位址选择(13H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L L H SR
功能:SR=1;允许输入卷动位址SR=0;允许输入IRAM位址
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
10
14、反白选择(14H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L L H R1 R0
功能:选择4 行中的任一行作反白显示,并可决定反白的与否
15、睡眠模式(015H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L L L H SL X X
功能:SL=1;脱离睡眠模式SL=0;进入睡眠模式
16、扩充功能设定(016H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L L H H X 1 RE G L
功能:RE=1;扩充指令集动作RE=0;基本指令集动作G=1;绘图显示ON G=0;绘图显示OFF
17、设定IRAM 位址或卷动位址(017H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L L H AC5 AC4 AC3 AC2 AC1 AC0
功能:SR=1;AC5~AC0 为垂直卷动位址SR=0;AC3~AC0 写ICONRAM位址
18、设定绘图RAM 位址(018H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L L H AC6 AC5 AC4 AC3 AC2 AC1 AC0
功能:设定GDRAM位址到位址计数器(AC)
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
11
七、显示坐标关系
1、图形显示坐标
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
12
2、汉字显示坐标
X 坐标
Line1 80H 81H 82H 83H 84H 85H 86H 87H
Line2 90H 91H 92H 93H 94H 95H 96H 97H
Line3 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH
Line4 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH
3、字符表
代码(02H---7FH)
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
13
八、显示步骤
1、显示资料RAM(DDRAM)
显示资料RAM 提供64×2 个位元组的空间,最多可以控制4 行16 字(64 个字)的中文字型显示,当写
入显示资料RAM时,可以分别显示CGROM、HCGROM 与CGRAM的字型;ST7920A 可以显示三种字型,
分别是半宽的HCGROM 字型、CGRAM 字型及中文CGROM 字型,三种字型的选择,由在DDRAM 中写入
的编码选择,在0000H—0006H的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型的
编码(A140—D75F),各种字型详细编码如下:
1、显示半宽字型:将8 位元资料写入DDRAM中,范围为02H—7FH 的编码。
2、显示CGRAM字型:将16 位元资料写入DDRAM 中,总共有0000H,0002H,0004H,0006H 四种编
码。
3、显示中文字形:将16 位元资料写入DDRAMK ,范围为A1A1H—F7FEH的编码。
绘图RAM(GDRAM)
绘图显示RAM提供64×32 个位元组的记忆空间,最多可以控制256×64点的二维也纳绘图缓冲空间,在
更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个8位元的资料到绘图RAM,而地址计数器(AC)
会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:
1、关闭绘图显示功能。
2、先将水平的位元组坐标(X)写入绘图RAM地址;
3、再将垂直的坐标(Y)写入绘图RAM地址;
4、将D15——D8 写入到RAM中;
5、将D7——D0 写入到RAM中;
6、打开绘图显示功能。
绘图显示的记忆体对应分布请参考表
2、游标/闪烁控制
ST7920A 提供硬体游标及闪烁控制电路,由地址计数器(address counter)的值来指定DDRAM 中的游标
或闪烁位置。
九、应用举例
DI EQU P3.7
E EQU P3.5
RST EQU P3.2
cs1 equ p3.0
cs2 equ p3.1
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
14
;本测试程序中CS1,CS2=H ,RW =>GND
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP LINTO
ORG 0100H
MAIN: NOP
clr ea
clr cs1
clr cs2
CLR E
lcall init
MOV 34H,#0ffH
LCALL DISPLAY_ALL
lcall dly100
MOV 34H,#00H
LCALL DISPLAY_ALL
lcall plybw
lcall DLY100
MOV 34H,#00H
LCALL DISPLAY_ALL
MOV R1,#0C0H ;START = 0
LCALL WRI
mov 31h,#0
mov 30h,#0
MOV 30H,#0 ;x
MOV 31H,#8 ;y
MOV DPTR,#HZI7 ;您
LCALL outhz
MOV 30H,#0
MOV 31H,#40
MOV DPTR,#HZI8 ;好
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
15
LCALL outhz
MOV 30H,#4
MOV 31H,#16
MOV DPTR,#HZI1 铜
LCALL outhz
MOV 30H,#4
MOV 31H,#32
MOV DPTR,#HZI2 ;铧
LCALL outhz
MOV 30H,#6
MOV 31H,#0
MOV DPTR,#HZI3 ;电
LCALL outhz
MOV 30H,#6
MOV 31H,#16
MOV DPTR,#HZI4 ;子
LCALL outhz
MOV 30H,#6
MOV 31H,#32
MOV DPTR,#HZI5 ;公
LCALL outhz
MOV 30H,#6
MOV 31H,#48
MOV DPTR,#HZI6 ;司
LCALL outhz
LCALL DLY100
LJMP MAIN
LINTO: NOP
NOP
RETI
init: CLR RST ;RESET
LCALL DLY50
LCALL DLY50
LCALL DLY50
LCALL DLY50
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
16
setb rst
MOV R1,#3FH ;DISPLAY ON
LCALL WRI
MOV R1,#0C0H ;START = 0
LCALL WRI
MOV 34H,#00H
LCALL DISPLAY_ALL
ret
DISPLAY_ALL: MOV R1,#0C0H ;START = 0
LCALL WRI
MOV R7,#8 ;DISPLAY DATA= 34H
MOV R2,#0B8H
LOP1: MOV A,R2
MOV R1,A ; X+1
LCALL WRI
MOV R1,#40H ; Y
LCALL WRI
MOV R5,#64
LOP11: MOV R1,34H
LCALL WRD
DJNZ R5,LOP11
INC R2
DJNZ R7,LOP1
ret
outhz:
;30h=x (0-6) 31h=y(0-63-16)
MOV R1,#0C0H ;START = 0
LCALL WRI
MOV R7,#2
MOV A,#0B8H
ADD A,30H ;B8+X
MOV 30H,A ;A>>30H
HZ2: ; MOV A,R2
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
17
MOV R1,30H ; X+1
LCALL WRI
MOV A,#40H ; Y
ADD A,31H
; MOV 31H,A ;40+Y
MOV R1,A
LCALL WRI
MOV R5,#16
HZ1: MOV A,#00H
MOVC A,@A+DPTR
MOV R1,A
LCALL WRD
LCALL DLY10
INC DPTR
DJNZ R5,HZ1
INC 30H
DJNZ R7,HZ2
RET
plybw:
MOV R1,#0C0H ;START = 0
LCALL WRI
mov 30h,#0
mov 31h,#0
mov dptr,#bw
MOV R7,#8
MOV A,#0B8H
ADD A,30H ;B8+X
MOV 30H,A ;A>>30H
HZ2bw: ; MOV A,R2
MOV R1,30H ; X+1
LCALL WRI
; MOV A,#40H ; Y
;ADD A,31H
;MOV 31H,A ;40+Y
;MOV R1,A
mov R1,#40h
LCALL WRI
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
18
MOV R5,#64
HZ1bw: MOV A,#00H
MOVC A,@A+DPTR
MOV R1,A
LCALL WRD
LCALL DLY10
INC DPTR
DJNZ R5,HZ1bw
INC 30H
DJNZ R7,HZ2bw
RET
WRI: ;写指令子程序
CLR E
CLR DI
MOV P1,R1
lcall DLY10
SETB E
LCALL DLY10
CLR E
LCALL DLY10
LCALL DLY10
LCALL DLY10
RET
WRD: ;写数据子程序
CLR E
SETB DI
MOV P1,R1
LCALL DLY10
SETB E
LCALL DLY10
CLR E
LCALL DLY10
LCALL DLY10
LCALL DLY10
RET
DLY10:MOV R3,#01H
DL1:MOV R4,#01H
DL2:MOV R6,#0FH
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
19
DL3:DJNZ R6,DL3
DJNZ R4,DL2
DJNZ R3,DL1
RET
DLY50:MOV R3,#04H
DL111:MOV R4,#0FH
DL222:MOV R6,#0AFH
DL333:DJNZ R6,DL333
DJNZ R4,DL222
DJNZ R3,DL111
RET
DLY100:MOV R3,#06H
DL11:MOV R4,#0FFH
DL22:MOV R6,#0FFH
DL33:DJNZ R6,DL33
DJNZ R4,DL22
DJNZ R3,DL11
RET
ORG 0300H
WELCOM: DB 57H,65H,6CH,63H,6FH,6DH,65H,20H,20H,20H,20H,20H,20H,20H
DB 20H,20H,20H,20H,20H,20H
ORG 0320H
TINSHARP: DB 54H,49H,4EH,53H,48H,41H,52H,50H,20H,4CH,43H,4DH,20H,20H
DB 20H,20H,20H,20H,20H,20H
ORG 0340H
HZI1: ; 铜
DB 080H,080H,070H,0C8H,056H,048H,0F8H,010H,010H,048H,048H,028H,0F8H,008H,000H,000H
DB 000H,000H,002H,02FH,012H,008H,03FH,000H,00FH,009H,027H,040H,07FH,000H,000H,000H
HZI2: ; 铧
DB 000H,080H,060H,090H,05EH,050H,030H,010H,0FCH,044H,0FEH,010H,008H,080H,000H,000H
DB 000H,000H,002H,03FH,012H,00AH,008H,008H,00BH,048H,07CH,009H,009H,005H,000H,000H
HZI3: ;电
DB 00H,0f8H, 48H, 48H, 48H, 48H,0ffH, 48H, 48H, 48H, 48H,0fcH, 08H, 00H, 00H, 00H
DB 00H, 07H, 02H, 02H, 02H, 02H, 3fH, 42H, 42H, 42H, 42H, 47H, 40H, 70H, 00H, 00H
HZI4: ;子
DB 80H, 80H, 82H, 82H, 82H, 82H, 82H,0e2H,0a2H, 92H, 8aH, 86H, 80H,0c0H, 80H, 00H
DB 00H, 00H, 00H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
HZI5: ;公
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
20
DB 00H, 00H, 80H, 40H, 30H, 0cH, 00H,0c0H, 06H, 18H, 20H, 40H, 80H, 80H, 80H, 00H
DB 01H, 01H, 00H, 30H, 28H, 24H, 23H, 20H, 20H, 28H, 30H, 60H, 00H, 01H, 00H, 00H
HZI6: ;司
DB 10H, 10H, 92H, 92H, 92H, 92H, 92H, 92H,0d2H, 9aH, 12H, 02H,0ffH, 02H, 00H, 00H
DB 00H, 00H, 3fH, 10H, 10H, 10H, 10H, 10H, 3fH, 00H, 40H, 80H, 7fH, 00H, 00H, 00H
HZI7: ;您
DB 40H, 20H, 10H,0fcH, 23H, 10H, 8cH, 67H, 04H,0f4H, 04H, 44H, 94H, 8cH, 00H, 00H
DB 40H, 30H, 00H, 77H, 80H, 81H, 88H, 92H,0b4H, 83H, 80H,0e0H, 00H, 11H, 60H, 00H
HZI8: ;好
DB 10H, 10H,0f0H, 1fH, 10H,0f0H, 80H, 82H, 82H, 82H,0e2H, 92H, 8aH,0c6H, 80H, 00H
DB 40H, 22H, 15H, 08H, 14H, 63H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H
bw:
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
21
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH, 00H, 00H, 00h, 00H, 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffh,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH,0ffH
END
显示流程图
入口
NO
YES
显示完否
初始化
调用显示程序
延时
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
22
写指令程序
WRI:
CLR E
CLR DI
MOV P1,R1
CALL DELAY
SETB E
CALL DELAY
CLR E
CALL DELAY
CALL DELAY
RET
返回
清E1,D/I,E1=D/I=0
送命令到P1口
延时0
置E为1
延时
E=0
延时
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
23
入口
返回
置E=0,D/I=1
送数据到P1口
延时
置E=1
延时
置E=0
延时
WRD:
CLR E
SETB DI
MOV P1,R1
CALL DELAY
SETB E
CALL DELAY
CLR E
CALL DELAY
CALL DELAY
RET
广州铜铧电子有限公司
TINSHARP ELECTRONICS CO,LTD
24
返回

看《匠人手记》,与匠人同行!北航出版,正在热卖!

回复:12864 LCD图形显示程序例子
希望尽快回复(游客)发表评论于2006-3-22 11:21:00  个人主页 | 引用 | 返回 | 删除 | 回复

希望尽快回复(游客)请问你有这个的电路原理图吗?

看《匠人手记》,与匠人同行!北航出版,正在热卖!

发表评论:
载入中...

芯片专题

器件专题

软件专题

硬件专题

综合专题

项目专题

原创专题

器件检测
LCD LED
按键 触摸键
E2PROM
电池 电机
电阻 电容 电感

指令系统
软件算法
编程规范
滤波算法
串行通讯

PCB设计
I2C PWM
红外遥控
充电技术
中断 ADC 

匠人手记
匠人夜话
网络心路
一周热点串烧
从零开始玩PIC
DIY旋转时钟

广告5号位 [投放]


学习板、开发板、编程器、下载器、仿真器(查看详情……)

广告3号位 [投放]

站内搜索


站外搜索


百度  google
mp3  歌词 
图片  FLASH 
知道  文档
新闻  词典 
地图  mp3 
软件  天网 
雅虎  爱问 
搜狗  讯雷 
网讯  华军 
天空 

21IC器件搜索
百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人手记》21IC书友会
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     

    匠人原创

    往日酷贴