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

📄 1602.h

📁 MCP3204可用源代码和这PROTUES彷真图
💻 H
字号:
/*****************************************************************************

lcd1602




*****************************************************************************/
#include<myc51.h>

sbit Rs  = P2^5;        //寄存器选择, “1” 数据;“0” 指令
sbit Rw  = P2^6;        //读写选择    “1”读;“0” 写 
sbit En  = P2^7;        //使能    给个下降沿时执行命令
sfr  DBPort  = 0xb0;    //数据端口   在此选P3


void delay(uchar z)        //延时程序
{
	uchar x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}


//向LCD写入命令或数据*********************************************************


void  write(bit style, uchar input)
{

 Rs=style;
 DBPort=input;
 delay(4); 
 En=1;  //注意顺序
 delay(4);
 En=0;   
}


//初始化LCD***************************************************************
void start1602()
{
 Rw=0;
 En=0;
 //DBPort=0xff;
 //delay(4);
write(0,0x01);                            //8位数据端口,2行显示,5*7点阵
write(0,0x02);
write(0,0x06);
write(0,0x0c);
write(0,0x3C);   //?

}

//显示定位*******************************************************************
void goto_xy(uchar x, uchar  y)
{
 if(y==0)
  write(0,0x80|x);
 if(y==1)
  write(0,0x80|(x-0x40)); //?
}


//显示字符******************************************************************
void printf(uchar *str)
{
 while(*str!='\0')
 {
  write(1,*str);
  str++;
 }
}


//显示数据******************************************************************
void  printd (sint  x)
{    
     sint y[10];
     uchar  i=0,j;

    if(x<0)             //如果显示的值为负数
    {
      write(1,0x2d);    //显示"-"号
      
      x=-x;            
    } 


     y[0]=x%10;

     while(x/10!=0)
     {   i++;
         x=x/10;
         y[i]=x%10 ;
         
     }

     j=i+1;
     for(j;j>0;i--,j--)
     {
        write(1,y[i]+48) ;
     }

}
//**********************************************************************
void printdf(float x)
  {
      uchar y[10];
      uint  t;
      uchar  i=0,j;

      if(x<1)
      {
         write(1,48);
      }

      x=x*1000;
      t=(sint)x;

      y[0]=t%10;

     while(t/10!=0)
     {   i++;
         t=t/10;
         y[i]=t%10;
           
     }

     j=i+1;
     for(j;j>0;i--,j--)
     {
        if(i==2)
        {write(1,0x2e);}
        write(1,y[i]+48) ;

      }
   }


 




⌨️ 快捷键说明

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