📄 lcd1602.c
字号:
#include "LCD1602.h"
void delay(char i)
{
for(;i>0;i--);
}
/*
void LCD_Busy()
{
P4DIR = 0xff;
LCDDAT = 0xff;
LCD_RS_L;
LCD_RW_H;
LCD_EN_H;
P4DIR = 0x0;
while(P4IN & 0x80);
delay(15);
P4DIR = 0xff;
}
*/
void LCD_WriteCom(char dis_com)
{
P4DIR = 0xff;
LCDDAT = dis_com;
LCD_RS_L;
LCD_RW_L;
LCD_EN_L;
LCD_EN_H;
}
void LCD_WriteDat(char dis_dat)
{
P4DIR = 0xff;
LCDDAT = dis_dat;
LCD_RS_H;
LCD_RW_L;
LCD_EN_L;
LCD_EN_H;
}
void LCD_SetAddr(char dis_addr_x,char dis_addr_y)
{
if(dis_addr_y == 0)
LCD_WriteCom(0x80 + dis_addr_x);
else
LCD_WriteCom(0xc0 + dis_addr_x);
}
void LCD_WriteChar(char dis_addr_x,char dis_addr_y,char dis_char)
{
LCD_SetAddr(dis_addr_x,dis_addr_y);
LCD_WriteDat(dis_char);
}
void LCD_WriteStr(char dis_addr_x,char dis_addr_y,char* dis_str)
{
LCD_SetAddr(dis_addr_x,dis_addr_y);
while (*dis_str)
{
LCD_WriteDat(*dis_str);
dis_str++;
}
}
void LCD_Init()
{
P3DIR = BIT5 + BIT6 + BIT7; // LCD control bus
LCD_WriteCom(0x01);
LCD_WriteCom(0x38); // set function
LCD_WriteCom(0x0f);
LCD_WriteCom(0x06);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -