lcddim.c

来自「OCM12232LCD的C驱动源码」· C语言 代码 · 共 146 行

C
146
字号
#include"config.h"

//************LCD底层函数

void LCD_Cls(void) //清屏
{LCD_Busy();
 RS=0;
 RW=0;
 DB=0x01;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Screen(void) //屏幕开禁止光标
{LCD_Busy();
 RS=0;
 RW=0;
 DB=0x0c;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Busy(void) //检测忙
{DB=0xff;
 RS=0;
 RW=1;
 E=1;
 while(BF==1);
 E=0;
}

void LCD_Write_Code(unsigned char CODE) //写字符
{LCD_Busy();
 RS=1;
 RW=0;
 DB=CODE;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Addr(unsigned char ADDR) //显示位置
{LCD_Busy();
 RS=0;
 RW=0;
 DB=ADDR;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Comm_Basic(void) //8位基本指令
{LCD_Busy();
 RS=0;
 RW=0;
 DB=0x30;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Comm_Add(void) //8位扩展指令
{LCD_Busy();
 RS=0;
 RW=0;
 DB=0x34;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Input(void) //显示光标
{LCD_Busy();
 RS=0;
 RW=0;
 DB=0x0f;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Right_Mov(void) //光标右移
{LCD_Busy();
 RS=0;
 RW=0;
 DB=0x14;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

void LCD_Left_Mov(void) //光标左移
{LCD_Busy();
 RS=0;
 RW=0;
 DB=0x10;
 E=1;
 _nop_();
 _nop_();
 E=0;
}

unsigned char LCD_Read_RAM(void) //读RAM
{unsigned char DATA;
 LCD_Busy();
 RS=1;
 RW=1;
 E=1;
 _nop_();
 DATA=DB;
 E=0;
 LCD_Busy();    //第二次读有效
 RS=1;
 RW=1;
 E=1;
 _nop_();
 DATA=DB;
 E=0;
 return(DATA);
}

unsigned char LCD_Read_Addr(void) //读位置参数
{unsigned char PLACE;
 LCD_Busy();
 RS=0;
 RW=1;
 E=1;
 _nop_();
 PLACE=DB;
 E=0;
 return(PLACE);
}



⌨️ 快捷键说明

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