<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.microrusty.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Programming_PCF85263AT_with_Arduino_IDE</id>
	<title>Programming PCF85263AT with Arduino IDE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.microrusty.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Programming_PCF85263AT_with_Arduino_IDE"/>
	<link rel="alternate" type="text/html" href="http://www.microrusty.com/mediawiki/index.php?title=Programming_PCF85263AT_with_Arduino_IDE&amp;action=history"/>
	<updated>2026-04-24T10:06:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://www.microrusty.com/mediawiki/index.php?title=Programming_PCF85263AT_with_Arduino_IDE&amp;diff=50&amp;oldid=prev</id>
		<title>U731219879 rc: Created page with &quot;Reference page 9 for the PCF85263AT-RTC data registers in the data sheet: https://www.nxp.com/docs/en/data-sheet/PCF85263A.pdf &lt;br&gt; Connect &#039;&#039;&#039;Pin 5 (SDA) &amp; Pin 4 (SCL)&#039;&#039;&#039; on...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.microrusty.com/mediawiki/index.php?title=Programming_PCF85263AT_with_Arduino_IDE&amp;diff=50&amp;oldid=prev"/>
		<updated>2019-03-23T04:15:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Reference page 9 for the PCF85263AT-RTC data registers in the data sheet: https://www.nxp.com/docs/en/data-sheet/PCF85263A.pdf &amp;lt;br&amp;gt; Connect &amp;#039;&amp;#039;&amp;#039;Pin 5 (SDA) &amp;amp; Pin 4 (SCL)&amp;#039;&amp;#039;&amp;#039; on...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Reference page 9 for the PCF85263AT-RTC data registers in the data sheet: https://www.nxp.com/docs/en/data-sheet/PCF85263A.pdf &amp;lt;br&amp;gt;&lt;br /&gt;
Connect &amp;#039;&amp;#039;&amp;#039;Pin 5 (SDA) &amp;amp; Pin 4 (SCL)&amp;#039;&amp;#039;&amp;#039; on the PCF8526AT board to &amp;#039;&amp;#039;&amp;#039;Pin A5 (SDA) &amp;amp; Pin A4 (SCL)&amp;#039;&amp;#039;&amp;#039; on the Arduino Uno&amp;lt;br&amp;gt; &lt;br /&gt;
Copy and Paste the PCF85263AT RTC program into the Arduino IDE.&amp;lt;br&amp;gt;&lt;br /&gt;
Update the values in the void setup() second, minute, hour, dayOfWeek, dayOfMonth, month, year to the current values.&amp;lt;br&amp;gt;&lt;br /&gt;
Test to make sure everything was entered correctly by clicking on the Check-mark. Correct any errors.&amp;lt;br&amp;gt;&lt;br /&gt;
Upload the program to the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PCF85263AT-RTC.INO&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 // PCF85263AT RTC write/read demonstration&lt;br /&gt;
 #include &amp;quot;Wire.h&amp;quot;              //Enable I2C library&lt;br /&gt;
 #define PCF85263address 0x51   //define I2C address &lt;br /&gt;
 byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;&lt;br /&gt;
 String days[] = {&amp;quot;Sunday&amp;quot;, &amp;quot;Monday&amp;quot;, &amp;quot;Tuesday&amp;quot;, &amp;quot;Wednesday&amp;quot;, &amp;quot;Thursday&amp;quot;, &amp;quot;Friday&amp;quot;, &amp;quot;Saturday&amp;quot; };&lt;br /&gt;
 byte bcdToDec(byte value)&lt;br /&gt;
 {&lt;br /&gt;
  return ((value / 16) * 10 + value % 16);&lt;br /&gt;
 }&lt;br /&gt;
 byte decToBcd(byte value)&lt;br /&gt;
 {&lt;br /&gt;
  return (value / 10 * 16 + value % 10);&lt;br /&gt;
 }&lt;br /&gt;
 void setPCF85263()            // this function sets the time and date to the PCF85263&lt;br /&gt;
  &lt;br /&gt;
  {&lt;br /&gt;
    Wire.beginTransmission(PCF85263address);&lt;br /&gt;
    Wire.write(0x01);&lt;br /&gt;
    Wire.write(decToBcd(second));  &lt;br /&gt;
    Wire.write(decToBcd(minute));&lt;br /&gt;
    Wire.write(decToBcd(hour));     &lt;br /&gt;
    Wire.write(decToBcd(dayOfMonth));&lt;br /&gt;
    Wire.write(decToBcd(dayOfWeek));  &lt;br /&gt;
    Wire.write(decToBcd(month));&lt;br /&gt;
    Wire.write(decToBcd(year));&lt;br /&gt;
    Wire.endTransmission();&lt;br /&gt;
  }&lt;br /&gt;
 void readPCF85263()          // this gets the time and date from the PCF85263&lt;br /&gt;
  {&lt;br /&gt;
    Wire.beginTransmission(PCF85263address);&lt;br /&gt;
    Wire.write(0x01);&lt;br /&gt;
    Wire.endTransmission();&lt;br /&gt;
    Wire.requestFrom(PCF85263address, 7);&lt;br /&gt;
    second     = bcdToDec(Wire.read() &amp;amp; B01111111); // remove VL error bit&lt;br /&gt;
    minute     = bcdToDec(Wire.read() &amp;amp; B01111111); // remove unwanted bits from MSB&lt;br /&gt;
    hour       = bcdToDec(Wire.read() &amp;amp; B00111111); &lt;br /&gt;
    dayOfMonth = bcdToDec(Wire.read() &amp;amp; B00111111);&lt;br /&gt;
    dayOfWeek  = bcdToDec(Wire.read() &amp;amp; B00000111);  &lt;br /&gt;
    month      = bcdToDec(Wire.read() &amp;amp; B00011111); // remove century bit, 1999 is over&lt;br /&gt;
    year       = bcdToDec(Wire.read());&lt;br /&gt;
  }&lt;br /&gt;
 void setup()&lt;br /&gt;
  {&lt;br /&gt;
    Wire.begin();&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
  // change the following to set your initial time&lt;br /&gt;
    second = 0;&lt;br /&gt;
    minute = 9;&lt;br /&gt;
    hour = 21;&lt;br /&gt;
    dayOfWeek = 0;&lt;br /&gt;
    dayOfMonth = 6;&lt;br /&gt;
    month = 1;&lt;br /&gt;
    year = 19;&lt;br /&gt;
  // comment out the next line and upload again to set and keep the time from resetting every reset&lt;br /&gt;
  setPCF85263();&lt;br /&gt;
  }&lt;br /&gt;
 void loop()&lt;br /&gt;
  {&lt;br /&gt;
    readPCF85263();&lt;br /&gt;
    Serial.print(days[dayOfWeek]); &lt;br /&gt;
    Serial.print(&amp;quot; &amp;quot;);  &lt;br /&gt;
    Serial.print(month, DEC);&lt;br /&gt;
    Serial.print(&amp;quot;/&amp;quot;);&lt;br /&gt;
    Serial.print(dayOfMonth, DEC);&lt;br /&gt;
    Serial.print(&amp;quot;/20&amp;quot;);&lt;br /&gt;
    Serial.print(year, DEC);&lt;br /&gt;
    Serial.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    Serial.print(hour, DEC);&lt;br /&gt;
    Serial.print(&amp;quot;:&amp;quot;);&lt;br /&gt;
    if (minute &amp;lt; 10)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
    Serial.print(minute, DEC);&lt;br /&gt;
    Serial.print(&amp;quot;:&amp;quot;);  &lt;br /&gt;
    if (second &amp;lt; 10)&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
  }  &lt;br /&gt;
    Serial.println(second, DEC);  &lt;br /&gt;
    delay(1000);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open Console port and watch output.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>U731219879 rc</name></author>
		
	</entry>
</feed>