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

📄 lcd1602.h

📁 1602+ds1302时钟显示+ds18b20温度报警
💻 H
字号:
//lcd1602.h////////////////////////////////
#include "intrins.h"
sbit rs=P2^7;//与1602控制口通信的端口
sbit rw=P2^6;
sbit ep=P2^5;

unsigned char  dis1[17]={"10-11 19:57:00 2\0"};
unsigned char  dis2[17]={"NOW TEMP: 015.0 \0"};
unsigned char code  cdis3[ ] = {"*****Warnning****\0"};
unsigned char code  cdis4[ ] = {"Now Temp:Too Hot \0"};
unsigned char code  cdis5[ ] = {"NowTemp:Too cold\0"};

void lcd_delay(unsigned char ms)
{
  unsigned char i;
  while(ms--)
  {
    for(i=0;i<250;i++)
	 {
	   _nop_();
	   _nop_();
	   _nop_();
	   _nop_();
	 }
  }
}
bit lcd_bz()
{
  bit result;
  rs=0;
  rw=1;
  ep=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  result=(bit)(P0&0x80);
  ep=0;
  return result;
}

lcd_wcmd(unsigned char cmd)
{
  while(lcd_bz());
  rs=0;
  rw=0;
  ep=0;
  _nop_();
  _nop_();
  P0=cmd;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  ep=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  ep=0;
}

lcd_pos(unsigned char pos)//设定显示位置
{
  lcd_wcmd(pos|0x80);
}

lcd_wdat(unsigned char dat)
{
  while(lcd_bz());
  rs=1;
  rw=0;
  ep=0;
  P0=dat;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  ep=1;
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  ep=0;
}

lcd_init()//不显示光标,主界面显示
{
  lcd_wcmd(0x38);//0011  1000      001 四位总线(1)        双行显示(1) 显示5*7点阵(0) 0 0
  lcd_delay(1);
  lcd_wcmd(0x0c);//0000  1100      0000  1 整体显示(1) 有光标(1) 光标闪烁(1)     
  lcd_delay(1);
  lcd_wcmd(0x06);//0000  0110      0000 01 光标右移(1) 屏幕上有文字是否左移或右移(1有效)
  lcd_delay(1);
  lcd_wcmd(0x01);//0000  0001      0000 000清显示,光标复位,返回到地址00H
  lcd_delay(1);
}
lcd_init2()//显示光标,调节界面显示
{
  lcd_wcmd(0x38);//0011  1000      001 四位总线(1)        双行显示(1) 显示5*7点阵(0) 0 0
  lcd_delay(1);
  lcd_wcmd(0x0f);//0000  1111      0000  1 整体显示(1) 有光标(1) 光标闪烁(1)     
  lcd_delay(1);
  lcd_wcmd(0x06);//0000  0110      0000 01 光标右移(1) 屏幕上有文字是否左移或右移(1有效)
  lcd_delay(1);
  lcd_wcmd(0x01);//0000  0001      0000 000清显示,光标复位,返回到地址00H
  lcd_delay(1);
}
char code_switch(int a)
{
   switch(a)
  {
    case 0:return '0';break;  
    case 1:return '1';break;
    case 2:return '2';break;
    case 3:return '3';break;
    case 4:return '4';break;
    case 5:return '5';break;
    case 6:return '6';break;
    case 7:return '7';break;
    case 8:return '8';break;
    case 9:return '9';break;
  }
}
//end lcd

⌨️ 快捷键说明

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