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

📄 lm16032ddriver.c

📁 lm16032驱动程序
💻 C
字号:

*/
#include "lm16032ddriver.h"
//--------------------------------------            
//延时子函数                                             
//--------------------------------------             
void LcdDelay(uint delx)                                
{                                                   
  uint i=0;                                           
  while(i<delx)                                        
    {                                                 
      i++; 
    }                                                 
}                                                      
//--------------------------------------              
//写命令函数                                                   
//--------------------------------------             
void LcdCommand(uchar Com)                           
{ 
  RS=0; 
  RW=0; 
  LcdDataPort=Com; 
  _nop_();_nop_();_nop_(); //E先1后0实现下降沿
  E=1; 
  _nop_();_nop_();_nop_(); 
  E=0;
  LcdDelay();
} 
//--------------------------------------// 
//写数据函数 
//-------------------------------------- 
void LcdDataWrite(uchar Data) 
{ 
  RS=1; 
  RW=0; 
  LcdDataPort=Data; 
  _nop_();_nop_();_nop_(); //E先1后0实现下降沿
  E=1; 
  _nop_();_nop_();_nop_(); 
  E=0; 
} 
//--------------------------------------// 
//初始化函数 
//-------------------------------------- 
void LcdInitialize(void) 
{ 
  LcdDelay(1000); 
  LcdCommand(0x30);              //功能设定
  LcdDelay(1000); 
  LcdCommand(0x30); 
  LcdCommand(0x0e);              //显示画面设置 
  LcdCommand(0x01);              //清屏指令 
  LcdDelay(1000); 
  LcdCommand(0x06);              //ENTRY MODE 
} 
//--------------------------------------// 
//设定字符显示位置函数 
//-------------------------------------- 
void SetCharCursor(uchar CharX,uchar CharY) 
{ 
  uchar CharSite; 
  CharX=CharX & 0x0f; //取低四位
  CharY=CharY & 0x0f; 
  CharY=CharY<<4; //低四位变为高四位,低四位清零
 	CharY=CharY & 0x10; //只取第五位,因为该显示屏只能显示两行文字 当多于两行时无显示,因而为保证显示屏始终有显示~
  CharY=CharY | 0x80; //最高位置1
  CharSite=CharY | CharX; 
  LcdCommand(CharSite);
}
//--------------------------------------//
//显示字符子函数 
 //--------------------------------------// 
void DisplayChar(uchar CharX,uchar CharY,uchar *ASC_GB) 
{
SetCharCursor(CharX,CharY); 
while(*ASC_GB>0) //按顺序一个一个字符的写
 {LcdDataWrite(*ASC_GB);ASC_GB++;
 /*if(ASC_GB>0x09)
 {CharX=0;
SetCharCursor(0,CharY++);
 LcdDataWrite(*(ASC_GB+9));
 ASC_GB++;
 } */ 

}
}
unsigned char LcdReadAC()
{
	unsigned char ACNum;
	RS=0; 
  RW=1;  
  _nop_();_nop_();_nop_(); //E先1后0实现下降沿
  E=1;
  _nop_();_nop_();_nop_(); 
  ACNum = LcdDataPort;
  _nop_();_nop_();_nop_(); 
  E=0; 
  return ACNum;
}
 

⌨️ 快捷键说明

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