June
1998, Issue 95
Gotchya!
Alarming
the Alarm System
by
Steve Ciarcia & Jeff Bachiochi
Packaged
Solution
Jeff
and I now knew there were some logical signals we could
monitor. The next task was to decide what kind of data-acquisition
system we had to configure. But unlike our lightning
device ("Ground Zero," INK 90), this
wasn’t just an illustrative magazine project. I wanted
to use this thing.
We
could have used anything from a PIC to a full-blown
PC as the hardware. Our logging system needed a processor
board to acquire and analyze the data, a real-time clock/calendar
to time stamp the entries, an LCD to view records, a
keypad to direct the logger’s activity, and a printer
interface for making hardcopies on command.
Beyond
the strict hardware necessity, system selection is always
a tradeoff of competing ideals:
-
time (getting this much software done quickly enough
to meet a magazine deadline typically rules out assembly
language)
-
I/O capability (obviously, we needed a serial port
and a lot of parallel I/O)
-
speed (just how fast does this thing need to be anyway?)
-
cost (are we making a few or is it a volume-production
device?)
-
political bias (some designers will jam in a PC even
if it can be done on a PIC)
This
analysis pretty much fits half the board ads in INK.
Fortunately, I get to apply a little political bias of
my own.
While
there’s a little fancy footwork in the interrupt routines,
most of the software is a lot of text shuffling among
the peripherals (it’s easy for the guy who doesn’t write
the software to say stuff like this). When we looked at
the requirements, it seemed like a perfect application
for a Domino—or more precisely, a Domino2.
As
Figure 1 shows, Domino2 is a small encapsulated controller
with a built-in floating-point BASIC interpreter and 32
KB each of EEPROM and SRAM. Best of all, it contains a
serial port, lots of parallel I/O, and a real-time clock.
|

(Click
here to enlarge)
|
Figure
1 Domino2 is a small encapsulated controller
with a built-in floating-point BASIC interpreter
and 32 KB each of EEPROM and SRAM. |
Even
if you don’t have a ten-year-old alarm, I’m sure you’ll
find that our method of solving the problem provides some
interesting examples of using BASIC-52 in control applications.
|