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

📄 lcd1602.c

📁 单片机演示程序 串口接收
💻 C
字号:


#include <REG51.H>
#include<absacc.h>
#include <stdio.h>
#include <STRING.H>
#include <MATH.H>
#define DB P0

#define uchar unsigned char
#define uint  unsigned int


sbit RS=P2^0;  
sbit RW=P2^1;  
sbit E=P2^2;

////延时函数//////////
void msec(unsigned int x)    
  {
   uchar j;
   while(x--)
   {
       for (j=0;j<125;j++)
       {;}
   }
  }


//液晶配置函数
void  configure(uchar com)  //com配置参数,初始化时需要配置若干次
   {
    uchar m; 
    RS=0;
    RW=1;
 do
   {
    DB=0x0ff;
    E=1;
    m=DB;
    E=0;
    m=m&0x80;
    }
 while (m==0x80);  
    RW=0;
    DB=com;
    E=1;
    E=0;    
}

void LcdIni()
{

   DB=0x30;
   RS=0;
   RW=0;



   msec(0x15); 

   DB=0x38;
   E=1;
   E=0;

  configure(0x01);
  configure(0x0c);
  configure(0x06);
}



//显示函数   

void  printchar(uchar row,uchar col, buf )
 {

	 uchar cod;
     uchar m;
	 cod=0x80;
	 if(row==1) cod=cod+0x40;
     if(row==2) cod=cod+0x14;
	 if(row==3) cod=cod+0x54;
	 cod=cod+col;
	 //cod=0x80 + 0x10 * row + col/2; 
     configure(cod);

	   

	   RS=0;
	   RW=1;

       do
        {
           DB=0x0ff;
           E=1;
           m=DB;
           E=0;
           m=m&0x80;
        }
       while (m==0x80);  
          RS=1;
	      RW=0;
	      DB=buf;
	      E=1;
	      E=0;
 

 }
//-------------

void  print(uchar row,uchar col,char * buf,uchar len )
 {
	 uchar i;
	 uchar cod;
     uchar m;
	 cod=0x80;
	 if(row==1) cod=cod+0x40;
     if(row==2) cod=cod+0x14;
	 if(row==3) cod=cod+0x54;
	 cod=cod+col;
	 //cod=0x80 + 0x10 * row + col/2; 
     configure(cod);

	   
     for(i=0;i<len;i++)
     {
	   RS=0;
	   RW=1;

       do
        {
           DB=0x0ff;
           E=1;
           m=DB;
           E=0;
           m=m&0x80;
        }
       while (m==0x80);  
          RS=1;
	      RW=0;
	      DB=buf[i];
	      E=1;
	      E=0;
       //msec(0x10);
	   }


 }

⌨️ 快捷键说明

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