CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

Trouble with the PIC16F873A at 3.3V

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Guest








Trouble with the PIC16F873A at 3.3V
PostPosted: Thu Jan 22, 2009 8:59 am     Reply with quote

Hi All,

I can't get a new prototype to work with the 16F873A at 3.3V. The circuit is correct because it was extensively debugged with a 16F73 device running at 5V. I ultimately need to run this circuit at 3.3V to be compatible with an XBee Pro radio modem. I was orginally planning to use the 16F73 until I realized (belatedly) that it does not work with the ICD-U40, and that is why I switched to the new PIC. Anyway, I ran the board at 5V with the 16F73 (without the Xbee Pro) to do the initial code development until the 16F873A chips arrived. This morning I changed the PIC to the 16F873A, and the regulator to a 78M33 (3.3V), and recompiled my code for the 16F873A. I can program the chip just fine with the ICD-U40, but the previously tested code does not run at all. Here is a simple test program that blinks the power LED, and this program does not run.

Code:

//-----< Include Files, setup fuses >-----
#include <16f873a.h>

#fuses XT, NOWDT, NOPROTECT, NOLVP

//-----< Compiler use statements >-----

// Tell compiler clock speed is 4.00 MHZ Crystal
#use delay(clock=4000000)

//-----< General Program Defines >-----
#define Pwr_Led Pin_A1         // Green Power LED


void main(void)
{
   int8 iIndex;
   output_low(Pwr_LED);

   // Here we blip the Power LED at power-up to show that the interface is working
   for ( iIndex = 0 ; iIndex < 3 ; iIndex++ )
   {
      output_high(PWR_LED);
      delay_ms(250);
      output_low(PWR_LED);
      delay_ms(250);
   }
      
   // Here we leave the Power LED ON
   output_high(PWR_LED);

} // end Main


My compiler is v4.050. I checked for any differences (fuses, etc.) between the 16F73 and the 16F873A and didn't see anything that would seem to explain this problem. I'm beginning to wonder if this version of the compiler was robust for the 16f873A?

Thanks,

Tim
PICoHolic



Joined: 04 Jan 2005
Posts: 224

View user's profile Send private message

PostPosted: Thu Jan 22, 2009 9:12 am     Reply with quote

Try using 16LF873A instead of 16F873A
Guest








PostPosted: Thu Jan 22, 2009 5:48 pm     Reply with quote

Hi All,

Well, I solved the problem! The issue is that the 16F873A requires the NOBROWNOUT fuse for operation below 4V. I found this tidbit after a thorough read of the datasheet. I didn't think of this initially because this was the first time I've ever operated at a supply voltage less than 5V!

Tim
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group