IEEE

©2001 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

Return to Table of Contents


Learning Microcontrollers with a CAI-Oriented Multi-Micro Simulation Environment

Alfredo del Río, Member, IEEE, Juan José Rodríguez - Andina, Member, IEEE and Andrés A. Nogueiras - Meléndez, Member, IEEE


Abstract -This paper presents the application of a CAI-oriented simulation environment of the 8051, namely UVI51, to the laboratory work in an introductory course on microcontrollers. The main features of UVI51 derive from its orientation to education: i) Very realistic simulation of both CPU and embedded peripherals; ii) Easy-to-use interface; iii) Graphical windows that show the state and configuration of the embedded peripherals; iv) Ability to simulate the concurrent operation of several microcontrollers; v) Ability to simulate the interaction of the microcontrollers with external peripherals. A brief description of the environment and some exercises to be implemented by the students are presented. The results of the educational experience, in terms of both opinions and scores of the students, are also discussed.


I. Introduction

Many computer-aided instruction (CAI) tools in the field of electronics are based on simulators. Some applications use a standard simulator and develop a new interface, suitable for educational purposes [1]. Other applications, mainly in the field of microprocessors, include a functional or logic level simulator, specifically designed to meet certain educational requirements [2][3].

8-bit microcontrollers are usually preferred for teaching/learning in the laboratory, due to their simplicity and low cost. The Motorola 68HC11 and the Microchip PIC family are widely used [4]. This is also the case for the industry standard 8051 family of microcontrollers, whose downloadable flash versions ease the development of low cost hardware tools [5].

This paper presents the application of UVI51, a CAI tool for the 8051 microcontroller, that is being used at Universidad de Vigo for laboratory work in introductory courses on microcontrollers. Significant improvements have been implemented in the tool from the experience gained in the use of its earlier versions [6].

UVI51 consists of an assistant, an assembler (included in order to make UVI51 self-contained by eliminating the need of a third party assembler), a multi-micro simulator and a logic analyzer viewer. There is also a specific debugger module for the hardware trainer used in our laboratory.

The assistant guides the user through the development process. This process begins by editing an ASCII file called system configuration file, where the microcontrollers, the external peripherals and their interconnections are defined. Then, the source code file for every microcontroller has to be written. Any ASCII editor can be used for this task, for example the EDIT MSDOS editor. Once written, the source files are assembled using the assembler supplied with UVI51. Finally, the simulator and the logic analyzer are used to verify system operation.

The simulator is the main component of the tool. It allows the simulation of systems that consist of up to four 8051 microcontrollers operating concurrently, plus a set of external peripherals. It is a discrete-event simulator, the execution of one instruction being the basic event. Microcontrollers and external peripherals are simulated using a mixed model: some parts with a register transfer model and others with a functional model. The external interconnections between microcontrollers and peripherals are simulated at the logic level.

UVI51 is suitable for use in the classroom and in the laboratory. In the classroom, the 8051 operation can be illustrated in a dynamic and interactive way, as opposed to the static nature of transparencies or the little dynamic capabilities of chalk and a blackboard. Hardware at the functional block level, the instruction set and their interactions can be presented using examples. In the laboratory, the students begin using UVI51 to analyze worked examples. Later, they have to solve a set of design problems defined by specifications.

The goal of this work is not to describe a CAI tool, but the advantages of its application to education. Therefore, only a brief description of the simulator is presented in section II. Three exercises of increasing complexity are described in sections III, IV and V, respectively, to show the benefits of using the UVI51 simulator compared with traditional learning methods. In all of them a set of design specifications is given to the students. They have to build the whole system, from a suitable hardware configuration to the microcontroller program. Then they must debug their solutions using the simulator and the UVI51 logic analyzer. The educational results, in terms of both student scores and opinions, are discussed in section VI. Finally, the conclusions of the work are summarized in section VII.


II. Description of UVI51

The main features of the UVI51 simulator are briefly discussed in this section. For a more detailed description refer to the UVI51 user's manual. If you wish to test the tool, all the required files, including some exercise examples, are available. UVI51 code is written in C++. It is an MS-DOS application and can be executed also under Windows 3.x, Windows 95 and Windows 98.

UVI51 has been designed, with education in mind, to meet the following requirements:

  1. Very realistic simulation of both CPU and embedded peripherals
  2. Easy-to-use interface
  3. Graphical windows that show the state and configuration of the embedded peripherals
  4. Ability to simulate the concurrent operation of several microcontrollers
  5. Ability to simulate the interaction of the microcontrollers with external peripherals

The main window of the simulator is shown in Figure 1, that includes mouse sensitive messages and links to access the auxiliary windows mentioned below.

HeaderExit ButtonHelp ButtonClear ButtonReset ButtonRun / Stop ButtonReset Global Time ButtonThe Micro #i ButtonsExternal Peripherals
WindowExternal Peripherals
WindowExternal Peripheral of type PushbuttonExternal Peripheral of type PushbuttonExternal Peripheral of type LEDExternal Peripheral of type PushbuttonExternal Peripheral of type SwitchExternal Peripheral of type SwitchExternal Peripheral of type LCD DisplaySimulation Speed IndicatorMicrocontroller Window HeaderElapsed Time IndicatorClear Selected Micro ButtonReset Selected Micro ButtonStep ButtonRAM WindowRAM/SMB switchLower/Upper ButtonXRAM WindowArrow ButtonsProgram WindowSource ButtonCPU WindowTimers / Counters WindowTimers / Counters Information ButtonSerial Port WindowSerial Port Information ButtonInterrupts WindowInterrupts Window Information ButtonI/O Ports Window

Figure 1. Main window of the simulator.

One of the main advantages of UVI51 with respect to other simulators for the 8051 family [7] [8] [9] is its capability of simulating, in a very easy way, not only the operation of one microcontroller, but that of a whole system consisting of up to four interconnected microcontrollers, plus a set of external peripherals. For each microcontroller, the user can define its clock frequency, and the sizes of its ROM and external RAM memories.

The UVI51 simulator can operate both in single instruction and in continuous execution modes. When operating in continuous mode, simulation speed can be regulated to fit the requirements of each particular experiment. Breakpoints can be established on any instruction, without limitation in number. Breakpoints by value are also supported. In both modes, the time elapsed in microcontroller execution is displayed.

All the embedded peripherals are simulated, including timers, interrupt control logic, I/O ports and the serial controller (in modes 1 and 3). Special attention has been paid to achieve a very realistic simulation of the serial controller, supporting links to software implemented UARTs. The timing of the TxD and RxD signals is simulated according to the actual baud rate, generated by Timer 1.

As an added value to education, each embedded peripheral has its own graphical window, where the user can check its state and current configuration. These windows have been designed following the block diagrams available in the 8051 handbooks, to assure rapid recognition by the students.

The external peripheral types available in this version of the tool are switches, pushbuttons, LEDs, 7 segment multiplexable displays and LCD screens. A special external peripheral of logic analyzer type is also available, that allows the user to save into a file the chronogram of every node while the simulation is running. The logic analyzer viewer (Figure 2) can then be used to open the file and inspect the chronograms. The viewer supports time interval measuring, display of bus states and pattern search.

HearderExit ButtonPlot HPGL ButtonHelp ButtonZoom In ButtonZoom Out ButtonFind Pattern ButtonStep Time Backward ButtonStep Time Forward ButtonEnd of Chronogram ButtonBegin of Chronogram ButtonTime Slide BarVertical Slide BarScroll Nodes Up ButtonScroll Nodes Down ButtonTime CursorAbsolute Time ScaleRelative Time ScaleNode Labels and NumbersNode Search PatternsHelp on Buttons DisplayChronograms Window

Figure 2. Logic analyzer viewer.

Even though mainly designed to be used with assembly language, UVI51 also supports programs written in C language. In this case, a commercial compiler, as for instance [10], must be used. Apart from the assembler provided with UVI51, Intel's asm51 or any other compatible assembler can also be used. If a source code file name has the C extension, the assistant replaces the call to the assembler for a call to a suitable C compiler. For details on how to select the assembler and C compiler programs to be used, please refer to the UVI51 user's manual.

The whole UVI51 code is written in C++ language. It is an MS-DOS application and can be executed also under Windows 3.x, 95, 98 and NT.


III. An Introductory Exercise

In this section, one of the first exercises to be performed by the students is described. Introductory exercises are intended to show the use of logic instructions and I/O ports. As a secondary goal, they also help the students to become acquainted with UVI51 handling. Advice must be given to the students about the differences between what the microcontroller and the tool are, to avoid that they might interpret some aspects inherent to the tool as characteristics of the microcontroller.

The student is requested to design a microcontroller-based system that simply makes a LED blink, using a software delay. The blinking period is given. The student proposes the system shown in Figure 3 as a solution. The microcontroller drives the BLK LED via a non-inverting buffer. Once the student has written and assembled the program for the microcontroller, he or she can simulate the whole system.

Block Diagram of the System in the Introductory Exercise

Figure 3. Block diagram of the system in the introductory exercise

Figure 4 shows the main window corresponding to this exercise. The students can define a breakpoint (indicated by the program line on red background in Figure 4) on the instruction that toggles the LED state and use the simulator in continuous mode. In this exercise, the LED state toggles with each successive iteration. Note that the RAM window shows a table of addresses and values, instead of the list of symbols and values of Figure 1.

HeaderExit ButtonHelp ButtonClear ButtonReset ButtonRun / Stop ButtonReset Global Time ButtonExternal Peripherals WindowExternal Peripheral of type LEDSimulation Speed IndicatorMicrocontroller Window HeaderElapsed Time IndicatorClear Selected Micro ButtonReset Selected Micro ButtonStep ButtonRAM WindowRAM/SMB switchLower/Upper ButtonXRAM WindowArrow ButtonsProgram WindowSource ButtonCPU WindowTimer/Counter WindowTimer/Counter Information ButtonSerial Port WindowSerial Port Information ButtonInterrupts WindowInterrupts Window Information ButtonI/O Ports Window

Figure 4. Main window of the simulator in the introductory exercise.

The execution of this exercise can be seen in continuous (40 sec. aprox.) or step-by-step (7 steps) animations.

The logic analyzer viewer can be used to examine the evolution of the signal that controls the LED state, as shown in Figure 5.

HearderExit ButtonPlot HPGL ButtonHelp ButtonZoom In ButtonZoom Out ButtonFind Pattern ButtonStep Time Backward ButtonStep Time Forward ButtonEnd of Chronogram ButtonBegin of Chronogram ButtonTime Slide BarVertical Slide BarScroll Nodes Up ButtonScroll Nodes Down ButtonTime CursorAbsolute Time ScaleRelative Time ScaleNode Labels and NumbersNode Search PatternsHelp on Buttons DisplayChronograms Window

Figure 5. Logic analizer viewer in the introductory exercise.


IV. An Intermediate Exercise

In this section we describe one of the exercises the students can do once they become familiar with the basics of the 8051 architecture and assembly language, and particularly with the timers and the interrupt controller.

The educational goal of this exercise is to illustrate the use of timers and interrupts. The students are requested to design a two-digit decimal counter using a microcontroller.

The system to be simulated is shown in Figure 6. It consists of one microcontroller connected to two hexadecimal 7 segments displays, via hex-to-7 segments decoders. UVI51 supports a type of external peripheral that includes both the decoder and the display.

Block Diagram of the System in the Intermediate Exercise

Figure 6. Block diagram of the system in the intermediate exercise.

The T0 timer generates interrupt requests periodically. The interrupt service routine increments the value stored in the I/0 port P1. Alternatively, the CLK pushbutton can be used to generate the INT1 external interrupt request. Its service routine also increments the value stored in P1.

Only one of the preceeding interrupts is enabled at a time, the selection being by means of the MODE switch. In addition, the CLR pushbutton is used to generate an interrupt that resets P1 to zero.

By executing the program in single instruction mode, the students can verify how each individual instruction works. In continuous mode, the simulator speed must be set to adequate values, in order to properly see the evolutions of the T0 timer, the interrupt process, and the external display. The operations of the switch and the pushbutton can also be tested. Figure 7 shows the simulator main window corresponding to this exercise.

HeaderExit ButtonHelp ButtonClear ButtonReset ButtonRun / Stop ButtonReset Global Time ButtonExternal Peripherals WindowExternal Peripheral of type SwitchExternal Peripheral of type PushbuttonExternal Peripheral of type PushbuttonExternal Peripheral of type Seven SegmentsSimulation Speed IndicatorMicrocontroller Window HeaderElapsed Time IndicatorClear Selected Micro ButtonReset Selected Micro ButtonStep ButtonRAM WindowRAM/SMB switchLower/Upper ButtonXRAM WindowArrow ButtonsProgram WindowSource ButtonCPU WindowTimer/Counter WindowTimer/Counter Information ButtonSerial Port WindowSerial Port Information ButtonInterrupts WindowInterrupts Window Information ButtonI/O Ports Window

Figure 7. Main window of the simulator in the intermediate exercise.

The execution of this exercise can be seen in continuous (1 minute aprox.) or step-by-step (11 steps) animations.

The Timers / Counters graphic window is shown in Figure 8. The T0 timer is enabled (TR0=1), operating in mode 2 (as a timer) and the internal clock frequency is 1 MHz.

Clear Selected Micro ButtonReset Selected Micro ButtonStep ButtonMicrocontroller Window HeaderElapsed Time IndicatorReturn Button for Timers / Counters Graphic WindowTimers / Counters Graphic Window

Figure 8. Timers / Counters graphic window in the intermediate exercise.

The Interrupts graphic window, shown in Figure 9, is useful to verify the state of the interrupt control circuit. In this case, two interrupt sources are enabled: INT0 and Timer 0 overflow. The external interrupts are triggered by their respective falling edges (IT0=IT1=1).

Clear Selected Micro ButtonReset Selected Micro ButtonStep ButtonMicrocontroller Window HeaderElapsed Time IndicatorReturn Button for Interrupts Graphic WindowInterrupts Graphic Window

Figure 9. Interrupts graphic window in the intermediate exercise.

Once the simulation has been carried out, the students can use the logic analyzer viewer to see the system chronograms, as shown in Figure 10. A bus called "ctr" has been defined to watch counter evolution. The students have to verify whether the counter works in the desired decimal format or in binary. This can be accomplished, for instance, searching for the pattern 40h. If the value before 40h is 39h, the counter works properly. However, if the value is 3Fh, the counter is working in binary. The search pattern utility included in the logic analyzer is used. Figure 10 shows the cursor pointing to the match, where the student can verify that the previous value is 39h.

HearderExit ButtonPlot HPGL ButtonHelp ButtonZoom In ButtonZoom Out ButtonFind Pattern ButtonStep Time Backward ButtonStep Time Forward ButtonEnd of Chronogram ButtonBegin of Chronogram ButtonTime Slide BarVertical Slide BarScroll Nodes Up ButtonScroll Nodes Down ButtonTime CursorAbsolute Time ScaleRelative Time ScaleNode Labels and NumbersNode Search PatternsHelp on Buttons DisplayChronograms Window

Figure 10. Logic analyzer viewer in the intermediate exercise.


V. A Multi-Micro Communication Exercise

In this section, an exercise about communications between microcontrollers through their serial ports is described. The exercise is intended to show the students the multiprocessor capability of the 8051's serial port, and it clearly illustrates the suitability of UVI51 for studying non-trivial applications. Most simulators do not provide this feature, because they cannot simulate more than one microcontroller concurrently [7][8]. Moreover, most of them simulate the embedded serial port in an imprecise way. More realistic simulators exist [9], but they are not specifically oriented to CAI applications and their use is not as simple as that of UVI51.

Figure 11 shows the system to be simulated, which consists of 3 microcontrollers, connected through a shared serial link. Micro 0 acts as a master and sends messages to Micro 1 and Micro 2. The 8051's serial port mode 3 is used and its multiprocessor communication feature is enabled.

Block Diagram of the System in the Multi Micro Exercise

Figure 11. Block diagram of the system in the communication exercise.

Three pushbuttons are connected to Micro 0. If SM1 is pushed, the address 0 is sent through TxD, followed by the message 'MESSAGE ONE'. If SM2 is pushed, the address 1 is sent, followed by the message 'MESSAGE TWO'. Finally, if CLR is pushed, two null messages are sent, one to address 0 and the other to address 1.

Two LCD screens are connected to Micro 1 and Micro 2, respectively, using three-wire synchronous links. The switches AD1 and AD2 are used to define Micro 1 and Micro 2 addresses, respectively. These addresses determine which messages must be accepted by each micro. When Micro 1 accepts a message, it writes it onto its previously cleared LCD screen. The same applies to Micro 2.

Guided by the UVI51 assistant, the user must define the system and write two programs: one for Micro 0 and another for Micros 1 and 2. The main window of the simulator for this exercise is shown in Figure 12.

HeaderExit ButtonHelp ButtonClear ButtonReset ButtonRun / Stop ButtonReset Global Time ButtonThe Micro #i ButtonsExternal Peripherals
WindowExternal Peripherals
WindowExternal Peripheral of type PushbuttonExternal Peripheral of type PushbuttonExternal Peripheral of type LEDExternal Peripheral of type PushbuttonExternal Peripheral of type SwitchExternal Peripheral of type SwitchExternal Peripheral of type LCD DisplaySimulation Speed IndicatorMicrocontroller Window HeaderElapsed Time IndicatorClear Selected Micro ButtonReset Selected Micro ButtonStep ButtonRAM WindowRAM/SMB switchLower/Upper ButtonXRAM WindowArrow ButtonsProgram WindowSource ButtonCPU WindowTimers / Counters WindowTimers / Counters Information ButtonSerial Port WindowSerial Port Information ButtonInterrupts WindowInterrupts Window Information ButtonI/O Ports Window

Figure 12. Main window of the simulator in the communication exercise.

The execution of this exercise can be seen in continuous (1.5 minutes aprox.) or step-by-step (16 steps) animations.

The user can verify the T0 timer configuration of Micro 0 using the Timers / Counters graphic window, shown in Figure 13. This timer is used to generate a baud rate of 57,600 bps.

Clear Selected Micro ButtonReset Selected Micro ButtonStep ButtonMicrocontroller Window HeaderElapsed Time IndicatorReturn Button for Timers / Counters Graphic WindowTimers / Counters Graphic Window

Figure 13. Timers / Counters graphic window in the communication exercise.

The Micro 0 serial port configuration can be verified using the Serial Port graphic window, shown in Figure 14. Bit 5 is being transmitted.

Clear Selected Micro ButtonReset Selected Micro ButtonStep ButtonMicrocontroller Window HeaderElapsed Time IndicatorReturn Button for Serial Port Graphic WindowSerial Port Graphic Window

Figure 14. Serial Port graphic window in the communication exercise.

The timing of all the signals in the system can be verified using the UVI51 logic analyzer viewer. The corresponding chronograms, shown in Figure 15, are useful to verify the frames transmitted via TxD. The ck, dt and ld signals of the three-wire links between Micros 1 and 2 and their respective LCD screens can also be verified.

HearderExit ButtonPlot HPGL ButtonHelp ButtonZoom In ButtonZoom Out ButtonFind Pattern ButtonStep Time Backward ButtonStep Time Forward ButtonEnd of Chronogram ButtonBegin of Chronogram ButtonTime Slide BarVertical Slide BarScroll Nodes Up ButtonScroll Nodes Down ButtonTime CursorAbsolute Time ScaleRelative Time ScaleNode Labels and NumbersNode Search PatternsHelp on Buttons DisplayChronograms Window

Figure 15. Logic analyzer viewer in the communication exercise.

Typical novice programmer's mistakes can be easily detected using UVI51, as shown by the following examples:

  1. If timer 1 is not running, the simulator's Serial Port graphic window shows the message "Baud rate 0 (T1 stopped)", as shown in Figure 16. In this case, the user can check the Timers / Counters graphic window to determine the state of Timer 1.

Return Button for Serial Port Graphic WindowSerial Port Graphic Window (detail)

Figure 16. Detail of the Serial Port graphic window.

       ii.            If the RXEN bits in the SCON registers of Micros 1 and 2 are not set to 1, they cannot receive any message. This condition can also be detected by inspecting the corresponding Serial Port graphic windows.

      iii.            If the user forgets to enable serial interrupts in Micros 1 and 2, messages will not be received. The Interrupts graphic window shows which interrupt sources are enabled, and their priority levels, helping the user in determining the source of the problem.

     iv.            If the three-wire link to the LCD screen has a wrong timing, the messages will not be properly displayed. Timings can be checked by means of the logic analyzer viewer.


VI. Educational Results

UVI51 is being used at Universidad de Vigo for laboratory work in introductory courses on microcontrollers, attended by some 250 students. There are 7 two-hours laboratory sessions, in which the simulation work is complemented with the use of traditional hardware trainers. Two main parameters have been used to evaluate the use of the tool in education: the scores achieved by the students on the tests, and their opinions, obtained through a questionnaire they complete at the end of the course.

The scores experienced a very significant improvement when UVI51 was first introduced 4 years ago, despite the limitations of that early version. The results have been even better in successive years, at the same time that the tool has been enhanced through more complete and realistic versions. Two important effects of using UVI51 have been the reduction in the time needed for the students to write applications and the ease of migration from simulation to real hardware, a task as simple as pressing a key, because the programs, with minor modifications in some cases, work correctly when downloaded to the hardware.

On the other hand, the questionnaires have revealed a good acceptance of the tool by the students, and an improvement in their opinion about the course. Table I shows some data extracted from their answers, particularly those more directly related to UVI51. In the table, a score of 1 means that the students do not agree at all with the assertion, and a score of 5 means they completely agree.

Table I
Students opinion about UVI51

ASSERTION

SCORE

Laboratory work is useful in practice

3.9

Additional guidance from the teacher is needed

2.1

The simulator is a valuable help prior to using the hardware

4.3

The simulator is user-friendly

4.2

The simulator features are good enough for the proposed exercises

4.0

One of the most interesting conclusions derived from students' answers is that they feel able to develop their laboratory work with little help from the teacher. This is even more remarkable considering that the questionnaire was applied to an introductory course, so the students have little previous experience, if any, with the use of microcontrollers.


VII. Conclusions

We have presented the application of UVI51, a multi-micro simulation environment, to laboratory work with the 8051 microcontroller. The main features of the tool, specifically developed with education in mind, have been described, and its use has been illustrated through three example applications of different complexity, that give an idea of the educational possibilities of the solution implemented at Universidad de Vigo. The impact on students’ motivation and on their scores in the tests has also been discussed.

From our experience of the last 4 years, we can conclude that the use of UVI51 has many advantages for the students and, what is  very important, also for the teachers. The development of the tool has promoted studies and discussions that resulted in a deeper knowledge of the 8051.


References

