What's a Microcontroller?
If you already know, skip ahead to the next section. If not, read on. A
microcontroller is a programmable device that can read inputs from
external devices, analyze the input, and then output control signals to
external devices. What kinds of devices? There is a whole range of both
analog and digital devices that serve a wide variety of purposes.
Simple devices like pushbuttons, switches, keypads, temperature and
humidity sensors, lights, buzzers, speakers, LCD displays, servo motors
and stepper motors. More complex devices include motion sensors,
accelerometers, infrared and sonar rangefinders, electronic compasses,
and GPS units. Microcontrollers can even send data to and receive data
from other systems like your personal computer, home automation
systems, lighting and environment controllers, industrial control
systems, laboratory control systems, etc.
A microcontroller can communicate with other devices and
systems (including other microcontrollers) using a wide variety of
interfaces: standard serial line, wireless (infrared, radio, satellite,
etc.), even the Internet.
So what can you do with a microcontroller? The possibilities
are limited only by your imagination. Microcontrollers are used by
scientists, engineers, experimenters and hobbyists alike to build
things for work and play. More and more, everyday items all around us
have microcontrollers inside them - from your coffee pot and microwave
oven to your TV, DVD/VCR, stereo, cell phone and other wireless
devices. Even your car has microcontrollers in it if it is relatively
new. The newest passenger jets have literally hundreds of
microcontrollers in them. These are all examples of microcontrollers
employed in embedded systems. For more in-depth discussion, see the
Wikipedia articles on microcontrollers
and embedded
systems.
ZX Microcontrollers for Your Embedded Application
The ZX microcontroller family provides a good mix of features and
performance all at a favorable price. The ZX-24 is a 24-pin module that
is pin-compatible with the venerable BASIC Stamp microcontroller from
Parallax, Inc. However, it far exceeds the Stamp's program and data
capacity and it is much faster to boot. On top of that, the ZX-24
offers advanced features not available on the Stamp like multi-tasking,
multiple simultaneous full duplex buffered serial channels, built-in
floating point math, and more. If you got started in microcontrollers
using the Basic Stamp it's likely that you're well aware of its
limitations and are ready to move up to a more capable platform for
your next project.
The ZX-24 is also pin-compatible with the BX-24
microcontroller from NetMedia, Inc. However, the ZX-24 microcontroller
is more than twice as fast and has over four times the user RAM space
as the BX-24. This impressive increase in capacity and performance is
attained while achieving a very high level of software compatibility
with the BX-24 (at the source code level). Although the ZX-24 has the
same amount of space for user programs as the BX-24, it uses the space
much more efficiently allowing you to write more complex programs. It's
not unusual to see a program compiled for the ZX-24 be 60% to 75% the
size as when compiled for the BX-24.
For applications where you need more I/O lines, more program
space, more design flexibility or lower cost, we offer the ZX-40 and
ZX-44. The ZX-40 is a 40-pin DIP package that is compatible with most
prototyping boards while the ZX-44 is a space-saving 44-pin TQFP
(surface mount) package. For both of these devices, you need to add a
few external components (e.g. crystal, memory, and serial interface
circuitry)for which we provide suggested circuits. The ZX-40 and ZX-44
are software compatible with the ZX-24 (excepting differing pin
assignments) providing a convenient upgrade path.
The next group of members of the ZX family are the ZX-24a,
the ZX-40a and the ZX-44a. These microcontrollers are based on Atmel's
advanced ATmega644 chip that has twice as much RAM as the ATmega32 (on
which the earlier ZX devices were based) along with other advanced
features. The new ZX family members are pin compatible with their non-a
counterparts and are also source-code compatible (with the minor
exeception of some differences in internal register names) with the
earlier devices.
For more demanding applications, we offer the ZX-1280 and the
ZX-1281. Based on Atmel's advanced ATmega1280 and ATmega1281 chips,
respectively, these powerful microcontrollers are suited for
applications that require more resources such as additional RAM, more
I/O lines, more PWM channels and more hardware serial channels. These
ZX family members are source-code compatible (with the minor exeception
of some differences in internal register names) with the other ZX
family members thus providing an easy upgrade path as your application
grows.
All members of the ZX family described so far are field
upgradable. This means that when a new version of the system code
becomes available you can upgrade your ZX microcontroller in a matter
of minutes and begin using the new features.
The newest members of the ZX family are the "native mode"
devices. In
contrast to the previously described models that use the "virtual
machine" (or VM) model, the ZBasic compiler produces native object code
for the native mode ZX devices. In addition to executing your
application significantly faster, the native mode devices offer more
flexibility for advanced users, for example, to create interrupt
handler routines, to use inline C or assembly code, or to link with
externally generated object modules or object libraries. Due to the
high degree of source code compatibility between the VM models and the
native mode models, the ZX-24n, ZX-40n and ZX-44n provide an excellent
upgrade path as your application and programming skills become more
sophisticated.
ZBasic - A Powerful Language for Microcontroller Programming
The ZX microcontrollers are programmed using ZBasic. This language is
an easy-to-learn, yet powerful, variant of the popular Basic language.
Perhaps more importantly, ZBasic is a subset of Microsoft's widely used
Visual Basic 6 but it has powerful extensions appropriate to
microcontroller programming. ZBasic is similar to NetMedia's BasicX
language offering modern control structures and parameterized
subroutines/functions but ZBasic has many advanced features that make
it easier and faster to create your programs. This is in stark contrast
to PBasic, the language used to program the Basic Stamp, which is an
archaic form of Basic (circa 1970) that lacks the modern concepts of
parameterized calls and local variables that help you write correct
code more quickly and make it easier to modify and maintain your
programs. If you already know PBasic or have an application written in
PBasic that you would like to convert to ZBasic, the PBasic
Conversion Guide may be useful.
ZBasic Integrated Development Environment (IDE)
You can write your ZBasic code using any editor that is capable of
manipulating plain-text files. However, the ZBasic IDE offers many
advanced code editing features that simplify and expedite your
programming. It also offers special project-oriented capabilities that
facilitate working with your ZBasic projects - you can edit, compile,
download and debug all from one convenient application.
Want More Details?
Use these links to learn more about the ZBasic
language and the ZBasic
IDE. For more information on the individual ZX devices, use the
links in the table below. The ZX devices shown in red type are
discontinued but are still supported. The ZX devices shown with light
blue background are produced by Oak
Micros under a license from Elba Corp. More information about
those devices is available at the Oak Micros website.
ZX Family Diagram
ZX Device Parameters: web page
Excel
Spreadsheet
|