#include <reg52.h>
#define LCD1602_SET writeCD_1602(0x38, 0)
#define LCD1602_CLOSE writeCD_1602(0x01, 0)
#define LCD1602_ENTER writeCD_1602(0x02, 0)
#define LCD1602_LMOVE writeCD_1602(0x18, 0)
#define LCD1602_RMOVE writeCD_1602(0x1c, 0)
#define LCD1602_LCURSOR writeCD_1602(0x10, 0)
#define LCD1602_RCURSOR writeCD_1602(0x14, 0)
#define LCD1602_08(CMD) writeCD_1602(0x08 | CMD, 0)
#define LCD1602_SHOW 0x04
#define LCD1602_CURSOR 0x02
#define LCD1602_TWINKLE 0x01
#define LCD1602_08PRESET LCD1602_SHOW
#define LCD1602_04(CMD) writeCD_1602(0x04 | CMD, 0)
#define LCD1602_DIRECTION 0x02
#define LCD1602_MSTATE 0x01
#define LCD1602_04PRESET LCD1602_DIRECTION
sbit LCDen = P3 ^ 4;
sbit LCDrs = P3 ^ 5;
sbit LCDrw = P3 ^ 6;
void blockDelay(unsigned int ms) {
unsigned char number;
while (ms--) {
number = 110;
while (number--);
}
}
void writeCD_1602(unsigned char dat, unsigned char cmd) {
LCDrs = cmd;
LCDrw = 0;
P0 = dat;
LCDen = 1;
blockDelay(32);
LCDen = 0;
}
void lcdInit_1602() {
LCD1602_SET;
LCD1602_08(LCD1602_08PRESET);
LCD1602_04(LCD1602_04PRESET);
LCD1602_CLOSE;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)