Professional Documents
Culture Documents
1/175
Worldwide Microcontroller shipments
- in millions of dollars -
2/175
Worldwide Microcontroller shipments
- in millions -
3/175
Applications
Appliances
(microwave oven, refrigerators, television and VCRs, stereos)
Computers and computer equipment
(laser printers, modems, disk drives)
Automobiles
(engine control, diagnostics, climate control),
Environmental control
(greenhouse, factory, home)
Instrumentation
Aerospace
Robotics, etc...
4/175
Flavors
4, 8, 16, or 32 bit microcontrollers
specialized processors include features specific for
– communications,
– keyboard handling,
– signal processing,
– video processing, and other tasks.
5/175
Part 1
Popular Microcontrollers
8048 (Intel)
8051 (Intel and others)
80c196 (MCS-96)
80186,80188 (Intel)
80386 EX (Intel)
65C02/W65C816S/W65C134S (Western Design Center)
MC14500 (Motorola)
6/175
Part 2
Popular Microcontrollers
68HC05 (Motorola)
68HC11 (Motorola and Toshiba)
683xx (Motorola)
PIC (MicroChip)
COP400 Family (National Semiconductor)
COP800 Family (National Semiconductor)
HPC Family (National Semiconductor)
Project Piranha (National Semiconductor)
7/175
Part 3
Popular Microcontrollers
Z8 (Zilog)
HD64180 (Hitachi)
TMS370 (Texas Instruments)
1802 (RCA)
MuP21 (Forth chip)
F21 (Next generation Forth chip)
8/175
Part 1
Programming Languages
Machine/Assembly language
Interpreters
Compilers
Fuzzy Logic and Neural Networks
9/175
Part 1
Development Tools
Simulators
Resident Debuggers
Emulators
Java on Embedded Systems
10/175
Choosing microcontoller
Technical support
Development tools
Documentation
Purchasing more devices at one manufacturer
(A/D, memory, etc.)
Additional features
(EEPROM, FLASH, LCD driver, etc.)
11/175
Microcontrollers
Basic parts are: e x te rn a l
in e r r u p ts
– Central Processing Unit
– RAM
in te r r u p t ROM tim e r 1 c o u n te r
– EPROM/PROM/ROM or c o n tro l
RAM
tim e r 0 in p u ts
FLASH Memory
– I/O serial or/and parallel
– timers CPU
– interrupt controller
Optional parts are: O SC
bus 4 I/O s e ria l
c o n tro l p o rts p o rt
– Watch Dog Timer
– AD Converter
TxD RxD
– LCD driver P0 P2 P1 P3
a d d re s s /
– etc. d a ta
12/175
Intel 8051
A typical 8051 contains: RAR
128x8
RAM
4K x8
ROM
PCH
PCL
DPH
DPL
P2 LATCH
PORT2
BUFFER AM PS
– 5 or 6 interrupts:
INTERNAL BUS
P2 LATCH
– 2 or 3 16-bit timer/counters TM P2 TM P1 B
PLA
– RAM
PORT0 S B U F (R E C ) TM OD IP PORT3
S B U F (X M IT ) TL0 IN T E R R U P T
CONTROL
S E R IA L TH0
TH1
T IM E R
CONTROL
13/175
Part 1
PORT 0
ADDRESS AND
P0.0-P0.7 - Port 0 DATA BUS
XTAL2
– Open drain,
RST
bi-directional I/O port
PORT 1
E A /V p p
– Pins that have 1s written to PSEN
A L E /P R O G
them float and can be used
SECONDARY FUNCTIONS
RxD
as high-impedance inputs TxD
PORT 2
PORT 3
– Multiplexed low-order IN T 0
ADDRESS BUS
IN T 1
address and data bus during T0
accesses to external program T1
W R
and data memory
RD
14/175
Part 2
15/175
Part 3
16/175
Part 1
–7 –39 1 33
PQFP PLCC
11 23
–17 –29
–18 –28
12 22
–1 NIC –16 P3.4/T0 –31 P2.7/A15
1 P1.5 16 VSS 31 P0.6/AD6
–2 P1.0 –17 P3.5/T1 –32 PSEN
2 P1.6 17 NIC 32 P0.5/AD5
–3 P1.1 –18 P3.6/WR –33 ALE
3 P1.7 18 P2.0/A8 33 P0.4/AD4
–4 P1.2 –19 P3.4/RD –34 NIC
4 RST 19 P2.1/A9 34 P0.3/AD3
–5 P1.3 –20 XTAL2 –35 EA
5 P3.0/RxD 20 P2.2/A10 35 P0.2/AD2
–6 P1.4 –21 XTAL1 –36 P0.7/AD7
6 NIC 21 P2.3/A11 36 P0.1/AD1
–7 P1.5 –22 VSS –37 P0.6/AD6
7 P3.1/TxD 22 P2.4/A12 37 P0.0/AD0
–8 P1.6 –23 NIC –38 P0.5/AD5
8 P3.2/INT0 23 P2.5/A13 38 VCC
–9 P1.7 –24 P2.0/A8 –39 P0.4/AD4
9 P3.3/INT1 24 P2.6/A14 39 NIC
–10 RST –25 P2.1/A9 –40 P0.3/AD3
10 P3.4/T0 25 P2.7/A15 40 P1.0
–11 P3.0/RxD –26 P2.2/A10 –41 P0.2/AD2
11 P3.5/T1 26 PSEN 41 P1.1
–12 NIC –27 P2.3/A11 –42 P0.1/AD1
12 P3.6/WR 27 ALE 42 P1.2
–13 P3.1/TxD –28 P2.4/A12 –43 P0.0/AD0
13 P3.4/RD 28 NIC 43 P1.3
–14 P3.2/INT0 –29 P2.5/A13 –44 VCC
14 XTAL2 29 EA 44 P1.4
–15 P3.3/INT1 –30 P2.6/A14
15 XTAL1 30 P0.7/AD7 18/175
Part 1
PCL
DPH
DPL
P2 LATCH
PORT2
A, B, PSW and SP
INTERNAL BUS
P2 LATCH
– sixteen-bit PORT2
ALU
Program Counter (PC) A
ROM
IR
PLA
CONTROL
PSW SP
ALU
PORT0 S B U F (R E C ) TM OD IP PORT3
S B U F (X M IT ) TL0 IN T E R R U P T
CONTROL
S E R IA L TH0
PORT
TL1
TH1
T IM E R
CONTROL
19/175
Part 2
20/175
Part 3
21/175
Part 4
22/175
Part 1
23/175
Part 2
– Limited to 64K
– may be found on-chip as ROM or EPROM
– may be stored completely off-chip in
an external ROM or an external EPROM
– Flash RAM is also another popular method of storing a program
– Various combinations of these memory types may be used
(e.g. 4 K on-chip and 64 KB off-chip)
24/175
Part 3
25/175
Part 4
26/175
Part 1
Static RAM
ROM
LATCH
CS
PORT 0 : time multiplexed "0"
RD "0" CS
ALE LE W R OE
6 4 K b y te s - P r o g r a m m e m o r y (e x te r n a l)
6 4 K b y te s - D a ta M e m o ry
27/175
Part 2
STAG E 1 STAGE 2 STAGE 3 STAG E 4 STAG E 5 STAG E 6 STAG E 4 STAGE 5 STAGE 6 STAG E 1 STAG E 2 STAG E 3
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
XTAL1 XTAL1
ALE ALE
PSEN RD
IN S . IN S . IN S . FLOAT d a ta FLOAT
A 0 -A 7 A 0 -A 7 A 0 -A 7
P0 IN IN IN P 0 in
A 8 -A 1 5 A 8 -A 1 5 A 8 -A 1 5 A 8 -A 1 5
P2 P2
28/175
Part 1
EXTERNAL
PSEN: not activated for
internal program fetches
Depending on EA pin
lowest bytes can be either
in the on-chip ROM or in an external ROM
EA = 0 EA = 1
0x0000
PSEN
29/175
Part 2
0x0018
IN T E R R P U T
L O C A T IO N S
0x0013
8 BYTES
0x0008
0x0003
RESET 0x0000
30/175
Part 3
LATCH
ADDR
ALE LE
PORT2 A 8 -A 1 5
PSEN OE
8051 EROM
31/175
Part 1
EXTERNAL
IN T E R N A L
0xFF
0x00 0x0000
RD W R
32/175
Part 2
0x00
33/175
Part 3
34/175
Part 1
35/175
Part 2
36/175
Part 3
37/175
Part 4
38/175
Intel 8051: PSW
7 6 5 4 3 2 1 0
PSW CY AC F0 RS1 RS0 OV - P
39/175
Intel 8051: CPU Timing
S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5
P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2
ALE
40/175
Part 1
READ
41/175
Intel 8051: Port Interfacing
The output buffers of Ports 0, 1, 2 and 3
can each drive 4 LS TTL inputs
Can be driven by open-collector and open-drain outputs
– 0-to-1 transitions will not be fast since
there is little current pulling the pin up
Port 0 output buffers can each drive 8 LS TTL inputs
(external bus mode)
As port pins PORT 0 requires external pull-ups
to be able to drive any inputs bit
42/175
Intel 8051: Special Peripheral Functions
There are few special needs
common among control-oriented computer systems:
– keeping tracks of elapsed time
– maintaining a count of signal transitions
– measuring the precise width of input pulses
– communicating with other systems
– closely monitoring asynchronous external events
43/175
Part 1
44/175
Part 2
45/175
Part 3
O SC 1 /1 2
TL1 TH1
TF1 IN T E R R U P T
(5 b its ) (8 b its )
T 1 P IN
TR1
G ATE M O DE 0
IN T 1 P IN
47/175
Part 5
O SC 1 /1 2
C /T = 0
TL1 TH1
TF1 IN T E R R U P T
(8 b its ) (8 b its )
C /T = 1
T 1 P IN
TR1
G ATE M O DE 1
IN T 1 P IN
48/175
Part 6
O SC 1 /1 2
TL1
TF1 IN T E R R U P T
(8 b its )
T 1 P IN
RELO AD
TR1
G ATE TH1
(8 b its )
M O DE 2
IN T 1 P IN
49/175
Part 7
O SC 1 /1 2
C /T = 0
TL0
TF0 IN T E R R U P T
(8 b its )
C /T = 1
T 0 P IN
TR0
G ATE M O DE 3
IN T 0 P IN
TH0
1 /1 2 fo sc TF1 IN T E R R U P T
(8 b its )
TR1
50/175
Part 1
51/175
Part 2
SM0 SM1:
– 00: Mode 0, Shift register, fosc//12
– 01: Mode 1, 8-bit UART, variable
– 10: Mode 2, 9-bit UART, fosc//32 or fosc//64
– 11: Mode 3, 9-bit UART, variable
SM2: Enables multiprocessor features in Mode 2 and Mode 3
– When the stop bit is received,
the interrupt will be activated only if RB8=1 (9th bit =1)
REN: Enables serial reception
– Set/Clear by software
52/175
Part 3
TB8: 9th data bit that will be transmitted in Mode2 and Mode3
– Set/Clear by software
RB8: 9th data bit that was received in Mode2 and Mode3
In Mode 1, if SM2=0, is the stop bit that was received
TI: Transmit interrupt flag
– Set by hardware. Must be cleared by software
RI: Receive interrupt flag
– Set by hardware. Must be cleared by software
53/175
Part 4
54/175
Part 5
55/175
Part 6
56/175
Part 7
57/175
Part 1
58/175
Part 2
• Serial Port
(RI or TI) IT 1 = 0
IN T E R R U P T
IN T 1 IE 1 SO URCE
IT 1 = 1
TF1
RI
TI
59/175
Part 3
INT0 IE0
– Level-activated or transition-activated
IT0=1
depending on bits IT0, IT1 in register TCON
– The flags that generate these interrupts are
IE0, IE1 in TCON
• Cleared by hardware if the interrupt was transition-activated
• if the interrupt was level-activated,
external source controls request bits
– If external interrupt is level-activated,
the external source has to hold request active,
until the requested interrupt is actually generated.
– External source has to deactivate the request
before interrupt service is completed,
or else another interrupt will be generated
60/175
Part 4
TI
RI
61/175
Part 5
62/175
Part 6
63/175
Part 7
64/175
Part 8
65/175
Part 1
66/175
Part 2
RST
IN T E R N A L R E S E T S IG N A L
SAM PLE SAM PLE
RST RST
ALE
PSEN
P0 IN IN IN IN IN IN
S. A 0 -A 7 S. A 0 -A 7 S. A 0 -A 7 S. A 0 -A 7 S. A 0 -A 7 S.
IN IN IN IN IN IN
1 1 O S C . P E R IO D S 1 9 O S C . P E R IO D S
67/175
Intel 8051: Power On Reset
RST pin must be held high long enough to allow the oscillator to
start up plus two machine cycles
The oscillator start-up time depend on the oscillator frequency
Port pins will be in a random state until the oscillator has started
and the internal reset algorithm has written 1s to them
Powering up the device without a valid reset could cause the CPU
to start executing instructions from an indeterminate location
68/175
Intel 8051: EPROM Versions
Electrically programmable by user
Relative slow
Limited number of erase/write cycles
69/175
Intel 8051: OTP Versions
One Time Programmable
It is standard EPROM without erasing window
It is used for limited production
70/175
Intel 8051: FLASH Versions
Supports in-system and in-board code changes
Electrically erasable
Reduces code inventory and scrap
Simplifies the task of upgrading code and
reduces upgrade cycle time
Provides just-in-time system software downloads
Truly non-volatile
71/175
Intel 8051: The On-Chip Oscillator
Intel 8051 microcontrollers
have an on-chip oscillator Q UARTZ CRYSTAL O R 8051
resonators are connected C E R A M IC R E S O N A T O R
between XTAL1 and XTAL2
pins
external oscillators (HMOS C1
XTAL2
or CMOS)
C2
XTAL1
VSS
72/175
Intel 8051: Power Management
Low power devices
Power saving
Voltage monitoring
73/175
Intel 8051: Power Reduction Modes
CHMOS versions provides power reduced modes of operations
There are two power reducing modes Idle and Power Down
In the Idle mode oscillator continues to ran
Interrupt, Timer and Serial Port blocks continue to be clocked
clock signal is gated off to the CPU
In the Power Down mode the oscillator is frozen
74/175
Part 1
75/175
Part 2
77/175
Part 4
78/175
Part 5
79/175
Part 6
81/175
Part 8
82/175
Intel 8051: Addressing Modes
Immediate Addressing MOV A,#20h
Direct Addressing MOV A,30h
Indirect Addressing MOV A,@R0
– refers to Internal RAM, never to an SFR
External Direct MOVX A,@DPTR
– only two commands that use External Direct MOVX @DPTR,A
– DPTR holds the correct
external memory address
External Indirect MOVX @R0,A
Code Indirect MOVC A,@A+DPTR
83/175
Part 1
84/175
Part 2
85/175
Part 3
86/175
Part 4
87/175
Part 5
88/175
Part 6
89/175
Part 7
90/175
Part 8
91/175
Part 9
92/175
Part 10
93/175
Part 11
3 R3 R2&R3
94/175
Part 12
95/175
Part 13
96/175
Part 14
97/175
Part 15
98/175
Part 16
99/175
Part 17
100/175
Part 18
101/175
Part 19
Directive categories:
– source controls define macros on the command line and determine the name
of the file to be compiled)
– object controls affect the form and content of the generated object module;
allow you to specify the optimizing level or include debugging information in
the object file
– listing controls govern various aspects of the listing file (format and specific
content)
102/175
Part 20
103/175
Part 21
104/175
Part 22
105/175
Part 23
106/175
Part 24
Function parameters
By default C functions pass up to three parameters in registers.
The remaining parameters are passed in fixed memory locations.
Functions that pass parameters in registers are prefixed with the
underscore character (_functionName)
107/175
Part 25
108/175
Part 26
109/175
Part 27
#pragma SRC
#pragma SMALL
unsigned int asmfunc1(unsigned int arg) { return (1+arg); }
NAME ASM1
?PR?_asmfunc1?ASM1 SEGMENT CODE
PUBLIC _asmfunc1
RSEG ?PR?_asmfunc1?ASM1 USING 0
_asmfunc1: mov A,R7
add A,#10h
MOV R7,A
CLR A
ADDC A,R6
MOV R6,A
?C0001: RET END
110/175
Intel 8051: Manufacturers
AMD OKI
ARM Microcontrollers Philips
Matra
Microchip
111/175
Intel 8051: Additional Features
Watch Dog Timers
Clock Monitor
Resident Program Loader
Software protection
P Supervisory Circuit
112/175
Watch Dog Timers
Provides a means of graceful recovery from a system problem
If the program fails to reset the watchdog at some predetermined
interval, a hardware reset will be initiated
Especially useful for unattended systems
113/175
Clock Monitor
If the input clock is too slow, a clock monitor can shut the
microcontroller down
Usually software controlled status (on/off)
114/175
Resident Program Loader
Loads a program by initializing program/data memory from either a
serial or parallel port
Eliminates the erase/burn/program cycle (typical with EPROM’s)
Allows system updating from an offsite location
115/175
Software protection
Protect unauthorized snooping (reverse engineering,
modifications, piracy, etc.
Only OTPs and Windowed devices option
116/175
Part 1
P Supervisory Circuit
Functions:
P reset (active low or high) PF1 1 16 O UT
– Manual reset input PF0 2 15 B A TT O K
– Two stage power fall warning Vcc 3 14 B A TT
– Backup-battery switchover W DI 4 M A X IM 13 B A TT O N
– Write protection of RAM G ND 5 M AX807 12 C E IN
– 2.275 threshold detector M R 6 11 C E O UT
L O W L IN E 7 10 W DO
– Battery OK flag indicator
RESET 8 9 RESET
– Watch Dog timer
117/175
Part 2
P Supervisory Circuit
PIN NAME FUNCTION
118/175
Part 3
P Supervisory Circuit
PIN NAME FUNCTION
119/175
Part 4
P Supervisory Circuit
+5V
0 .1 u F 0 .1 u F
REAL
CM OS
T IM E
RAM
CLOCK
CE OUT
OT HER M R
SY STEM
RE SET
ADDRESS
SO URCES C E IN
DECODE
PUSH M A X IM
BUTTON M A X807 ADDRESS
S W IT C H W DI I/O
L O W L IN E N M I( IN T )
RESET
+12V
RESET RESET
BATT OK IN T
uP
PFI
PFO + 1 2 V F A IL U R E
W DO W A T C H D O G F A IL U R E
G ND
120/175
Comparative Characteristics
Clock V ROM RAM Timers/ communi- Additional
Manufacturer I/O
[MHz] [V] [KB] [bytes] Counters cation Features
2.7 to 128 to full duplex
Atmel 24
6
2 to 8
256
32 Up to 3
serial port
watchdog,
256-byte
two serial power monitor,
Dallas 25 to 33 0 to 16 to 1.2 3
USARTs address and
kbyte
data encryption
4 to 8 channel 8-
0.5 to 2.7 to 128 to 24 to bit ADC,
Intel 24 6
0 to 32
256 56
2 to 3 serial port
watchdog,
PWM
ROM
2.7 to 128 to serial port, protection and
Matra 42
6
4 to 32
256
32 2 to 3
I2C secret tag,
watchdog
2.7 to 128 to
Oki 24
5.5
0 to 16
256
32 2 to 3 serial port
256-byte two watchdog
two serial
Siemens 18 to 40 8 to 32 to 2.2- 56 3 to 4
ports
timers, 16-bit
kbyte MPY/DIV unit
121/175
Intel 8051-Design Example
The complete design project using the 8051 microcontroller will be
presented here. All design phases mentioned earlier will be shown:
– specification
– circuit diagram
– pcb layout
122/175
Specification
The idea is to design a small, simple PCB for test purposes. The
device will have:
– a speaker output
– 3 extra inputs
124/175
Circuit Description
The battery power supply is connected on terminals T1 &T2. While the circuit diagram specifies 3v/4.5v battery, the part ULN2803 needs 4.5v-5v battery
Switch SW2 allows the PCB to be turned on and off.
Capacitor C1 provides a reset signal to the microprocessor.
XTAL1 provides the oscillator timing component for the microprocessor. It is important to use a crystal for XTAL1, not a ceramic resonator - prototype
testing shows that a ceramic resonator gives problems unless capacitors to ground are placed on X1 & X2.
Diode D1 provides some protection for the microprocessor in case of transients or misconnection of the battery
Optodarlington TR1 is the light sensor
Pot VR1, as labelled, adjusts the sensitivity of the light sensor
Resistor R9 provides current limiting when full illumination is on TR1 at max sensitivity
The symbol PCB LAM#1 is a record of the PCB laminate ID number, and ensures the PCB laminate appears in the parts list
The symbol SKT1 is a record of the need for a socket for IC1, and ensures that the socket appears in the parts list
125/175
Circuit Description
TR2 is a switch used to sense illumination (On=TR1 illuminated)
Pin 6 of the micro is the LiteOn input (Low=TR1 illuminated)
SW1 is in parallel with the LiteOn input - pushing SW1 is like illuminating TR1
Resistors R12 & R13 pull up the open collector outputs P1.0 and P1.1 of IC1
IC2 is the driver IC, with several hundred milliamps drive capability on each output
R1-R8 limit the current that can be taken from each output of IC2, and are most useful when LEDs are connected directly to pins L1-L8. If other devices
are used, such as relays, the values may of R1-R8 may have to be changed, or replaced with links.
R10 limits the current from IC1 into the base of TR3
TR3 is a switch transistor that drives the sounder output (P3.7 Low=Sounder driven high)
R11 provides the class A load resistor for the sounder output
C2 Capacitively couples the speaker to TR3 and R11.
C3 provides some supply decoupling.
126/175
PCB Diagram
Central to the board are the
two IC's: The AT89C2051 (in
an IC socket) and ULN2803
driver. The bank of resistors
to the right of the ULN2803
are primarily for limiting the
current through LEDs, when
they are being driven direct
from the outputs. You may
wish to use another value
instead of the 27 ohm shown
on the circuit. The circuitry
to the left of the CPU is
primarily for the light sensor
- this is just a simple
darlington phototransistor,
sensitivity pot and switch
transistor.
127/175
PCB Artwork, overlay
The overlay
diagram is used
for the silkscreen
(legend) of the
circuit board.
128/175
PCB Artwork, top layer
The top layer
diagram is used
for the tracks
that go on the
component side
of the circuit
board.
129/175
PCB Artwork, bottom layer
The bottom layer
diagram is used for
the tracks that go on
the solder side of the
circuit board. The
layer is printed as if
you are viewing
through the circuit
board (this is a
convention used so
that the layers line
up) and will have to
be reversed left-for-
right before the
copper tracks are
printed.
130/175
PCB Art, Hole drilling diagram
131/175
Parts description
RB.06/.15 - Radial polarised capacitor, 0.060 inch pitch lead space, 0.15 inch diameter
RB.1/.2 - Radial polarised capacitor, 0.1 inch (2.5mm) pitch lead spacing, 0.2 inch (5mm) diameter
DIODE0.3 - Axial diode, 0.3 inch (7.5mm) pitch lead spacing
DIP20 - IC, standard 0.3 inch pitch 20 pin DIP package
DIP18 - IC, standard 0.3 inch pitch 18 pin DIP package
TP - Test point or terminal
PCLAMINATE - The part being specified here is the etched PCB laminate
AXIAL0.4 - 0.4 inch pitch unpolarised component (eg resistor)
TV-06A - Push button switch, zippy brand
S2020SMT - Slide switch
TO-92A - Standard TO-92 package, with staggered leads, 0.1 inch pitch spacing
VR4 - Adjustable pot, staggered leads, 0.1 inch pitch spacing
XTAL2 - Crystal, HC49/4H (also called HC49Small) package
132/175
Parts notes
2.2UF50VMM - Radial polarised capacitor, Microminiature style, eg Rubycon, elna
AT89C2051 - Atmel microprocessor, see Atmel site for data and a programmer
ULN2803A - Manufacturer: Allegro (formerly known as Sprague)
27E - Resistor, value 27 ohm - substitute if required for different outputs
MEL12 - Phototransistor - many substitutes will work, but darlington types offer the best sensitivity. We have used BP103B
(Farnell 212-763 in Australia). Flat goes toward TR2 for two leaded devices.
3.57945Mhz - Frequency depends on application program. Use a crystal, rather than a ceramic resonator (otherwise fit extra
capacitors to gnd on X1 and X2).
133/175
Using the Device
The diagram on the
left shows a typical
circuit using the
HSETI PCB, with
the optional serial
port in place also.
The serial port
does not have
strict RS232 level
signals, but will
work with just
about all PC clones
with reasonable
cable lengths.
134/175