Subject: Re: (ELMER 160) PICEL gen ver 1.3
From: Craig Johnson (cbjohns@cbjohns.com)
Date: Wed Feb 25 2004 - 20:41:51 EST
James, >I am experiencing a problem with the start up of Picel gen ver 1.3. I find that I must >warm up the pic by placing my finger on it for a half minute to accomplish a start up. >The first thing that happens is the display reads PICELgen but won't advance to the >next screen. A clue is the LEDS 1 AND 2 light up normally but LED3 just barely >flashes. Finally, when operating temperature has been reached, LED3 will light along >with LED1 AND LED2 and they will stay on. The Screen will then go to VER 1.3 >and on to the frequency display. This has been tried with substitute pics with the same >result. The 4 MHZ oscillator has been checked and starts instantly with perfect >waveform. The 100MHz oscillator is fine also. Test Picel and the lesson 6 programs >have been tried with no problem. The problem seems to be limited to the PICEL gen 1.3 . >I am curious as to what is going on here. Lets back up a little. You say the first thing you see on the LCD screen is "PICELgen" . Does it appear all at once, or one character at a time? Then when it advances to the next screen (the version), does it appear all at once or one character at a time? If you are experiencing it on every character rather than every screen, it may be a problem with the LCD Busy bit. (Why did I go and defend the usage of the LCD Busy bit yesterday?!!!) That's the one main difference that I can think of that is different between John's LCD diagnostic tests and my PICELgen LCD code. If you are experiencing trouble with the LCD's Busy bit, it should show up as a delay between every character appearing on the LCD, not on a screen at a time. The code has a default value, and if the Busy is not cleared after a certain length of time, it just continues on. This would look like characters are all appearing very slowly. The only other thing that I can think of is the delay constants for the wait loops that I use. After painting "PICELgen" on the screen, I execute a cascade of wait loops before going on to the next screen. If these wait loops are not working properly, you could see a long delay between entire screens being displayed. Why would the wait loops misbehave? The only way I can think of is if the instructions are executing much slower than expected. This could happen if the crystal was not oscillating at the expected 4 MHz. Of course, this should show up in John's diagnostic tests also. The speaker, for example, would have VERY LOW tones, rather than playing the normal scale. The idea of needing to "warm" the PIC seems unusual. Please try it several times, measuring the time between power up and the first display (assuming it is all at once) and then the time before the next screen displays. Are these times similar every time? I suppose a malfunctioning crystal may need a warm up.... Dunno. 72, Craig, AA0ZZ
This archive was generated by hypermail 2b25 : Sun Feb 29 2004 - 23:50:08 EST