#ifndef __MY1TLCD_H__ #define __MY1TLCD_H__ #define LCD_DATA P2 sbit LCD_RS = P0^7; sbit LCD_RW = P0^6; sbit LCD_EN = P0^5; void tlcd_delay(unsigned char step) { unsigned int loop; do { loop = 1000; while (--loop); } while (--step); } void tlcd_write(unsigned char cdat) { LCD_RS = 1; LCD_RW = 0; LCD_DATA = cdat; LCD_EN = 1; LCD_EN = 0; tlcd_delay(1); } void tlcd_cmd(unsigned char ccmd) { LCD_RS = 0; LCD_RW = 0; LCD_DATA = ccmd; LCD_EN = 1; LCD_EN = 0; tlcd_delay(2); } void tlcd_init(void) { tlcd_cmd(0x38); /* 8 bit mode, 1/16 duty, 5x8 font */ tlcd_cmd(0x38); tlcd_cmd(0x38); tlcd_cmd(0x06); /* display off */ tlcd_cmd(0x0c); /* display on, blink cursor on */ tlcd_cmd(0x01); /* clear display */ } void tlcd_puts(char* text) { while (*text) { tlcd_write(*text); text++; } } #endif /* __MY1TLCD_H__ */