⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.c

📁 TN82AA液晶块利用AT89C51编程的测试程序
💻 C
字号:
#include <REGX51.H>
#include <INTRINS.H>
#define  uint  unsigned int
#define  uchar unsigned char
#define  PaiduiNO   0x10
#define  RS     P0_2
#define  RW     P0_1
#define  E1     P0_0
#define KEYEN   P0_6
#define ADDEN   P0_7


uint WorkingNO;
uchar Waiter;
void LCDWriteCmd(uchar Cmd);
void LCDWriteData(uchar TempData);
void LCDDisplayNO();
void delay(uint tt);
void LCDInitialization();


void main()
  {
    
    uint i;
    WorkingNO=0;
    Waiter=0x00;
    LCDWriteCmd(0x06); 
    LCDInitialization();
    LCDDisplayNO();


  while(1)
     {  
      for(i=0;i<5000;i++)
       {
         WorkingNO++;
         LCDDisplayNO();
     delay(5000);
    delay(5000);
    delay(5000);
    delay(5000);
    delay(5000);
    delay(5000);
    delay(5000);
    delay(5000);
    delay(5000);
    delay(5000);
         
       }
     }
    
}
/*************************************/
void LCDWriteCmd(uchar Cmd)   //写命令。
  {
//    uchar temp;
	ADDEN=1;
	KEYEN=1;
//	CLKK=0;
    E1=0;      //
    RS=0;      //
	RW=0;      //RS/RW同时为0,是命令状态。
	_nop_();
	P2=Cmd;
	_nop_();
	_nop_();
	E1=1;       //关闭LCD
	delay(100);
	E1=0;
    delay(10);
    
   }

void LCDWriteData(uchar TempData)
  {
	ADDEN=1;
	KEYEN=1;
    E1=0;
    RS=1;
	RW=0;                 //RS=1,RW=0是写数据。
	P2=TempData;
	E1=1;
	delay(100);
	E1=0;
    delay(10);
  }

void LCDDisplayNO()     //显示号码
  {
    LCDWriteCmd(0x01);//清除屏幕
	LCDWriteCmd(0x81);
    LCDWriteData(0x4e);//N
    LCDWriteData(0x4f);//O  
    LCDWriteData(0x3a); //:
    LCDWriteData(0x30+WorkingNO/1000);

    LCDWriteData(0x30+(WorkingNO%1000)/100);
    LCDWriteData(0x30+(WorkingNO%100)/10);
    LCDWriteData(0x30+WorkingNO%10);
    LCDWriteCmd(0xc1);
    LCDWriteData(0x57);//W
    LCDWriteData(0x54);//T  
    LCDWriteData(0x3a); //:
    LCDWriteData(0x30+Waiter/10);
    LCDWriteData(0x30+Waiter%10);
//	LCDWriteCmd(0xCC);
  }
void LCDInitialization()    //初始化
  {
    LCDWriteCmd(0x01);//清除屏幕
	delay(5000);
    LCDWriteCmd(0x0c);//
    delay(5000);
    LCDWriteCmd(0x3c);
    delay(5000);
  }
void delay(uint tt)
  {
    uint i;
	for(i=0;i<tt;i++)
	 {
	   _nop_();
	   _nop_();
	   _nop_();
	 }
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -