📄 lcd1602vcdriver.cpp
字号:
#include "stdafx.h"
#include "Lcd1602VcDriver.h"
CLcd1602Driver::CLcd1602Driver()
{
m_ParallelPort.InitPort(0x378);
}
CLcd1602Driver::~CLcd1602Driver()
{
}
void CLcd1602Driver::delay()
{
UINT CNT;
for(CNT=0;CNT<10000;CNT++)
{
}
}
BOOL CLcd1602Driver::GetPinState(int n)
{
BOOL Logic;
m_ParallelPort.SetDataDir(0);//设置DATA口为读状态
Logic=m_ParallelPort.GetPinLogic(n);
return Logic;
}
BOOL CLcd1602Driver::lcd_bz()
{ // 测试LCD忙碌状态
//BOOL result;
m_ParallelPort.SetDataDir(0);//设置DATA口为读状态
m_ParallelPort.SetPinL(RS);
m_ParallelPort.SetPinH(RW);
m_ParallelPort.SetPinH(EP);
//result = !m_ParallelPort.GetPinLogic(PIN_D7);
delay();
m_ParallelPort.SetPinL(EP);
//return result;
return FALSE;
}
BOOL CLcd1602Driver::lcd_wcmd(unsigned char cmd)
{ // 写入指令数据到LCD
while(lcd_bz());
m_ParallelPort.SetDataDir(1);//设置DATA口为写状态
m_ParallelPort.SetPinL(RS);
m_ParallelPort.SetPinL(RW);
m_ParallelPort.SetPinL(EP);
m_ParallelPort.WriteData(cmd);
m_ParallelPort.SetPinH(EP);
m_ParallelPort.SetPinL(EP);
return TRUE;
}
BOOL CLcd1602Driver::lcd_pos(unsigned char pos)
{
//设定显示位置
lcd_wcmd(pos | 0x80);
return TRUE;
}
BOOL CLcd1602Driver::lcd_wdat(unsigned char dat)
{ //写入字符显示数据到LCD
while(lcd_bz());
m_ParallelPort.SetDataDir(1);//设置DATA口为写状态
m_ParallelPort.SetPinH(RS);
m_ParallelPort.SetPinL(RW);
m_ParallelPort.SetPinL(EP);
m_ParallelPort.WriteData(dat);
m_ParallelPort.SetPinH(EP);
m_ParallelPort.SetPinL(EP);
return TRUE;
}
BOOL CLcd1602Driver::lcd_init()
{
//LCD初始化设定
lcd_wcmd(0x38); //function set
Sleep(1);
lcd_wcmd(0x38); //function set
Sleep(1);
lcd_wcmd(0x08); //display on/off
Sleep(1);
lcd_wcmd(0x01); //清除LCD的显示内容
Sleep(1);
lcd_wcmd(0x06); //entry mode set
Sleep(1);
lcd_wcmd(0x0c); //entry mode set
Sleep(1);
return TRUE;
}
/*---------------
函数名称:display()
功能 :在LCD上显示数组的数据
说明 :先写显示地址,后写显示数据
调用 :lcd_wcmd(), lcd_pos()
入口参数:pos 写入的位置,q指向要写入的数据所在的数组
返回值 :TRUE
----------------*/
BOOL CLcd1602Driver::display(unsigned char pos, unsigned char *q)
{
char i;
lcd_pos(pos);
for(i=0;i<16;i++)
{
lcd_wdat(*q);
q++;
}
return TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -