#include
#include//要用到_nop_();函数#define uchar unsigned char#define uint unsigned int/***************************************************************************//*********** 单片机引脚界说 ************//***************************************************************************/sbit sda=P1^0; //I2C 数据传送位sbit scl=P1^1; //I2C 时钟传送位char x,y,z,num[9]={0,0,0};/******************************************************************************//********** 数据部分 ***********//******************************************************************************/#define IIC_READ 0x1D //界说读指令#define IIC_WRITE 0x1D //界说写指令#define LCD_data P0 //数据口sbit inter_0=P3^2;sbit LCD_RS = P2^7; //寄存器挑选输入 sbit LCD_RW = P2^6; //液晶读/写操控sbit LCD_EN = P2^5; //液晶使能操控sbit LCD_PSB = P2^4; //串/并方法操控void delay_1ms(uint x) { uint i,j; for(j=0;j 0;t--)for(j=19;j>0;j--);}void delay_50ms(uchar t){uint j;for(;t>0;t--)for(j=6245;j>0;j--);}/*********************************************************************//************** I2C通讯部分 ***************//*********************************************************************/void iic_start() //函数功用:I2C通讯开端{sda=1;iic_delay();scl=1;iic_delay();sda=0;iic_delay();}void iic_stop() //函数功用:I2C通讯中止{sda=0;iic_delay();scl=1;iic_delay();sda=1;iic_delay();}void iic_ack() //函数功用:I2C通讯查应对位{ sda=1;scl=1;iic_delay();ack_sign=sda;scl=0; }