Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/23/08 06:00
Read: times


 
#151318 - Best way to consolidate....out of memory
I have to put 35 phrase's in here, I thought a structure might work, but I can't figure out the recursion to get it right. As it stand now the code is exactly working on the hardware but only 9 phrase can be store since I'm running out of space. I'm using the AT8S8252. Any thoughts? Thanks

#include <AT898252.H>

#define high 1			//sets logic value of true
#define low  0			//sets logic value of false
sbit clear = P3^0;		//sets port bit for functino control
sbit write = P3^1;		//sets port bit for functino control

#define uint unsigned int
#define uchar unsigned char

void msec(uint x) //  Time delay variable passed function to control time each word
	{
	uchar j;
	while (x-->0)
		{for(j=0;j<125;j++);
		}
	}


void code clear_display() // Active low used to clear the display for startup and next phrase
	{
	clear=high;	clear=low; clear=high;
	}

void code write_enable() // Active low used to enable write sequence to the 7243 for each char
	{
	write=high;	write=low; write=high;
	}

void code word_delay()
	{
	msec(5500);	// USER DELAY ADJUSTMENT => approximately a 5 second delay, moving value higher increase time delay
	}

// Start copy and paste here for each new phrase > EACH PHRASE IS A FUNCTION AND MUST BE UNIQUE!!  i.e. >> void code phrase1() > phrase2() > phrase3() > phrase..nn..()
void code phrase1()
		{
			static unsigned char string1[]="CALIBRATE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}
void code phrase2()
		{
			static unsigned char string1[]="L. TURBINE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}
void code phrase3()
		{
			static unsigned char string1[]="R. TURBINE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}
void code phrase4()
		{
			static unsigned char string1[]="CMB        ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}
void code phrase5()
		{
			static unsigned char string1[]="R. TURBINE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}		
void code phrase6()
		{
			static unsigned char string1[]="R. TURBINE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}		
void code phrase7()
		{
			static unsigned char string1[]="R. TURBINE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}		
void code phrase8()
		{
			static unsigned char string1[]="R. TURBINE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}		
void code phrase9()
		{
			static unsigned char string1[]="R. TURBINE  ";  	// You must ensure that there are 10 chars INCLUDING WHITE SPACE or else @ will show up on display
 	        unsigned char z;						 		// and phrase must be written in UPPERCASE LETTERS or else garbage will show up on display!!!!
 	        for (z=0;z<=9;z++)
			{
		     P0 = (string1[z] & 0xBF);  // Parse the data array for 10 array elements        
		     write_enable();			// Must strobe the write pin on the rising edge to latch char into memory position for each char in array 
		    }
						 				 
		}		
	



							
void main()	// Main program

{
   clear_display();  //clear any startup junk incase of a power cycle glitch or who the hell knows what else during a power cycle > recurring function

   for(;;) // Loop this process forever
   {		
		// Start copy and paste here for each new phrase
		clear_display(); phrase1(); word_delay();
		// End copy and paste here >  Avoid pasting these comments > Paste at the END of the list and INCREMENT THE PHRASE NUMBER OR ELSE IT WON'T SHOW UP!!!!!
		clear_display(); phrase2(); word_delay();
		clear_display(); phrase3(); word_delay();
		clear_display(); phrase4(); word_delay();
		clear_display(); phrase5(); word_delay();
		clear_display(); phrase6(); word_delay();
		clear_display(); phrase7(); word_delay();
		clear_display(); phrase8(); word_delay();
		clear_display(); phrase9(); word_delay();



List of 54 messages in thread
TopicAuthorDate
Best way to consolidate....out of memory            01/01/70 00:00      
   isn't this the classical gotcha?            01/01/70 00:00      
   There was a hint here....            01/01/70 00:00      
      Not const            01/01/70 00:00      
         Not necessarily            01/01/70 00:00      
            Hmmm...            01/01/70 00:00      
               Hmmm, indeed            01/01/70 00:00      
               Why?            01/01/70 00:00      
                  One reason ... and the prolly the original intent            01/01/70 00:00      
                     Obviously            01/01/70 00:00      
                        Speed            01/01/70 00:00      
                           Rogue programs?            01/01/70 00:00      
                              Yes. And stupid programmers            01/01/70 00:00      
                                 True            01/01/70 00:00      
                           cases            01/01/70 00:00      
                        The Obvious...            01/01/70 00:00      
                           Fair enough            01/01/70 00:00      
                              make sure the developer doesn't do something stupi            01/01/70 00:00      
                              Const to Code EPROM or FLASH,,,            01/01/70 00:00      
                           const and volatile - for optimization            01/01/70 00:00      
                  consts in other than CODE space            01/01/70 00:00      
                     Use the extended keywords            01/01/70 00:00      
                        'const' and 'volatile'            01/01/70 00:00      
   Unreadable code!            01/01/70 00:00      
      It really was all Keils fault....;)            01/01/70 00:00      
   You don't want to start from here!            01/01/70 00:00      
      Previously, on 8052.com...            01/01/70 00:00      
      Array of string            01/01/70 00:00      
         Yes, my mistake            01/01/70 00:00      
   string concatenate            01/01/70 00:00      
      Comments            01/01/70 00:00      
         Wow......LOL            01/01/70 00:00      
            Not a C vs ASM thing            01/01/70 00:00      
               From your perspective, it may make sense            01/01/70 00:00      
      I went this direction....code padding removal?            01/01/70 00:00      
         For but one byte added to the array...            01/01/70 00:00      
         With proper ordering in source file...            01/01/70 00:00      
         Putting it all together            01/01/70 00:00      
            Spectacular Russ.....            01/01/70 00:00      
   THINK            01/01/70 00:00      
      that is surely needed            01/01/70 00:00      
      A bit easier to read?            01/01/70 00:00      
         easy to read???            01/01/70 00:00      
      typedef vs #define            01/01/70 00:00      
      I think not            01/01/70 00:00      
         Tks Russ.            01/01/70 00:00      
            THINK(ing)            01/01/70 00:00      
               ???            01/01/70 00:00      
                  Objectives.            01/01/70 00:00      
                     I beg your pardon?!            01/01/70 00:00      
                     I see            01/01/70 00:00      
   Best way to consolidate....out of memory            01/01/70 00:00      
   Why specify CODE for functions?            01/01/70 00:00      
      there is so much stuff            01/01/70 00:00      

Back to Subject List