#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;j0;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; }
评论