如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
#include<reg52.h>#include<intrins.h>#defineWriteDeviceAddress0xa0#defineReadDviceAddress0xa1#defineucharunsignedchar#defineuintunsignedintunsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsignedcharcodetable1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};unsignedcharcodewrite_data[];unsignedcharread_data[];unsignedchart;sbitSCL=P2^0;sbitSDA=P2^1;sbitP36=P3^6;sbitP06=P0^6;//接蜂鸣器sbitP04=P0^4;//接继电器sbitP30=P3^0;//S7按键sbitP31=P3^1;//S6按键sbitP32=P3^2;//S5按键sbitP33=P3^3;//S4按键bitQD=0;//启动标志bitfg=0;//--------------------------------------------------------------------------voidDelayus(unsignedintnumber){for(;number!=0;number--){}}//--------------------------------------------------------------------------voidDelayMs(unsignedintnumber){unsignedchartemp;for(;number!=0;number--){for(temp=112;temp!=0;temp--){}}}//--------------------------------------------------------------------------voidStart(){SDA=1;Delayus(4);SCL=1;Delayus(4);SDA=0;Delayus(4);SCL=0;Delayus(4);}//--------------------------------------------------------------------------voidStop(){SCL=0;Delayus(4);SDA=0;Delayus(4);SCL=1;Delayus(4);SDA=1;Delayus(4);}//--------------------------------------------------------------------------voidAck(){SDA=0;Delayus(4);SCL=1;Delayus(4);SCL=0;Delayus(4);SDA=1;Delayus(4);}//--------------------------------------------------------------------------voidNoAck(){SDA=1;Delayus(4);SCL=1;Delayus(4);SCL=0;Delayus(4);SDA=0;//}//--------------------------------------------------------------------------bitTestAck(){bitErrorBit;SDA=1;Delayus(4);SCL=1;Delayus(4);ErrorBit=SDA;Delayus(4);SCL=0;return(ErrorBit);}//--------------------------------------------------------------------------voidWrite8Bit(unsignedcharinput){unsignedchartemp;for(temp=8;temp!=0;temp--){SDA=(bit)(input&0x80);Delayus(4);SCL=1;Delayus(4);SCL=0;Delayu