#include //调用单片机头文件
#define uchar unsigned char //无符号字符型 宏定义 变量范围0~255
#define uint unsigned int //无符号整型 宏定义 变量范围0~65535
#include //Keil library
#include //Keil library
#include
sbit rs=P2^3; //寄存器选择信号 H:数据寄存器 L:指令寄存器
sbit rw=P2^4; //寄存器选择信号 H:数据寄存器 L:指令寄存器
sbit e =P2^5; //片选信号 下降沿触发
sbit SCL=P1^1; //IIC时钟引脚定义
sbit SDA=P1^0; //IIC数据引脚定义
#define SlaveAddress 0x3C //定义器件在IIC总线中的从地址
uchar BUF[8]; //接收数据缓存区
uchar ge,shi,bai,qian,wan; //显示变量
int dis_data; //变量
/******************1ms 延时函数*******************/
void delay_1ms(uint q)
{
uint i,j;
for(i=0;i
for(j=0;j<120;j++);
}
/***********************延时函数************************/
void delay_uint(uint q)
{
while(q--);
}
/**************************************
延时5微秒(STC90C52RC@12M)
不同的工作环境,需要调整此函数,注意时钟过快时需要修改
当改用1T的MCU时,请调整此延时函数
**************************************/
void Delay5us()
{
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}
/***********************lcd1602写命令函数************************/
void write_com(uchar com)
{
e=0;
rs=0;
rw=0;
P0=com;
delay_uint(3);
e=1;
delay_uint(25);
e