<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Watchdog timer in P89V51RD2BN</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/23606/watchdog-timer-in-p89v51rd2bn</link><description> 
Hi, 

 
Am Working on Watchdog timer in P89V51RD2. 
But Am not getting the result. 
My code is 

 
WDTC|=0x18; // Enable OUT and Reset 
WDTD=count; // Load Count to Reg 
WDTC|=0x01; // Start WDT 
On LED1 
while(WDTC&amp;amp;0x04); // Wait for Flag 
On LED2</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Watchdog timer in P89V51RD2BN</title><link>https://community.arm.com/thread/84623?ContentTypeID=1</link><pubDate>Tue, 08 Jul 2008 00:25:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:84a2a249-f88b-43ca-a30c-fba36377b0cb</guid><dc:creator>jakda prog</dc:creator><description>&lt;p&gt;&lt;pre&gt;

&lt;b&gt;

hi,

i am happy my code was help for you.

&lt;/b&gt;

&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog timer in P89V51RD2BN</title><link>https://community.arm.com/thread/76444?ContentTypeID=1</link><pubDate>Tue, 08 Jul 2008 00:02:24 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:69b8d2f3-ec21-435c-bc83-fb593546a3f0</guid><dc:creator>Mahdeva Swamy.B Naik</dc:creator><description>&lt;p&gt;&lt;p&gt;
My Program worked with small modification&lt;/p&gt;

&lt;p&gt;
WDTC=0x18; // Enable OUT and Reset&lt;br /&gt;
WDTD=count; // Load Count to Reg&lt;br /&gt;
WDTC|=0x02; // Refresh WDT&lt;br /&gt;
WDTC|=0x01; // Start WDT&lt;/p&gt;

&lt;p&gt;
WDTC|=0x02; // To Refresh before timeout&lt;br /&gt;
WDTC&amp;amp;=0xFE; // To Stop WDT&lt;/p&gt;

&lt;p&gt;
May be helpfull&lt;/p&gt;

&lt;p&gt;
Regards,&lt;br /&gt;
Madev&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog timer in P89V51RD2BN</title><link>https://community.arm.com/thread/76447?ContentTypeID=1</link><pubDate>Tue, 01 Jul 2008 20:55:04 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:16ccf493-37af-4a8c-800f-b50d9aa76316</guid><dc:creator>Mahdeva Swamy.B Naik</dc:creator><description>&lt;p&gt;&lt;p&gt;
P89V51RD2BN is from NXP.&lt;/p&gt;

&lt;p&gt;
The code from u is about UART...&lt;br /&gt;
Can u explain me how its linked to Watchdog&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog timer in P89V51RD2BN</title><link>https://community.arm.com/thread/51923?ContentTypeID=1</link><pubDate>Tue, 01 Jul 2008 06:27:22 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3d35a2fe-1c81-418e-86e3-9ac6e2cfc2e9</guid><dc:creator>erik  malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
the purpose of a watchdog is to reset the uC when it is not fed.
Thus, when the WD times out it resets the uC.&lt;/p&gt;

&lt;p&gt;
Erik&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Watchdog timer in P89V51RD2BN</title><link>https://community.arm.com/thread/51926?ContentTypeID=1</link><pubDate>Tue, 01 Jul 2008 05:23:18 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:2ee83c25-dd1b-427a-a347-ca696cbb23f3</guid><dc:creator>jakda prog</dc:creator><description>&lt;p&gt;&lt;pre&gt;
You can use my code to init your program in Keil.

Thank You

&lt;b&gt;

&amp;lt;title&amp;gt;
This Code For ATMEL P89V51RD2BN Used Internal Baudrate
&amp;lt;emdtitle&amp;gt;

/* Start of Config P89V51RD2BN:UART0,UART1 */
SCON = 50h;       /* UART0 = Mode 1 (N,8,1)
SCON1 = 0x50;      // UART1 = Mode 1 (N,8,1)

/* Select Generate Baudrate By Internal-Baud */
TCLK = 0;      // Disable Timer2 Generate TX Baudrate
RCLK = 0;      // Disable Timer2 Generate RX Baudrate
BDRCON0 |= 0x0C;   // TBCK:RBCK=1:1 = Used Internal Buad Generate UART0 Baudrate
BDRCON1 |= 0x0C;   // TBCK:RBCK=1:1 = Used Internal Buad Generate UART1 Baudrate
BDRCON0 &amp;amp;= ~0x01;  // SRC0=0 = Select Fosc to Baudrate
BDRCON2 &amp;amp;= ~0x01;  // SRC1=0 = Select Fosc to Baudrate

/* Setup Internal-Baud Generate Baudrate Fast Mode */
/* Support Baudrate : 4800,9600,19200,...  ,115200 */
PCON    |= 0x80;  // UART0:SMOD0 = 1 (Enable Double Baudrate)
BDRCON1 |= 0x80;  // UART1:SMOD1 = 1 (Enable Double Baudrate)
BDRCON0 |= 0x02;  // SPD0=1 = Fast Baudrate Generator
BDRCON1 |= 0x02;  // SPD1=1 = Fast Baudrate Generator
BRL0     = 0x88;  // Setup UART0 Baudrate 9600BPS
BRL1     = 0x88;  // Setup UART1 Baudrate 9600BPS
BDRCON0 |= 0x10;  // BRR0=1 = Start Internal Baud1
BDRCON1 |= 0x10;  // BRR1=1 = Start Internal Baud1


/* Start Keil-C51 Transmit Function */
TI = 1;         // Set TI to send First char of UART
TI1 = 1;
/* End of Config AT89C51RE2:UART0,UART1 */

/* Setup UART Interrupt Control */
ES = 0;      // Disable UART0 Interupt
EN1 &amp;amp;= ~0x108;   // Disable UART1 Interupt

&lt;i&gt;
/* Print String to UART0 */
printf(&amp;quot;I AM A PROGRAMER I AM YESEREE BOB From UART0\n&amp;quot;);

&lt;/i&gt;
&lt;/b&gt;

&lt;/pre&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>