You are on page 1of 9

WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute

ADVANCES in ENGINEERING EDUCATION

A Framework for Developing a Microchip PIC


Microcontroller Based Applications
Miha Smolnikar, Mihael Mohorcic
Department of Communication Systems
Jozef Stefan Institute
Jamova cesta 39, SI-1000 Ljubljana
SLOVENIA
Miha.Smolnikar@ijs.si http://www-e6.ijs.si/

Abstract: - This paper presents a framework for developing applications based on a Microchip PIC
microcontroller (μC). Consisting of hardware and software tools it supports the development and transfer of
program code from a personal computer to the microcontroller, and evaluation of its execution on rapid
prototyping hardware. The first part of the paper focuses on hardware design, which is based on a modular
approach, i.e. recomposed for the design of each application, in order to ensure maximum adaptability. The
MPIC development system (MPICds) thus consists of a programmer, a main board including adapters for a
variety of chip packages, and plug-in modules. All these hardware components are designed so that they can be
fabricated by any potential user. Selected microcontroller is programmed in the standard ICSP mode using one
of the freely available PC programs. These are presented in the second part of the paper describing the software
part of the framework, which besides programming tools also discusses the code development tools. The stress
is given to the use of high-level tools, where the algorithms are described in the form of different graphical
notations, i.e. block diagrams, instead in C or assembly code. Throughout the paper, a special attention is given
to the use of framework in the electrical engineering education process. Besides giving some suggestions for
the use at different educational levels, the emphasis is on the implication of contemporary design methods, and
the hardware’s robust design, which is deliberately planned in such a way that even an incorrect use cannot
harm any of its components.

Key-Words: - PIC microcontrollers, Development system, High-level design tools, Electrical engineering
education

1 Introduction not only in electrical, but also in mechanical and


A range of devices we use today in our everyday industrial engineering.
lives (e.g. telephones, household appliances, cars) With components being ever more complex, a
contain so called “smart” electronics, which is design methodology and the ability to easily test and
usually implemented as an embedded system. In its verify the designed system on a real object are
fundament this is a microcomputer designed to becoming increasingly important. Building of
control a particular process of the application. Most application prototypes, be in hardware or software,
often, the central part of embedded systems is based therefore plays an important role in the design
upon a microcontroller (μC) or digital signal process. Since microcontroller based application
processing (DSP) device. These are a special kind of design can be described as a combination of
microcomputers integrated on a single chip, which computer programming and digital circuits
in addition to a central processing unit and a constructing [2], it is important to master both fields
memory consists of numerous application dependent at the same time. With the technology advancing
peripherals (e.g. AD and DA converters, timers, very fast, the progress in this field also has to reflect
communication modules, etc.) [1]. Being the most in the pedagogical process [3, 4]. Educational
widely manufactured processing devices, institutions, responsible to provide students with
microcontrollers play a pivotal role in electronic appropriate skills and knowledge, thus need to be
control systems. Concerning a broad range of aware of the industry needs and practices. On the
potential consumers, they are a product of interest other hand, industry is the one responsible to make
its specifics and requirements well known [5, 6].

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


83
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

Recognizing and acting upon the paradigm shifts in 2 Embedded system design cycle
the design of contemporary systems thus calls for Due to dramatically increasing complexity of
novel pedagogical approaches that should be embedded systems over the past decades,
supported by suitable hardware and software tools developers are facing ever-increasing challenges for
[1]. For that reason we designed a framework their products to stay market competitive [8]. In this
aiming to ease and quicken this process. Its context the utilization of systematic design methods
hardware part is the MPIC development system is essential in order to aggregate rather than trade-
(MPICds) with modular structure [7]. This means off the technical, cost, and time-to-market feasibility
that it is recomposed for each application separately. factors [5, 9].
The main hardware parts are the main board with Typically, design cycle steps can be illustrated
the attached microcontroller and the programmer using a V-diagram representation. Several versions
used to download the firmware from a personal from different industry fields can be found in the
computer (PC) to a microcontroller. In addition to literature, but here we refer to the one applied to the
these two major hardware parts several typical plug- design of embedded systems [5]. As depicted in Fig.
in test modules have been designed, intended for the 1, the general progression of the design steps in time
verification of developed programs. The is indicated from left to right. Hence the horizontal
framework’s software tools can be divided into axis of the diagram can be thought of as time, but
those for program code development, and those for since the design is often an iterative process, the
programming the microcontrollers. In the latter actual development rather cycles between left and
group only freely available programs were right leg of the diagram than proceeds linearly
considered, while in the case of development tools through the steps [10]. The vertical axis represents
we focus on those offering high-level design, with the level of system components’ abstraction, with
the algorithms described in the form of different the top steps representing high-level system view
graphical representation (e.g. block diagrams, and the bottom steps representing very low-level
flowcharts) rather than written in C or assembly processes.
code. The design starts with specifying the system
The rest of the paper is organized as follows. In requirements. These are than processed, and the
Section 2 a general embedded system design cycle system is along the left, the decomposition leg of the
is briefly introduced. The main characteristics of the V-diagram, split into smaller pieces. At the bottom
framework’s hardware parts, i.e. the MPIC of the V-diagram is the implementation stage,
development system, are presented in Section 3, representing the transition from decomposition back
while the software parts are described in Section 4. to re-composition proceeding up along the right leg
The frameworks’ appropriates for educational of the V-diagram. Here the system’s entities are
purposes is discussed in Section 5. Finally, Section combined back into larger pieces, resulting in a
6 concludes the paper with the ideas and plans for finally assembled system. The goal of each design
further developments of the framework. process is a system working according to the
specifications, with the V-diagram as narrow as

