接线说明,以Arduinounor3为例: SCL→A5 SDA→A4 VCC→5V GND→GND 代码部分:#include<>#include<>#defineuchar unsignedchar #defineuint unsignedintsbitSDA=P3^6; //模拟I2C数据传送位SDA************** sbitSCL=P3^7; //模拟I2C时钟控制位SCL**************sbitINT=P3^2; sbitRESET=P3^3;//**************sbitled0=P1^0;sbitled1=P1^1;sbitled2=P1^2;sbitled3=P1^3;sbitled4=P1^4;sbitled5=P1^5;sbitled6=P1^6;sbitled7=P1^7;//**************bit ack; //应答标志位#defineDS3231_WriteAddress0xD0 //器件写地址**************#defineDS3231_ReadAddress 0xD1 //器件读地址**************#defineDS3231_SECOND 0x00 //秒#defineDS3231_MINUTE 0x01 //分#defineDS3231_HOUR 0x02 //时#defineDS3231_WEEK 0x03 //星期#defineDS3231_DAY 0x04 //日#defineDS3231_MONTH 0x05 //月#defineDS3231_YEAR 0x06 //年//闹铃1 #defineDS3231_SALARM1ECOND0x07 //秒#defineDS3231_ALARM1MINUTE0x08 //分#defineDS3231_ALARM1HOUR 0x09 //时#defineDS3231_ALARM1WEEK 0x0A //星期/日//闹铃2#defineDS3231_ALARM2MINUTE0x0b //分#defineDS3231_ALARM2HOUR 0x0c //时#defineDS3231_ALARM2WEEK 0x0d //星期/日#defineDS3231_CONTROL 0x0e //控制寄存器#defineDS3231_STATUS 0x0f //状态寄存器#defineBSY 2 //忙#defineOSF 7 //振荡器停止标志#defineDS3231_XTAL 0x10 //晶体老化寄存器#defineDS3231_TEMPERATUREH0x11 //温度寄存器高字节(8位)#defineDS3231_TEMPERATUREL0x12 //温度寄存器低字节(高2位) //**************uch
ds3231程序 来自淘豆网www.taodocs.com转载请标明出处.