主函数文件:
#include <reg52.h>
#include "./delay/delay.h"
sbit SCL = P1^0;
sbit SDA = P1^1;
sbit RS = P2^4;
sbit RW = P2^5;
sbit E = P2^6;
bit ack = 0;
#define SUCC 1
#define ERR 0
#define LCDPORT P0
#define LCD_WRITE_DATA 1
#define LCD_WRITE_COM 0
unsigned char shi = 0;
unsigned char fen = 0;
unsigned char miao = 0;
void lcd_write1602(unsigned char byte,unsigned char flag);
void lcd1602_write(unsigned char byte,unsigned char flag)
{
if(flag)
{
RS = 1;
}
else
{
RS = 0; //Ñ¡ÔñÊäÈëÊý¾ÝΪÊý¾Ý
}
RW = 0; //д
E = 1; //Ñ¡ÖÐLCD
LCDPORT = byte;
delay_us(5);
E = 0; //ʧÄÜLCD
}
void Timer0_init()
{
EA = 1;
TMOD |= 0x01;
TH0 = (65536 - 20000) / 256;
TL0 = (65536 - 20000) % 256;
ET0 = 1;
TR0 = 1;
}
void timer() interrupt 1
{
static unsigned char i = 0;
TH0 = (65536 - 20000)