Fig. 1 V-diagram of an embedded system design flow

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


84
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

possible, thereby reducing the time and available on the market at relatively affordable
consequently the cost of design [10]. The prices. Moreover, we can choose from a wide range
framework presented in this paper aids narrowing of quality development and programming
the embedded system design V-diagram by supporting tools (even freely available), while the
providing a common set of tools that are used transfer of the firmware can be always performed
through the prototyping, implementation and testing using the same interface. Lastly, they are also very
stages. In prototyping stage first a simulation model popular in hobby electronic, which may also be an
is designed that behaves according to the important factor for educational equipment. The
requirements. Then for the validation of feasibility, following assumptions and limitations that were
taken into account when designing the MPIC
the design components are prototyped on general
development system:
prototyping hardware. The timing characteristics are
▪ Since the application’s software development is
not modelled in this step, and may change in the
usually a cyclic process of writing and testing the
actual design. Once the components behave
program code, its downloading to a μC as well
appropriately, the on-target prototyping is employed
as verification should be supported.
on the envisaged processing device, in our case a ▪ The system must be structured in a modular
microcontroller. Characteristics of code compiler, fashion to assure maximum flexibility and rapid
fixed-point precision effects and interactions among prototyping.
the system’s components are validated in this step. ▪ No pre-programmed chips should be used in the
When all simulations and prototyping shows the design.
correct operation of a design, a highly optimized ▪ All the basic accompanying software tools
code is produced in the implementation stage. should be freely available on the Internet.
Finally, in the testing stage the design is evaluated ▪ The choice of microcontrollers should be limited
while moving up along the right leg of the V- to those where the transfer of the firmware can
diagram. Configurations such as software-in-the- be performed using ICSP (In-Circuit Serial
loop, processor-in-the-loop, and hardware-in-the- Programming) module (a property of a great
loop are used in the proceeding steps [8]. majority of PIC microcontrollers) [15].
▪ The selection of microcontrollers is further
restricted to those available in the PDIP package
types [15].
3 MPIC development system
▪ The programmer must offer a possibility to
The intention of the MPICds [7] is not to compete
download a firmware from PC to microcontroller
with the commercially available platforms, but
using parallel (LPT) or serial (COM) port.
rather trying to efficiently combine freely available
▪ The programmer must be designed in such way
tools and easily accessible components. Likewise, as
that it can be permanently connected to the main
an educational tool like E-blocks [11] or MILES
board, i.e. when programming or running the
[12], the system is not meant for any particular
application.
curriculum, but can be readily adapted to any
▪ All microcontroller’s I/O pins must be accessible
secondary school or university course. Because of
on the main board plug-in module connectors.
its modular concept it is also very appropriate for
▪ All printed circuit boards (PCB) should be
self-learning as it allows construction of actually
single-sided to allow easy fabrication by
required components, thus reducing the cost of the
potential users.
system.
▪ Where needed the setting of microcontroller’s
In the following subsections the assumptions
operation using external signals should be
taken into account when designing the MPICds and
accessible through jumpers or short-circuit
its key hardware parts are described more in detail.
connections.
▪ Plug-in modules must be designed in such a way
that even their incorrect use does not harm any of
3.1 Design assumptions the system’s components.
Bearing in mind that the MPICds is aimed at These assumptions are based on recognition of
education process the Microchip’s PIC and dsPIC problems and difficulties that beginners in the world
microcontroller families [13] have been selected of microcontrollers are often faced with.
from a range of other microcontroller families from Consequently, the system designed in such way will
different manufacturers due to multiple reasons [1, not result in the most efficient variant, but will
14]. Firstly, these microcontrollers are widely

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


85
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

certainly enable someone to get familiar with the designed. These are connected to the Textool socket
entire design cycle. instead of a 40-pin microcontroller.
The main board includes a power supply with
3.2 Main board Greatz bridge whose intention is dual. The first is to
The main board comprising of a microcontroller be used as a classical full wave bridge, so that input
represents a central part of the development system, voltage can be either AC or DC. The second is to
to which all other system components (i.e. the protect the connected power supply in case the
power source, the programmer, and plug-in programmer has its own power supply connected.
modules) are connected as needed. Its electrical Plug-in modules and the programmer are connected
scheme is depicted in Fig. 2. to the main board through 10-pin IDC connectors.
The microcontroller is attached to the main board One microcontroller’s port with the supply voltage
through a standard 40-pin Textool socket. A is available on each of the IDC connectors for the
limitation to the microcontrollers with up to 40 pins connection of plug-in modules. On the IDC
was made due to the fact that a 40-pin package is connector of the PORTE additionally the
the largest PDIP package type in the case of PIC microcontroller’s pins for the connection of external
microcontrollers. Furthermore, a more frequent reset circuit, external oscillator and external AD
variant of pins arrangement was considered, while converter supply voltage can be accessed. Each
for microcontrollers with different arrangement or microcontroller port is connected to the resistor
lower number of pins, appropriate adapters were chain, which is used to perform either pull-up or

Fig. 2 Electrical scheme of the main board

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


86
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

pull-down function. The operation can be set using programming the PIC microcontrollers [18]. It uses
appropriate jumper connections. On the IDC five or six microcontroller pins for writing and
connector for the programmer attachment all pins reading the firmware. The sixth pin must be driven
that are necessary for the connection of ICSP only at microcontrollers which can also be
compatible programmers are available. programmed using a second type of programming
Additionally, on the remaining pins, the procedure, i.e. the Low-Voltage ICSP.
microcontroller’s USART module pins are Electrical scheme of the programmer is depicted
available, that can be used when downloading the in Fig. 3. The circuit consists only of standard
firmware using bootloaders. The programmer’s elements and can be connected to the main board
virtual connection-disconnection to the using IDC connector cable. Similarly to the main
microcontroller is driven manually, using a single board, the programmer has its own power supply for
switch. two additional reasons. The first is to protect the
Places for the RC and quartz crystal oscillator are microcontroller against damages during
also foreseen on the printed circuit board. A simple programming using a build in 100 mA current limit,
reset circuit with a key as an execution unit is also and the second is simply to enable its autonomous
designed so that it does not disturb the ICSP use, e.g. for programming the microcontroller
programmer activity. already attached to the end application. For such
cases a Microchip compliant FCC connector is
foreseen on the printed circuit board.
3.3 Programmer The main programmer’s element bridging the PC
Three particularly important design assumptions and microcontroller is the high-speed CMOS
were taken into account when designing a integrated circuit 74HCT367. It contains six three-
programmer’s hardware part. These are that the state non-inverting buffers, which are driven by two
microcontrollers must be programmable in the ICSP enable inputs. Using those, the firmware is
mode, that the firmware download can be performed transmitted from the PC to a microcontroller and
using serial or parallel PC port, and that the vice versa. The circuit additionally contains some
accompanying software programming tools are other elements from which the transistors and Zener
freely available on the Internet. Programmer is diodes should be exposed. The latter serve for the
therefore designed to be compatible with the JDM adaptation of the COM port voltage levels, which in
[16] and P16PRO [17] programmers, where the contrast to LPT port are not TTL compatible. The
download of the firmware is in the case of JDM transistors are used either to assure appropriate
programmer achieved using COM port, while the current loads or to convert the voltage levels, since
P16PRO uses LPT port. ICSP is a synchronous in the ICSP programming mode voltages higher
procedure specified by Microchip and used for than 5 V have to be generated.

Fig. 3 Electrical scheme of the programmer

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


87
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

3.4 Plug-in modules


For the purposes of testing and validating programs
written into microcontrollers a set of basic test
circuits has been designed. We refer to them as
plug-in modules as they are connected to the main
board for each application design. Some of those
are:
▪ PortKEY – a module to drive a state of a
particular microcontroller’s input using a key.
▪ PortLED – a module to represent a particular
microcontroller’s output by lighting a LED.
▪ LCDa16 – an LCD module with two 16
characters alphanumeric lines.
▪ DS1820 – a module with a Dallas DS1820
temperature sensor attached.
In order to offer maximum usage flexibility, the
Fig. 4 Photo of the fabricated MPICds
modules are designed so that that their final function
is adapted by setting jumpers or short-circuit Besides Microchip’s development tools we can
connections. also choose among development tools from other
An example of fabricated development system is manufacturers. These are typically compilers from
shown in Fig. 4. A more detailed description of each higher-level languages (e.g. C, Basic, Pascal), real-
system’s component can be found in [7] along with
time operating systems, and tools adapted for
the electrical scheme and a suggestion of a printed
operating systems other than Microsoft Windows
circuit board design.
(e.g. Linux). From a range of higher-level language
compilers a HI-TECH PICC [20], IAR Embedded
Workbench [21], CCS C [23], and mikroC [23] C
4 Software tools language compiler deserve to be exposed. Providing
During the microcontroller based application
an extensive set of common and microcontroller
development several different software tools are
specific libraries (e.g. preprocessor commands,
used. When working with the PIC microcontroller
family we can select among a wide range of quality peripheral drivers) they can be used either with their
software tools from different manufacturers, where own integrated development environments or
many of them (including some from Microchip) are integrated with Microchip’s MPLAB IDE. While
in its full functionality freely available on the the mikroC can only be used to develop code for 8-
Internet. We can coarsely divide them into the bit microcontrollers (PIC10, PIC12, PIC14, PIC16
development tools in which the source code is and PIC18 families), HI-TECH, IAR, and CCS C
processed, and the programming tools used to tools are also covering the 16-bit microcontrollers
transfer the compiled firmware from a PC to the (dsPIC and PIC24 families).
microcontroller. Traditional code development tools, such as
those mentioned above, take place late in the design
cycle, i.e. in the implementation and test stages (see
4.1 Development tools Fig. 1). Such design process is consequently more
Microchip offers a full range of development tools prone to errors, due to late integration of hardware
for its PIC microcontroller family. These include an and software [5]. Having available a real-time
integrated development environment (IDE) usually prototyping hardware, like MPICds in the case of
dubbed MPLAB [19], consisting of assembler, C PIC microcontrollers, implementation aspects can
compiler, simulator, product selector guide etc. be addressed earlier in the design cycle, thus
Integrated with these tools there are also supplementing traditional prototyping approaches
programming tools, which normally support only (e.g. off-line simulations) with real testing [4, 10].
the Microchip’s proprietary hardware. For that Software tools allowing developers to design
reason next subsection presents some alternative simulation models in early design stages and then
software tools meant for the use with our MPICds verifying them on a real hardware through the use of
programmer. automatic code generation have recently emerged as
a model-based design tools. They are not only used

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


88
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

in the prototyping stage, but also in the 4.2 Programming tools


implementation and testing stages, where extensive Hardware part of the MPIC development system can
code generation for different hardware be accompanied using one of the following freely
configurations is required [5, 8]. Some of the tools, available software programming tools:
more or less following the model-based design ▪ IC-Prog [29] – can be used for programming the
paradigm and suitable for the use with the PIC microcontroller through the PC’s COM port,
microcontrollers, are described in the following. when the programmer in JDM compatible mode.
One of the most commonly used model-based ▪ PICALL [17] – for programming using the PC’s
design tools is The MathWorks’ Simulink platform LPT port and the programmer in P16PRO
[24]. It provides an interactive graphical compatible mode.
environment in which the algorithms are developed ▪ WinPic [30] – fully customizable programmer
in the form of block diagrams. With the aid of Real- that can be used to program the microcontroller
Time Workshop Embedded Coder it can be used to either using serial or parallel port.
generate the target independent ANSI C code. Settings for the appropriate program operation
Microchip’s MPLAB IDE plug-in for MATLAB with the presented programmer hardware can be
and Simulink enables developers to include the found in [7].
Simulink model in the design of 16-bit
microcontroller applications, whose automatically
generated code can be included into MPLAB IDE 5 Framework as an educational tool
projects. Provided that during the framework design all the
A similar tool, extending the functionalities of predefined MPICds assumptions were fulfilled and
Simulink, is the Embedded Target for 16 bits PIC efficient supporting software tools have been
selected, the development system resulted in robust
[25]. It provides the blocks for microcontroller
equipment, which can be also used for educational
specific peripherals, such as ADC converters,
purposes in either secondary school or university
UART and SPI communication, PWM modulation,
courses. Moreover, it is not destined only to
etc. Models developed with this tool can be electrical engineering education, but can be quickly
compiled and build for 16-bit microcontrollers adapted to courses of other engineering branches
directly from the Simulink without requiring due its modular hardware and the software tools, not
MPLAB IDE. requiring extensive programming skills. Eventually,
In the area of open source tools Evidence’s the framework is also efficient enough to serve
Scilab/Scicos Code Generator for FLEX [26] has experts in designing their μC-based applications.
recently emerged as a model-based design platform. One of defining characteristics of engineering
Similarly to Octave, Scilab [27] is a MATLAB like education is the use of models for problem solving.
open source platform for numerical computation, A variety of graphical representations are thus used
while Scicos [28] is its block diagram modeler and to illustrate the behaviour of object of interest. In a
simulator, in which block diagrams are developed as sense of microcontroller application design, where
in Simulink. Using built-in code generator the mastering of digital circuit construction and
Scicos block diagrams can be exported to ERIKA programming skills at the same time is essential,
Enterprise [26] and run on the FLEX board for circuit schematics are used to represent the
dsPIC microcontrollers [26]. Although these open hardware, while different forms of block diagrams
source model-based design tools are still in the early are used to illustrate the software execution flow.
development stage, they deserve being mentioned, Comparing the product design cycle to the
educational process, where a specific topic should
since they are aiming to cover the entire design
be covered from its theoretical and practical point of
cycle.
view within a limited time frame, similar challenges
The last tool we present in the group model-
can be identified, and efficient development tools
based design tools is the Flowcode from Matrix are playing a crucial role in overcoming them [4].
Multimedia [11]. It supports simulation and transfer Our framework can aid the education process by
of the program code to a subset of 8-bit offering students to build their hardware models by
microcontrollers, with the code generated from the interconnecting the microcontroller with the
flowchart type block diagrams. MPICds plug-in modules, and enabling them to
easily converge from high-level models to efficient

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


89
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

product implementations using contemporary References:


software tools. [1] A. H. G. Al-Dhaher, Integrating hardware and
In case of using the framework in the secondary software for the development of micro-
school course it can serve as common supporting controller-based systems, Microprocessors and
educational equipment at multiple courses [31]. For Microsystems, vol. 25, iss. 7, October 2001, pp.
instance, the system can be used in courses dealing 317-328.
with basics of microprocessors and micro- [2] M. Predko, Programming and customizing
controllers, their programming (in assembler, PICmicro microcontrollers, McGraw-Hill,
higher-level language or through model whose code 2000.
is automatically generated), and further in courses [3] P. Caspi et al., Guidelines for a graduate
concerning the design of additional plug-in curriculum on embedded software and systems,
modules. The most motivated students can also ACM Transactions on Embedded Computing
fabricate the system (or its particular part) by Systems, vol. 4, iss. 3, August 2005, pp 587-
themselves. 611.
At the university level the framework can be [4] W. Wolf and J. Madsen, Embedded systems
used as educational equipment in courses dealing education for the future, Proceedings of the
with microprocessor, microcontrollers or embedded IEEE, vol. 88, iss. 1, January 2000, pp. 23-30.
systems, covering both the programming and the [5] P. J. Mosterman, Automatic Code Generation:
hardware peripheral design support [1]. Due to the Facilitating New Teaching Opportunities in
growing need of interdisciplinary education the Engineering Education, 36th ASEE/IEEE
system is also an attractive solution for students of Frontier in Education Conference, October
other engineering sciences, e.g. computer, 2006.
mechanical, chemical or industrial engineering [6] D. J. Jackson and P. Caspi, Embedded Systems
education. Some subjects that the system can aid Education: Future Directions, Initiatives, and
covering include computer architectures, digital Cooperation, SIGBED Review (Special Issue on
signal processing, mechatronics, automated the First Workshop on Embedded System
measuring, etc. Education), vol. 2, iss. 4, October 2005.
[7] M. Smolnikar, MPICds – MPIC development
system, http://MPICds.googlepages.com/,
6 Conclusion December 2007.
In this paper the framework consisting of MPIC [8] P. J. Mosterman, S. Prabhu and T. Erkkinen,
development system and the supporting software An Industrial Embedded Control System
tools were presented together with some proposals Design Process, The Inaugural CDEN Design
for its use in educational courses. Destined to Conference (CDEN'04), July 2004.
Microchip’s PIC microcontroller application design, [9] M. Rupp, A. Burg and E. Beck, Rapid
the MPICds is designed as open as possible, so that prototyping for wireless designs: the five-ones
anyone can fabricate it on his/her own and use it approach, Signal Processing, vol.83, iss. 7, July
with freely available basic accompanying software. 2003.
Its design is sufficiently general to be used as a [10] –, Shortening the Embedded Design Cycle with
whole or as a component in another system. It is not Model-Based Design, National Instruments
focused on a particular microcontroller device, but it Corporation, http://zone.ni.com/devzone/cda/
enables to select the most appropriate device for tut/p/id/4074, December 2007.
each application design. When using as a whole, the [11] –, Flowcode and E-blocks, Matrix Multimedia
MPICds represents a very robust system, where Limited, http://www.matrixmultimedia.com/,
even an incorrect use does not harm any of the December 2007.
system’s components. The development and [12] L. F. Ferreira et al., MILES: A Microcontroller
improvement of the system is still in progress and Learning System combining Hardware and
additional plug-in modules (e.g. matrix keyboard, 7- Software tools, 35th ASEE/IEEE Frontiers in
segment LED display, stepper motor module, IR Education, October 2005.
communication module, etc.) are being designed. As [13] –, Technical Library CD-ROM 2004/2005
such the system is particularly appropriate for (DS00161Q), Microchip Technology Inc.,
educational purposes, trying to support those 2004.
entering to the world of microcontrollers. [14] A. Clements, Selecting a processor for teaching
computer architecture, Microprocessors and

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


90
WSEAS TRANSACTIONS on Miha Smolnikar, Mihael Mohorcic, Jozef Stefan Institute
ADVANCES in ENGINEERING EDUCATION

Microsystems, vol. 23, iss. 5, October 1999, pp. [24] –, Simulink, The MathWorks Inc., http://www.
281-290. mathworks.com/products/simulink/, December
[15] –, Product Selector Guide 2005 (DS00148K2), 2007.
Microchip Technology Inc., 2005. [25] –, Embedded Target for 16 bits PIC,
[16] –, PIC-Programmer, http://www.jdm.homepage http://www.kerhuel.eu/RTWdsPIC/, December
.dk/newpic.htm, December 2007. 2007.
[17] –, P16PRO and PICALL, http://picallw.feniks- [26] –, FLEX: Microchip dsPIC evaluation board,
pro.com/, December 2007. Evidence, http://www.evidence.eu.com/content/
[18] –, PICmicro 18C Family Reference Manual – view/114/204/, December 2007.
In-Circuit Serial Programming (DS39531A), [27] –, Scilab: The open source platform for
Microchip Technology Inc., 2004. numerical computation, INRIA, http://www.
[19] –, MPLAB IDE User's Guide (DS51519B), scilab.org/, December 2007.
Microchip Technology Inc., 2006. [28] –, Scicos: Scilab's block diagram
[20] –, PICC compiler, HI-TECH Software, modeler/simulator, INRIA, http://www.scicos.
http://www.htsoft.com/products/compilers/picc org/, December 2007.
compiler.php, December 2007. [29] –, IC-Prog Prototype Programmer,
[21] –, IAR Embedded Workbench, IAR Systems, http://www.ic-prog.com/, December 2007.
http://www.iar.com/, December 2007. [30] –, WinPic - A PIC Programmer for Windows,
[22] –, CCS C Compiler, CCS Inc., http://www. http://freene-thomepage.de/dl4yhf/winpicpr.html,
ccsinfo.com/, December 2007. December 2007.
[23] –, mikroC compiler, mikroElektronika, [31] W.A. Stapleton, Microcomputer Fundamentals
http://www.mikroe.com/en/compilers/mikroc/ for Embedded Systems Education, 36th
pic/, December 2007. ASEE/IEEE Frontiers in Education
Conference, October 2006.

ISSN: 1790-1979 Issue 2, Volume 5, February 2008


91

You might also like