/**
其它相关.c文件和电路图可以联系我要
**/
/晶振为12M***/
#include <reg52.h> //定义头文件
#include “LCD1602.h” //定义头文件
#include “DS1302.h” //定义头文件
#include <intrins.h> //定义头文件
#define uint unsigned int
#define uchar unsigned char
long int S;
unsigned int time1;
char flag;
sbit beep=P2^0;
sbit rt=P1^3; //人体感应
sbit Trig=P1^5; //产生脉冲引脚
sbit Echo=P1^6; //回波引脚
sbit SCL=P2^4; //IIC时钟引脚定义
sbit SDA=P2^3; //IIC数据引脚定义
#define SlaveAddress 0x46 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改
//ALT ADDRESS引脚接地时地址为0x46,接电源时地址为0xB8
typedef unsigned char BYTE;
typedef unsigned short WORD;
BYTE BUF[8]; //接收数据缓存区
uchar ge,shi,bai,qian,wan; //显示变量
int dis_data; //变量
/------------------函数声明--------------------/
void Delay10ms(void);
void delayms(unsigned int ms);
void delay_nms(unsigned int k);
void InitLcd();
void Init_BH1750(void);
void Single_Write_BH1750(uchar REG_Address); //单个写入数据
uchar Single_Read_BH1750(uchar REG_Address); //单个读取内部寄存器数据
void Multiple_Read_BH1750(); //连续的读取内部寄存器数据
//------------------------------------
void Delay5us();
void Delay5ms();
void BH1750_Start(); //起始信号
void BH1750_Stop(); //停止信号
void BH1750_SendACK(bit ack); //应答ACK
bit BH1750_RecvACK(); //读ack
void BH1750_SendByte(BYTE dat); //IIC单个字节写
BYTE BH1750_RecvByte(); //IIC单个字节读
//-----------------------------------
//毫秒延时**************************
void delay_nms(unsigned int k)
{
unsigned int i,j;
for(i=0;i<k;i++)
{
for(j=0;j<121;j++)
{;}}
}
/**************************************
延时5微秒(STC90C52RC@12M)
不同的工作环境,需要调整此函数,注意时钟过快时需要修改
当改用1T的MCU时,请调整此延时函数
***********