lcd.c
来自「Interfacing 8 bit LCD to any microcontro」· C语言 代码 · 共 93 行
C
93 行
/*------------------------------------------------------------------------------------------
LCD.C
Source file to LCD operation
Project: RADIATION COUNTING SYSTEM
ELECTRONICS CORPORATION OF INDIA LIMITED, HYDERABAD
Developed By VINAY All rights reserved.
--------------------------------------------------------------------------------------------*/
#include"at89x51.h"
#include"lcd.h"
#include"lcdcmd.h"
sbit LCD_E = P1^2;
sbit LCD_RS = P1^3;
void LcdWriteCmd(unsigned char cmd)
{
LCD_RS = 0;
LCD_E = 1;
P2 = cmd;
LCD_E = 0;
delay(50);
}
void LcdMoveCursor(unsigned char row, unsigned char col)
{
LcdWriteCmd(LCD_MOVEDISPLAY | (row << 6) | col);
}
void LcdWriteChar(unsigned char dval)
{
LCD_RS = 1;
LCD_E = 1;
P2 = dval;
LCD_E = 0;
delay(0);
}
void LcdWriteString(unsigned char *str)
{
while (*str != '\0')
{
LcdWriteChar(*str);
++str;
}
}
void delay(long int k)
{
int i;
for (i=0;i<k;i++)
{
}
}
void LcdClear(void)
{
LcdWriteCmd(LCD_CLEAR);
}
void LcdInit(void) {
LcdWriteCmd(0x38);
LcdWriteCmd(0x38);
LcdWriteCmd(0x38);
LcdWriteCmd(LCD_SETIFLEN | LCD_SETIFLEN_N | LCD_SETIFLEN_DL);
// The thing oughta be initialized here.
LcdWriteCmd(LCD_DISPEN); // display off, cursor off, no blink
LcdWriteCmd(LCD_CLEAR);
LcdWriteCmd(LCD_DISPEN | LCD_DISPEN_DISP); // | LCD_DISPEN_CURSOR);
LcdWriteCmd(LCD_MOVEDIR | LCD_MOVEDIR_ID);
}
void LcdAutoMove(void)
{
LcdWriteCmd(LCD_MOVEDIR|LCD_MOVEDIR_SHIFT|LCD_MOVEDIR_ID);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?