[1] A. del Río and M. D. Valdés, "Three-Dimensional Model for Analog Circuit Instruction", IEEE Trans. Educ., vol. 40, p. 294 & CDROM, Nov. 1997.
[2] W. P. LoveGrove. "A Microprocessor Trainer Simulator", Proc. of the 26th Frontiers in Education Annual Conference, pp. 506-509, vol. 2, Nov. 1996.
[3] J. M. Ramírez et al., "A Graphical Simulation Tool for Teaching Microprocessors Architecture and Assembly Language", Proc. of the 27th Frontiers in Education Annual Conference, p. 701, vol. 2, Nov. 1997.
[4] C. E. Nunnally, "Teaching Microcontrollers", Proc. of the 26th Frontiers in Education Annual Conference, pp. 434-436, vol. 1, Nov. 1996.
[5] Atmel Corporation, 8051 Flash Microcontroller Data Book, Dec. 1997. http://www.atmel.com/atmel/products/prod20.htm.
[6] J. J. Rodríguez-Andina and A. del Río, "Aplicación de un simulador al desarrollo de prácticas con microcontroladores", Proc. of the 2nd Conference on Tecnologías Aplicadas a la Enseñanza de la Electrónica, pp. 42-46, vol. III, Sept. 1996 (in Spanish).
[7] Avocet Systems, AVS High-Level Simulator/Debugger, http://www.avocetsystems.com.
[8] Keil Software, dScope Simulator/Debugger, http://www.keil.com/c51/default.htm.
[9] Virtual Micro Design, Universal Microprocessor Program Simulator (UMPS), http://www.vmdesign.com/html/p01.htm.
[10] IAR Systems, ICC8051 C compiler, http://www.iar.com/.


Author Contact Information

* Alfredo del Río
Departamento de Tecnología Electrónica
Universidad de Vigo
Campus Lagoas Marcosende, 9 - 36280 Vigo, Pontevedra - Spain
Phone: +34 986 812 143
Fax: +34 986 469 547
E-mail: ario@uvigo.es

Juan José Rodríguez - Andina
Departamento de Tecnología Electrónica
Universidad de Vigo
Campus Lagoas Marcosende, 9 - 36280 Vigo, Pontevedra - Spain
Phone: +34 986 812 161
Fax: +34 986 469 547
E-mail: juanjo@dte.uvigo.es, jjrdguez@uvigo.es

Andrés Augusto Nogueiras - Meléndez
Departamento de Tecnología Electrónica
Universidad de Vigo
Campus Lagoas Marcosende, 9 - 36280 Vigo, Pontevedra - Spain
Phone: +34 986 812 170
Fax: +34 986 469 547
E-mail: aaugusto@uvigo.es, aaugusto@dte.uvigo.es


Author Biographies

Alfredo del Río (M'94) received the M.Sc. degree in Telecommunication Engineering in 1980 from Universidad Politécnica de Madrid (Spain), and the Ph.D. degree in Telecommunication Engineering in 1992 from Universidad de Vigo (Spain). From 1983 to 1987 he was Professor of Electronics at the college level. Since 1988, he has been with the Departamento de Tecnología Electrónica at the Universidad de Vigo (Spain). Currently he teaches microcontrollers and analog electronics, and his research interest is in the area of computer-aided instruction. Dr. del Río is a member of the IEEE Education Society.

Juan J. Rodríguez - Andina (M'00) received the M.Sc. degree in 1990 from Universidad Politecnica de Madridand the Ph.D. in 1996 from Universidad de Vigo (Spain), both in Electrical Engineering. From 1990 to1992 he was with the Division de Ingenieria Electronica, Universidad Politecnica de Madrid. Then, he moved to Universidad de Vigo, where he is presently Associate Professor at the Departamento deTecnologia Electronica. Dr. Rodríguez - Andina is a member of the IEEE Computer Society.

Andrés A. Nogueiras - Meléndez (M'99) received the M.Sc. degree in 1994 from Universidad de Vigo (Spain)in Electrical Engineering. He worked in 1995 at the Instituto de Electronica Aplicada "Pedro Barrie de la Maza" and since 1996 is an Assistant Professor at the Departamento de Tecnologia Electronica of Universidad de Vigo, where he is working towards his Ph.D. degree. Mr. Nogueiras - Melendez is a member of the IEEE Industrial Electronics Society.


Return to Table of Contents