PROGRAMMABLE UNIVERSAL REMOTE CONTROL
BACKGROUND OF THE INVENTION
This invention relates generally to a programmable universal remote
control and more particularly to a programmable universal remote control in which the
codes which are programmed into the remote control are not erased when the batteries
are removed, or the batteries wear out. In addition, the remote control ofthe invention
allows for certain programming techniques while utilizing a minimum amount of
programmable memory, thereby reducing the cost ofthe remote control.
Originally, wireless remote control devices were provided for use with a
specific electronic apparatus. The more common type of remote control utilizes infrared
signals to command the operation of an electronic apparatus such as a television, audio
equipment, video cassette recorder or the like. Thus, the proper infrared remote control
command is associated with a particular button on a key pad ofthe remote control. By
depressing a certain key on the key pad ofthe remote control, the user causes the remote
control to emit an infrared or other signal from the remote control. This remote control
signal is then received by the proper electronic apparatus, the content of the signal is
processed, and the apparatus performs a particular function. However, the remote
control of this type has a number of drawbacks. First, if a user has a number of
electronic devices, each with individual remote controls and associated cornmand
signals, it is necessary for the user to retain each of these remote controls. Thus, since
each electronic unit will have a separate remote control, this is very inconvenient for the
user.
Additionally, if the user were to change one piece of equipment, the
remote control which was provided with that equipment would no longer be useful for
the subsequent equipment purchased and used by a user. More specifically, if a user had
a panicular television, with a particular preprogrammed remote control to instruct the
electronic apparatus, upon the purchase of a new television, the old remote control
would be useless, since it would not work with the new television. Additionally, the
new television would require a new remote control, which would be no better than the
old remote control in that it would not reduce the overall number of remote controls
required by a user. Therefore, it would be desirable to provide a single remote control
which allows for the control of a number of different apparatuses, and which is
programmable upon the purchase of a new apparatus.
To overcome these deficiencies, programmable universal remote controls
have-been developed which solve a number of these defects. First, these programmable
remote controls may be programmed with codes to operate a number of different
electronic devices. Additionally, each of these different codes is stored within a single
remote control, thereby allowing a user to utilize only the one remote control to control
a predetermined number of electronic devices.
The first programmable remote controls required the user to '"teach" the
universal programmable remote control the proper codes to implement for each button
depressed. Specifically, this teaching would be performed on the universal remote
control employing a programming sequence. This places the universal remote control
in 'learning" mode. Next, a button on the universal remote control would be depressed,
and at the same time a button on the standard remote control included with the apparatus
would be depressed, thereby emitting a signal in accordance with the depressed button,
which would be received by the universal remote control. Therefore, the universal
remote control would "learn" what signal to emit when a particular button were
depressed. In this manner, all of the buttons on a particular remote control can be
implemented on a universal remote control.
Universal remote controls may contain either different sections of a key
pad to run different devices, or a selection button which allows a user to select between
a number of different devices. Thus, after another device was selected, or a different
portion of the universal remote control employed, the same procedure would be
followed for each ofthe remote controls that the user wishes to include on the universal
remote control.
While these programmable "learning" universal remote controls have been
satisfactory, they suffer from a number of shortcomings. First, as noted above, the use
of this type of remote control requires the user to "teach" the universal remote control
each of the individual codes for a particular remote control device. However, it is
possible that a particular remote control device can have a large number of codes which
are required. If a user is required to implement these for a large number of remote
controls, the task can be rather large. Additionally, these codes have typically been
stored in random access memory "RAM" locations in the remote control. However, this
RAM memory only retains its programming while power is supplied thereto. Therefore,
if the user must change the battery in the remote control, or if the battery runs out or is
removed, each of these programmed memory modules will be erased. This wouid
require the user then to reenter all of the information previously entered to use the
remote control requiring that the conventional remote controls always be available to
reprogram the universal remote control.
Therefore, it would be beneficial to provide a programmable universal
remote control in which the user did not have to "teach" the universal remote control
each ofthe buttons employed in each ofthe individual remote controls. It would also be
beneficial to provide a programmable universal remote control in which the memory
was retained even after the batteries were removed from the remote control.
In order to solve some of these defic. nc-ies, programmable universal
remote controls have been provided with electrically erasable programmable read only
memory "EEPROM". In this case, all ofthe data and remote control operating program
information is stored in the EEPROM. Therefore, when each of the codes is
programmed into the remote control, these codes are retained by the EEPROM memory
as with all other code to operate the remote control. EEPROM memory retains the
progiamming codes and all other data stored therein even after power has been removed
therefrom. However, in order to retain all ofthe programming codes required to operate
a variety of devices, it is necessary to provide a relatively large amount of EEPROM
memory. Since EEPROM memory is expensive and relatively slow, this greatly
increases the cost ofthe apparatus and decreases the speed ofthe operation ofthe remote
control. Therefore, it would be beneficial to provide a remote control employing a
smaller amount of EEPROM memory, thereby decreasing cost and increasing speed.
SUMMARY OF THE INVENTION
Generally speaking, in accordance with the invention, a prograrnmable
universal remote control is provided for operating any number of electronic devices
controlled by a remote control. The remote control is provided with the programming
and operation codes for any number of individual remote control units in its read only
memory "ROM'. Thus, for example, a programmable universal remote control provided
in accordance with the invention would contain a first set of codes for operating a
particular television, a second set of codes for operating a particular VCR, a third set of
codes for operating a second type of television, a fourth code for operating a second type
of VCR and so on. Thus, in order for the user to invoke a certain set of codes for a
certain apparatus, it is only necessary for the user to instruct the remote control which
electronic device the user wishes the remote control to operate.
The programmable universal remote control has the ability to operate any
number of individual devices, and therefore would have in ROM a large number of
program codes for a large number of electronic devices. This functioning is beneficial,
since the ROM can be programmed at the factory before distribution, and ROM does not
lose its information upon removal of power thereto. When the user instructs the
programmable universal remote control as to which devices it wishes the remote control
to operate, the information regarding which device is being controlled is retained in an
EEPROM. This EEPROM may be programmed by the remote control. In addition, these
EEPROMs do not lose their storage capacity upon the removal of electricity thereto. In
this apparatus, it is necessary only to provide a very small EEPROM memory since
rather than retaining all of the codes associated with a panicular device which the
programmable universal remote control is to operate, it is only necessary to retain the
device code, which will then implement the predetermined stored operational and
programming codes in the ROM. Thus, the amount of EEPROM memory required is
very small compared to those ofthe prior art, and since EEPROM memory is relatively
expensive, this reduces the cost of production of the remote control.
Accordingly, the invention comprises a programmable universal remote
control for controlling a plurality of electronic devices is provided, comprising a
microprocessor, a keyboard matrix coupled to the microprocessor for inputting
information into the microprocessor and an output circuit coupled to the microprocessor.
The microprocessor outputs driving signals to the output circuit for outputting remote
control command signals for controlling an electronic device in response to the driving
signals. A device code look-up table is stored in the microprocessor, the look-up table
storing device codes identifying respective ones of the plurality of electronic devices
and the driving signals associated with the respective electronic devices. An electrically
erasable programmable read only memory (EEPROM) is coupled to the microprocessor
for storing device codes, whereby the microprocessor accesses the look-up table
utilizing the device codes stored in the EEPROM to output a driving signal in response
to an input from at least one key ofthe keyboard matrix.
In an additional aspect ofthe invention, it is possible to provide a slightly
increased amount of EEPROM memory, thereby allowing for a hybrid operational
remote control. First, the remote control would operate as noted above, whereby a
panicular apparatus could be selected, and the remote control would thereafter operate
this apparatus from its preprogrammed ROM. The device codes would be stored in the
EEPROM. while the driving signals would be stored in the ROM placed in the memory
in the factory. In addition, a slightly increased amount of EEPROM would allow a user
to program the remote control with a set of driving and numerical data, in the case where
a new apparatus were produced, and the device codes for this device were not contained
within the ROM in the remote control. In order to keep the EEPROM small, the remote
control might only allow for one or two devices to be programmed in this manner, but
it could certainly allow for any number of devices.
The remote control would also be able to erase the EEPROM so that if a
new product were purchased, and an old one discarded, the device code, and any driver
or numerical data stored in the EEPROM could be changed. Additionally, the EEPROM
would be provided with a structure and method to selectively erase portions of the
EEPROM, thereby allowing for the erasure of a particular device code and associated
driver and numerical data without the loss ofthe other sequences. Since EEPROMs do
not lose their storage capacity upon the removal of electricity thereto, if the batteries are
removed from the remote control, or if for any other reason the electricity fails to be
provided to the EEPROM, they will retain the device codes or associated driver and
numerical data, and therefore a user need not reprogram the remote control each time
the batteries are removed or power is not provided to the EEPROM.
Accordingly, it is an object of the invention to provide an improved
programmable universal remote control which is able to operate a number of electronic
devices.
Another object of the invention is to provide an improved programmable
universal remote control which employs a reduced amount of electrically erasable
programmable read only memory, thereby reducing the cost of the apparatus.
A further object ofthe invention is to provide an improved programmable
universal remote control in which the programmed information is retained in memory
even after power is no longer provided to the memory.
A still further object of the invention is to provide an improved
programmable universal remote control which stores device codes in EEPROM
memory, and performs functions stored in ROM memory in response to these stored
device codes.
Yet another object of the invention is to provide an improved
programmable universal remote control which allows a user to enter device codes to
define a particular product to be operated, and also allows a user to enter device codes
and associated driver and numerical data to program the remote control to operate a
particular electronic apparatus not previously contained with the programming codes of
the remote control.
Still other objects and advantages ofthe invention will in part be obvious
and will in part be apparent from the specification and drawings.
The invention accordingly comprises the features of construction,
combination of elements, and arrangement of parts which will be exemplified in the
construction hereinafter set forth, and the scope ofthe invention will be indicated in the
claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a fuller understanding of the invention, reference is had to the
following description taken in connection with the accompanying drawings, in which:
FIG. 1 is a block circuit diagram depicting a particular embodiment ofthe
programmable universal remote control ofthe invention;
FIG. 2 is a flow diagram of the method for entering a program code
sequence into the programmable universal remote control ofthe invention;
FIG. 3 is a flow diagram ofthe method for providing the program code to
the microprocessor ofthe remote control;
FIG. 4 is a flow diagram of the method for having the remote control
execute a particular function;
FIG. 5 is a flow diagram depicting the method for entering specific key
playback data to a remote control constructed in accordance with an alternative
embodiment of the invention; and
FIG. 6 is a flow diagram ofthe method for playback of key data entered
in the steps of FIG. 5.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference is first made to FIG. 1 which depicts a block circuit diagram of
the memory and execution circuit employed in the programmable universal remote
control of the invention. As is shown in FIG. 1, a microprocessor 10 is provided for
controlling the functioning of a remote control device. A keyboard matrix 20 provides
inputs to microprocessor 10. An electrically erasable programmable read only memory
("EEPROM") 30 is coupled in two way communication with microprocessor 10. An
infrared output circuit 40 is coupled with microprocessor 10.
As is further shown, microprocessor 10 is provided with a number of
input/output pins P0O-P07 and P 10-P13. As is also shown in FIG. 1, data lines
connected to input/output pins P00-P06 and P10-P13 form keyboard matrix 20. More
specifically, the data lines connected to input/output pins P00-P06 and the data lines
connected to input output pins P10-P13 form four parallel horizontal lines cross each
other forming a grid. At each intersecting portion, an example of such an intersection
portion being shown as 21, a data line input/output from P01 crosses a data line from
input/output P10. Each of these crossing portions 21 is also associated with a particular
key in a keyboard. When a key in the keyboard is depressed, a sensor is set off at the
appropriate crossing portion 21. At that time, data will be received by microprocessor
10 at each input/output pin associated with the crossing portion 21 (P01, P 10 in this
example). Therefore, by determining which two lines have been activated, it is possible
for microprocessor 10 to determine the location of the key being pressed in the
keyboard, and therefore the associated key function. Therefore, for example, if portion
21 were depressed, microprocessor 10 would receive information at input/output pin
P01 and input/output pin P1O. Based on this input, the microprocessor functioning
program would determine which key input function, power ON/OFF by way of
example, this combination of input pins was associated with, and would thereafter
implement this function. It should be noted that in order to provide additional keyboard
input, it would only be necessary to provide additional crossing portions 21.
Microprocessor 10 is further provided with a timing circuit 12 comprising
an oscillating crystal 13, first and second capacitors 14 and 15, and ground connection
16. A voltage input 17 is coupled to a voltage source 49 which powers microprocessor
10. Microprocessor 10 includes a data output pin 18 for providing output data to control
the output of infrared output circuit 40. Microprocessor 10 includes a data input pin 19
for receiving information from EEPROM 30, a chip select pin P07 for selecting
EEPROM 30, and a pin connected to ground 16. Microprocessor 10 includes internal
random access memory "RAM" and read only memory "ROM' for storing specific data
as will be discussed below.
As is further shown in FIG. 1, EEPROM 30 comprises a voltage in line
31 coupled with voltage input 17 of microprocessor 10 for powering EEPROM 30 and
a connection to ground 16. A chip select line 32 is connected to microprocessor
input/output pin P07 and it informs EEPROM 30 when it is to be employed to output
a particular piece of data. A clock line 33 and a data in line 34 also couple EEPROM 30
to microprocessor 10. As is shown in FIG. 1, lines 33 and 34 also use data input/output
pins P04 and P05 of microprocessor 10. these pins also being used for keyboard matrix
20. The ability to pass these data lines through keyboard matrix 20 reduces the required
number of pins, and also improves the functionability of the system.
When EEPROM 30 is selected by microprocessor 10 by a signal along
Chip Select line 32 output at P07. Lines P04 and P05 of microprocessor 10 will be
transmitted along lines 33 and 34 respectively of EEPROM 30. However, when
EEPROM 30 is not selected by Chip Select line 32, the information contained on lines
P04 and P05 of microprocessor 10 will be addressed between keyboard matrix 20 and
microprocessor 10. When Chip Select line 32 has selected the EEPROM. the clock
along line 33 is enabled and input to EEPROM 30 from microprocessor 10, and a data
stream or data request output of pin P05 of microprocessor 10 will be input into
EEPROM 30 along Data In line 34. The data entering EEPROM 30 through Data In line
34 will prompt EEPROM 30 to output particular requested information through Data
Output line 35. This information will be output from EEPROM 30 through Data Output
line 35 and will be input into microprocessor 10 at data input pin 19. Thus, upon proper
prompting from the microprocessor, EEPROM 30 will provide the requested stored
information to microprocessor 10.
Finally, the remote control circuit is also provided with an infrared output
circuit 40 to produce the remote control command signals to control the electronic
o apparatus. As is also shown in FIG. 1, infrared output circuit 40 includes voltage source
49 disposed in parallel with a capacitor 48. The first end of this parallel combination is
connected through line 50 to ground 16, and is also coupled through light emitting
diodes 41. 42, arranged in parallel, to the emitter of a transistor 43. The collector of
transistor 43 and the second end of the parallel combination of voltage source 49 and
capacitor 48 are connected to opposite ends of the parallel combination of first and
second infrared output LEDs 41 and 42. The base of transistor 43 is connected through
a resistor 44 to the collector of a second transistor 45. The emitter of transistor 45 is
coupled with the second end of the parallel combination of voltage source 49 and
capacitor 48, the first end of the parallel combination of infrared output LEDs 41 and
42, and is also connected to ground 16, and through a resistor 47 to voltage input pin 17,
which provides a power source for a microprocessor 10 and EEPROM 30 through
voltage pin 31. The base of transistor 45 is connected to data output pin 18 of
microprocessor 10, and receives driving signals from microprocessor 10 regarding a
required output to be produced by infrared output circuit 40. Voltage source 49 would
comprise a number of batteries required to generate the required output signal from
infrared output signal 40 and infrared output circuit 40 would output a signal in response
to a command from microprocessor 10.
During use, a user first places the voltage source, or batteries, into the
remote control. The RAM stores the identity ofthe apparatus which is to be controlled.
This information is input at keyboard matrix 20 when initializing the remote control
unit. When these batteries are placed into the remote control, if the remote control has
not yet been used by the user, no apparatus code corresponding to the product to be
controlled will be stored within the "RAM" of microprocessor 10 ofthe remote control,
and therefore the remote control will not operate with any particular electronic
apparatus. A look-up table having proper driving signals corresponding to infrared
remote control command signals required for each function of a large number of
particular electronic devices is stored in the ROM at the time of manufacture.
Accordingly, a look-up table, which can be accessed by device code, will store a driver
signal for each particular key for each device. Thus, microprocessor 10 of the remote
control contains the codes to operate any number of electronic devices, and the user is
required only to inform microprocessor 10 and the remote control which electronic
devices it wishes to operate. In order to inform the remote control which electronic
devices it wishes to operate, the user will follow the steps, as shown in FIG. 2.
As is shown in FIG. 2, after the power source has been inserted into the
remote control, in order to define a particular electronic apparatus, the user presses a
key, which is defined to allow a user to define an electronic apparatus. In a preferred
embodiment, this would be set up as an "F" key. as is shown in step 2 of FIG. 2.
Pressing the F key, the information is registered by keyboard matrix 20 at a
corresponding crossing point 21 informing microprocessor 10 which key has been
pressed. Pressing F causes microprocessor 10 to begin the process of determining which
apparatus is to be controlled and how it is to be controlled.
In step 3, the user is required to select the type of electronic device which
is being controlled by the remote control. As is shown in FIG. 2, in step 3, the user
selects the device code for a television, but this particular electronic device could be any
electronic device, including, but not limited to, a VCR, stereo or CD player. When the
user presses the television key, the information is registered by keyboard matrix 20 at
one of the crossing points 21. which informs microprocessor 10 which key has been
pressed. Next, in step 4, the user then enters a code corresponding to the particular
brand and model of electronic device the user is requiring that the remote control
operate. As is shown in FIG. 2, in a preferred embodiment, the brand and model number
comprises a three digit code. However, this code could comprise any number of digits
or device codes, therefore allowing for any amount of product information to be stored
in the remote control.
After the user has entered this code, microprocessor 10 stores the device
code in RAM, and in step 5, the user again depresses the TV, or appropriate electronic
device key in order to inform microprocessor 10 that the user has completed entering
the code. Then, in step 6, this code is transferred from microprocessor 10 through Data
IN line 34 to EEPROM 30 and is stored therein. To perform this process, Chip Select
pin 32 is placed in the ON position, and the information is entered through Data IN line
34 and is clocked in using Clock line 33. Thus, the appropriate device code information
s is forwarded and stored in EEPROM 30 and is also retained in RAM in microprocessor
10. Finally, in step 7, the device code entry process is completed.
A similar process such as this is performed for each electronic device
required to be controlled by the remote control. Each of these codes are stored in the
proper place in EEPROM 30, thereby providing a bank of information with all the
o device codes of the devices required to be controlled by the remote control.
When these device codes are initially stored in EEPROM 30, as noted
above, the information is first processed by microprocessor 10. Microprocessor 10
contains a specific amount of random access memory (RAM) in which these device
codes are also stored. However, this RAM will not survive the removal of the voltage
source from the remote control. Therefore, while upon initial entry, this memory is
available for use by microprocessor 10, if the voltage source is removed, the RAM
memory will "lose" the codes. Since EEPROM 30 does not lose its storage capability
upon the removal of electricity therefrom, the device codes stored in EEPROM 30 will
not be lost and the codes will only be stored in EEPROM 30 if the voltage source is
depleted, or removed.
Reference is next made to FIG. 3 in connection with FIG. 1 which depicts
the reading of the device code information from EEPROM 30 into the RAM of
microprocessor 10 after the voltage source has been replaced. Specifically, when a new
voltage source is provided, the sequence of steps shown in FIG. 3 takes place
automatically. Specifically, upon the insertion ofthe voltage source, step 61 starts the
process. Next, microprocessor 10 reads the device code information from EEPROM 30
in step 62. Specifically, microprocessor 10 selects EEPROM 30 through chip select pin
32 by providing chip select information on pin P07. Upon selection of this pin, and the
provision of a clock signal along line 33, each of the required device codes is output
from EEPROM 30 through Data Out line 35. This information is transmitted serially
through Data Out line 35 to microprocessor 10 at Data In pin 19. This information is
serially stored in RAM in microprocessor 10 in step 63. After all the necessary
information has been transferred from EEPROM 30 to microprocessor 10, the
information retained in RAM memory in microprocessor 10 will be identical to the
information originally programmed into EEPROM 30 and microprocessor 10 by the user
in accordance with steps 1-7. Therefore, if the batteries or other voltage source is
removed from the remote control, and thereafter replaced, even though the RAM in
microprocessor 10 will not hold the device codes, EEPROM 30 will automatically
5 forward this information back to the RAM of microprocessor 10, so that the user is not
required to re-enter each of the device codes each time the batteries or voltage source
is removed from the remote control. Thus, as shown in FIG. 3, these codes are stored
in RAM and can be later used for access to the look-up table stored in ROM containing
the actual driver signals for the output of a remote control command signal in response
o to a particular key selection.
Reference is next made to FIG. 4 which depicts a flow diagram showing
the sequence of required steps followed for depressing a particular key on the keyboard
and having the remote control execute a particular function for a particular electronic
apparatus. As is shown in FIG. 4, at step 71, the sequence is started, and the remote
i5 control awaits an input from keyboard matrix 20. In step 72, a button on keyboard
matrix 20 is depressed, and an input is received at a particular crossing point 21. As
described above, this depression provides information along two pins to microprocessor
10. In step 73, microprocessor 10 determines which key is depressed, and also which
function is desired by the depression of this key. Next, microprocessor 10 looks up the
20 device code for the proper apparatus stored in RAM for the device associated with a
particular desired function in step 74. Therefore, by example, if it were determined that
a record key were depressed in step 73, microprocessor 10 would look up the device
code for the VCR in step 74. Next, in step 75. by associating the determination of which
key was depressed in step 73. and the device key of step 74. microprocessor 10 is
directed to a particular location in the look-up table stored in ROM containing all of the
required driver signals for the particular electronic apparatus identified by the device
code stored in RAM. Microprocessor 10 reads from the ROM the appropriate driver
signal for the depressed key to control the identified device. After this particular driver
signal has been determined in step 75, the information is output along output line 18 to
infrared output circuit 40. Next, in step 77, infrared output circuit 40 outputs the proper
infrared remote control command signal for the control of the particular electronic
device. Then, as is shown in FIG. 4, the sequence returns to step 71 , whereby the remote
control awaits another keyboard input.
As is depicted by FIG. 4, by using the device code, and the key depressed
sensor ofthe remote control, microprocessor 10 is able to direct control ofthe electronic
apparatus to a particular memory location in a look-up table contained in read-only
memory (ROM) of microprocessor 10, which is never erased. Thus, the remote control
provided in the present invention can control any number of preprogrammed electronic
devices, and the particular devices chosen for control need only be entered into the
remote control once, these codes being stored in an EEPROM even if the voltage source
is removed from the remote control and the EEPROM memory. By allowing
microprocessor 10 to read the device code information from EEPROM 30, and
thereafter store this device code information in RAM. a call to the EEPROM is not
required each time a key on keyboard matrix 20 is depressed, therefore increasing the
speed of the response ofthe remote control.
In an altemative embodiment of the invention, it is possible to provide an
EEPROM with a number of additional memory locations, therefore allowing for the
functioning as described above, and in addition allowing for a user to define an
additional electronic device look-up table in the EEPROM, allowing a user to employ
the remote control with any new electronic devices which were not available at the time
the remote control was produced, and therefore whose device codes would not be
provided in the ROM look-up table in microprocessor 10. Thus, if the additional
EEPROM memory is provided, it is possible to form an additional look-up table to hold
the device codes and associated driver and numerical data for any additional remote
control electronic devices.
The definition of a particular key for an additional electronic device to be
controlled by the remote control is depicted in FIG; 5. Specifically, the process is started
in step 81, and in step 82 the user depresses a define key in keyboard matrix 20. As
described above, this information is transmitted to microprocessor 10 through the two
lines which cross at cross over point 21 associated with this key. Next, in step 83, the
user depresses a different key, the key for which the user wishes to define the associated
output infrared signal. As above, the key depressed is determined by microprocessor 10.
Next, in step 84, the user enters a two digit driver-type number. This driver number is
the first portion ofthe data required by microprocessor 10 in order to properly output
the proper driver signal when the key is depressed for this user-defined electronic
device. Thereafter, in step 85. the user enters the numeric data associated with this kev
when controlling this particular electronic device. This information would be provided
by the producer of the electronic device, or by the producer of the universal remote
control, so that the user could properly define each of the infrared remote control
command signals associated with a particular key. Finally, in step 86, the key that was
depressed, the driver data, and the numerical data are each stored in the EEPROM,
which as noted above, comprises additional memory locations and an additional look-up
table to allow the user to perform this function. It should be noted that any combination
of required program information could be entered in steps 84 and 85 as required by the
remote control.
After this definition of keys and storage of codes and data takes place, the
process ends at step 87. This process may be repeated for each key on the keyboard to
be associated with the new electronic device. Thus, the EEPROM stores each key and
the driver and numerical data associated therewith to define a new electronic device.
This information is stored in the additional look-up table by key so that when a key is
depressed in the keyboard matrix, microprocessor 10 can scan the look-up table stored
in the EEPROM to determine if this key has been specifically defined by the user.
Reference is now made to FIG. 6 which depicts the process by which the
remote control plays back and outputs the proper infrared remote control command
signal when a particular key is depressed for an additional electronic device whose
device codes and associated driver and numerical data have been stored in the additional
look-up table in EEPROM 30 in accordance with the method of FIG. 5. Specifically, the
process begins in step 91. and in step 92 a key is depressed by the user. This information
identifying which key has been depressed is transmitted to microprocessor 10 as
described above. In step 93. microprocessor 10 determines which key was depressed,
and in step 94 microprocessor 10 searches the additional look-up table stored in
EEPROM 30 to determine whether this key code has been specifically defined in
EEPROM 30 through the steps of the method depicted in FIG. 5, as discussed above.
This searching is performed, as is noted above, through Chip Select line 32, Clock line
33 and Data In line 34. If the information for defining the depressed key is contained
within EEPROM 30, this information, including the driver arid numerical data, is output
along Data Out line 35, and input into microprocessor 10 through data input pin 19. This
search process is depicted in the choice step 96, in which it is determined whether the
key and associated driver and numerical data is stored in EEPROM 30. During this
search, the depressed key is compared to each ofthe keys for which a definition is stored
in the EEPROM. If the answer is yes and the depressed key is defined in the EEPROM,
the driver data is first output from EEPROM 30 along Data Out line 35 through input
pin 19 in step 97, and thereafter the numerical data from EEPROM 30 is output to
microprocessor 10 in step 98.
Returning to step 96, if the key has not been specifically defined in
EEPROM 30, the default driver signal from the ROM memory of microprocessor 10 is
loaded as described above in the first embodiment, including the loading of driver data
in step 99, and the numerical data in step 100. Thus, if a particular key has not been
specifically defined in the EEPROM, the depressing of that key will cause the remote
control to operate as it does in the first embodiment, using the device code and the
lookup table in ROM. Finally, as is shown in step 110. if the key was defined in the
EEPROM. and the driver and numerical data was loaded from the EEPROM. it is
provided through microprocessor 10. and the proper driver signal is provided to infrared
output circuit 40 to control the user defined electronic device. If the key was not defined
by a user, and the driver signal was loaded from ROM, this driver signal is thereafter
provided to infrared circuit 40 to output the preprogrammed infrared remote control
command signal.
Therefore, by provision in this alternative embodiment of an additional
EEPROM amount of memory, the user can employ the functions as noted above with
respect to the first embodiment, and also the additional functionality of being able to
define particular keys to be associated with electronic devices which are not contained
within the ROM look-up table within the remote control microprocessor memory. Since
these user defined datas are stored in the EEPROM, they will not be erased upon the
removal ofthe voltage source therefrom.
Finally, in either of these embodiments, it is possible for a user to replace
any particular portion of data without thereby erasing the rest of the data from the
EEPROM. For example, if a user were using the remote control to control a CD player,
a stereo, a television and a VCR, and the user thereafter were to acquire a new
television, but wishes to employ the remote control to run the original three other
devices in addition to the new television, it would be possible for the user to follow the
steps as noted above for programming in the new television, or for programming the
individual keys in the second embodiment, and thereby not disturb the codes stored in
the EEPROM for the other devices. This gives a user additional flexibility and allows
a user to substitute one or more electronic devices while retaining the codes for the other
devices. Thus, the device codes or driver and numerical data need not be reentered for
the devices which are not being changed.
It will thus be seen that the objects set forth above, among those made
apparent from the preceding description, are efficiently attained and, since certain
changes may be made in the above construction without departing from the spirit and
scope ofthe invention, it is intended that all matter contained in the above description
or shown in the accompanying drawings shall be interpreted as illustrative and not in a
limiting sense.
It is also to be understood that the following claims are intended to cover
all of the generic and specific features of the invention herein described and all
statements ofthe scope ofthe invention which, as a matter of language, might be said
to fall therebetween.