欢迎来到天天文库
浏览记录
ID:38621079
大小:68.00 KB
页数:12页
时间:2019-06-16
《单片机IIC程序设计用c8051f单片机》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include//SFRdeclarations//------------------------------------------------------------------------------------//GlobalCONSTANTS//------------------------------------------------------------------------------------#defineWRITE0x00//SMBusWRITEcommand#defineREAD0x01//SMB
2、usREADcommand//Deviceaddresses(7bits,lsbisadon'tcare)#defineCLOCK3530_ADDRESS_RESET0x60//1ack#defineCLOCK3530_ADDRESS_STATUS0x62//2ack#defineCLOCK3530_ADDRESS_DATEHOUR0x64//8ackyearmonthdayweekhourminutesecond#defineCLOCK3530_ADDRESS_HOUR0x66//4ackhourminutesecond#defineCLOCK3530_A
3、DDRESS_INT10x68//3ack#defineCLOCK3530_ADDRESS_INT20x6A//3ackunion{unsignedcharClockString[7];structRealClock{unsignedcharYear,Month,Day,Week,Hour,Minute,Second;}RT;}RealTime;//SMBusstates://MT=MasterTransmitter//MR=MasterReceiver#defineSMB_BUS_ERROR0x00//(allmodes)BUSERROR#defineSM
4、B_START0x08//(MT&MR)STARTtransmitted#defineSMB_RP_START0x10//(MT&MR)repeatedSTART#defineSMB_MTADDACK0x18//(MT)Slaveaddress+Wtransmitted;//ACKreceived#defineSMB_MTADDNACK0x20//(MT)Slaveaddress+Wtransmitted;//NACKreceived#defineSMB_MTDBACK0x28//(MT)databytetransmitted;ACKrec'vd#defin
5、eSMB_MTDBNACK0x30//(MT)databytetransmitted;NACKrec'vd#defineSMB_MTARBLOST0x38//(MT)arbitrationlost#defineSMB_MRADDACK0x40//(MR)Slaveaddress+Rtransmitted;//ACKreceived#defineSMB_MRADDNACK0x48//(MR)Slaveaddress+Rtransmitted;//NACKreceived#defineSMB_MRDBACK0x50//(MR)databyterec'vd;ACK
6、transmitted#defineSMB_MRDBNACK0x58//(MR)databyterec'vd;NACKtransmitted//-----------------------------------------------------------------------------------//GlobalVARIABLES//-----------------------------------------------------------------------------------charCOMMAND;//Holdsthesla
7、veaddress+R/WbitforuseintheSMBusISR.unsignedchar*I2CDataBuff;charBYTE_NUMBER;//UsedbyISRtocheckwhatdatahasjustbeen//sent-Highaddressbyte,Lowbyte,ordatabyteunsignedcharHIGH_ADD,LOW_ADD;//High&LowbyteforEEPROMmemoryaddressbitSM_BUSY;//Thisbitissetwhenasendorreceive//isstarted.Itiscle
8、aredbythe//ISRwhentheopera
此文档下载收益归作者所有