Changing declared variables names on the fly


Results 1 to 16 of 16

Threaded View

  1. #10
    jessey's Avatar
    jessey Guest


    Did you find this post helpful? Yes | No

    Default Getting closer

    Hi Sayzer,

    Well I'm finally getting somewhere, I was way off track in my thinking but I think I'm getting closer now. This code works but I still have a few questions for you.

    In this code below that I wrote, I had to change the "READ Index +100, OffTime" to "READ Index +10, OffTime" when using the "EEPROM 1,[1,3,5....]" statement to get the OffTimes to display to the Lcd which makes sense because I only have 10 OnTimes and 10 OffTimes but when I don't use the "EEPROM 1,[1,3,5....]" statement and just set and save the different times to the eeprom then I have to use "READ Index +100, OffTime" in order to make it work otherwise my OffTimes will show 255 and won't change? Why is that?

    Another question, what does the EEPROM 1, in the "EEPROM 1,[1,3,5....]" statement make reference to. Can I have multiple eerpom statements like "EEPROM 1,[1,3,5....]", "EEPROM 2,[1,3,5....]", "EEPROM 3,[1,3,5....]" ect. ect, for different sets of variables?

    Code:
    '18f452 pic 
    
    Decrease_Hour_Push_Button   VAR PORTB.7  
    Increase_Hour_Push_Button VAR PORTD.2 
    
    OnTime  var byte
    OffTime var byte
    Index   var byte
    Hour    var byte
    Hour = 0
    
    EEPROM 1,[1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20]
    
    '--------------------------------------------------------'
    EEPROMData1 var BYTE
    Timer_1_OnTime VAR EEPROMData1     'alias for eepromdata 1
    READ 1, EEPROMData1 
    ' To write to the EEPROM 
    ' ===================== 
    'Timer_1_OnTime = 1     
    'EEPROMData1 = Timer_1_OnTime 
    'Write 1, EEPROMData1    
    '--------------------------------------------------------'
    EEPROMData2 var BYTE
    Timer_2_OnTime VAR EEPROMData2     'alias for eepromdata 2
    READ 2, EEPROMData2 
    ' To write to the EPROM 
    ' =====================
    'Timer_2_OnTime = 3     
    'EEPROMData2 = Timer_2_OnTime 
    'Write 2, EEPROMData2     
    '--------------------------------------------------------'
    EEPROMData3 var BYTE
    Timer_3_OnTime VAR EEPROMData3     'alias for eepromdata 3
    READ 3, EEPROMData3 
    ' To write to the EPROM 
    ' ===================== 
    'Timer_3_OnTime = 5     
    'EEPROMData3 = Timer_3_OnTime 
    'Write 3, EEPROMData3    
    '--------------------------------------------------------'
    EEPROMData4 var BYTE
    Timer_4_OnTime VAR EEPROMData4     'alias for eepromdata 4
    READ 4, EEPROMData4 
    ' To write to the EPROM 
    ' =====================
    'Timer_4_OnTime = 7     
    'EEPROMData4 = Timer_4_OnTime 
    'Write 4, EEPROMData4     
    '--------------------------------------------------------'
    EEPROMData5 var BYTE
    Timer_5_OnTime VAR EEPROMData5     'alias for eepromdata 5
    READ 5, EEPROMData5 
    ' To write to the EPROM 
    ' =====================
    'Timer_5_OnTime = 9     
    'EEPROMData5 = Timer_5_OnTime 
    'Write 5, EEPROMData5     
    '--------------------------------------------------------'
    EEPROMData6 var BYTE
    Timer_6_OnTime VAR EEPROMData6     'alias for eepromdata 6
    READ 6, EEPROMData6 
    ' To write to the EPROM 
    ' ===================== 
    'Timer_6_OnTime = 11    
    'EEPROMData6 = Timer_6_OnTime 
    'Write 6, EEPROMData6     
    '--------------------------------------------------------'
    EEPROMData7 var BYTE
    Timer_7_OnTime VAR EEPROMData7     'alias for eepromdata 7
    READ 7, EEPROMData7 
    ' To write to the EPROM 
    ' =====================
    'Timer_7_OnTime = 13    
    'EEPROMData7 = Timer_7_OnTime 
    'Write 7, EEPROMData7      
    '--------------------------------------------------------'
    EEPROMData8 var BYTE
    Timer_8_OnTime VAR EEPROMData8     'alias for eepromdata 8
    READ 8, EEPROMData8 
    ' To write to the EPROM 
    ' ===================== 
    'Timer_8_OnTime = 15    
    'EEPROMData8 = Timer_8_OnTime 
    'Write 8, EEPROMData8     
    '---------------------------------------------------------'
    EEPROMData9 var BYTE
    Timer_9_OnTime VAR EEPROMData9     'alias for eepromdata 9
    READ 9, EEPROMData9 
    ' To write to the EPROM 
    ' ===================== 
    'Timer_9_OnTime = 17
    'EEPROMData9 = Timer_9_OnTime 
    'Write 9, EEPROMData9         
    '---------------------------------------------------------'
    EEPROMData10 var BYTE
    Timer_10_OnTime VAR EEPROMData10   'alias for eepromdata 10
    READ 10, EEPROMData10 
    ' To write to the EPROM 
    ' =====================
    'Timer_10_OnTime = 19   
    'EEPROMData10 = Timer_10_OnTime 
    'Write 10, EEPROMData10       
    '-----------------------------------------------------------'
    
    
    '-----------------------------------------------------------'
    EEPROMData101 var BYTE
    Timer_101_OffTime VAR EEPROMData101'alias for eepromdata 101
    READ 101, EEPROMData101 
    ' To write to the EPROM 
    ' =====================
    'Timer_101_OffTime = 2  
    'EEPROMData101 = Timer_101_OffTime 
    'Write 101, EEPROMData101         
    '-----------------------------------------------------------'
    EEPROMData102 var BYTE
    Timer_102_OffTime VAR EEPROMData102'alias for eepromdata 102
    READ 102, EEPROMData102 
    ' To write to the EPROM 
    ' =====================
    'Timer_102_OffTime = 4  
    'EEPROMData102 = Timer_102_OffTime 
    'Write 102, EEPROMData102         
    '-----------------------------------------------------------'
    EEPROMData103 var BYTE
    Timer_103_OffTime VAR EEPROMData103'alias for eepromdata 103
    READ 103, EEPROMData103 
    ' To write to the EPROM 
    ' =====================
    'Timer_103_OffTime = 6  
    'EEPROMData103 = Timer_103_OffTime 
    'Write 103, EEPROMData103         
    '-----------------------------------------------------------'
    EEPROMData104 var BYTE
    Timer_104_OffTime VAR EEPROMData104'alias for eepromdata 104
    READ 104, EEPROMData104 
    ' To write to the EPROM 
    ' =====================
    'Timer_104_OffTime = 8 
    'EEPROMData104 = Timer_104_OffTime 
    'Write 104, EEPROMData104         
    '-----------------------------------------------------------'
    EEPROMData105 var BYTE
    Timer_105_OffTime VAR EEPROMData105'alias for eepromdata 105
    READ 105, EEPROMData105 
    ' To write to the EPROM 
    ' ===================== 
    'Timer_105_OffTime = 10 
    'EEPROMData105 = Timer_105_OffTime 
    'Write 105, EEPROMData105         
    '-----------------------------------------------------------'
    EEPROMData106 var BYTE
    Timer_106_OffTime VAR EEPROMData106'alias for eepromdata 106
    READ 106, EEPROMData106 
    ' To write to the EPROM 
    ' =====================
    'Timer_106_OffTime = 12 
    'EEPROMData106 = Timer_106_OffTime 
    'Write 106, EEPROMData106          
    '-----------------------------------------------------------'
    EEPROMData107 var BYTE
    Timer_107_OffTime VAR EEPROMData107'alias for eepromdata 107
    READ 107, EEPROMData107 
    ' To write to the EPROM 
    ' =====================
    'Timer_107_OffTime =14  
    'EEPROMData107 = Timer_107_OffTime 
    'Write 107, EEPROMData107         
    '-----------------------------------------------------------'
    EEPROMData108 var BYTE
    Timer_108_OffTime VAR EEPROMData108'alias for eepromdata 108
    READ 108, EEPROMData108 
    ' To write to the EPROM 
    ' =====================
    'Timer_108_OffTime = 16 
    'EEPROMData108 = Timer_108_OffTime 
    'Write 108, EEPROMData108          
    '-----------------------------------------------------------'
    EEPROMData109 var BYTE
    Timer_109_OffTime VAR EEPROMData109'alias for eepromdata 109
    READ 109, EEPROMData109 
    ' To write to the EPROM 
    ' ===================== 
    'Timer_109_OffTime = 18 
    'EEPROMData109 = Timer_109_OffTime 
    'Write 109, EEPROMData109         
    '-----------------------------------------------------------'
    EEPROMData110 var BYTE
    Timer_110_OffTime VAR EEPROMData110'alias for eepromdata 110
    READ 110, EEPROMData110 
    ' To write to the EPROM 
    ' =====================
    'Timer_110_OffTime = 20 
    'EEPROMData110 = Timer_110_OffTime 
    'Write 110, EEPROMData110          
    '----------------------------------------------------------'
    
    Is_Pressed CON 0 
    
    
          GOTO mainloop
    
    Sound_Buzzer:
          PWM Buzzer,250,1
    RETURN
         
    
    MainLoop:
    
     FOR Index = 1 to 10
        IF Increase_Hour_Push_Button = Is_Pressed THEN 
           GOSUB Sound_Buzzer : Hour = Hour + 1
        ENDIF
    
        IF Decrease_Hour_Push_Button = Is_Pressed THEN
           GOSUB Sound_Buzzer : Hour = Hour - 1 
        ENDIF
    
        LCDOUT $fe,1,   "Hr=",dec Hour," OnTime=",DEC Ontime
        LCDOUT $fe, $c0,"OffTime = ",DEC OffTime
    
            READ Index , OnTime       'Read stored ON  time.
            READ Index +10, OffTime  'Read stored OFF time.
            IF Hour = Ontime  THEN Led = 1 'turn ON the Led.
            IF Hour = Offtime THEN Led = 0 'turn OFF the Led.
    
        PAUSE 500 
    
     NEXT Index 
    
     GOTO mainloop
    END

    Here is one of the segments of code that I'd like to change in an attachment here if you want to see what I'm trying to accomplish.This code uses 1404 bytes in my program and I thought I could use your example code to save some code space for this part and if it works out then I can save a lot in other parts of my program as well.

    Thanks
    jessey
    Attached Files Attached Files

Similar Threads

  1. changing osc on the fly
    By viewgsm in forum mel PIC BASIC Pro
    Replies: 22
    Last Post: - 6th February 2010, 16:13
  2. Mode changing on the fly
    By Angus Anderson in forum GSM
    Replies: 1
    Last Post: - 28th November 2006, 09:58
  3. edit names of variables
    By mischl in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 13th January 2005, 22:00

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts