Applied PC Interfacing, Communications
The number of devices which connect to PCs seems to increase by
the year. This is mainly due to the increasing processing power of
PCs and also the availability of large amounts of electronic memory.
A typical modern PC now contains devices such as a hi-resolution graphics
display, a hard-disk, a floppy-disk, a sound card, a modem, a CD-ROM
drive, serial and parallel ports, and so on.
The objective of this text is to provide an understanding of
how devices are programmed using software and also how they
integrate to create a system. This should help in the writing
of interface software and should also provide an understanding
of system specifications.
Tutorial and project work relates to practical programming
examples. Projects include the development of a traffic light
controller, a real-time serial communications system, an air-conditioning
system, a mouse-driven menu system and a graphics package for
displaying electronic circuits.
The book is primarily aimed at Engineering and Computer Science
students. It can also be used by professionals in industry as
it discusses key interfacing areas, especially related to interrupts,
graphics and serial communications. Discussion of the electrical
aspects of the interface devices, such as voltages and currents
has been kept to a minimum as this would spoil the flow of the
The main areas covered are digital interfacing, counter/timer interfacing,
analogue interfacing, serial communications, direct memory addressing,
direct video text interfacing, graphics, mouse interfacing, keyboard
interfacing, disk interfacing, interrupts and file access. Chapters
on digital input/output, counter/timing and analogue interfacing require
extra hardware to connect to the PC, but most other chapters use standard
PC hardware, such as serial communication, mouse interfacing, keyboard
interfacing, graphics, and so on. To reduce the need for external
hardware a software emulator is included to emulate calls to digital
I have read your book, "Applied PC Interfacing, ...," and found it exceptionally useful. I design and test space satellite and sounding rocket experiments for the US Air Force and my background includes substantial experience in circuit design, embedded micro-processors, and FORTRAN. However, I had scant knowledge about PC's. The level, approach, and content of your book was perfectly suited to my background and needs. I cannot thank you adequately!
I am designing a PC-based, data acquisition system and your book
is a godsend.
Comment on this book from Wed 26/03/1997 10:23 PM
The text uses C as the main software language as it allows low-level,
direct access to the hardware. In earlier chapters Turbo Pascal and
Assembly Language are used to show how different software languages
can be used to implement equivalent C programs.
Many books currently on the market only discuss how PC hardware interconnects
and how Assembly Language communicates with them. This can be confusing,
or even off-putting, as most industry programs are written using high-level
languages. Assembly Language is normally only used when high-speed
operations are required, it also gives little scope for keyboard input
and output, disk operations and also for graphics.
Over the years I have been involved in consultancy work with several
companies. Much of this work has involved interfacing PCs to remote
instrumentation. Typically these instruments process their data and
transmitted it in a digital form using RS-232 communications. This
interface an cause many problems, including the use of different
connectors, different frame formats, different connections, differing
handshaking, and so on. It is for this reason I have included a whole
chapter on the theory of serial communications and how software can
be written to control it. The usage of serial communications will
increase as many electronic systems now have an RS-232 connector fitted
as standard. It provides an excellent method to send and receive data
from remote systems. I have met many people who use RS-232, and have
even written programs which use it, but they have little understand
about its operation. It provides one of the best interfacing examples
as it is available on all PCs and requires only two PCs and an interconnecting
Another area which I feel is lacking in many books is the coverage
of hardware and software interrupts. This book discusses these and
shows how a practical system uses then to connect external hardware.
It also shows how a program accesses functions to communicate with
standard devices, such as reading from the keyboard or outputting
text to the screen. Accessing memory directly is also discussed and
the text shows how to access up to 1 MB of physical memory using a
C program. Background theory on video displays and memory is provided
in the appendices as well as an introduction to C.