1997_Temic_8 Bit_Microcontroller_Handbook 1997 Temic 8 Bit Microcontroller Handbook

1997_Temic_8-Bit_Microcontroller_Handbook 1997_Temic_8-Bit_Microcontroller_Handbook

User Manual: 1997_Temic_8-Bit_Microcontroller_Handbook

Open the PDF directly: View PDF PDF.
Page Count: 448

Download1997_Temic_8-Bit_Microcontroller_Handbook 1997 Temic 8-Bit Microcontroller Handbook
Open PDF In BrowserView PDF
TEMIC
Semiconductors

8-bit Microcontroller
Databook - 1997

MATRAMHS

TEMIC
Semiconductors

AboutTEMIC
TEMIC is the microelectronics enterprise of
Daimler-Benz. Organized into four divisions
Semiconductors,
Microsystems,
Automotive
Electronics, and Airbag Inflators - TEMIC offers
products for
the
computer,
communications,
auto-motive, consumer, industrial as well as aerospace
and defense markets. Sales are handled by the
worldwide TEMIC network and by regional sales
representatives and distributors.

processes, TEMIC Semiconductors provides a unique
set of components and solutions. The company's
facilities include wafer fabrication operations in
Reilbronn and Itzehoe, Germany; Nantes, France; and
Santa Clara, California in the United States. Assembly
and test facilities are located in Vocklabruck, Austria;
Manila, Philippines; Kaohsiung, Taiwan; and Shanghai,
China. The member companies of TEMIC
Semiconductors are Telefunken Semiconductors,
Siliconix, Matra MRS, and Dialog Semiconductor.

With a technology portfolio which includes RF, bipolar,
BiCMOS, GaAs, CMOS, BiC/DMOS, and DMOS

Daimler-Benz

I

I

I

Mercedes-Benz

TEMIC
ABB Daimler-Benz
Transportation
AEG Electrocom

I

I

I

Daimler-Benz
Aerospace

Daimler-Benz
InterServices

I

I

TEMIC

Semiconductors

II

Microsystems

-l

Integ~a!e.d Circuits

-1

Discret~ ~?mponentsl

---4

Worldwide Sales

DIvIsIOn

I

DIVISIOn

I

II

Automotive
Electronics

Airbag Inflator
Systems

"

TEMIC
Semiconductors

TEMIC Semiconductors
Integrated Circuits Division
The IC Division of TEMIC Semiconductors, with its
headquarters in Heilbronn, Germany, is organized into
business centers that synergize the company's technical
and marketing skills to provide the highest level of
service to customers.

Automotive ICs
Based in Heilbronn, Germany, this business center is the
European market leader for stand-alone control ICs
dedicated to the harsh automotive environment.
Offerings include embedded control ICs for airbag and
anti-lock braking system (ABS) electronics, as well as
RF and IR solutions for safety and convenience, such as
keyless entry and immobilizer chip sets.

Communication ICs
Consisting of strong expert teams in the German cities
of Heilbronn and Ulm, this business center is focused on
high-frequency front-end solutions for handy phones
and cordless phones, as well as analog and digital TV
and radio receivers for worldwide markets. Current
products are based on bipolar silicon high-speed
technologies. Future products will also be based on a
silicon germanium technology offering higher RF
performance and lower power consumption, but at a cost
very comparable to silicon.

Microcontrollers and Digital ICs
Located in Nantes, France, this business center's
products are based on the powerful 80C51 and 80C251
cores licensed from Intel and comple-mented by a rich
cell library, from ElE2PROM through a wide range of
digital and mixed-signal functions and interfaces.
Together, these provide a toolbox for the design of
advanced embedded solutions for minimal system cost
and maximum functionality. A line of high-performance
SRAMs, digital ASICs and the Universal Logic Circuit
(ULC) family of FPGA replacements completes this
product offering. Hardened processes and fully certified
quality flows enable to serve aerospace and defense
applications.

PowerICs
Located in Santa Clara, California, in the heart of
Silicon Valley, products from this business center
combine low on-resistance power MOS transistors on a
single chip with high-speed CMOS functions. The result
is a range of product families such as high-frequency
dc-to-dc converter ICs or highly integrated motor
controller solutions which bothshare a unique
combination of high power efficiency, low system cost,
and small size.

Mixed-Signal ASICs
Succsessfully combining analog and digital functions on
the same ASIC (Application-Specific-Integrated
Circuit) is the key to true system integration. TEMIC
Semiconductors' years of experience in mixed-signal
ASIC technology gives our customers the ability to
achieve the integrated solutions their systems need.
Based in Swindon, United Kingdom, this business
center supports all types of mixed-signal solutions in
CMOS for a range of markets and applications, from the
initial idea through to volume production.

TEMIC
Semiconductors

TEMIC Semiconductors Discrete
Components Division
The TEMIC Semiconductors Discrete Components
Division combines TEMIC's expertise in power, IR data
transmission, optoelectronic, analog signal processing,
and bipolar technologies in a way that creates a clear
focus on product lines and an efficient interface with
target markets. With headquarters in Santa Clara,
California, the Discrete Components Division includes
product units focused on power MOSFETs, IrDA
modules, optoelectronics, RFlbipolar transistors and
diodes, and signal processing products.

Power MOS Devices
TEMIC Semiconductors is the silicon technology and
packaging leader for 60-V- and -below power
MOSFETs. Now in their third generation, TEMIC's
TrenchFET'M power MOSFETs continue to break
industry records, with the latest devices offering
maximum on-resistance as low as 6 milliohms.
TrenchFETs™ and advanced planar devices are
available from TEMIC in through-hole and
surface-mount packages, including the popular LITTLE
FOOT® S08, TSSOP8, and TSOP6.

IrDA Modules
For many years the industry leader in IR photo-module
technology, TEMIC Semiconductors has quickly
emerged as a top supplier of integrated transceivers and
discrete components for data transmission solutions
meeting the standards of the Infrared Data Association
(IrDA). TEMIC provides a full range of
IrDA-compatible components, from transceiver
modules with 115.2 kbitls and 4 Mbitls transmiSSIOn
rates to a family of discrete IREDs and photomodules
that were used in the original implementations that
formed the basis for the IrDA standard.

Optoelectronic Components
TEMIC Semiconductors has been a major supplier of
optoelectronic devices for more than 20 years. In 1996,
the company will supply upwards of 80 million IR
photo modules for remote control applications. The
photo pin diodes and GaAIAs infrared emitting diodes
at the heart of these devices are available as discrete
components to provide maximum flexibility for
customer designs. Visible LEDs and displays, along
with a distinguished line of opto sensors, opto couplers,
and opto switches, complete TEMIC's optoelectronic
product
offering.
TEMIC
Semiconductors'
Optoelectronics Product Unit is located in Heilbronn,
Germany.

Signal Processing
Offerings from the Signal Processing Product Unit
include analog switches and multiplexers, JFETs, and
DMOS FETs. A high-voltage silicon-gate process
(versus the standard high-voltage metal-gate process)
allows TEMIC to manufacture analog switches and
multiplexers with lower analog channel leakages, higher
accuracy, and faster operation than any other
industry-standard products. TEMIC Semiconductors'
Signal Processing Product Unit is located in Singapore.

Bipolar Transistors and Diodes
Products in this category, such as our no-roll-away
MicroMELF diodes, provide the quality that customers
expect plus the extra measure of ingenuity that sets
TEMIC apart from its competitors. Our exclusive MOS
Monolithic Circuits eliminate the need, e.g., in radio and
TV tuners, for several external resistors and capacitors.
Families of MOS and bipolar RF transistors, bipolar
high-voltage switches, small-signal and zener diodes, as
well as standard and ultra-fast rectifiers, complete the
offerings of TEMIC Semiconductors' Bipolar
Transistors and Diodes Business Unit located in
Viicklabruck, Austria.

TEMIC

Quality

Semiconductors

TEMIC Quality Policy
Our goal is to achieve total customer satisfaction
through everything we do. Therefore, the quality of our products and
services is our
number one priority.
Quality comes first!
AU of us at TEMIC are part of the process of
continuous improvement.

Total Customer Satisfaction
In this report, our methodology to achieve total customer
satisfaction is shown. Furthermore, quality figures and
future targets are given.

Total customer satisfaction as stated in the 'TEMIC
Quality Policy' means that the customer comes first.
This applies throughout the organization, as we all strive
to understand and meet the changing needs of our
customers.

•

World-class excellence

• Benchmarking

• EFQM approach
• Measurement of customer satisfaction - QFD
•

Corporate customer service policy

• Cost of quality'
• TEMIC worldwide ISO 9000 certification
• FMEA-DOE
• Supplier partnership
• Empowered improvement teams
•

Statistical process control

• External! internal customer partnership
• TQM training and education

TEMIC

Quality

Semiconductors

Quality System
Quality Program
At the heart of the quality process is TEMIC's
worldwide quality program, TEMIC Quality
Movement (TQM). This program, which has been in
place since the early 90's, is specifically designed to
meet rapidly increasing customer quality demands now
and in the future. The quality program is controlled by
the TEMIC Quality Committee (TQC). The committee
implements the Quality Policy and translates its
requirements for use throughout the worldwide
organization.

•

Built-in Quality
Quality is built into all TEMIC products by using
qualified materials, suppliers and processes.
Fundamental to this is the use of SPC techniques by
both TEMIC and its suppliers. The use of these
techniques, as well as tracking critical processes,
reduces variability, optimizing the process with
respect to the specification. The target is defect
prevention and continuous improvement.

•

Qualification
All new products are qualified before release by
submitting them to a series of mechanical, electrical
and environmental tests. The same procedure is used
for new or changed processes or packages.

•

Monitoring
A selection of the same or similar tests used for
qualification is also used to monitor the short- and
long-term reliability of the product.

•

SPC (Statistical Process Control)
SPC is an essential part of all TEMIC process
control. It has been established for many years and
is used as a tool for the continuous improvement of
processes by measuring, controlling and reducing
variability.

•

TEMIC's Quality System
All TEMIC's facilities worldwide are approved to
IS09000. In addition, some TEMIC companies hold
approval to recognized international and industry
standards such as MIL-STD-883, MIL-I-38535,
SCC9000, AQAPl, Ford QIOl, QS 9000.

The TQC has defined a roadmap with specific targets
along the way. The major target is to achieve world-class
excellence throughout TEMIC Semiconductors
worldwide by 1999.

TEMIC Quality Committee
The TEMIC Quality Committee (TQc) defines and
implements the TEMIC quality policy at a corporate
level. It acts to harmonize the quality systems of the
constituent divisions and to implement Total Quality
Management throughout the company worldwide.

Quality Goals and Methods
The goals are straightforward: Customer satisfaction
through continuous improvement towards zero defects
in every area of our operation. We are committed to
meeting our customers' requirements in terms of quality
and service. In order to achieve this, we build excellence
into our product from concept to delivery and beyond.
•

Design-in Quality
Quality must be designed into products. TEMIC uses
optimized design rules based on statistical
information. This is refined using electrical, thermal
and mechanical simulation together with techniques
such as FMEA and DOE.

The procedures used are based upon these standards and
laid down in an approved and controlled Quality
Manual.

TEMIC

Quality
Total Quality Management

Semiconductors

•

Total Quality Management is a management system
combining the resources of all employees, customers
and suppliers in order to achieve total customer
satisfaction, The fundamental elements of this system
are:
Management commitment
EFQM assessment methodology
Empowered Improvement Teams (EITs)
Supplier development and partnership
Quality tools
Training
Quality System
All TEMIC employees from the senior management
downwards are trained in the understanding of TQM,
Every employee plays its own part in the continuous
improvement process which is fundamental to TQM and
our corporate commitment to exceed customers'
expectations in all areas including design, technology,
manufacturing, human resources, marketing, and
finance, Everyone is involved in fulfilling this goaL The
management believes that this can only be achieved by
employee empowerment.
The TEMIC corporate core values; leadership by
example,
employee
empowerment,
continuous
improvement, total customer satisfaction and business
excellence are the very essence of the TEMIC Quality
Movement process.

•

Training
TEMIC maintains that it can only realize its aims if
the employees are well-trained. It therefore invests
heavily in courses to provide all employees with the
knowledge they need to facilitate continuous
improvement. A trammg profile has been
established for all employees with emphasis being
placed on Total Quality Leadership. Our long-term
aim is to continuously improve our training so as to
keep ahead of projected changes in business and
technology.

EFQM Assessment Methodology
From 1995, TEMIC has started to introduce the
EFQM (European Foundation for Quality
Management) methodology for structuring its Total
Quality Management approach. This methodology,
similar to the Malcolm Baldrige process, consists in
self-assessing the various TEMIC divisions and
facilities according to nine business criteria:
•

•

Leadership
People management
Policy and strategy
Resources
Processes
People satisfaction
Customer satisfaction
Impact on society
Business results

The assessments are conducted on a yearly basis by 40
trained and empowered, internal TEMIC assessors. This
permits the identification of key-priority improvement
projects and the measurement of the progress
accomplished.
The EFQM methodology helps TEMIC to achieve
world-class business excellence and will very soon bring
either a Malcolm Baldrige- or an EFQM Award
recognition.

•

Empowered Improvement Teams (EITs)
At TEMIC we believe that every person in the
company has a contribution to make in meeting our
target of customer satisfaction. Management
therefore empowers employees to higher and higher
levels of motivation, thus achieving higher levels of
effectiveness
and
productivity.
Empowered
improvement teams, which are both functional and
cross-functional, combine the varied talents from
across the breadth of the company. By taking part in
training, these teams are continually searching for
ways to improve their jobs, achieving satisfaction for
themselves, the company and - most important of
all - the customer.

TEMIC

Quality

Semiconductors

Leadership
10%

Processes
14%

Results 50%

Enablers 50 %

TQMTools

•

Failure Mode and Effect Analysis (FMEA)
FMEA is a technique for analyzing the possible
methods of failure and their effect upon the
performancelreliability of the product/process.
Process FMEAs are performed for all processes. In
addition, product FMEAs are performed on all
critical or custom products.

•

Design of Experiments (DOE)
There is a series of tools which may be used for the
statistical design of experiments. It consists of a
formalized procedure for optimizing and analyzing
experiments in a controlled manner. Taguchi and
factorial experiment design are included in this.
They provide a major advantage in determining the
most important input parameters, making the
experiment more efficient and promoting common
understanding amongst team members of the
methods and reasoning used .

•

Gauge Repeatability and Reproducibility
(GR&R)
This technique is used to determine an equipment's
suitability for purpose. It is used to make certain that
all equipment is capable of functioning to the
required accuracy and repeatability. All new
equipment is approved before use by this technique.

As part of its search for excellence, TEMIC employs
many different techniques and tools. Some of them are
listed here:
•

Cost of Quality
Cost of Quality is used as a performance indicator. It
is defined as the sum of the costs of:
•
•
•

Internal failure
External failure
Exceeding requirements
Lost opportunities
Prevention
Appraisal

The goals are set as part of the company goals, initially
at director level. All employees and EIT are expected to
be aware of, determine, and track their associated costs.
•

Auditing
As well as third-party auditing employed for
approval by ISO 9000 and customers, TEMIC
carries out its own internal and external auditing.
There is a common auditing procedure for suppliers
and sub-contractors between the TEMIC entities.
This procedure is also used for inter-company
auditing between the facilities within TEMIC. It is
based on the "Continuous Improvement" concept
with heavy emphasis on the use of SPC and other
statistical tools for the control and reduction of
variability. Internal audits are carried out on a routine
basis. They include audits of satellite facilities (i.e.,
sales offices, warehousing etc.). Audits are also used
widely to determine attitudes and expectations both
within and outside the company.

Business
results 15%

TEMIC

Quality
•

Quality Function Deployment (QFD)
QFD is a method for translating customer
requirements into recognizable requirements for
TEMIC's
marketing,
design,
research,
manufacturing and sales (including aftersales), QFD
is a process which brings together the life cycle of a
product from its conception, through design,
manufacture, distribution and use until it has served
its expected life.

Quality Service
TEMIC believes that quality of service is equally as
important as the technical ability of its products to meet
their required performance and reliability. Our
objectives therefore include:
On-time delivery
Short reaction time to customers' requests for
information
Rapid and informed technical support
• Fast handling of complaints
A partnership with our customers

Semiconductors

If there is a technical reason for complaint, a sample is
sent to the Sales Office for forwarding to the Failure
Analysis department of the supplying facility. The
device's receipt will be acknowledged and a report
issued on completion of the analysis. The cycle time for
this analysis has set targets and is constantly monitored
in order to improve the turnaround time. Failure analysis
normally consists of electrical testing, functional
testing, mechanical analysis (including X-ray),
decapsulation, visual analysis and electrical probing.
Other specialized techniques (i.e. LCD, thermal
imaging, SEM, acoustic microscopy) may be used if
necessary.

If the analysis uncovers a quality problem, a CAR
(Corrective Action Report - in -8D format if required)
will be issued. Any subsequent returns are handled with
the RMA procedure.
•

Change Notification
All product and process changes are controlled and
released
via
ECN
(Engineering
Change
Notification). This requires the approval of the
relevant departments. In the case of a major change,
the change is forwarded to customers via Sales/
Marketing before implementation. Where specific
agreements are in place, the change will not be
implemented unless approved by the customer.

•

Ship-to-Stock/Ship-to-Line (STS/STL)
There are very low levels of rejects being delivered
to customers. Many customers now require devices
to be shipped direct to stock or to the production line
by omitting any goods inwards inspection. TEMIC
welcomes such agreements as part of its customer
partnership program which promises an open
approach in every aspect of its business.
A product will only be supplied as STS or STL if
there is a valid agreement in place between the two
companies. Such an agreement details the quality
level targets agreed upon between the companies and
the methods to be used in case of problems.

We have therefore implemented a customer service plan
and charter which details our service targets. This is
detailed in our brochure The Business of Customer
Service. "The customer comes first" is a fundamental
part of this charter.
•

Customer Complaints
Complaints fall mainly into two categories:
Logistical
Technical

TEMIC has a procedure detailing the handling of
complaints. Initially complaints are forwarded to the
appropriate sales office where in-depth information
describing the problem is of considerable help in giving
a fast and accurate response. If it is necessary to send
back the product for logistical reasons, the Sales Office
issues an RMA (Returned Material Authorization)
number. On receipt of the goods in good condition,
credit is automatically issued.

TEMIC
Semiconductors

TEMIC reserves the right to make changes in the products or specifications contained in this document in order to
improve design or performance and to supply the best possible products. TEMIC also assumes no responsibility for
the use of any circuits described herein, conveys no license under any patents or other rights, and makes no
representations that the circuits are free from patent infringement. Applications for any integrated circuits contained
in this publication are for illustration purposes only and TEMIC makes no representation or warranty that such
applications will be suitable for the use specified without further testing or modification. Reproduction of any portion
hereof without the prior written consent of TEMIC is prohibited.

Definition of Terms
The product datasheets contained in this document are referring to the following possible status:

Preview

This datashect contains the targeted specifications, all electrical parameters correspond to either
targeted or simulated values.
Specifications may change in any manner without notice.

Preliminary

This datasheet contains final functional specification. The electrical parameters given are based
either on simulated values or on preliminary product characterization results.
Specifications may change in any manner without notice.

No indication (blank)

This datasheet contains final specifications.
TEMIC reserves the right to make changes at any time, according to TEMIC Quality Assurance
procedures, in order to improve design and supply the best possible product.

On line information
World Wide Web:

http://www.temic.de

E-mail C51 products:

c51@temic.fr

E-mail C251 products:

c251@temic.fr

Publisher
MATRA MHS S.A.
La Chantrerie Route de Gachet,
BP70602
44306 NANTES Cedex 03
France
Fax: +33 24018 1960

Copyright TEMIC Semiconductors 1997.

TEMIC
Semiconductors

TEMIC 8-bit Microcontrollers: A Long Term Commitment
In the world of 8-bit microcontrollers, the 80C51 architecture has become an industry standard in embedded
applications. Introduced in the early's 1980's by TEMIC/Matra MHS under Intel License, the 80C51 is still a market
leader.
For over 15 years, TEMIC has been a leading provider of 80C51 microcontrollers to major embedded markets. Today,
TEMIC is ranked number 3 in worldwide sales of 80C5! devices, representing over 20% market share. This
unsurpassed experience is at the service of TEMIC customers in every application.
TEMIC now enlarges its product range by adding one time programmable (OTP) versions of standard products and
the highly increased number of product derivatives for applications mainly targeted in the Communication, Computer
and Automotive area.
Also the market is in need for a more powerful solution to meet the requirements of increasingly sophisticated
embedded applications. High growth markets, including applications in communication, automotive and personal
computing are driving these requirements. Therefore TEMIC has introduced in 1996 the first two products of the
Intel-licensed TSC8025! 8-bit extended architecture.
Our long-term commitment means you'll enjoy through C5! and C25! support for years to come.

This 8-bit Microcontroller Databook 1997 intends to provide you the latest information on the growing TEMIC offer.
All available technical information of the C5! family is included while the literature for the TSC80251 family is
available separately:
- TSC80251 Programmer's Guide
- TSC80251 Al Datasheet
- TSC80251Gl Design Guide

TEMIC
Semiconductors

8-bit Microcontroller

Section I: C51 Architecture Information

II

Section II: Product Information

E

Section III: C51 Application Notes

I

Section IV: Introduction to C251 Architecture

I

Section V: Packaging

I

Section VI: Quality Flows

I

Section VII: TEMIC Sales Locations

I

TEMIC
Semiconductors

8-bit Microcontroller

Table of Contents

Section I: CSt Architecture Information
CSI Family: Architectural Overview of the CSI Family

1.1.1

CSI Family: Hardware Description of the CSI Family Products .................. 1.2.1
CSI Family: CSI Family Programmer's Guide and Instruction Set ................ 1.3.1

Section II: Product Information
Product Selection .......... ............................................. .. 11.1.0

Product by Application Domain ............................................... II.l.l
ProductslPeripheral Selection Tables ............................................ II.l.2
Military and Space Products .................................................. II.I.S
CSI General Purpose Products .............................................. 11.2.0

TSCSOC311S0CSl : CMOS 0 to 44 MHz Single-Chip S Bit Microcontroller ............ 11.2.1
TSCSOCL3I1TSCSOCLSl : CMOS 1.S Volt Single-Chip S Bit Microcontroller .......... 11.3.1
SOC32/S0CS2 : CMOS 0 to 44 MHz Single Chip S-bit Microntroller .................. I1A.l
SOClS4/S3ClS4: CMOS 0 to 36 MHz Single Chip S-bit Microcontroller .............. II.S.I
S3C lS4D : CMOS 0 to 30 MHz Single Chip S-bit Microcontroller .................... 11.6.1
CSI Computer/Communication Products ..................................... 11.7.0

TSCSOSICI : S-Bit Microcontroller for Digital Computer Monitors ................... 11.7.1
TSCSOSIC2: S-Bit Microcontroller for Digital Computer Monitors ................... 1I.S.1
CSI Automotive Products .................................................. 11.9.0

TSCSOSI AI: CMOS Single Chip S-bit Microcontroller with Analog Interface .......... 11.9.1
TSCSOSI A2 : CMOS Single Chip S-bit Microcontroller with Analog Interfaces ........ 11.10.1
TSCSOSI All : CMOS Single chip S-bit Microcontroller with CAN Controller ......... 11.11.1
TSCSOSI A30 : CMOS Single chip S-bit Microcontroller with VAN Controller ......... I1.12.1

8-bit Microcontroller

TEMIC
Semiconductors

Section III: CSt Application Notes
ANM031 : Secret Tag on 80C51 Family Microcontrollers . . . . . . . . . . . . . . . . . . . . . . . . . . IlL1.1
ANM032 : How to use a Third Overtone Crystal
with a 80C51 Family Microcontroller .......................................... III.2.1
ANM033 : How to Read Out the Internal Memory Code
of a 80C51 Microcontroller Family ............................................ IlI.3.1
ANM034 : Compatibility between 80Cx2 and 8xC154 Microcontrollers .............. I1I.4.1
ANM053 : Encryption on 80C51 Family Microcontrollers ......................... IlL5.1
ANM055 : How to Get a Second Asynchronous Serial Interface
on a 80C51 Microcontroller Family ........................................... IIL6.1
ANM059 : How to Recognize Video Mode and Generate Free Running
Synchronization Signals Using TSC8051ClIC2 Microcontroller ..................... IlL7.1

Section IV: Introduction to C2St Architecture
C2S1 OverviewlBenefits vs CS1 ............................................. IV.1.0

C251 Architecture Overview: ................................................ IV1.1
TSC80251 : AC/DC Characteristics ........................................... IV2.1
Extended 8-bit TSC802S1 Products Overview ................................. IV.3.0

TSC 80251 AI: Extended 8-bit Microcontroller with Analog Interfaces . . . . . . . . . . . . . .. IV3.1
TSC 80251 G 1 : Extended 8-bit Microcontroller
with Serial Communication Interfaces ......................................... IV.4.1

Section V: Packaging
Section VI: Quality Flows
Section VII: TEMIC Sales Locations
Sales Offices Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3 to 4
Representatives Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5 to 7
Distributors Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8 to 22

TEMIC
Semiconductors

II
Section I

cst Architecture Information
CS1 Family: Architectural Overview of the CS1 Family ......................... 1.1.1
CS1 Family: Hardware Description of the CS1 Family Products .................. 1.2.1
CS1 Family: CS1 Family Programmer's Guide and Instruction Set ................ 1.3.1

TEMIC
Semiconductors

cst Family

Architectural Overview of the CS1 Family

a

Summary
1. Introduction ............................................................ 1.1.2
1.1. TSCSOCS1I80CSI/SOC31 .................................................................
1.2. SOCS2/80C32 ..........................................................................
1.3. 83CIS4/80CIS4 ....................................................................
1.4. 83C1S4D ............... " .............................................................

I.1.3
I.1.3
I. 1.3
I.1.3

2. Memory Organization in CSI Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.1.3
2.1. Logical Separation Of Program And Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. I.1.3
2.2. Program Memory ....................................................................... I.l.4
2.3. Data Memory .......................................................................... U.S

3. The CSI Instruction Set .................................................. 1.1.7
3.1. Program Status Word .................................................................... 1.1.7
3.2. Addressing Modes ...................................................................... I.1.9
3.3. Arithmetic Instructions .................................................................. l.1.10
3.4. Logical Instructions .................................................................... l.1.ll
3.5. Data Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. l.1.I2
3.6. External RAM ......................................................................... l.1.13
3.7. Lookup Tables ......................................................................... l.1.14
3.8. Boolean Instructions .................................................................... 1.1.14
3.9. Jump Instructions ...................................................................... 1.1.15

4. CPU Timing ........................................................... 1.1.17
4.1. Machine Cycles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.1.18
4.2. Interrupt Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.1.21

MATRAMHS
Rev. E (14 Jan. 97)

1.1.1

TEMIC

cst Family

Semiconductors

1. Introduction
•
•
•
•
•

The TEMIC CSI microcontroller family is based on the
gOCSI core which features are:
•
•
•
•
•
•

8-bit CPU optimized for control applications
Extensive boolean processing (single-bit logic) capabilities
64 K Program Memory address space
64 K Data Memory address space
4 K bytes of on chip Program Memory
128 bytes of on chip data RAM

32 bidirectionnal and individually addressable 1/0 lines
two 16-bit timerslcounters
Full duplex UART
6 sources I 5-vector interrupt structure with 2 priority levels
on chip clock oscillators

The basic architectural structure of
microcontroller family is shown in figure I.

the

CSI

Figure 1. Block Diagram

INTO

INT1

r-L--1-___ TF1

L..-,...__-

TF2
TFO
RI/TI

TXD

RXD

~P1

P3

ADDRESS/DATA

Each device of the CSI family is listed in Table I.

Table 1: CS1 Family of Microcontrollers.

80C51, TSC80C51

4K

128

2

44 MHz

CMOS

80C52

80C32

8K

256

44 MHz

CMOS

83CI54

80CI54

16K

256

36 MHz

CMOS

36 MHz

CMOS

12 MHz

CMOS

83CI54D
80C51PX

1.1.2

80C31

32 K

256
1281256

2/3

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

1.1. TSCSOC511S0C511S0C31

1.3. S3C154/S0C154

The 80C51 is the CMOS version of the 8051.
Functionally, it is fully compatible with the 8051, but
being CMOS it draws less current than its HMOS
counterpart. To further exploit the power savings
available in CMOS circuitry, two reduced power modes
are added;
• Software-invoked Idle Mode, during which the CPU
is turned off while the RAM and other onchip
peripherals continue operating. In this mode, current
draw is reduced to about 15 % of the current drawn
when the device is fully active.
• Software-invoked Power Down Mode, during which
all on-chip activities are suspensed. The on-chip
RAM continues to hold its data. In this mode the
device typically draws less than 10 !-lA.

The 83Cl54 is an enhanced 80C52. It is produced with
CMOS technology, and is compatible with the 80C5! and
80C52. Its enhancements over the 80C5! are as follows:

Although the 80C51 is functionally compatible with its
HMOS counterpart, specific differences between the two
types of devices must be considered in the design of an
application circuit if one wishes to ensure complete
interchangeability between the HMOS and CMOS
devices.

The ROMless version of the 83C 154 is the 80C 154.

The ROMless version of the 80C5l is the 80C3l.
TSC80C51 is a core optimized version fully compatible
with 80C5l (See product datasheets for electrical
parameters) .

1.2. SOC52/S0C32
The 80C52 is an enhanced 80C5!. It is produced with
CMOS technology, and is compatible with the 80C5!. Its
enhancements over the 80C5l are as follows:
• 256 bytes of on-chip RAM
• Three timer/counters
• 6-source interrupt structure
• 8 K bytes of on-chip Program ROM
The ROMless version of the 80C52 is the 80C32.

•
•

256 bytes of on-chip data RAM
Three timer/counters (included watchdog and 32 bits
timer/counters)

•
•
•
•
•
•

6 source interrupt structure
Serial reception error detection
New modes of power reduction consumption
Programmable impedance port
16 K bytes of on-chip ROM
Asynchronous Counter/Serial port mode during
power-down

1.4. S3C154D
The 83CI54D is an enhanced 80C154. It is produced with
CMOS technology, and is compatible with the 83C154.
Its enhancements over the SOC5l are as follows:
•
•

256 bytes of on-chip data RAM
Three timer/counters (included watchdog and 32 bits
timer/counters)

•
•
•
•

6 source interrupt structure
Serial reception error detection
New modes of power reduction consumption
Programmable impedance port

•
•

32 K bytes of on-chip ROM
Asynchronous Counter/Serial port mode during
power-down.

2. Memory Organization in CSt Devices
2.1. Logical Separation Of Program And

Data Memory
All C5l devices have separated address spaces for
program and Data Memory, as shown in figure 2. The
logical separation of Program and Data Memory allows
the Data Memory to be accessed by 8-bit addresses, which
can be more quickly stored and manipulated by an 8-bit
CPU. Nevertheless, 16-bit Data Memory addresses can
also be generated through the DPTR register.
.

MATRAMHS
Rev. E (14 Jan. 97)

Program Memory can only be read, not written to. There
can be up to 64 K bytes of program Memory. In the ROM
versions of these devices the lowest 4 K, S K, 16 K or 32
K bytes of Program Memory are provided on-chip. Refer
to Table I for the amount of on-chip ROM, on each
device. In the ROMless versions all Program Memory is
external. The read strobe for external Program Memory
is the signal PSEN (Program Store Enable).

1.1.3

II

TEMIC

cst Family

Semiconductors

Figure 2. TEMIC CS1 Memory Structure.
PROGRAM MEMORY
(READ ONLy)

.------------1
FFFFH:

1

1
1
1

DATA MEMORY
(READtWRITE)

,-------------FFFFH:

EXTERNAL

I
I
EXTERNAL

1
I
I
1

EA= a

EXTERNAL

'--_,.---" 0000

I
I
I
I
:

--1--------PSEN

INTERNAL

FFH:CO

ooU

0000

.....,.-----r-'
RD

WR

Data Memory occupies a separate address space from
Program Memory. Up to 64 K bytes of external RAM can
be addressed in the external Data Memory space. The
CPU generates read and write signals, RD and WR, as
needed during external Data Memory accesses. External
Program Memory and external Data Memory may be
combined if desired by applying the RD and PSEN signals
to the inputs of an AND gate and using the output of the
gate as the read strobe to the external Program/Data
memory.

2.2. Program Memory
Figure 3 shows a map of the lower part of the Program
Memory. After reset, the CPU begins execution from
location OOOOH.

1.1.4

As shown in Figure 3, each interrupt is assigned a fixed
location in Program Memory. The interrupt causes the
CPU to jump to that location, where it commences
execution of the service routine. External Interrupt 0, for
example, is assigned to location 0003H. If External
Interrupt 0 is going to be used, its service routine must
begin at location 0003H. If the interrupt is not going to be
used, its service location is available as general purpose
Program Memory.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 3.

cst Program Memory.

Figure 4. Executing
Memory.

from

External

EPROM

MHS
P1

C51

Program

k::==;-;::::======lINSTR.

(0033H)
002BH

LATCH

0023H

INTERRUPT
LOCATIONS

II

INTERNAL
ROM

001BH

1;; BYTES

PS

P2~============~

0013H:L
PSEN~----------------~OE

OOOBH

0003H
OOOOH

The interrupt service locations are spaced at 8-byte
intervals : 0003H for External Interrupt 0, OOOBH for
Timer 0, 0013H for External Interrupt I, OOIBH for Timer
1, etc. If an interrupt service routine is short enough (as
is often the case in control applications), it can reside
entirely within that 8-byte interval. Longer service
routines can use a jump instruction to skip over
subsequent interrupt locations, if other interrupts are in
use.
The lowest 4 K (or 8 K in the 80C52 or 16 K in the 83C154
or 32 K in the 83C154D) bytes of Program Memory can
be either in the on-chip ROM or in an external ROM. This
selection is made by strapping the EA (External Access)
pin to either V cc or Vss. In the 80C51 and its derivatives,
if the EA pin is strapped to Vcc, then program fetches to
addresses OOOOH through OFFFH are directed to the
internal ROM. Program fetches to addresses 1000H
through FFFFH are directed to external ROM.
In the 80C52, EA = Vcc selects addresses OOOOH through
IFFFH to be internal, and addresses 2000H through
FFFFH to be external.
In the 83C154, EA = Vce selects addresses OOOOH
through 3FFFH to be internal, and addresses 4000H to
FFFFH to be external.
In the 83C154D, EA = Vcc selects addresses OOOOH
through 7FFFH to be internal and addresses 8000H to
FFFFH to be external.
If the EA pin is strapped to Vss, then all program fetches

are directed to external ROM. The ROMless parts must
have this pin externally strapped to V ss to enable them to
execute from external Program Memory.
The read strobe to external ROM. PSEN. is used for all
external program fetches. PSEN is not activated for
internal program fetches.

MATRAMHS
Rev. E (14 Jan. 97)

The hardware configuration for external program
execution is shown in figure 4. Note that 16 I/O lines
(Ports 0 and 2) are dedicated to bus functions during
external Program Memory fetches. Port 0 (PO in Figure 4)
serves as a multiplixed address/data bus. It emits the low
byte of the Program Counter (PCL) as an address, and
then goes into a float state awaiting the arrival of the code
byte from the Program Memory. During the time that the
low byte of the Program Counter is valid on PO, the signal
ALE (Address Latch Enable) clocks this byte into an
address latch. Meanwhile, Port 2 (P2 in Figure 4) emits
the high byte of Program Counter (PCH). Then PSEN
strobes the EPROM and the code byte is read into the
microcontroller.
Program Memory addresses are always 16 bits wide, even
though the actual amount of Program Memory used may
be less than 64 K bytes. External program execution
sacrifices two of the 8-bit ports, PO and P2, to the function
of addressing the Program Memory.

2.3. Data Memory
The right half of Figure 2 shows the internal and external
Data Memory spaces available to the C51 user. Figure 5
shows a hardware configuration for accessing up to 2 K
bytes of external RAM. The CPU in this case is executing
from internal ROM. Port 0 serves as multiplexed
address/data bus to the RAM, and 3 lines of Port 2 are
being used to page the RAM. The CPU generates RD and
WR signals as needed during external RAM accesses.
There can be up to 64 K bytes of external Data Memory.
External Data Memory addresses can be either I or 2
bytes wide. One-byte address is often used in conjunction
with one or more other I/O lines to page the RAM, as
shown in Figure 5. Two-byte addresses can also be used,
in which case the address byte is emitted at Port 2.

U.5

TEMIC

cst Family

Semiconductors

Figure 5. Accessing External Data Memory. If the Program Memory is external, the other bits of P2 are
available as 110.

I¢=:::;-;======:~ DATA

P1
MHS
C51

I

INTERNAL
ROM

o

OOOOH
ALEf----~

~

RAM
ADDR

I/O

Internal Data Memory is mapped in figure 6. The memory
space is shown divided into three blocks. which are
generally referred to as the lower 128, the Upper 128, and
SFR space.
Internal Data Memory addresses are always one byte
wide, which implies an address space of only 256 bytes.
However, the addressing modes for internal RAM can in
fact accomodate 384 bytes, using a simple trick. Direct
addresses higher than 7FH access one memory space, and
indirect addresses higher than 7FH access a different
memory space. Thus figure 6 shows the Upper 128 and
SFR space occupying the same block of addresses, 80H
through FFH, although they are physically separate
entities.

Figure 7. The Lower 128 Bytes of Internal RAM.
7FH

BANK
SELECT
BITS IN

2FH

~

o·

BIT·ADDRESSABLE SPACE
(BIT ADDRESSABLE 7F)

20H
1FH

FFH
-

I
I

-

-

A~ESS~LE

"T""-------.FFH

ACCESSIBLE
BY INDIRECT
BY DIRECT
ADDRESSING
ADDRESSING
80H
ONLY
70HI-------I--.,-----....I80H

LOWER
128

The Lower 128 bytes of RAM are present in all C51
devices as mapped in Figure 7. The lowest 32 bytes are
grouped into 4 banks of 8 registers. Program instructions
call out these registers as RO through R7. Two bits in the
Program Status Word (PSW) select which register bank
is in use. This allows more efficient use of code space,
since register instructions are shorter than instructions
that use direct addressing.

PSW~

Figure 6. Internal Data Memory.

UPPER
128

PAGE
BITS

ACCESSIBLE

A~61~~I~~1T
ADDRESSING

O~----~

tSPECIAL
}
FUNCTION
REGISTERS

PORTS
STATUS AND
~I~~OL BITS

11{ 18H

10{
01{
oo{

17H
4 BANKS OF
8 REGISTERS
RD-A?

10H
OFH
08H
07H ~
0

J

RESET VALUE OF
STACK POINTER

~ifb~T~~~TER
ACCUMULATOR

(ETC.)

1.1.6

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

The next 16 bytes above the register banks form a block
of bit-addressable memory space. The CSI instruction set
includes a wide selection of single-bit instructions. and
the 128 bits in this area can be directly addressed by these
instructions. The bit addresses in this area are OOH
through 7FH.
All of the bytes in the Lower 128 can be accessed by either
direct or indirect addressing. The Upper 128 (Figure 8)
can only be accessed by indirect addressing. The Upper
128 bytes of RAM are not implemented in the 80CSI but
are in the 80CS2, 83CIS4 and 83CIS4D.

Figure 8. The Upper 128 Bytes of Internal RAM.

Sixteen addresses in SFR space are both byte-and
bit-addressable. The bit-addressable SFRs are those
whose address ends in 0, 8 or 9. The bit addresses in this
area are 80H through FFH.

Figure 9. SFR Space.
FFH
EOH

I

I
ACC

:
BOH

PORT 3

I

FFH

REGISTER-MAPPED PORTS
ADDRESSES THAT END IN
O. S OR 9
ARE BIT-ADDRESSABLE

I
NO BIT-ADDRESSABLE
SPACES

AOH

PORT 2

90H

PORT 1

SOH

PORTO

:

AVAILABLE AS STACK
SPACE IN SOC52/
SOC154 AND 83C154D
NOT IMPLEMENTED
IN SOC51

- PORT PINS
- ACCUMULATOR
- PSW
(ETC.)

SOH

Figure 9 gives a brief look at the Special Function
Register (SFR) space. SFRs include the Port latches,
timers, peripheral controls, etc. These registers can only
be accessed by direct addressing. In general, all CSI
microcontrollers have the same SFRs as the 80CS1, and
at the same addresses in SFR space. However,
enhancements to the 80CSl have additional SFRs that are
not present in the 80CS1, nor perhaps in other
proliferation of the family.

3. The CSt Instruction Set
All members of the CSI family execute the same
instruction set. (except code ASH, skip opcode in
CSI/CS2). The CSI instruction set is optimized for 8-bit
control applications. It provides a variety of fast
addressing modes for accessing the internal RAM to
facilitate byte operations on small data structures. The
instruction set provides extensive support for one-bit
variables as a separate data type, allowing direct bit
manipulation in control and logic systems that require
Boolean processing.
An overview of the CSI instruction set is presented below,
with a brief description of how certain instructions might
be used.

MATRAMHS
Rev. E (14 Jan. 97)

3.1. Program Status Word
The Program Status Word (PSW) contains several status
bits that reflect the current state of the CPU. The PSW,
shown in Figure 10, resides in SFR space. It contains the
Carry bit, the Auxiliary Carry (for BCD operations), the
two register bank select bits, the Overflow flag, a parity
bit, and two user-definable status flags.
The Carry bit, other than serving the functions of a Carry
bit in arithmetic operations, also serves as the
"Accumulator" for a number of Boolean operations.

1.1.7

II

cst Family
The bits RSO and RSI are used to select one of the four
register banks shown in Figure 7. A number of
instructions refer to these RAM locations as RO through
R7. The selection of which of the four banks is being
referred to is made on the basis of the bits RSO and RS I
at execution time.

1.1.8

TEMIC
Semiconductors

The parity bit reflects the number of I s in the
Accumulator: P = I if the Accumulator contains an odd
number of I s, and P = 0 if the Accumulator contains an
even number of I s. Thus the number of I s in the
Accumulator plus P is always even.
Two bits in the PSW are uncommitted and may be used
as general purpose status flags.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 10. PSW (Program Status Word) Register in C51 Devices.

PSW7
CARRY FLAG RECEIVES CARRY OUT
FROM BIT 1 OF ALU OPERANDS

PSW6
AUXILIARY CARRY FLAG RECEIVES
CARRY OUT FROM BIT 1 OF
ADDITION OPERANDS
PSW5 _ _ _---'
GENERAL PURPOSE STATUS FLAG
PSW4
REGISTER BANK SELECT 1 BIT - - - - - - - - '

PSWO
PARITY OF ACCUMULATIOR SET
BY HARDWARE TO 1 IF IT CONTAINS
AN ODD NUMBER OF 1S, OTHERWISE
IT IS RESET TO 0
PSW1
USER DEFINABLE FLAG
L-_ _ _ PSW2
OVERFLOW FLAG SET BY
ARITHMETIC OPERATIONS
PSW3
L------REGISTER BANK SELECT BIT 0

3.2. Addressing Modes

3.2.4. Register-specific instructions

The addressing modes in the CSt instruction set are as
follows:

Some instructions are specific to a certain register. For
example, some instructions always operate on the
Accumulator, or Data Pointer, etc., so no address byte is
needed to point to it. The opcode itself does that.
Instructions that refer to the Accumulator as A assemble
as accumulator-specific opcodes.

3.2.1. Direct addressing
In direct addressing the operand is specified by an 8-bit
address field in the instruction. Only 128 Lowest bytes of
internal Data RAM and SFRs can be directly addressed.

3.2.5. Immediate constants

3.2.2. Indirect addressing

The value of a constant can follow the opcode in Program
Memory. For example,

In indirect addressing the instruction specifies a register
which contains the address of the operand. Both internal
and external RAM can be indirectly addressed.
The address register for 8-bit addresses can be RO or RI
of the selected register bank, or the Stack Pointer.
The address register for 16-bit addresses can only be the
16-bit "data pointer" register, DPTR.

3.2.3. Register instructions
The register banks, containing registers RO through R7,
can be accessed by certain instructions which carry a 3-bit
register specification within the opcode of the instruction.
Instructions that access the registers this way are code
efficient, since this mode eliminates an address byte.
When the instruction is executed, one of the eight
registers in the selected bank is accessed. One of four
banks is selected at execution time by the two bank select
bits in the PSW.

MATRAMHS
Rev. E (14 Jan. 97)

MOV A,# 100
loads the Accumulator with the decimal number 100. The
same number could be specified in hex digits as 64H.

3.2.6. Indexed addressing
Only Program Memory can be accessed with indexed
addressing, and it can only be read. This addressing mode
is intended for reading look-up tables in Program
Memory. A 16-bit base register (either DPTR or the
Program Counter) points to the base of the table, and the
Accumulator is set up with the table entry number. The
address of the table entry in Program Memory is formed
by adding the Accumulator data to the base pointer.
Another type of indexed addressing is used in the "case
jump" instruciion. In this case the destination address of
a jump instruction is computed as the sum of the base
pointer and the Accumulator data.

1.1.9

II

TEMIC

cst Family

Semiconductors

3.3. Arithmetic Instructions
The menu of arithmetic instructions is listed in Table 2.
The table indicates the addressing modes that can be used
with each instruction to access the  operand. For
example, the ADD A,  instruction can be written
as:
(direct addressing)
ADD A,
7FH
@RO
ADD A,
(indirect addressing)
(register addressing)
ADD A,
R7
(immediate constant)
ADD A,
# 127

Table 2: A Jist of the TEMIC CS1 Arithmetic Instructions.
1...-

'.i

i.?» '. '.' '" ,,",
i......."":
c;;c

;"""\')iii lii~~ . .

':

:.X:'

ii.'

Dir

Ind

Reg

ADD A, e

A = A + 

X

X

X

X

ADDC A, 

A = A +  + C

X

X

X

X

I

SUBB A, 

A = A- - C

X

X

X

J

INCA

A=A+ I

INC 

 =  + I

INC DPTR

DPTR = DPTR + I

DEC A

A=A-I

DEC 

 =  - I

X

Accumulator only
X

X

X

Data Pointer only
Accumulator only
X

X

X

Imm

I
I

2
I
I

MULAB

B:A=B xA

ACC and B only

4

DlV AB

A = lot [AlB]
B=Mod [AlB]

ACC and B only

4

DAA

Decimal Adjust

Accumulator only

I

The execution times listed in Table 2 assume a 12 MHz
clock frequency. All of the arithmetic instructions
execute in 1 fls except the INC DPTR instruction, which
takes 2 fls, and the Multiply and Divide instructions,
which take 4 fls.
Note that any byte in the internal Data Memory space can
be incremented or decremented without going through
the Accumulator.
One of the INC instructions operates on the 16-bit Data
Pointer. The Data Pointer is used to generate 16-bit
addresses for external memory, so being able to increment
it in one 16-bit operation is a useful feature.

:I~\>

The DIY AB instruction divides the Accumulator by the
data in the B register and leaves the 8-bit quotient in the
Accumulator, and the 8-bit remainder in the B register.
Oddly enough, DIY AB finds less use in arithmetic
"divide" routines than in radix conversions and
programmable shift operations. An example of the use of
DIY AB in a radix conversion will be given later. In shift
operations, dividing a number by 2n shifts its n bits to the
right. Using DIY AB to perform the division completes
the shift in 4 fls leaves the B register holding the bits that
were shifted out.

The MULAB instruction multiplies the Accumulator by
the data in the B register and puts the 16-bit product into
the concatenated B and Accumulator registers.

1.1.10

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

The DA A instruction is for BCD arithmetic operations.
In BCD arithmetic ADD and ADDC instructions should
always be followed by a DAA operation, to ensure that
the result is also in BDC. Note that DAA will not convert
a binary number to BCD. The DA A operation produces
a meaningful result only as the second step in the addition
of two BCD bytes.

will leave the Accumulator holding OOOlOOOlB.
The addressing modes that can be used to access the
 operand are listed in Table 3. Thus, the ANL A,
 instruction may take any of the forms.

3.4. Logical Instructions

All of the logical instructions that are Accumulator
specific in I ~s (using a 12 MHz clock). The others take

ANL
ANL
ANL
ANL

Table 3 shows the list of TEMIC C51 logical instructions.
The instructions that perform Boolean operations (AND,
OR, Exclusive OR, NOT) on bytes perform the operation
on a bit-by-bit basis. That is, if the Accumulator contains
OOllOlOlB and  contains OIOIOOllB, then
ANL A,

A,7FH
A, @Rl
A, R6
A,#53H

(direct addressing)
(indirect addressing)
(register addressing)
(immediate constant)

II

2 ~s.



Table 3: A list of the TEMIC CS1 Logical Instructions.
',':·:'7

;.

i·y····.····.····

."'~.

~';,.;;\!.< :A.DDRE$S.Il\lG-MODES

EXEC1.JTJJ>N'l'lME·(!-ls)

Dir

Ind

Reg

Imm

ANL A, 

A = A AND 

X

X

X

X

ANL , A

 =  AND A

X

I

ANL , # data

 =  AND # data

X

2

I

ORL A, 

A = A OR 

X

ORL , A

 =  OR A

X

I

ORL , # data

 =  OR # data

X

2

XRL A, 

A = A XOR 

X

XRL , A

 =  XOR A

X

I

XRL , # data

 =  XOR # data

X

2

CLRA

A=OOH

Accumulator only

I

CLPA

A=NOTA

Accumulator only

I

RLA

Rotate ACC Left I bit

Accumulator only

I

RLCA

Rotate Left through Carry

Accumulator only

I

RRA

Rotate ACC Right I bit

Accumulator only

I

RRCA

Rotate Right through Carry

Accumulator only

I

SWAP A

Swap Nibbles in A

Accumulator only

I

Note that Boolean operations can be performed on any
byte in the internal Data Memory space without going
through the Accumulator. The XRL , # data
instruction, for example, offers a quick and easy way to
invert port bits, as in

X

X

X

X

X

X

I

I

If the operation is in response to an interrupt, not using the
Accumulator saves the time and effort to stack it in the
service routine.

XRL PI, #OFFH

MATRAMHS
Rev. E (14 Jan. 97)

Ll.lI

TEMIC

cst Family
The Rotate instructions (RLA, RLCA, etc.) shift the
Accumulator 1 bit to the left or right. For a left rotation,
the MSB rolls into the LSB position. For a right rotation,
the LSB rolls into the MSB position.
The SWAP A instruction interchanges the high and low
nibbles within the Accumulator. this is a useful operation
in BCD manipulations. For example, if the Accumulator
contains a binary number which is known to be less than
100, it can be quickly converted to BCD by the following
code:
MOV
DIV
SWAP
ADD

B, #10
AB
A
A,B

Dividing the number by 10 leaves the tens digit in the low
nibble of the Accumulator, and the ones digit in the B
register. The SWAP and ADD instructions move the tens
digit to the high nibble of the Accumulator, and the ones
digit to the low nibble.

Semiconductors

3.5. Data Transfers
3.5.1. Internal RAM
Table 4 shows the menu of instructions that are available
for moving data around within the internal memory
spaces, and the addressing modes that can be used with
each one. With a 12 MHz clock, all of these instructions
execute in either 1 or 2 Ils.
The MOV ,  instruction allows data to be
transfered between any two internal RAM or SFR
locations without going through the Accumulator.
Remember the Upper 128 bytes of data RAM can be
accessed only by indirect, and SFR space only by direct
addressing.
Note that in all CSI devices, the stack resides in on-chip
RAM, and grows upwards. The PUSH instruction first
increments the Stack Pointer (SP), then copies the byte
into the stack. PUSH and POP use only direct addressing
to identify the byte being saved or restored, but the stack
itself is accessed by indirect addressing using the SP
register. This means the stack can go into the Upper 128,
if they are implemented, but not into SFR space.

Table 4: A list of the TEMIC CS1 Data Transfer Instructions that Access Internal Data Memory Space.

The Upper 128 are not implemented in the 80CSI, nor in
their ROMless. With these devices, if the SP points to the
Upper 128 PUSHed bytes are lost, and POPped bytes are
indeterminate.

The XCH A,  instruction causes the Accumulator
and addressed byte to exchange data.
The XCHD A, @ Ri instruction is similar, but only the
low nibbles are involved in the exchange.

The Data Transfer instructions include a l6-bit MOV that
can be used to initialize the Data Pointer (DPTR) for
look-up tables in Program Memory, or for 16-bit external
Data Memory accesses.

I.1.12

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

The see how XCH and XCHD can be used to facilitate
data manipulations, consider first the problem of shifting
an 8-digit BCD number two digits to the right. Figure II
shows how this can be done using direct MaYs, and for
comparison how it can be done using XCH instructions.
To aid in understanding how the code works, the contents
of the registers that are holding the BCD number and the
content of the Accumulator are shown alongside each
instruction to indicate their status after the instruction has
been executed.
After the routine has been executed, the Accumulator
contains the two digits that were shifted out on the right.
Doing the routine with direct MaYs uses 14 code bytes
and 9 ~s of execution time (assuming a 12 MHz clock).
The same operation with XCHs uses less code and
executes almost twice as fast.

Figure 12. Shifting a BCD Number One Digit to the
Right.
2A

2B

2C

2D

2E

ACC

MOVRI,#2EH

00

12

34

56

XX

MOVRO,#2DH

00

12

34

56

78
78

loop for RI =2EH :
LOOP: MOV A, @RI

00

12

34

XCHDA,@RO

00

12

34

56
58

78
76

SWAP A

00

12

34

58

MOV@RI,A

00

12

34

58

78
78
78
67

67

DECRI

00

12

34

58

67

67

DECRO

00

12

34

58

67

67

MOV A,2EH
MOV2EH.2DH
MOV2DH.2CH
MOV2CH.2BH
MOV2BH.#0

2A

2B

2C

2D

2E

ACC

00
00
00
00
00

12
12
12
12
00

34
34
34
12
12

56
56
34
34
34

78
56
56
56
56

78
78
78
78
78

(a) Using direct MOVs : 14 bytes, 9

CLRA
XCH A,2BH
XCHA,2CH
XCHA.2DH
XCHA.2EH

~s

2A

2B

2C

2E

2E

ACC

00
00
00
00
00

12
00
00
00
00

34
34
12
12
12

56
56
56
34
34

78
78
78
78
56

00
12
34
56
78

(b) Using XCHs : 9 bytes. 5

~s

67

CJNE R I, #2AH, LOOP
loop for RI
loop for RI
loop for RI

Figure 11. Shifting a BCD Number Two Digits to the
Right.

XX

=2DH:
=2CH:
=2BH:

CLRA
XCHA,2AH

00

12

38

45

67

45

00

18

23

45

67

23

I 08 I 01 I 23 I 45 I 67 I 01
1 08 1 0 I 1 23 145 1 67 1 00
00
01
23
45
67
08

To right-shift by an odd number of digits, a one-digit shift
must be executed. Figure 12 shows a sample of code that
will right-shift a BCD number one digit, using the XCHD
instruction. Again, the contents of the registers holding
the number and of the Accumulator are shown alongside
each instruction.
First, pointers Rl and RO are set up to point to the two
bytes containing the last four BCD digits. Then a loop is
executed which leaves the last byte, location 2EH,
holding the last two digits of the shifted number. The
pointers are decremented, and the loop is repeated for
location 2DH. The CJNE instruction (Compare and Jump
if Not Equal) is a loop control that will be described later.
The loop is executed from LOOP to CJNE for Rl =2EH,
2DH, 2CH and 2BH. At that point the digit that was
originally shifted out on the right has propagated to
location 2AH. Since that location should be left with Os,
the lost digit is moved to the Accumulator.

3.6. External RAM
Table 5 shows a list of the Data Transfer instructions that
access external Data Memory. Only indirect addressing
can be used. The choice is whether to use a one-byte
address, @Ri, where Ri can be either RO or RI of the
selected register bank, or a two-byte address, @DPTR.
The disadvantage to using 16-bit addresses if only a few
K bytes of external RAM are involved is that 16-bit
addresses use all 8 bits of Port 2 as address bus. On the
other hand, 8-bit addresses allow one to address a few K
bytes of RAM, as shown in Figure 5, without having to
sacrifice all of Port 2.

MATRAMHS
Rev. E (14 Jan. 97)

1.1.13

II

TEMIC

cst Family

Semiconductors

All of these instructions execute in 2 Ils, with a 12 MHz
clock,
Note that in all external Data RAM accesses, the
Accumulator is always either the destination or source of
the data.

The read and write strobes to external RAM are activated
only during the execution of a MOVX instruction.
Normally these signals are inactive, and in fact if they're
not going to be used at all, their pins are available as extra
I/O lines. More about that later.

Table S: A list of the TEMIC CSI Data Transfer Instructions that Access External Data Memory Space.

8 bits

MOVXA.@Ri

Read external
RAM@Ri

8 bits

MOVX@Ri.A

Write external
RAM@Ri

2

16 bits

MOVX A. @ DPTR

Read external
RAM@DPTR

2

16 bits

MOVX

Write external
RAM@DPTR

2

@

DPTR. A

3.7. Lookup Tables
Table 6 shows the two instructions that are available for
reading lookup tables in Program Memory. Since these
instructions access only Program Memory, the lookup
tables can be read, not updated. The mnemonic is MOVC
for "move constant".
If the table access is to external Program Memory, then
the read strobe is PSEN.
The first MOVC instruction in Table 6 can accomodate a
table of up to 256 entries, numbered 0 through 255. The
number of the desired entry is loaded into the
Accumulator, and the Data Pointer is set up to point to
beginning of the table. Then
MOVC A, @A + DPTR
copies the desired table entry into the Accumulator.

The other MOVC instruction works the same way, except
the Program Counter (PC) is used as the table base, and
the table is accesses through a subroutine. First the
number of the desired entry is loaded into the
Accumulator, and the subroutine is called:
A, ENTRY_NUMBER
MOV
CALL
TABLE
The subroutine "TABLE" would look like this:
MOVC A, @A + PC
TABLE:
RET
The table itself immediately follows the RET (return)
instruction in Program Memory. This type of table can
have up to 255 entries, numbered I through 255. Number
o can not be used, because at the time thc MOVC
instruction is executed, the PC contains the address of the
RET instruction. An entry numbered 0 would be the RET
opcode itself.

Table 6: The CS1 Lookup Table Read Instructions.

MOVC A, @A+DPTR

Read Pgm Memory at (A + DPTR)

MOVC A. @A+PC

Read Pgm Memory at (A + PC)

3.8. Boolean Instructions
C51 devices contain a complete Boolean (single-bit)
processor. The internal RAM contains 128 addressable
bits, and the SFR space can support up to 128 other
addressable bits. All of the port lines are bit-addressable,
and each one can be treated as a separate single-bit port.
The instructions that access these bits are not just
conditional branches, but a complete menu of move, set,
clear, complement, OR and AND instructions. These
kinds of bit operations are not easily obtained in other
architectures with any amount of byte-oriented software.
1.1.14

2

The instruction set for the Boolean processor is shown in
Table 7. All bit accesses are by direct addressing. Bit
addresses OOR through 7FH are in the Lower 128, and bit
addresses 80H through FFR are in SFR space.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Table 7: A list of the CSt Boolean Instructions.

OPERATION
C

~

C AND (NOT bit)

C

~

C OR (NOT bit)

C~bit
bit~C
C~O
bit~O
C~I
bit~

I

C~NOTC

bit = NOT bit
Jump ifC ~ I
Jump ifC ~ 0
Jumpifbit~

Jump if bit ~
Jump if bit ~

C,FLAG
PLO,C

The Carry bit in the PSW is used as the single-bit
Accumulator of the Boolean processor. Bit instructions
that refer to the Carry bit as C assemble as Carry-specific
instructions (CLR C, etc). The Carry bit also has a direct
address, since it resides in the PSW register, which is
bit-addressable.
Note that the Boolean instruction set includes ANL and
ORL operations, but not the XRL (Exclusive OR)
operation. An XRL operation is simple to implement in
software. Suppose, for example, it is required to form the
Exclusive OR of two bits:
C =bitl XRL bit2
The software to do that could be as follows:
C, bitl
bit2, OVER
C

OVER: (continue)
First, bit I is moved to the Carry. If bit 2 = 0, then C now
contains the correct result. That is, bit I XRL bit2 = bitl
if bit2 =0. On the other hand, if bit2 = I C now contains
the complement of the correct result. It need only be
inverted (CPL C) to complete the operation.

MATRAMHS
Rev. E (\4 Jan. 97)

2

1
0
1 ; CLR bit

In this example, FLAG is the name of any addressable bit
in the lower 128 or SFR space. An I/O line (the LSB of
Port 1, in the case) is set or cleared depending on whether
the flag bit is I or 0.

MOV
JNB
CPL

II

C~CORbit

Note how easily an internal flag can be moved to a port
pin:
MOV
MOV

EX'ECU1'ION

C~CANDbit

ANLC,bit
ANLC,/bit
ORLC,bit
ORLC,/bit
MOVC,bit
MOVbit,C
CLRC
CLRbit
SETBC
SETB bit
CPLC
CPLbit
JC rei
JNC rei
JB bit,rel
JNB bit,rel
JBC bit,rel

2

2

This code uses the JNB instruction, one of a series of
bit-test instructions which execute a jump if the addressed
bit is set (JC, JB, JBC) or if the addressed bit is not set
(JNC, JNB). In the above case, bit2 is being tested, and if
bit2 = the CPL C instruction is jumped over.

°

JBC executes the jump if the addresed bit is set, and also
clears the bit. Thus a flag can be tested and cleared in one
operation.
All the PSW bits are directly addressable, so the Parity
bit, or the general purpose flags, for example, are also
available to the bit-test instructions.

3.8.1. Relative offset
The destination address for these jumps is specified to the
assembler by a label or by an actual address in Program
Memory. However, the destination address assembles to
a relative offset byte. This is a signed (two's complement)
offset byte which is added to the PC in two's complement
arithmetic if the jump is executed.
The range of the jump is therefore -128 to + 127 Program
Memory bytes relative to the first byte following the
instruction.

3.9. Jump Instructions
Table 8 shows the list of unconditional jumps.

I. 1.15

TEMIC

cst Family

Semiconductors

Table 8: Unconditional Jumps in TEMIC CS1.

JMP addr
JMP@A+DPTR
CALLaddr
RET
RET!
NOP

Jump to addr
Jump to A + DPTR
Call subroutine at addr
Return from subroutine
Return from interrupt

2
2
2
2
2

No operation

1

The table lists a single "IMP addr" instruction, but in fact
there are three -SJMP, LJMP, AJMP -which differ in the
format of the destination address, JMP is a generic
mnemonic which can be used if the programmer does not
care which way the jump is encoded,
The SJMP instruction encodes the destination address as
relative offset, as described above. The instruction is 2
bytes long, consisting of the opcode and the relative offset
byte. The jump distance is limited to range of -128 to
+ 127 bytes relative to the instruction following the
SJMP.
The LJMP instruction encodes the destination address as
a I6-bit constant. The instruction is 3 bytes long,
consisting of the opcode and two address bytes. The
destination address can be anywhere in the 64K Program
Memory space.
The AJMP instruction encodes the destination address as
an II-bit constant. The instruction is 2 bytes long,
consisting of the opcode, which itself contains 3 of the II
address bits, followed by another byte containing the low
8 bits of the destination address. When the instruction is
executed, these II bits are simply substituted for the low
II bits in the PC. The high 5 bits stay the same. Hence the
destination has to be within the same 2K block as the
instruction following the AJMP.
In all cases the programmer specifies the destination
address to the assembler in the same way: as a label or as
a I6-bit constant. The assembler will put the destination
address into the correct format for the given instruction.
If the format required by the instruction will not support
the distance to the specified destination address, a
"Destination out of range" message is written, into the list
file.
The JMP @ A + DPTR instruction supports case jumps.
The destination address is computed at execution time as
the sum of the 16-bit DPTR register and the Accumulator.
Typically, DPTR is set up with the address of a jump table,
and the Accumulator is given an index to the table. In a
5-way branch, for example, an integer 0 through 4 is
loaded into the Accumulator.
The code to be executed might be as follows:

1.1.16

DPTR, # JUMP_TABLE
MOV
A, INDEX_NUMBER
MOV
RL
A
@A+DPTR
JMP
The RLA instruction converts the index number (0
through 4) to an even number on the range 0 through 8,
because each entry in the jump table is 2 bytes long:
JUMP_TABLE:
AJMPCASE_O
AJMPCASE_I
AJMPCASE_2
AJMPCASE_3
AJMPCASE_4
Table 8 shows a single "CALLaddr" instruction, but there
are two of them -LCALL and ACALL -which differ in the
format in which the subroutine address is given to the
CPU. CALL is a generic mnemonic which can be used if
the programmer does not care which way the address is
encoded.
The LCALL instruction uses the 16-bit address format,
and the subroutine can be anywhere in the 64K Program
Memory space. The ACALL instruction uses the II-bit
format, and the subroutine must be in the same 2K block
as the instructon following the ACALL.
In any case the programmer specifies the subroutine
address to the assembler in the same way: as a label or as
a 16-bit constant. The assembler will put the address into
the correct format for the given instructions.
Subroutines should end a RET instruction, which returns
execution following the CALL.
RETI is used to return from an interrupt service routine.
The only difference between RET and RETI is that RETI
tells the interrupt control system that the interrupt in
progress is done. If there is no interrupt in progress at the
time RETI is executed, then the RETI is functionnally
identical to RET.
Table 9 shows the list of conditional jumps available to
the T.EMIC C51 user. All of these jumps specify the
destination address by the relative offset method, and so
are limited to a jump distance of -128 to + 127 bytes from
the instruction following the conditional jump
instruction. Important to note, however, the user specifies
to the assembler the actual destination address the same
way as the other jumps: as a label or a 16-bit constant.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Table 9: Conditional Jumps in TEMIC CS1 Devices.

JZ rei

Jump if A

JNZ rei

Jump if A" 0

DJNZ ,rel

Decrement and jump if not zero

X

CJNZ A,,rel

Jump if A ~ 

X

CJNE ,#data,rel

Jump if 

~

0

Accumulator only

~

#data

There is no Zero bit in the PSW. The JZ and JNZ
instructions test the Accumulator data for that condition,

LOOP:

MOV
(begin loop)

D

Accumulator only

X

2

X
X

2
2

X

The DJNZ instruction (Decrement and Jump if Not Zero)
is for loop control. To execute a loop N times, load a
counter byte with N and terminate the loop with DJNZ to
the beginning of the loop, as shown below for N = 10 :

COUNTER, # \0

*
*
*

(end loop)
COUNTER, LOOP
DJNZ
(continue)
The CJNE instruction (Compare and Jump if Not Equal)
Another application of this instruction is in "greater than,
can also be used for loop control as in Figure 12, Two
less than" comparisons, The two bytes in the operand
bytes are specified in the operand field of the instruction, field are taken as unsigned integers, If the first is less than
The jump is executed only if the two bytes are not equal.
the second, then the Carry bit is set (1), If the first is
In the example of Figure 12, the two bytes were the data
greater than or equal to the second, then the Carry bit is
cleared,
in Rl and the constant 2AH, The initial data in Rl was
2EH, Every time the loop was executed, Rl was
decremented, and the looping was to continue until the R 1
data reached 2AH,

4. CPU Timing
All C51 microcontrollers have an on-chip oscillator
which can be used if desired as the clock source for the
CPU, To use the on-chip oscillator, connect a crystal or
ceramic resonator between the XTALI and XTAL2 pins
of the microcontroller, and capacitors to ground as shown
in Figure 13,

Figure 13. Using the On-Chip Oscillator.

.----+----1
QUARTZ CRYSTAL
OR CERAMIC
RESONATOR

XTAL2

MHS C51
FAMILY

_+-I XTAL1

L - _....

VSS

MATRAMHS
Rev. E (14 Jan, 97)

I.1.17

TEMIC

cst Family

Semiconductors

Examples of how to drive the clock with an external
oscillator are shown in Figure 14. In the TEMIC C51
devices the signal at the XTALI pin drives the internal
clock generator. If only one pin is going to be driven with
the external oscillator signal, make sure it is the right pin.
The internal clock generator defines the sequence of
states that make up the TEMIC C51 machine cycle.

Figure 14. Using an External Clock.

XTAL2

4.1. Machine Cycles
A machine cycle consists of a sequence of 6 states,
numbered S 1 through S6. Each state time lasts for two
oscillator periods. Thus a machine cycle takes 12
oscillator periods or 1 !ls if the oscillator frequency is 12
MHz.
Each state is divided into a Phase 1 half and a Phase 2 half.
Figure 15 shows the fetch/execute sequences in states and
phases for various kinds of instructions. Normally two
program fetches are generated during each machine
cycle, even if the instruction being executed doesn't
require it. If the instruction being executed doesn't need
more code bytes, the CPU simply ignores the extra fetch,
and the Program Counter is not incremented.

EXTERNAL
CLOCK·_.......- - I XTAL 1
SIGNAL
VSS

MHSC51

1.1.18

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 15. State Sequences in TEMIC C51.

OSC
(XTAL2)

II

ALE
READ OPCODE

I

+~"""':-:-T"'::-""""L..,,-.,......,.....,...-+ :~

NEXT OPCODE AGAIN

(A) 1-byte, 1-cycle instruction, e.g., INC A.

+::-:-......,:-:-T"'::-r::L..,~.....,.....,...-+

f::

NEXT OPCODE

(C) 1-byte, 2-cycle instruction, e.g., INC DPTIjl.

I
I
I
I
I

I
I

READ OPCODE
(MOVX).
READ NEXT
OPCODE (DISCARD).

ACCESS EXTERNAL MEMORY

Execution of a one-cycle instruction (Figure l5A and B)
begins during State I of the machine cycle, when the
opcode is latched into the Instruction Register. A second
fetch occurs during S4 of the same machine cycle.
Execution is completed at the end of State 6 of this
machine cycle.

MATRAMHS
Rev. E (14 Jan. 97)

The MOVX instructions take two machine cycles to
execute. No program fetch is generated during the second
cycle of a MOVX instruction. This is the only time
program fetches are skipped. The fetch/execute sequence
for MOVX instructions is shown in Figure 15 (D).

Ll.19

TEMIC

CSt Family

Semiconductors

The fetch/execute sequences are the same whether the
Program Memory is internal or external to the chip.
Execution times do not depend on whether the Program
Memory is internal or external.

If an access to external Data Memory occurs, as shown in
Figure 16 (B), two PSENs are skipped, because the
address and data bus are being used for the Data Memory
access.

Figure 16 shows the signals and timing involved in
program fetches when the Program Memory is external.
If Program Memory is external, then, the Program
Memory read strobe PSEN is normally activated twice
per machine cycle, as shown in Figure 16 (A).

Figure 16. Bus Cycles in TEMIC CSI Devices Executing from External Program Memory.

ALE
PSEN
RD

--------+-----------;-----------+-----------+-----------7-----

P2

(A)
WITHOUT A
MOVX.

PO

PCLOUT
VALID

PCLOUT
VALID

PCLOUT
VALID

CYCLE2~

r---CYCLE1

I

S1

PCLOUT
VALID

I S2 I S3 I S4 I

S5

I

I S2 I S3 I S4 I S5 I

S6

I

ALE
PSEN
RD

--------+-----------;-----,

(8)

WITH A
MOVX.

P2
PO

t

PCLOUT
VALID

ADDROUT
VALID

t

PCLOUT
VALID

Note that a Data Memory bus cycle takes twice as much
time as a Program Memory bus cycle. Figure 16 shows the
relative timing of the addresses being emitted at ports 0
and 2, and of ALE and PSEN. ALE is used to latch the low
address byte from PO into the address latch.

1.1.20

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

When the CPU is executing from internal Program
Memory, PSEN is not activated, and program addresses
are not emitted. However, ALE continues to be activated
twice per machine cycle and SO is available as a clock
output signal. Note, however, that one ALE is skipped
during the execution of the MOVX instruction.

What follows is an overview of the interrupt structure for
these devices. More detailed information for specific
members of the TEMIC C51 family is provided in the
chapters of this handbook that describe the specific
devices.

4.2.1. Interrupt Enables

4.2. Interrupt Structure
The 80C51 and his ROMless version provide 5 interrupt
sources: 2 external interrupts, 2 timer interrupts, and the
serial port interrupt. the 80C52, 83C154 and 83C154D
and their ROMless version provide these 5 plus a sixth
interrupt that is associated with the third timer/counter
which is present in those devices.

Each of the interrupt source can be individually enabled
or disabled by setting or clearing a bit in the SFR named
IE (Interrupt Enable). This register also contains a global
disable bit, which can be cleared to disable all interrupts
at once. Figure 17 shows the IE register for the 80C51,
80C52 and 83C154 or the 83C154D.

Figure 17. IE (Interrupt Enable) Register in the 80C51, 80C52, 83C154 and 83C154D.
(MSB)

(LSB)

x

EA

ET2

ES

ETl

EXI

ETO

EXO

Symbol

Position

EA

IE.?
IE.6

reserved

ET2

IE.5

enables or disables the Timer 2 overflow or capture interrupt. If ES = 0, the Timer 2
interrupt is disabled.

ES

IE.4

enables or disables the Serial Port interrupt. If ES
disabled.

ETl

IE.3

enables or disables the Timer I Overflow interrupt. If ETl = 0, the Timer I interrupt is
disabled.

EXI

IE.2

enables or disables External Interrupt I. If EXI = O. External Interrupt I is disabled.

ETO

IE. I

enables or disables the Timer 0 Overflow interrupt. If ETO = 0, the Timer 0 interrupt is
disabled.

EXO

IE.O

enables or disables External Interrupt O. If EXO = 0, External Interrupt 0 is disabled.

Function
disables all interrupts. If EA =0, no interrupt will be acknowledged. If EA = I, each
interrupt source is individually enabled or disabled by setting or clearing its enable bit.

4.2.2. Interrupt priorities
Each interrupt source can also be individually
programmed to one of two priority level by setting or
clearing a bit in the SFR named IP (Interrupt Priority).
Figure 18 shows the IP register in the 80C5!, 80C52,
*83C154 and 83C154D.
A low-priority interrupt can be interrupted by a
high-priority interrupt, but not by another low-priority
interrupt.

MATRAMHS
Rev. E (14 Jan. 97)

= 0, the Serial Port interrupt is

A high-priority interrupt can't be interrupted by any other
interrupt source.

If two interrupt requests of different priority levels are
received simultaneously, the request of higher priority
level is serviced. If interrupt requests of the same priority
level are received simultaneously, an internal polling
sequence determines which request is serviced. Thus
within each priority level there is a second priority
structure determined by the polling sequence.

1.1.21

II

TEMIC

cst Family

Semiconductors

Figure 18. IP (Interrupt Priority) Register in the 80C51, 80C52, 83C154 and 83C154D.
(MSB)

(LSB)

x

PCT

PT2

PS

PTI

PXI

PTO

PXO

Functiou

Symbol

Position

PCT

IP.7

83CI54/CI54D only.
Priority interrupt circuit control bit.
The priority register contents are valid and priority assigned interrupts can be processed
when this bit is "0". When the bit is "I", the priority interrupt circuit is stopped, and
interrupts can only be controlled by the interrupt enable register (IE).

IP.6

reserved

PT2

IP.5

defines the Timer 2 interrupt priority level. PT2 = I programs it to the higher priority
level.

PS

IP.4

defines the Serial Port interrupt priority level. PS = 1 programs it to the higher priority
level.

PTI

IP.3

defines the Timer I interrupt priority level. PTI = I programs it to the higher priority
level.

PXI

IP.2

defines the External Interrupt I priority level. PXI = I programs it to the higher priority
level.
.

PTO

IP.I

defines the Timer 0 interrupt priority level. PTO = I programs it to the higher priority
level.

PXO

IP.O

defines the External Interrupt 0 priority level. PXO
level.

Figure 19 shows, for the 80C51, 80C52, 83Cl54 and
83C 154D, how the IE and IP registers and the polling
sequence work to determine which interrupt will be
serviced.
In operation, all the interrupt flags are latched into the
interrupts control system during State 5 of every machine
cycle. The samples are polled during the following
machine cycle. If the flag for an enabled interrupt is found
to be set (1), the interrupt system generates an LCALL to
the appropriate location in Program Memory. unless some
other condition blocks the interrupt. Several conditions
can block an interrupt, among them that an interrupt of
equal or higher priority level is already in progress.

=I programs it to the higher priority

Only the Program Counter is automatically pushed onto
that stack, not the PSW or any other register. Having only
the PC be automatically saved allows the programmer to
decide how much time to spend saving which other
registers. This enhances the interrupt response time,
albeit at the expense of increasing the programmer's
burden of responsability. As a result, many interrupt
functions that are typical in control applications-toggling
a port pin, for example, or reloading a timer, or unloading
a serial buffer can often be completed in less time than it
takes other architectures to commence them.

The hardware-generated LCALL causes the contents of
the Program Counter to be pushed onto the stack, and
reloads the PC with the beginning address of the service
routine. As previously noted (Figure 3), the service
routine for each interrupt begins at a fixed location.

1.1.22

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 19. 80C51, 80C52, 83C154 and 83C154D Interrupt Control System.
IP REGISTER

INTO

II

o--o"(r>-I---l--<>--

I
I
TFO

----------~~~~~--~~~+---~

INTERRUPT
POLLING
SEQUENCE

I

I

~o-+--+---oI

~~--~~

I

0-4C>-1--1---<>.-

TF1

I
I

~4---~~

Jo+--I-o.... 0--+----'.,

RI
TI

I
I
I

~O+--I-o....

TF2
EXF2

I

L-4----T~

INDIVIDUAL
ENABLES

L-,-~

GLOBAL
DISABLE

4.2.3. Simulating a third priority level in software
Some applications require more than the two priority
levels that are provided by on-chip hardware in C51
devices. In these cases, relatively simple software can be
written to produce the same effect as a third priority level.
First, interrupts that are to have higher priority than I are
assigned to priority 1 in the IP (Interrupt Priority) register.
The service routines for priority I interrupts that are
supposed to be interruptible by "priority 2" interrupts are
written to include the following code:
PUSH
MOV
CALL

IE
IE, # MASK
LABEL

~4-----~

'--_---'!.

LOW PRIORITY
INTERRUPT

As soon as any priority 1 interrupt is acknowledged, the
IE (Interrupt Enable) register is redefined so as to disable
all but "priority 2" interrupts. Then, a CALL to LABEL
executes the RETI instruction, which clears the priority
I interrupt-in-progress flip-flop. At this point any priority
1 interrupt that is enabled can be serviced, but only
"priority 2" interrupts are enabled.
POPping IE restores the original enable byte. Then a
normal RET (rather than another RETI) is used to
terminate the service routine. The additional software
adds 10 j.l.s (at 12 MHz) to priority I interrupts.

**********
(execute service routine)

LABEL:

POP
RET
RETI

MATRAMHS
Rev. E (14 Jan. 97)

********
IE

11.23

TEMIC
Semiconductors

cst Family

Hardware Description of the CS1 Family Products

II

Summary
1. Common Features Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.2
1.1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.2
1.2. Oscillator and Clock Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.4
1.3. CPU Timing ........................................................................... 1.2.S
1.4. Port Structures and Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.6
1.S. Accessing External Memory .............................................................. 1.2.10
1.6. Timer/Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.13
1.7. Serial Interface (80CSI and 80CS2 only) .................................................... 1.2.18
1.8. Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.29
1.9. Single Step Operation ................................................................... 1.2.33
1.10. Reset ............................................................................... 1.2.33
1.11. Power-Saving Modes of Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.2.34
1.12. More about the On-chip Oscillator ........................................................ 1.2.36
1.13. Internal Timing ....................................................................... 1.2.37
1.14. CSI Pin Description ................................................................... 1.2.38

2. More Features for C154 Parts ............................................ 1.2.41
2.1. I/O Port Impedance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
2.2 Watchdog and 32-bit Timer/Counter Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
2.3 Power-Reducing Mode ..................................................................
2.4 Frame and Overrun Error Serial Link Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..

MATRAMHS
Rev. E (14 Jan. 97)

1.2.41
1.2.42
1.2.4S

1.2.46

1.2.1

TEMIC

cst Family

Semiconductors

1. Common Features Description
1.1. Introduction
This chapter presents a comprehensive description of the
on-chip hardware features of the TEMIC C51
microcontrollers. Included in this description are :
• The port drivers and how they function both as ports
and, for Ports 0 and 2, in bus operations

•
•
•
•
•

The Timer/Counters
The serial Interface
The Interrupt System
Reset
The reduced Power Modes

Figure 1. CS1 Architecture Block Diagram.
POO-P07

P20-P27

-------l
vee

vs:?,
~

I
I
I
I
I
r--..1-...L..--:/L...-~ I
I
I
I

I

I
I
I
I
I
I
I
I
I

PSEN
ALE
EA
RST

-----I
P1 O-P1 7

P30-P37

* 83C154 and 83C154D only.

1.2.2

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Table 1. The TEMIC CSt Family of Microcontrollers.

··NAME.

DEVICE

ROMLESS
VERSION

8OC51, TSC80C51

80C31

·t(f;;.BIT
TIMf';RS·
4K

128

CMOS

8OC52

80C32

8K

256

83CI54

8OCl54

16K

256

3*

CMOS

32K

256

3*

CMOS

83CI540

II

CMOS

* included watchdog and Timer 32 bits.

The devices under consideration are listed in Table I. As
it becomes unwieldy to be constantly referring to each of
these devices by their individual names, we will adopt a
convention of refering to them generically as 80C5l s,
8OC52s and 83C154s, unless a specific member of the
group is being refered to, in which case it will be
specifically named. The 80C51 s include the TSC8OC51,
8OC51 and 80C3!. The 80C52s are the 80C52 and 80C32.
The 83CI54s are the 83C154, the 80CI54 and the
83C154D.
Figure I. shows a functionnal block diagram of the
80C51s, 80C52s and 83C154s.

Special Function Registers
A map of the on-chip memory area called SFR (Special
Function Register) space is shown in Figure 2. SFRs
marked by parentheses are resident in the 80C52s and
83C154s but not in the 80C51s. IOCON marked by a star
is only resident in the 83C 154s.
Note that not all of the addresses are occupied.
Unoccupied addresses are not implemented on the chip.
Read accesses to these addresses will in general return
random data, and write accesses will have no effect.

Figure 2. SFR Map. (...) Indicates Resident in 80CS2s and 83ClS4s, not in 80CSls.
8 Bytes
F8

*lOCON

FO

B

FF
F7

EF

E8
EO

E7

ACC

OF

08
DO

PSW

C8

(T2CON)

D7

(RCAP2L)

(RCAP2H)

(TL2)

CF

(TH2)

CO

C7
BF

B8

IP

BO

P3

B7

A8

IE

AF

AO

P2

98

SCON

A7
9F

SBUF

97

90

PI

88

TCON

TMOO

TLO

TLi

80

PO

SP

OPL

OPH

THO

THI

8F
PCON

87

* 83CI54s only.

MATRAMHS
Rev. E (14 Jan. 97)

1.2.3

TEMIC

cst Family
User software should not write Is to theses
unimplemented locations, since they may be used in
future TEMIC C51 products to invoke new features. In
that case the reset or inactive values of the new bits will
always be 0, and their active values will be 1.

Semiconductors

1.1.8. Timer registers
Register pairs (THO, TLO), (TH1, TLl), and (TH2, TL2)
are the 16-bit counting registers for Timer/Counters 0, 1,
and 2, respectively.

The functions of the SFRs are described as below.

1.1.9. Capture registers

1.1.1. Accumulator

The register pair (RCAP2H, RCAP2L) are the capture
register for the Timer 2 "capture mode." In this mode, in
response to a transition at the 80C52' s T2EX pin, TH2 and
TL2 are copied into RCAP2H and RCAP2L. Timer 2 also
has a 16-bit auto-reload mode, and RCAP2H and
RCAP2L hold the reload value for this mode. More about
Timer 2's features in Section 1.6.

ACC is the Accumulator register. The mnemonics for
accumulator-specific instructions, however, refer to the
accumulator simply as A.

1.1.2. B Register
The B register is used during multiply and divide
operations. For other instructions it can be treated as
another scratch pad register.

1.1.3. Program status word
The PSW register contains program status information as
detailed in Figure 3.

1.1.4. Stack pointer
The Stack Pointer register is 8 bits wide. It is incremented
before data is stored during PUSH and CALL executions.
While the stack may reside anywhere in on-chip RAM,
the Stack Pointer is initializcd to 07H after a reset. This
causes the stack to begin at location 08H.

1.1.5. Data pointer
The Data Pointer (DPTR) consists of a high byte (DPH)
and a low byte (DPL). Its intended function is to hold a
l6-bit address. It may be manipulated as a 16-bit register
or as two independent 8-bit registers.

1.1.6. Ports 0 to 3
PO, PI, P2 and P3 are the SFR latches of Ports 0,1, 2 and
3, respectively.

1.1.7. Serial data buffer
The Serial Data Buffer is actually two separate registers,
a transmit buffer and a receive buffer register. When data
is moved to SBUF, it goes to the transmit buffer where it
is held for serial transmission. (Moving a byte to SBUF
is what initiates the transmission.) When data is moved
from SBUF, it comes from the receive buffer.

1.2.4

1.1.10. Control registers
Special Function Registers IP, IE, TMOD, TCON,
T2CON, SCON, and PCON contain control and status
bits for the interrupt system, the timer/counters, and the
serial port. They are described in later sections.

1.2. Oscillator and Clock Circuit
XTALI and XTAL2 are the input and output of a
single-stage on-chip inverter, which can be configured
with off-chip components as a Pierce oscillator, as shown
in Figure 4. The on-chip circuitry, and selection of
off-chip components to configure the osci llator are
discussed in Section 1.12.

r

Figure 3. Crystal/Ceramic Resonator Oscillator.
30 pi +/- 10 pi FOR CRYSTALS
40 pi +/-10 pi FOR CERAMIC RESONATORS
18

t-----..--CJ----'-=-i XTAL2

JLr-_+___

-i XTAL1

19
30 pi +/- 10 pi FOR CRYSTALS
40 pi +/- 10 pi FOR CERAMIC RESONATORS

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CS1 Family

Semiconductors

Figure 4. PSW : Program Status Work Register.
(MSB)

CY

(LSB)

AC

FO

RSI

RSO

OV

P

II
Symbol

Position

CY
AC

PSW7
PSW6

FO

PSW.5

RSI

PSW.4

RSO

PSW3

Symbol

Position

OV

PSW2
PSWI
PSWO

p

Note:

Carry nag
Auxiliary Carry nag.
(For BCD operations.)
Flag 0
(Available to the user for general purposes.)
Register bank Select control bits 1 & O. Set/cleared by software to
determine working register bank (see Note).

Name and Significance

Overflow nag.
(reserved)
Parity nag.
Set/cleared by hardware each instruction cycle to indicate and odd/even
number of "one" bits in the accumulator, i.e., even parity.
the contents of (RS I. RSO) enable the working register banks as follows
(O.Q)-Bank 0
(OOH-07H)
(OSH-OFH)
(O.I)-Bank I
(I.O)-Bank 2
(IOH-I7H)
(1.l)-Bank 3
(lSH-IFH)

The oscillator, in any case, drives the internal clock
generator. The clock generator provides the internal
clocking signals to the chip. The internal clocking signals
are at half the oscillator frequency, and define the internal
phases, states, and machine cycles, which are described
in the next section.

MATRAMHS
Rev. E (14 Jan. 97)

Name and Significance

1.3. CPU Timing
A machine cycle consists of 6 states (12 oscillator
periods). Each state is divided into a Phase I half, during
which the Phase I clock is active, and a Phase 2 half,
during which the Phase 2 clock is active. Thus, a machine
cycle consists of 12 oscillator periods, numbered SIPI
(State I, Phase I), through S6P2 (State 6, Phase 2). Each
phase lasts for one oscillator period. Each state lasts for
two oscillator periods. Typically, arithmetic and logical
operations take place during Phase I and internal
register-to-register transfers take place during Phase 2.

1.2.5

cst Family
The diagrams in Figure S show the fetch/execute timing
referenced to the internal states and phases. Since these
internal clock signals are not user accessible, the XTAL2
oscillator signal and the ALE (Address Latch Enable)
signal are shown for external reference. ALE is normally
activated twice during each machine cycle: once during
S I P2 and S2PI, and again during S4P2 and SSPI.
Execution of one-cycle instruction begins at S I P2, when
the opcode is latched into the Instruction Register. If it is
a two-byte instruction, the second byte is read during S4
of the same machine cycle. If it is one-byte instruction,
there is still a fetch at S4, but the byte read (which would
be the next opcode), is ignored, and the Program Counter
is not incremented. In any case, execution is complete at
the end of S6P2. Figures I-SA and I-SB show the timing
for a I-byte, I-cycle instruction and for a 2-byte, I-cycle
instruction.
Most 80CSI instructions execute in one cycle. MUL
(multiply) and DIV (divide) are the only instructions that
take more than two cycles to complete. They take four
cycles.

I.2.6

TEMIC
Semiconductors

Normally, two codes bytes are fetched from Program
Memory during every machine cycle. The only exception
to this is when a MOVX instruction is executed. MOVX
is a I-byte 2-cycle instruction that accesses external Data
Memory. During a MOVX, two fetches are skipped while
the external Data Memory is being addressed and strobed.
Figure I-SC and l-SD show the timing for a normal
I-byte, 2-cycle instruction and for a MOVX instruction.

1.4. Port Structures and Operation
All four ports in the 80CSI are bidirectional. Each
consists of a latch (Special Function Register PO through
P3), an output driver, and an input buffer.
The output drivers of Ports 0 and 2, and input buffers of
Port 0, are used in accesses to external memory. In this
application, Port 0 outputs the low byte of the external
memory address, time-multiplexed with the byte being
written or read. Port 2 outputs the high byte of the external
memory address when the address is 16 bits wide.
Otherwise the Port 2 pins continue to emit the P2 SFR
content.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 5. 80CSI fetchlExecute Sequences.

I ~I~I~I~I~I%I~I~I~I ~I~I%I~

~~~~~~~~~~~~~~~~~~~~~~~~~~

OSC
(XTAL2)

a

ALE

READ NEXT
OPCODE

(DISCAR~:~_

J=

,
READ NEXT OPCODE A r IN .

T-~~--~-'~-'-S~5-r~S-6~

,

(A) 1-byte, 1,-cycle instruction, e.g., INCA.

READ 2ND BYTE.

L_

+-'l-T-::-'-r-::-'-'~-'~-'-::-:--;! ____

READ NEXT OPCODE.

(B) 2-byte, 1'-cycle instruction, e.g., ADD A, #data:

":-=-=-"'-''''-'~-r"--_R_E_A_D_N_E_X_T,OPCODE AGT_J__
___________

S6

~~_-L_'----'-_....L_!--_L--~_-L_'----'----'

(C) 1-byte, 2~cycle instruction, e.g., INC DPTR.
:
:
:

READ OPCODE
(MOVX).
READ NEXT
OPCODE (DISCARD).

READ NEXT OPCODEAGAIN n :
:
'NO
'
: FETCH
NO FETCH
:

:
(D) MOVX (1-byte, 2-cycle).

!__

J __

DATA

L--~

__
-v-_ _- _ - J

ACCESS EXTERNAL MEMORY

All the Port 3 pins, and (in the 80C52) two Port I pins are
multifunctional. They are not only port pins, but also
serve the functions of various special featurcs as listed
below:
Port Pin
*PI.O
*PI.!
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5

Alternate Function
T2 (Timer/Counter 2 external input)
T2EX (Timer/Counter 2 capture/reload
trigger)
RXD (serial input port)
TXD (serial output port)
INTO (external interrupt)
INTI (external interrupt)
TO (Timer/Counter 0 external input)
TI (Timer/Counter 1 external input)

P3.6

WR (external Data memory write strobe)

P3.7

RD (external Data memory read strobe)

* PI.O and Pl.l serve these alternate functions only on the 80C52,
83CI54 and 83C154D.

MATRAMHS
Rev. E (14 Jan. 97)

The alternate functions can only be activated if the
corresponding bit latch in the port SFR contains a 1.
Otherwise the port pin is stuck at O.
1.4.1. I/O Configurations

Figure 6. shows a functional diagram of a typical bit latch
and 1/0 buffer in each of the four ports. The bit latch (one
bit in the port's SFR) is represented as a Type D flip-flop,
which will clock in a value from the internal bus in
response to a "write to latch" signal from the CPU. The
Q output of the flip-flop is placed on the internal bus in
response to a "read latch" signal from the CPU. The level
of the port pin itself is placed on the internal bus in
response to a "read pin" signal from the CPU. Some
instructions that read a port activate the "read latch"
signal, and others activate the "read latch" signal, and
others acti vale the "read pin" signal.

1.2.7

TEMIC

cst Family

Semiconductors

Figure 6. 80CS1 Port Bit Latches and 110 Buffers.
Vee
Vee

WRITE
TO
LATCH

(A) PORT 0 BIT

(B) PORT 1 BIT
ALTERNATE
OUTPUT
FUNCTION

Vee
READ
LATCH

ADDR
CONTROL

READ
LATCH

--1-1

INT. B""U",S

INT. BUS

WRITE
TO
LATCH

WRITE
TO
LATCH

(e) PORT 2 BIT

(D) PORT 3 BIT

* See Figure 7. for details of the internal pullup.
As shown in Figure 6., the output drivers of Ports 0 and
2 are switchable to an internal ADDR and ADDRIDATA
bus by an internal CONTROL signal for use in external
memory accesses. During external memory accesses, the
P2 SFR remains unchanged, but the PO SFR gets Is
written to it.
Also shown in Figure 6., is that if a P3 bit latch contains
a I, then the output level is controlled by the signal
labeled "alternate output function." The actual P3.X pin
level is always available to the pin's alternate input
function, if any.
Ports 1, 2, and 3 have internal pull-ups. Ports 0 has
open-drain outputs. Each 110 line can be independently
used as an input or an output. (Ports 0 and 2 may not be
used as general purpose I/O when being used as the
ADDRIDATA BUS). To be used as an input, the port bit
latch must contain a 1, which turns off the output driver
FET. Then, for Ports 1,2, and 3, the pin is pulled high by
the internal pull-up, but can be pulled low by an external
source.

1.2.8

Port 0 differs in not having internal pullups. The pullup
FET in the PO output driver (see Figure 1-6A) is used only
when the Port is emitting Is during external memory
accesses. Otherwise the pullup FET is off. Consequently
PO lines that are being used as output port lines are open
drain. Writing a 1 to the bit latch leaves both output FETs
off, so the pin floats. In that conditions it can be used as
a high-impedance input.
Because Ports 1, 2, and 3 have fixed internal pull ups they
are sometimes called "quasi-bidirectional" ports. When
configured as inputs they pull high and will source current
(ilL, in the data sheets) when externally pulled low. Port
0, on the other hand, is considered "true" bidirectional,
because when configured as an input it floats.
All the port latches in the 80C51 have 1s written to them
by the reset function. If a 0 is subsequently written to a
port latch, it can be reconfigured as an input by writing a
I to it.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CS1 Family

Semiconductors

1.4.2. Writing to a Port
In the execution of an instruction that changes the value
in a port latch, the new value arrives at the latch during
S6P2 of the final cycle of the instruction. However, port
latches are in fact sampled by their output buffers only
during Phase I of any clock period. (During Phase 2 the
output buffer holds the value it saw during the previous
Phase I). Consequently, the new value in the port latch
won't actually appear at the output pin until the next
Phase I, which be at S I PI of the next machine cycle.
If the change requires a 0-to-1 transition in Port I, 2, or
3, an additional pull-up is turned on during S IPI and
SIP2 of the cycle in which the transition occurs. This is
done to increase the transition speed. The extra pull-up
can source about 100 times the current that the normal
pull-up can. It should be noted that the internal pull-ups
are field-effect transistors, not linear resistors. The
pull-up arrangements are shown in Figure 7.

In the CMOS versions, the pull-up consists of three
pFETs. It should be noted that an n-channel FET (nFET)
is turned on when a logical I is applied to its gate, and is
turned off when a logical 0 is applied to its gate. A
p-channel FET (pFET) is the opposite: it is on when its
gate sees a 0, and off when its gate sees a I.
pFET I in Figure 7. is the transistor that is turned on 2
oscillator periods after a O-to-I transition in the port latch.
While it's on, it turns on pFET 3 (a weak pull-up), through
the inverter. This inverter and pFET form a latch which
hold the I.
Note that if the pin is emitting a I, a negative glitch on the
pin from some external source can turn off pFET 3,
causing the pin to go into a float state, pFET 2 is a very
weak pull-up which is on whenever the nFET is off, in
traditional CMOS style. It's only about III 0 the strenght
of pFET3. Its function is to restore a I to the pin in the
event the pin had a I and lost it to a glitch.

Figure 7. Ports 1 and 3 CMOS Internal Pull-up Configurations.
Port 2 is similar except that it holds the strong pullup on while emitting Is that are address bits.
(See test, "Accessing External Memory".)

CMOS Configuration. pFET 1 is turned on
for 2 osc. periods after Q makes a I-to-O
transition. During this time, pFET 1 also turns
on pFET 3 through the inverter to form a
latch which holds the 1. pFET 2 is also on.

FROMQpORT·D---~-----~'-----+F::..'C..­
LATCH

1~~~Io------<><
READ
PORT PIN

1.4.3. Port loading and interfacing

Figure 8. Port Interfacing.

The output buffer of Ports I, 2 and 3 can each drive 3LS
TIL inputs. The pins can be driven by open-collector and
open-drain outputs, but note that O-to-l transition will not
be fast. In the CMOS device, an input 0 turns off pullup
P3, leaving only the weak pullup P2 to drive the transistor.
The Figure 8. shows an example where the port is driven
by an open drain transistor tN. The parasitic capacitance
is equal to 100pP.

MATRAMHS
Rev. E (14 Jan. 97)

1.2.9

II

TEMIC

cst Family

Semiconductors

The Figure 9. shows the behaviour of the port during
O-to-1 transition.
In the area A only pullup P2 sinks the capacitor and takes
5 I.ls to switch from 0 volt to 2 volts. In the area B, pullup
P2 and P3 feed the capacitor and the time to charge the
capacitor is divide roughly by ten. So this figure shows it
takes some machine cycles before having a true high level
during a O-to-l transition.

The reason that read-modify-write instructions are
directed to the latch rather than the pin is to avoid a
possible misinterpretation of the voltage level at the pin.
For example, a port bit might be used to drive the base of
a transistor. When a I is written to the bit, the transistor
is turned on. If the CPU then reads the same port bit at the
pin rather than the latch, it will read the base voltage of
the transistor and interpret it as a O. Reading the latch
rather than the pin will return the correct value of I.
Further details are given in the next chapter concerning
the powerful functions of the 83CI54 I/O PORTS.

Figure 9. Port Behaviour During O-to-l
Transition.

1.5. Accessing External Memory
Accesses to external memory are of two types : accesses
to external Program Memory and accesses to external
Data Memory. Accesses to external Program Memory use
signal PSEN (program store enable) as the read strobe.
Accesses to external Data Memory use RD or WR
(alternate function of P3.7 and P3.6) to strobe the
memory.

B

IL--t--t-...L..-t--t--t--+-+-+--~t("")
10

12

14

16

1.4.4. Read-Modify-Write Feature
Some instructions that read a port read the latch and
others read the pin. Which ones do which ? The
instructions that read the latch rather than the pin are the
ones that read a value, possibly change it, and then rewrite
it to the latch. These are called "read-modify-write"
instructions. The instructions listed below are
read-modify-write instructions. When the destination
operand is a port, or a port bit, these instructions read the
latch rather than the pin:
ANL
(logical AND, e.G., ANL PI ,A)
ORL
(logical OR, e.g., ORL P2,A)
XRL
(logical EX-OR, e.g., XRL P3,A)
JBC
(jump if bit = I and clear bit, e.g., JBC
Pl.1, LABEL)
(complement bit, e.g., CPL P3.0)
CPL
(increment, e.g., INC P2)
INC
DEC
(decrement, e.g., DEC P2)
DJNZ
(decrement and jump if not zero, e.g.,
DJNZ P3, LABEL)
MOVPX.Y,C
(move carry bit to bit Y of Port Xl
(clear bit Y of Port X)
CLRPX.Y
SETB PX.Y
(set bit Y of Port X)

Fetches from external Program memory always use a
16-bit address. Accesses to external Data Memory can
use either a 16-bit address (MOVX @DPTR) or an 8-bit
address (MOVX @Ri).
Whenever a 16-bit address is used, the high byte of the
address comes out on Port 2, where it is held for the
duration of the read or write cycle. Note that the Port 2
drivers use the strong pullups during the entire time that
they are emitting address bits that are 1s. This is during
the execution of a MOVX @DPTR instruction. During
this time the Port 2 latch (the Special Function register)
does not have to contain I s, and the contents of the Port
2 SFR are not modified. If the external memory cycle is
not immediately followed by another external memory
cycle, the undisturbed contents of the Port 2 SFR will
reappear in the next cycle.
If an 8-bit address is being used (MOVX @Ri), the
contents of the Port 2 SFR remain at the Port 2 pins
throughout the external memory cycle. This will facilitate
paging.

It is not obvious that the last three instructions in this list
are read-modify-write instructions, but they are. They
read the port byte, all 8 bits, modify the addressed bit, then
write the new byte back to the latch.

1.2.10

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

In any case, the low byte of the address is
time-multiplexed with the data byte on Port O. The
ADDRIDATA signal drives both FETs in the Port 0 output
buffers. Thus, in this application the Port 0 pins are not
open-drain outputs, and do not require external pull-ups.
Signal ALE (address latch enable) should be used to
capture the address byte into an external latch. The
address byte is valid at the negative transitions of ALE.
Then, in a write cycle, the data byte to be written appears
on Port 0 just before WR is activated, and remains there
until after WR is deactivated. In a read cycle, the
incoming byte is accepted at Port 0 just before the read
strobe is desactivated.
During any access to external memory, the CPU writes
OFFH to the Port 0 latch (the Special Function Register),
thus obliterating whatever information the Port 0 SFR
may have been holding.
External program Memory is accessed under two
conditions:
I) Whenever signal EA is active; or
2) Whenever the program counter (PC) contains a
number that is larger than OFFFH (lFFFH for the
80C52, 3FFFH for the 83CI54 and 7FFFH for the
83C154D.
This requires that the ROMless versions have EA wired
low to enable the lower 4K (8K for the 80C32, 16K for the
80CI54 and 32K for the 80C154D) program bytes to be
fetched from external memory.

MATRAMHS
Rev. E (14 Jan. 97)

When the CPU is executing out of external Program
Memory, all 8 bits of Port 2 are dedicated to an output
function and may not be used for general purpose I/O.
During external program fetches they output the high byte
of the Pc. During this time the Port 2 drivers use the
strong pull ups to emit PC bits that are Is.

PSEN
The read strobe for external fetches is PSEN. PSEN is not
activated for internal fetches. When the CPU is accessing
external Program Memory, PSEN is activated twice every
cycle (except during a MOVX instruction) whether or not
the byte fetched is actually needed for the current
instruction. When PSEN is activated its timing is not the
same as RD. A complete RD cycle, including activation
and deactivation of ALE and RD, takes 12 oscillator
periods. A complete PSEN cycle, including activation
and deactivation of ALE and PSEN, takes 6 oscillator
periods. The execution sequence for these two types of
read cycles are shown in Figure 10 for comparison.

I.2.11

II

TEMIC

cst Family

Semiconductors

Figure 10. External Program Memory Execution.

ALE

:

P2

P~ I

PCH OUT

,

X:

X:
I

PCH OUT

PCH OUT

X:

w

,WITHOUT A

PCH OUT

~UT

MOv)(.

PO

ALE
PSEN
(B)
WITH A

RD

MOVX.
P2 PCH OU

'PCH OUT

,

DPH OUT OR P2 OUT

tPCLOUT
VALID

tADDROUT
VALID

, PCHOUT

CHOUT

PO

ALE
The main function of ALE is to provide a properly timed
signal to latch the low byte of an address from PO to an
external latch during fetches from external Program
Memory. For that purpose ALE is activated twice every
machine cycle. This activation takes place even when the
cycle involves no external fetch. The only time an ALE
pulse doesn't come out is during an access to external
Data Memory. The first ALE of the second cycle of a
MOVX instructions is missing (see Figure 10.).
Consequently, in any system that does not use external
Data Memory, ALE is activated at a constant rate of 1/6
the oscillator frequency, and can be used for external
clocking or timing purposes.

1.2.12

tPCLOUT
VALID

Overlapping External Program and Data Memory
Spaces
In some applications it is desirable to execute a program
from the same physical memory that is being used to store
data. In the 80CS1, the external Program and Data
Memory spaces can be combined by ANDing PSEN and
RD. A positive-logic AND of these two signals produces
an active-low read strobe that can be used for the
combined physical memory. Since the PSEN cycle is
faster than the RD cycle, the external memory needs to be
fast enough to accomodate the PSEN cycle.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

In addition to the "timer" or "counter" selection, Timer

1.6. Timer/Couuters
The 80C51 has two 16-bit timerlcounter registers: Timer

o and Timer 1. The 80C52, 83Cl54 and 83Cl54D have

these two plus one more : Timer 2. All three can be
configured to operate either as timers or event counters.

o and Timer I have four operating modes from which to

select. Timer 2, in the 80C52, 83CI54 and 83C154D has
three modes of operation: "capture," "auto-reload" and
"baud rate generator."

II

In the "timer" function, the register is incremented every
machine cycle. Thus, one can think of it as counting
machine cycles. Since a machine cycle consists of 12
oscillator periods, the count rate is 1112 of the oscillator
frequency.
In the "counter" function, the register is incremented in
response to a I-to-O transition at its corresponding
external input pin, TO, T1 or (in the 80C52, 83C154 and
83C154D) T2. In this function, the external input is
sampled during S5P2 of every machine cycle. When the
samples show a high in one cycle and a low in the next
cycle, the count is incremented. The new count value
appears in the register during S3Pl of the cycle following
the one in which the transition was detected. Since it takes
2 machine cycles (24 oscillator periods) to recognize a
I-to-O transition, the maximum count rate is 1124 of the
oscillator frequency. There are no restrictions on the duty
cycle of the external input signal, but to ensure that a
given level is sampled at least once before it changes, it
should be held for at least one full machine cycle.

Figure 11. TMOD : Timer/Counter Mode Control Register.
(LSB)

(MSB)

I GATE

err

MI

TIMER 1

GATE

eiT

err

Ml

MO

TIMER 0

Gating control When set. Timer/counter "x" is enabled only while "INTx" pin is high and "TRx" control pin is
set. When cleared Timer "x" is enabled whenever "TRx" control bit is set.
Timer or Counter Selector Cleared for Timer operation (input from internal system clock.) Set for Counter
operation (input from "Tx" input pin).

Ml

MO

o
o

o

MATRAMHS
Rev. E (14 Jan. 97)

MO

o

Operatong Mode
MCS-48 Timer "TLx" serves as five-bit prescaler.
16 bit Timer/Counter "THx" and "TLx" are cascaded; there is no prescaler
8 bit auto-reload timer-counter "THx" holds a value which is to be reloaded into ''TLx''
each timer it overflows.
(Timer 0)
TLO is an eight bit timer counter-controlled by the standard Timer 0 control
bits THO is an eight-bit timer only controlled by Timer I control bits.
(Timer I)
Timer-counter I stopped.

I.2.13

TEMIC

cst Family

Semiconductors

Timer 0 and Timer I
These timer/counter are. present in both the 80C51, the
80C52, the 83CI54 and the 83C154D. The "timer" or
"counter" function is selected by control bits CIT in the
Special Function Register TMOD (Figure I!,). These two
timer/counters have four operating modes, which are
selected by bit-pairs (MI, MO) in TMOD. Modes 0, I, and
2 are the same for both timer/counters. Modes 3 is
different. The four operating modes are described below.

The 13-bit register consists of all 8 bits of THI and the
lower 5 bits of TLI. The upper 3 bits of TLI are
indeterminate and should be ingored. Setting the run flag
(TRI) does not clear the registers.
Mode 0 operation is the same for Timer 0 as for Timer I.
Substitute TRO, TFO and INTO for the corresponding
Timer I signals in Figure 12. There are two different
GATE bits, one for Timer I (TMOD.7) and one for Timer
o (TMOD.3).
Model

Mode 0
Putting either Timer into mode 0 makes it look like an
8048 Timer, which is an 8-bit counter with a divide-by-32
prescaler. Figure 12. shows the mode operation as it
applies to Timer I.

°

In this mode, the timer register is configured as a 13-bit
register. As the count rolls over from all I s to all Os, it sets
the timer interrupt flag TFI. The counted input is enabled
to the Timer when TRI = I and either GATE = 0 or
INTI = 1. (Setting GATE =1 allows the Timer to be
controlled by external input INTI, to facilitate pulse
width measurements). TRI is a control bit in the Special
Function register TCON (Figure 1-10). GATE is in
TMOD.

Mode I is the same as Mode 0, except that the Timer
register is being run with all 16 bits.
Mode 2
Mode 2 configures the timer register as an 8-bit counter
(TLI) with automatic reload, as shown in Figure 14.
Overflow from TLI not only sets TFI, which is preset by
sofware. The reload leaves THI unchanged.
Mode 2 operation is the same for Timer/Counter O.
Mode 3
Timer I in Mode 3 simply holds its count. The effect is the
same as setting TRI = O.

Figure 12. Timer/Counter I Mode 0 : 13-bit Counter.

clf; 0
T1 Pin

I.2.14

____--'t c1f;
-

INTERRUPT
1

CONTROL

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 13. TCON : Timer/Counter Control Register.
(MSB)

TFI

(LSB)

TRI

TFO

TRO

lEI

ITI

lEO

ITO

II
Symbol

Position

TFI

TCON.7

TRI

TCON.6

TFO

TCON.5

TRO

TCON.4

Symbol

Position

lEI

TCON.3

ITI

TCON.2

lEO

TCON.I

ITO

TCON.O

Timer 0 in Mode 3 establishes TLO and THO as two
separate counters. The logic for Mode 3 on Timer 0 is
shown in Figure IS. TLO uses the Timer 0 control bits:
CIT, GATE, TRO, INTO, and TFO. THO is locked into a
timer function (counting machine cycles) and takes over
the use of TRI and TFI from Timer 1. Thus THO now
controls the "Timer I" interrupt.

Name and Significance
Timer I overflow Flag. Set by hardware on timer/counter overflow.
Cleared by hardware when processor vectors to interrupt routine.
Timer 1 Run control bit. Set/cleared by software to turn timerlcounter
on/off.
Timer 0 overt1ow Flag. Set by hardware on timer/counter overflow.
Cleared by hardware when processor vectors to interrupt routine.
Timer 0 Run control bit. Set/cleared by software to turn timer/counter
on/otT.

Name and Significance
Interrupt I Edge flag. Set by hardware when external interrupt edge
detected. Cleared when interrupt processed.
Interrupt I Type control bit. Set/cleared by software to specify falling
edge/low level triggered external interrupts.
Interrupt 0 Edge flag. Set by hardware when external interrupt edge
detected. Cleared when interrupt processed.
Interrupt 0 Type control bit. Set/cleared by software to specify faIling
edge/low level triggered external interrupts.

Timer 2
Timer 2 is a 16-bit timer/counter which is present only in
the 80CS2, 83CIS4 and 83CIS4D. Like Timers 0 and I,
it can operate either as a timer or as an event counter.

Mode 3 is provided for applications requiring an extra
8-bit timer or counter. With Timer 0 in Mode 3, an 80CSI
can look like it has three timer/counters, and an 80CS2,
an 83CIS4 and 83CIS4D, like it has four. When Timer 0
is in Mode 3, Timer 1 can be turned on and off by
switching it out of and into its own Mode 3, or can still be
used by the serial port as a baud rate generator, or in fact,
in any application not requiring an interrupt.

MATRAMHS
Rev. E (14 Jan. 97)

1.2.IS

TEMIC

CS1 Family

Semiconductors

Figure 14. Timer/Counter 1 Mode 2: 8-bit Auto-reload.

cif = 0
INTERRUPT

____--->t- cif = 1
T1 Pin
TR1----\
GATE

Figure 15. Timer/Counter 0 Mode 3 : Two 8-bit Counters.

8--G----

1/12fOSC

1/12fOSC

INTERRUPT

TO Pin - - - - - - '

CONTROL

GATE

1/12fosc

R:

'~INTERRUPT

FNTROL
TR1 - - - - - - - '

1.2.16

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 16. T2CON : Timer/Counter 2 Control Register.
(MSB)
TF2

(LSB)
EXF2

I

RCLK

TCLK

I

EXEN2

I

TR2

Cm

I CP/RL2 I

Symbol

Position

Name and Significance

TF2

T2CON.7

Timer 2 overflow flag set by a Timer 2 overflow and must be cleared by software. TF2 will not
be set when either RCLK = 1 or TCLK = I

EXF2

T2CON.6

Timer 2 external flag set when either a capture or reload is caused by a negative transition on
T2EX and EXEN2 = I. When Timer 2 interrupt is enabled, EXF2 = 1 will cause the CPU to
vector to the Timer 2 interrupt routine. EXF2 must be cleared by software.

RCLK

T2CON.5

Receive clock nag. When set, causes the serial port to use Timer 2 overflow pulses for its
receive clock in modes 1 and 3. RCLK:::: 0 causes Timer I overflow to be used for the receive
clock.

TCLK

T2CON.4

Transmit clock flag. When set, causes the serial port to use Timer 2 overflow pulses for its
transmit clock in modes 1 and 3. TCLK = 0 causes Timer I overllows to be used for the
transmit clock.

EXEN2

T2CON.3

Timer 2 external enable tlag. When set, allows a capture or reload to occur as a result of a
negative transition on T2EX if Timer 2 is not being used to clock the serial port. EXEN2 == 0
causes Timer 2 to ignore events at T2EX.

TR2

T2CON.2

Start/stop control for Timer 2. A logic I starts the timer.

Cm

T2CON.l

Timer or counter select. (Timer 2) 0 == Internal timer (OSCIl2) J == External event counter
(falling edge triggered).

CPIRL2

T2CON.O

CapturelReload flag. When set, captures will occur on negative transitions at T2EX if EXEN2
= I. When cleared, auto reloads will occur either with Timer 2 overflows or negative
transitions at T2EX when EXEN2 = I. When either RCLK = I or TCLK = I, this bit is ignored
and the timer is forced to auto-reload on Timer 2 overllow.

This is selected by bit Cff2 in the Special Function
Register T2CON (Figure 16), It has three operating
modes: "capture," "autoload" and "baud rate generator,"
which are selected by bits in T2CON as shown in Table 2,

Table 2. Timer 2 Operating Modes.

o
o

x

MATRAMHS
Rev. E (14 Jan. 97)

o

Hi-bit auto-reload
l6--bit capture

x
x

baud rate generator

o

(oft)

In the capture mode there are two options which are
selected by bit EXEN2 in T2CON. If EXEN2 = 0, then
Timer 2 is a 16-bit timer or counter which upon
overflowing sets bit TF2, the Timer 2 overflow bit, which
can be used to generate an interrupt If EXEN2 = I, then
Timer 2 still does the above, but with the added feature
that a I-to-O transition at external input T2EX causes the
current value in the Timer 2 registers, TL2 and TH2, to
be captured into registers RCAP2L and RCAP2H,
respectively, (RCAP2L and RCAP2H are new Special
Function Registers in the 80C52, 83CI54 and 83C154D.
In addition, the transition at T2EX causes bit EXF2 in
T2CON to be set, and EXF2, like TF2, can generate an
interrupt
The capture mode is illustrated in Figure 17.

1.2.17

II

TEMIC

cst Family

Semiconductors

Figure 17. Timer 2 in Capture Mode.

t

c!f2= 1

T2 Pin - - - - - - - ' -

TIMER 2
INTERRUPT

T2EX PIN

EXEN2

In the auto-reload mode there are again two options,
which are selected by bit EXEN2 in T2CON. If EXEN2 =
0, then when Timer 2 rolls over it not only sets TF2 but
also causes the Timer 2 registers to be reloaded with the
l6-bit value in registers RCAP2L and RCAP2H, which
are preset by software. If EXEN2 = 1, then Timer 2 still
does the above, but with the added feature that a I-to-O
transition at external input T2EX will also trigger the
16-bit reload and set EXF2.
The auto-reload mode is illustrated in Figure 18.
The baud rate generator mode is selected by RCLK = I
and/or TCLK = I. It will be described in conjunction with
the serial port.

1.2.18

1.7. Serial Interface (80CS1 and 80CS2 only)
The serial port is full duplex, meaning it can transmit and
receive simultaneously. It is also receive-buffered,
meaning it can commence reception of a second byte
before a previoulsy received byte has been read from the
receive register. (However, if the first byte still hasn't
been read by the time reception of the second byte is
complete, one of the bytes will be lost). The serial port
receive and transmit registers are both accessed at Special
Function Register SBUF. Writing to SBUF loads the
transmit register, and reading SBUF accesses a physically
separate receive register.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 18. Timer 2 in Auto-Reload Mode.

em 0
_____--'_i em = 1
T2 Pin
=

II
TIMER 2
INTERRUPT

T2EX PIN

EXEN2

The serial port can operate in 4 modes:

1.7.1. Multiprocessor Communications

Mode 0: Serial data enters and exits through RXD. TXD
outputs the shift clock. 8 bits are transmitted/received: 8
data bits (LSB first). The baud rate is fixed at III 2 the
oscillator frequency.

Modes 2 and 3 have a special provision for
multiprocessor, communications. In these modes, 9 data
bits are received. The 9th one goes into RB8. Then comes
a stop bit. The port can be programmed such that when the
stop bit is received, the serial port interrupt will be
activated only if RB8 = l. This feature is enabled by
setting bit SM2 in SCaN. A way to use this feature in
multiprocessor systems is as follows.

Mode 1 : 10 bits are transmitted (through TXD) or
received (through RXD) : a start bit (0), 8 data bits (LSB
first), and a stop bit (I). On receive, the stop bit goes into
RB8 in Special Function Register SCaN. The baud rate
is variable.
Mode 2 : II bits are transmitted (through TXD) or
received (through RXD) : a start bit (0), 8 data bits (LSB
first), a programmable 9th data bit, and a stop bit (I). On
transmit, the 9th data bit (TB8 in SCaN) can be assigned
the value of 0 or I. Or, for example, the parity bit (P, in the
PSW) could be moved into TB8. On receive, the 9th data
bit goes into RB8 in Special Function register SCaN,
while the stop bit is ignored. The baud rate is
programmable to either 1/32 or 1/64 the oscillator
frequency.

When the master processor wants to transmit a block of
data to one of several slaves, it first sends out an address
byte which identifies the target slave. An address byte
differs from a data byte in that the 9th bit is I in an address
byte and 0 in a data byte. With SM2 = I, no slave will be
interrupt by a data byte. An address byte, however, will
interrupt all slaves, so that each slave can examine the
received byte and see if it is being addressed. The
addressed slave will clear its SM2 bit and prepare to
receive the data bytes that will be coming. The slaves that
weren't being addressed leaved their SM2s set and go on
about their business, ignoring the coming data bytes.
SM2 has no effect in Mode 0, and in Mode I can be used
to check the validity of the stop bit. In a Mode I reception,
if SM2 = 1, the receive interrupt will not be activated
unless a valid stop bit is received.

Mode 3 : 11 bits are transmitted (through TXD) or
received (through RXD) : a start bit (0), 8 data bits (LSB
first), a programmable 9th data bit and a stop bit (1). In
fact, Mode 3 is the same as Mode 2 in all respects except
the baud rate. The baud rate in Mode 3 is variable.

Serial port Control Register

In all four modes, transmission is initiated in Mode 0 by
the condition RI = 0 and REN = l. Reception is initiated
in Mde 0 by the condition RI = 0 and REN = 1. Reception
is initiated in the other modes by the incoming start bit if
REN= l.

The serial port control and status register is the Special
Function Register SCaN, shown in Figure 19. This
register contains not only the mode selection bits, but also
the 9th data bit for transmit and receive (TB8 and RB8),
and the serial port interrupts bits (TI and RI).

MATRAMHS
Rev. E (14 Jan. 97)

1.2.19

TEMIC

cst Family

Semiconductors

Figure 19. SCON : Serial Port Control Register.
(MSB)

(LSB)

SMO

SMI

SM2

REN

where SMO, SM I specify the serial port mode, as follows:
SMO

SMI

Mode

Description

Baud Rate

0

0

0

shift register

fOSC'/1 2

8bitUART

variable

0
0

• SM2

9bitUART

fosc./64 or
fosc./ 32

9bitUART

variable

enables the mUltiprocessor communication feature in
modes 2 and 3. In mode 2 or 3, if SM2 is set to I then RI

will not be activated if the received 9th data bit (RBS) is O.
In mode I, if SM2 = I then RI will not be activated if a
valid stop bit is not received. In mode 0, SM2 should be O.
• REN

• TB8

RBS

TI

RI

is the 9th data bit that will be transmitted in modes 2 and 3 .
Set or clear by software as desired.

• RBS

in modes 2 and 3, is the 9th data bit that was received. In
mode I, if SM2 = 0, RBS is the stop bit that was received.

• TI

is transmit interrupt flag. Set by hardware at the end of the
8th bit time in mode 0, or at the beginning of the stop bit in
the other modes, in any serial transmission. Must be
cleared by software.

In mode 0, RB8 is not used.

·Rl

is receive interrupt flag. Set by hardware at the end of the

8th bit time in mode 0, or halfway through the stop bit time
in the other modes, in any serial reception (except see

SM2). Must be cleared by software.

enables serial reception. Set by software to enable
reception. Clear by software to disable reception.

1.7.2. Baud Rates
The baud rate in Mode 0 is fixed:
M d 0B d R
_ Oscillator Frequency
o e
au
ate 12
The baud rate in Mode 2 depends on the value of bit
SMOD in Special Function Register PCON. If SMOD =
(which is its value on reset), the baud rate is 1/64 the
oscillator frequency. If SMOD I, the baud rate is 1/32
the oscillator frequency.

o

TB8

=

2SMOD x (Oscillator Frequency)
Mode 2 Baud Rate = ~
In the 80C51, the baud rates in Modes 1 and 3 are
determined by the Timer I overflow rate. In the 80C52,
83CI54 and 83C154D, these baud rates can be
determined by Timer I, or by Timer 2, or by both (one for
transmit and the other for receive).

The Timer I interrupt should be disabled in this
application. The Timer itself can be configured for either
"timer" or "counter" operation, and in any of its 3 running
modes. In the most typical applications, it is configured
for "timer" operation, in the auto-reload mode (high
nibble of TMOD = OOlOB). In that case, the baud rate is
given by the formula
Modes 1,3
2SMOD
Oscillator Frequency
Baud rate = 32 x 12 x [256 - (THI)l
One can achieve very low baud rates with Timer I by
leaving the Timer I interrupt enabled, and configuring the
Timer to run as a 16-bit timer (high nibble of TMOD =
OOOIB), and using the Timer 1 interrupt to do a 16-bit
software reload.
Figure 20. lists various commonly used baud rates and
how they can be obtained from Timer L

1.7.3. Using Timer 1 to Generate Baud Rates
When Timer I is used as the baud rate generator, the baud
rates in Modes 1 and 3 are determined by the Timer 1
overflow rate and the value of SMOD as follows:
Modes 1, 3
2SMOD
Baud rate = ---:l2- X (Timer 1 Overflow rate)

1.2.20

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 20. Timer 1 Generated Commonly Used Baud
Rates.

MODE 0 MAX : IMHZ
MODE 2 MAX: 375K
MODES 1.3 : 62.5K
19.2K
9.6K
4.SK
2.4K
UK
137.5
110
110

12MHZ
12MHZ
12 MHZ
11.059 MHZ
I 1.059 MHZ
I 1.059 MHZ
11.059 MHZ
11.059 MHZ
I 1.986 MHZ
6MHZ
12MHZ

1.7.4. Using Timer 2 to Generate Baud Rates
In the 80C52, 83Cl54 and 83C154D, Timer 2 is selected
as the baud rate generator by setting TCLK and/or RCLK
in T2CON (Figure 16.). Note then the baud rates for
transmit and receive can be simultaneously different.
Setting RCLK and/or TCLK puts Timer 2 into its baud
rate generator mode, as shown in Figure 21.

FFH
FDH
FDH
FAH
F4H
ESH
IDH
72H
FEEBH

0
0
0
0
0
0

Figure 21. Timer 2 in Baud Rate Generator Mode.
TIMER 1
OVERFLOW
NOTE

~
OSC

OSC.FREQ IS DIVIDED BY2. NOT 12

+2

cm
_____--'_t cm
T2 PIN

=

0

,-----,,------,

= 1

RXCLOCK

TX CLOCK

"TIMER 'Z
INTERRUPT

T2EX PIN

EXEN2

L

NOTE AVAILABI L1TY OF ADDITIONNAL EXTERNAL INTERRUPT

The baud rate generator mode is similar to the auto-reload
mode, in that a rollower in TH2 causes the Timer 2
registers to be reloaded with the 16-bit value in registes
RCAP2H and RCAP2L, which are preset by software.
Now, the baud rates in Modes I and 3 are determined by
Timer 2's overflow rate as follows:
Modes 1, 3 Baud Rate

MATRAMHS
Rev. E (14 Jan. 97)

=

Timer 2 O~~rflow rate

The Timer can be configured for either "timer" or
"counter" operation. In the most typical applications, it is
configured for "timer" operation (CIT2 = 0). "Timer"
operation is a little different for Timer 2 when it's being
used as a baud rate generator. Normally as a timer it would
increment every machine cycle (thus at 1112 the oscillator
frequency). As a baud rate generator, however, it
increment every state time (thus at 112 the oscillator
frequency). In that case the baud rate is given by the
formula

1.2.21

II

TEMIC

cst Family
Modes 1,3
Baud rate

32

X

Oscillator Frequency
[65536-(RCAP2H, RCAP2L)]

where (RCAP2H, RCAP2L) is the content of RCAP2H
and RCAP2L taken as a 16-bit unsigned integer,
Timer 2 as a baud rate generator is shown in Figure 21.
This Figure is valid only if RCLK + TCLK = I in T2CON,
Note that a rollover in TH2 does not set TF2, and will not
generate an interrupt Therefore, the Timer 2 interrupt
does not have to be disabled when Timer 2 is in the baud
rate generator mode, Note too, that if EXEN2 is set, a
I-to-O transition in T2EX will set EXF2 but will not cause
a reload from (RCAP2H, RCAP2L) to (TH2, TL2). Thus
when Timer 2 is in use as a baud rate generator, T2EX can
be used as an extra external interrupt, if desired.
It should be noted that when Timer 2 is running (TR2 =
I) in "timer" function in the baud rate generator mode,
one should not try to read or write TH2 or TL2. Under
these conditions the Timer is being incremented every
state time, and the results of a read or write may not be
accurate. The RCAP registers may be read, but shouldn't
be written to, because a write might overlap a reload and
cause write andlor reload errors. Turn the Timer off (clear
TR2) before accessing the Timer 2 or RCAP registers, in
this case.

More About Mode 0
Serial data enters and exits through RXD. TXD outputs
the shift clock. 8 bits are transmittedlreceived: 8 data bits
(LSB first). The baud rate is fixed at 1112 the oscillator
frequency.
Figure 22. shows a simplified functional diagram of the
serial port in mode 0, and associated timing.
Transmission is initiated by any instruction that uses
SBUF as a destination register. The "write to SBUF"
signal at S6P2 also loads a I into the 9th bit position of the
transmit shift register and tells the TX Control block to
commence a transmission. The internal timing is such
that one full machine cycle will elapse between "write to
SBUF", and activation of SEND.
SEND enables the output of the shift register to the
alternate output function line of P3.0, and also enables
SHIFT CLOCK to the alternate output function line of
P3.1. SHIFT CLOCK is low during S3, S4, and S5 of
every machine cycle, and high during S6, S I and S2. At
S6P2 of every machine cycle in which SEND is active,
the contents of the transmit shift register are shifted to the
right one position.

1.2.22

Semiconductors

As data bits shift out to the right, zeros come in from the
left When the MSB of the data byte is at the output
position of the shift register, then the I that was initially
loaded into the 9th position, is just to the left of the MSB,
and all positions to the left of that contain zeros. This
condition flags the TX Control block to do one last shift
and then deactivate SEND and set TI. Both of these
actions occur at SIPI of the 10th machine cycle after
"write to SBUF."
Reception is initiated by the condition REN = I and RI =
O. At S6P2 of the next machine cycle, the RX Control unit
writes the bits 11111110 to the receive shift register, and
in the next clock phase activates RECEIVE.
RECEIVE enables SHIFT CLOCK to the alternate output
function line of P3.1. Shift CLOCK makes transitions at
S3PI and S6Pl of every machine cycle. At S6P2 of every
cycle in which RECEIVE is active, the contents of the
receive shift register are shifted to the left one position.
The value that comes in from the right is the value that
was sampled at the P3.0 pin at S5P2 of the same machine
cycle.
As data bits come in from the right, I s shift out to the left.
When the 0 that was initially loaded into the rightmost
position arrives at the leftmost position in the shift and
load SBUF. At SIPI of the 10th machine cycle after the
write to SCON that cleared RI, RECEIVE is cleared and
RI is set

More About Mode 1
Ten bits are transmitted (through TXD), or received
(through RXD) : a start bit (0), 8 data bits (LSB first), and
a stop bit (l). On receive, the stop bit goes into RB8 in
SCON. In the 80C51 the baud rate is determined by the
Timer I overflow rate. In the 80C52, 83CI54 and
83CI54D it is determined either by the Timer I overflow
rate, or the Timer 2 overflow rate, or both (one for
transmit and the other for receive).
Figure 23. shows a simplified functional diagram of the
serial port in Mode I, and associated timings for transmit
and receive.
Transmission is initiated by any instruction that uses
SBUF as a destination register. The "write to SBUF"
signal also loads a I into the 9th bit position of the
transmit shift register and flags the TX Control unit that
a transmission is requested. Transmission actually
commences at SIPl of the machine cycle following the
next rollower in the divide-by-16 counter. (Thus, the bit

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC
Semiconductors

times are synchronized to the divide-by-16 counter, not to
the "write to SBUF" signal).
The transmission begins with activation of SEND, which
puts the start bit at TXD. One bit time later, DATA is
activated, which enables the output bit of the transmit
shift register to TXD. The fisrt shift pulse occurs one bit
time after that.

cst Family
Reception is initiated by a detected I-to-O transition at
RXD. For this purpose RXD is sampled at a rate of 16
times whatever baud rate has been established. When a
transition is detected, the divide-by-16 counter is
immediately reset, and IFFH is written into the input shift
register. Resetting the divide-by-16 counter aligns its
rollovers with the boundaries of the incoming bit times.

As data bits shift out to the right, zeros are clocked in from
the left. When the MSB of the data byte is at the output
position of the shift register, then the I that was initially
loaded into the 9th position is just to the left of the MSB,
and all positions to the left of that contain zeroes. This
condition flags the TX Control unit to do one last shift and
then deactivate SEND and set TI. This occurs at the 10th
divide-by-16 rollower after "write to SBUF".

MATRAMHS
Rev. E (14 Jan. 97)

1.2.23

II

TEMIC

cst Family

Semiconductors

Figure 22. Serial Port Mode O.

WRITE
TO
SBUF

-----r---~~~~~--~~~----l_.-------~--~} -_ _

RXD
P3.0ALT
OUTPUT
FUNCTION

TXCONTROL

SERIAL
PORT
INTERRUPT
L-________-+I

TXD
P3.1 ALT
OUTPUT
FUNCTION

RX CLOCK
RECEIVE
RXCONTROL
SHIFT

REN
~----~START
RI----L--'
L-----~~-T_r~~~~
RXD
P3.0ALT
INPUT
FUNCTION

S4S5S6~1 S2S3S4S5S~1 525354555*1 S2S3S4S5S4s, S2S3S4S5S<$1 S2S3S4S5S~1 S2S3S4S5S~1 S2S3S4S5S6~1 S2S3S4S5S6~1 S2S3S4S5S~1 S2S3S4S5seisl
ALE

:::-'£

SEND

WRITE TO SBUF
S6P2

I

L-

SHIFT
RDX (DATA OUT)

}'M_n

TXD (SHIFT CLOCK)
TI

--Il

WRITE TO SCON (CLEAR RI)

Ail
RECEIVE
SHIFT
RDX (DATA IN)

1.2.24

r----

}~a~

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 23. Serial Port Mode 1. TCLK, RCLK, and Timer 2 are present in the SOC32/S0C52, SOC154/S3C154
and S3C154D.
TIMER 1
OVERFLOW

TIMER 2
OVERFLOW

TO
WRITE
SBUF

II

--~r-;:::::~~i:::1--""":~:""---'-----f-'"
TXD

·0·
TCLK·-

RCLK

----f1
WRITE TO SBUF
,CLOCK.
•

,

'!

~=======lc.

TRANSMIT

STOP BIT
TI

START BIT

RX CLOCK

MATRAMHS
Rev. E (14 Jan. 97)

• 16 RESET

1.2.25

cst Family
The 16 states of the counter divide each bit time into
16ths. At the 7th, 8th, and 9th counter states of each bit
time, the bit detector samples the value of RXD. The
value accepted is the value that was seen in at least 2 of
the 3 samples. This is done for noise rejection. If the value
accepted during the first bit time is not 0, the receive
circuits are reset and the unit goes back to looking for
another I-to-O transition. This is to provide rejection of
false start bits. If the start bit proves valid, it is shifted into
the input shift register, and reception of the rest of the
frame will proceed.
As data bits come in from the right, 1s shift out to the left.
When the start bit arrives at the leftmost position in the
shift register, (which in mode 1 is a 9-bit register), it flags
the RX Control block to do one last shift, load SBUFF and
RBS, and set RI. Will be generated if, and only if, the
following conditions are met at the time the final shift
pulse is generated.
1) RI = 0, and
2) Either SM2

=0, or the received stop bit = 1

If either of these two confitions is not met, the received
frame is irretrievably lost. If both conditions are met, the
stop bit goes into RBS, the 8 data bits go into SBUF, and
RI is activated. At this time, whether the above conditions
are met or not, the unit goes back to looking for a I-to-O
transition in RXD.

More About Modes 2 and 3
Eleven bits are transmitted (through TXD), or received
(through RXD) : a start bit (0), S data bits (LSB first), a
programmable 9th data bit, and a stop bit (l). On transmit,
the 9th data bit goes into RBS is SCaN. The baud rate is
programmable to either 1132 or 1164 the oscillator
frequency in mode 2. Mode 3 may have a variable baud
rate generated from either Timer 1 or 2 depending on the
state of TCLK and RCLK.
Figures 1-24 A and B show a functional diagram of the
serial port in modes 2 and 3. The receive portion is exactly
the same as in mode I. The transmit portion differs from
mode I only in the 9th bit of the transmit shift register.
Transmission is initiated by any instruction that uses
SBUF as a destination register. The "write to SBUF"
signal also loads TBS into the 9th bit position of the
transmit shift register and flags the TX Control unit that
a transmission is requested. Transmission commences at
S IPI of the machine cycle following the next rollover in
the divide-by-16 counter. (Thus, the bit times are
synchronized to the divide-by-16 counter, not to the
"write to SBUF" signa1.)

1.2.26

TEMIC
Semiconductors

The transmission begins with activation of SEND, which
puts the start bit at TXD. One bit time later, DATA is
activated, which enables the output bit of the transmit
shift register to TXD. The first shift pulse occurs one bit
time after that. The first shift clocks a 1 (the stop bit) into
the 9th bit position of the shift register. Thereafter, only
zeroes are clocked in. Thus, as data bits shift out to the
right, zeroes are clocked in from the left. When TBS is at
the output position of the shift register, then the stop bit
is just to the left of TBS, and all positions to the left of that
contain zeroes. This condition flags the TX Control unit
to do one last shift and then deactivate SEND and set TI.
This occurs at the 11th divide-by-16 rollover after "write
to SBUF".
Reception is initiated by a detected I-to-O transition at
RXD. For this purpose RXD is sampled at a rate of 16
times whatever is detected, the divide-by-16 counter is
immediately reset, and lFFH is written to the input shift
register.
At the 7th, 8th and 9th counter states of each bit time, the
bit detector samples the value of RXD. The value
accepted is the value that was seen in at least 2 of the 3
samples. If the value accepted during the first bit time is
not 0, the receive circuits are reset and the unit goes back
to looking for another l-to-O transition. If the start bit
proves valid, it is shifted into the input shift register, and
reception of the rest of the frame will proceed.
As data bits come in from the right, 1s shift out to the left.
When the start bit arrives at the leftmost position in the
shift register (which in modes 2 and 3 is a 9-bit register),
it flags the RX Control block to do one last shift, load
SBUF and RBS, and set RI. The signal to load SBUF and
RBS, and to set RI, will be generated if, and only if, the
following conditions are met at the time the final shift
pulse is generated:
I) RI = 0, and
2) Either SM2 = 0 or the received 9th data bit = I
If either of these conditions is not met, the received frame
is irretrievably lost, and RI is not set. If both conditions
are met, the received 9th data bit goes into RBS, and the
first S data bits go into SBUF. One bit time later, whether
the above conditions were met or not, the unit goes back
to looking for a I-to-O transition at the RXD input.
Note that the value of the received stop bit is irrelevant to
SBUF, RBS, or RI.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 24. Serial Port Mode 2.

TXD

PHASE 2 CLOCK
(1/210sc)

MODE 2

(SMOD IS PCON.?)

RXD

.CLOCK.
TX

~L_ _...Jl_ _--,,_ __

n~L____L-__-A____~__~

---II WRITE TO SBUF

------CSEND
DATA
SHIFT

{SlP1

TRANSMIT

r-____________________________
~
:D~X====~~~~::D:O==r-c=====
____________
================================~r----START BIT
TI
STOP BITGEN

RECEIVE

RI

MATRAMHS
Rev. E (14 Jan. 97)

1.2.27

II

TEMIC

CSt Family

Semiconductors

Figure 25. Serial Port Mode 3. TCLK, RCLK and Timer 2 are present in the 80C32/80C52, 80C154/83C154 and
in the 83C154D.
TIMER 1
OVERFLOW

TIMER 2
OVERFLOW

TO
WRITE-----r-~=i5t~:r--~~~--_,r_------_f
SBUF

TXD

"0"

TCLK .-

RXD

TX
_'LC_L_O_C_K~I~__-A____- L____~____~ftL-__-L____-L____JL____L-__--'

....11 WRITE TO SBUF

TRANSMIT

=T:I:::;::ST:AR::T:B:IT::::~____________________________________________~r----STOP BIT GEN

---'r-----

' -__________________________________________

+

~RI

1.2.28

16 RESET

__________________________________________________~~

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

1.8. Interrupts
The 80C51 provides 5 interrupt sources. The 80C52
83C154 and 83CI54D provide 6. Theses are shown in
Figure 25.

Figure 26. TEMIC CS1 Interrupt Sources.

The Serial Port Interrupt is generated by the logical OR
of RI and TI. Neither of these flags is cleared by hardware
when the service routine is vectored to. In fact, the service
routine will normally have to determine whether it was RI
or TI that generated the interrupt, and the bit will have to
be cleared in software.

TFO------------

INTERRUPT
SOURCES

TFL1_ _ _ _ _ _ _ _ _ _ __

TI~
RI--L/------~

TF2~

EXF2--L/

(80C52, 83C154
and 83C154D only)

The Timer 0 and Timer I Interrupts are generated by TFO
and TFI, which are set by a rollover in their respective
timer/counter registers (except see Section 1.6 for Timer
o in mode 3). When a timer interrupt is generated, the flag
that generated it is cleared by the on-chip hardware when
the service routine is vectored to.

-

In the 80C52, 83Cl54 and 83C154D, the Timer 2
Interrupt is generated by the logical OR of TF2 and EXF2.
Neither of these flags is cleared by hardware when the
service routine is vectored to. In fact, the service routine
may have to determine whether it was TF2 or EXF2 that
generated the interrupt, and the bit will have to be cleared
in software.
All of the bits that generate interrupts can be set or cleared
by sofware, with the same result as though it had been set
or cleared by hardware. That is, interrupts can be
generated or pending interrupts can be canceled in
sofware.
Each of these interrupt sources can be individually
enabled or disabled by setting or clearing a bit in Special
Function Register IE (Figure 26.). Note that IE contains
also a global disable bit, EA, which disables all interrupts
at once.

The external interrupts INTO and INTI can each be either
level-activated or transition-activated, depending on bits
ITO and IT! in Register TCON. The flags that actually
generate these interrupts are bits lEO and lEI in TCON.
When an external interrupt is generated, the flag that
generated it is cleared by the hardware when the service
routine is vectored to only if the interrupt was
transition-activated. If the interrupt was level-activated,
then the external requesting source is what controls the
request flag, rather than the on-chip hardware.

MATRAMHS
Rev. E (14 Jan. 97)

1.2.29

II

TEMIC

cst Family

Semiconductors

Figure 27. IE : Interrupt Enable Register.
(LSB)

(MSB)
EA

x

ET2

ES

ETl

EXI

ETO

EXO

Symbol

Position

EA

IE.7

disables all interrupts. If EA = O. no interrupt will be acknowledged. If EA = I. each interrupt
source is individually enabled or disabled by setting or clearing its enables bit.

IE.6

reserved.

IE.5

enables or disables the Timer 2 overflow or capture interrupt. If ET2 = 0, the Timer 2 interrupt is
disabled.

ET2

Fuuction

ES

IE.4

enables or disables the Serial Port interrupt is disabled.

ETl

IE.3

enables or disables the Timer I Overtlow interrupt. If ETl = 0, the Timer I interrupt is disabled.

EXI

IE.2

enables or disables External Interrupt I. If EX I = 0, External interrupt I is disabled.

ETO

IE. I

enables or disables the Timer 0 Overtlow interrupt. If ETO = 0, the Timer 0 interrupt is disabled.

EXO

IE.O

enables or disables External Interrupt O. If EXO = 0, External Interrupt 0 is disabled.

Priority Level Structure
Each interrupt source can also be individually
programmed to one of two priority levels by setting or
clearing a bit in Special Function Register IP (Figure 27.).
A low-priority interrupt can itself be interrupted by a
high-priority interrupt, but not by another low-priority
interrupt. A high-priority interrupt can't be interrupted by
any other interrupt source.
Figure 28. IP : Interrupt Priority Register.
(MSB)

(LSB)
X

X

Symbol

1.2.30

PT2

Position

PS

PTl

PXI

PTO

PXO

Function

!P.7

reserved

IP.6

reserved

PT2

IP.5

defines the Timer 2 interrupt priority level. PT2 = I programs it do the higher priority level.

PS

IP.4

defines the Serial Port Interrupt priority level. PS = I programs it to the higher priority level.

defines the Timer 1 interrupt priority level. PT 1 = 1 programs it to the higher priority leve1.

PTl

1P.3

PXl

IP.2

defines the external interrupt I priority level. PXI = I programs it to the higher priority level.

PTO

IP.1

defines the Timer 0 interrupt priority level. PTO = I programs it to the higher priority level.

PXO

IP.O

defines the External Interrupt 0 priority level. PXO = I programs it to the higher priority level.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

If two requests of different priority levels are received
simultaneoulsy, the request of higher priority level is
serviced. If requests of the same priority level are
received simultaneously, an internal polling sequence
determine which request is serviced. Thus within each
priority level is a second priority structure determined by
the polling sequence, as follows:

l.
2.
3.
4.
5.
6.

II

SOURCE

PRIORITY WITHIN LEVEL

lEO

(highest)

TFO
lEI
TFI
RI +TI
TF2+ EXF2

(lowest)

Note that the "priority within level" structure is only used
to resolve simultaneous requests of the same priority
level.

How Interrupts Are Handled
The interrupt flags are sampled at SSP2 of every machine
cycle. The samples are polled during the following
machine cycle. If one of the flags was in a set condition
at SSP2 of the preceding cycle, the polling cycle will find
it and the interrupt system will generate an LCALL to the
appropriate
service
routine,
provided
this
hardware-generated LCALL is not clocked by any of the
following conditions:
1. An interrupt of equal or higher priority level is already
in progress.

2. The current (polling) cycle is not the final cycle in the
execution of the instruction in progress.

3. The instruction in progress is RETI or any access to the
IE or IP registers.
The polling cycle is repeated with each machine cycle,
and the values polled are the values that were present at
S5P2 of the previous machine cycle. Note then that if an
interrupt flag is active but not being responded to for one
of the above conditions, if the flag is not still active when
the blocking condition is removed, the denied interrupt
will not be serviced. In other words, the facts that the
interrupt flag was once active but not serviced is not
remembered. Every polling cycle is new.
The polling cycle/LCALL sequence is illustrated in
Figure 28.
Note that if an interrupt of higher priority level goes
active prior to S5P2 of the machine cycle labeled C3 in
Figure 28., then in accordance with the above rules it will
be vectored to during C5 and C6, without any instruction
of the lower priority routine having been executed.

Figure 29. Interrupt response Timing Diagram.
-------·--··-·-·---Cl---...I~.---C2-2-------.....
1.>----C3---~.+OI.>----C4---~.141
.. - - - C 5 - · · · · · · · .. ···

15SP2156

I

--LJLf1SlL___----1'f;~-------'---------1'O.~-------L---____1l_

.. - - - - - ' - - - - - - -

M

INTERRUPTS
GOES
ACTIVE

INTERRUPTS
LATCHED

MATRAMHS
Rev. E (14 Jan. 97)

INTERRUPTS
ARE POLLED

LONG CALL TO
INTERRUPT
VECTOR ADDRESS

INTERRUPT ROUTI NE

This is the fastest possible response when C2 is the final cycle of
an instruction other than RETI or an access to IE or IP

I.2.31

TEMIC

cst Family

Semiconductors

Thus the processor acknowledges an interrupt request by
executing a hardware-generated LCALL to the
appropriate servicing routine. In some cases it also clears
the flag that generated the interrupt, and in other cases it
doesn't. It never clears the Serial Port or Timers 2 flags.
This has to be done in the user's software. It clears an
external interrupt flag (lEO or lEI) only if it was
transition-activated. The hardware-generated LCALL
pushes the contents of the Program Counter onto the stack
(but it does not save the PSW) and reloads the PC with an
address that depends on the source of the interrupt being
vectored to, as shown below.

lEO
TFO
lEi
TFI
Rl+Tl
TF2+ EXF2

0003H
OOOBH
0013H
OOIBH
0023H
002BH

Execution proceeds from that location until the RET!
instruction is encountered. The RET! instruction informs
the processor that this interrupt routine is no longer in
progress, then pops the top two bytes from the stack and
reloads the Program Counter. Execution of the
interrupted program continues from where it left off.
Note that a simple RET instruction would also have
returned execution to the interrupted program, but it
would have left the interrupt control system thinking an
interrupt was still in progress.

External Interrupts
The external sources can be programmed to be
level-activated or transition-activated by setting or
clearing bit ITl or ITO in Register TCON. If ITx = 0,
external interrupt x is triggered by a detected low at the
INTx pin. If ITx = I, external interrupt x is
edge-triggered. In this mode if successive samples of the
INTx pin show a high in one cycle and a low in the next
cycle, interrupt request flag lEx in TCON is set. Flag bit
lEx then requests the interrupt.

1.2.32

Since the external interrupt pins are sampled once each
machine cycle, an input high or low should hold for at
least 12 osciJJator periods to ensure sampling. If the
external interrupt is transition-activated, the external
source has to hold the request pin high for at least one
cycle, and then hold it low for at least one cycle to ensure
that the transition is seen so that interrupt request flag lEx
will be set. lEx wiJJ be automatically cleared by the CPU
when the service routine is called.
If the external interrupt is level-activated, the external
source has to hold the request active until the requested
interrupt is actually generated. Then it has to deactivate
the request before the interrupt service routine is
completed, or else another interrupt will be generated.

Response Time
The INTO and INTl levels are inverted and latched into
lEO and lEI and S5P2 of every machine cycle. The values
are not actually polled by the circuitry until the next
machine cycle. If a request is active and conditions are
right for it to be acknowledged, a hardware subroutine
call to the requested service routine wiJJ be the next
instruction to be executed. The call itself takes two
cycles. Thus, a minimum of three complete machine
cycles elapse between activation of an external interrupt
request and the beginning of execution of the service
routine. Figure 28. shows interrupt response timings.
A longer response time would result if the request is
blocked by one of the 3 previously listed conditions. If an
interrupt of equal or higher priority level is already in
progress, the additional wait time obviously depends on
the nature of the other interrupt's service routine. If the
instruction in progress is not in its final cycle, the
additional wait time cannot be more than 3 cycles, since
the longest instructions (MUL and DIY) are only 4 cycles
long, and if the instruction in progress is RET! or an
access to IE or IP, the additional wait time cannot be more
than 5 cycles (a maximum of one more cycle to complete
the instruction in progress, plus 4 cycles to complete the
next instruction if the instruction is MUL or DIY).
Thus, in a single-interrupt system, the response time is
always more than 3 cycles and less than 8 cycles.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

1.9. Single Step Operation
The 80C5l interrupt structure allows single-step
execution with very little software overhead. As
previously noted, an interrupt request will not be
responded to while an interrupt of equal priority level is
still in progress, nor will it be responded to after RETI
until at least one other instruction has been executed.
Thus, once an interrupt routine has been entered, it cannot
be re-entered until at least once instruction of the
interrupted program is executed. One way to use this
feature for single-step operation is to program one of the
external interrupts (say, INTO) to be level-activated. The
service routine for the interrupt will terminate with the
following code:
JNB
JB

WAIT HERE TILL INTO
GOES HIGH
NOW WAIT HERE TILL
IT GOES LOW
GO BACK AND EXECUTE
ONE INSTRUCTION

P3.2,$
P3.2,$

RETI

Now, if the INTO pin, which is also the P3.2 pin, is hold
normally low, the CPU will go right into the External
interrupt 0 routine and stay there until INTO is pulsed
(from low to high to low). Then it will execute RETI, go
back to the task program, execute one instruction, and
immediately re-enter the External Interrupt 0 routine to
await the next pUlsing of P3.2. One step of the task
program is executed each time P3.2 is pulsed.

1.10. Reset
The reset input is the RST pin, which is the input to a
Schmitt Trigger.

Figure 30. Power on Reset Circuit.

A reset accomplished by holding the RST pin high for at
least two machine cycles (24 oscillator periods), while the
oscillator is running. The CPU responds by executing an
internal reset. It also configures the ALE and PSEN pins
as inputs. (They are quasi-bidirectional). The internal
reset is executed during the second cycle in which RST
is high and is repeated every cycle until RST goes low. It
leaves the internal registers as follows:
REGISTER
PC
ACC
B
PSW
SP
DPTR
PO-P3
IP (80C51)
IP (80C52, 83Cl54 and 83C154D)
IE (80C51)
IE (80C52, 83Cl54 and 83C154D)
TMOD
TCON
T2CON (80C52, 83C154 and 83C154D)
THO

CONTENT
OOOOH
OOH
OOH
OOH
07H
OOOOH
OFFH
XXXOOOOOB
XXOOOOOOB
OXXOOOOOB
OXOOOOOOB
OOH
OOH
OOH
OOH
OOH
TLO
OOH
THI
OOH
TLI
OOH
TH2
OOH
TL2
OOH
RCAP2H (80C52 83C154 and 83C154D)
OOH
RCAP2L (80C52, 83C154 and 83C154D)
OOH
SCON
Indeterminate
SBUF
OOH
IOCON
OXXXOOOOB
PCON (80CSI and 80CS2)
OOOXOOOOB
PCON (83C154 and 83C154D)
The internal RAM is not affected by reset. When VCC is
turned on, the RAM content is indeterminate unless the
part is returning from a reduced power mode of operation.

vee

+
1fd_r-

vee
80e51
RST

+

MATRAMHS
Rev. E (14 Jan. 97)

VSS

1.2.33

II

TEMIC

cst Family

Semiconductors

Power-on reset

Idle Mode

An automatic reset can be obtained when VCC is turned
on by connecting the RST pin to VCC through a I Ilf
capacitor providing the VCC risetime does not exceed a
millisecond and the oscillator start-up time does not
exceed 10 milli-seconds. This power-on reset circuit is
shown in Figure 1-29. When power comes on, the current
drawn by RST commences to charge the capacitor. The
voltage at RST is the difference between VCC and the
capacitor voltage, and decreases from VCC as the cap
charges. The larger the capacitor, the more slowly VRST
decreases. VRST must remain above the lower threshold
of the Schmitt Trigger long enough to effect a complete
reset. The time required is the oscillator start -up time,
plus 2 machine cycles.

An instruction that sets PCON.O causes that to be the last
instruction executed before going into the Idle mode. In
the Idle mode, the internal clock signal is gated off to the
CPU, but not to the interrupt, Timer, and Serial Port
functions. The CPU status is preserved in its entirely: the
Stack Pointer, Program Counter, Program Status Word,
Accumulator and all other registers maintain their data
during Idle. The port pins hold the logical states they had
at the time Idle was activated. ALE and PSEN hold at
logic high levels.

1.11. Power-Saving Modes of Operation
For applications where power consumption is a critical
factor, the TEMIC C5l parts provide two power mode:
power-down and idle mode. The first one reduces the
consumption up to few microamperes and the second one
divides the consumption roughly by 25 %. Both of the
modes are controlled by software via the PCON register.
In Power-Down mode (PD = 1, PCON = 87H => XXXX
XXIX) the oscillator is frozen. In idle mode (IDL = 1,
PCON = 87H => XXXX XXOI). The oscillator
continues to run and the interrupt, serial port, and timer
blocks continue to be clocked but the clock signal is gated
off the CPU. The activities of the CPU no longer exists
unless waiting for an interrupt request. Both Power-Down
and Idle mode are explained below. Further function
concerning the TEMIC C154 parts will be explain in the
next chapter.

There are two ways to terminate the Idle. Activation of
any enabled interrupt will cause PCON.O to be cleared by
hardware, terminating the Idle mode. The interrupt will
be serviced, and following RET! the next instruction to be
executed will be the one following the instruction that put
the device into idle.
The flag bits OFO and OF! can be used to give and
indication if an interrupt occured during normal operation
or during and Idle. For example, an instruction that
activates Idle can also set one or both flag bits. When Idle
is terminated by an interrupt, the interrupt service routine
can examine the flag bits.
The over way of terminating the Idle mode is with a
hardware reset. Since the clock oscillator is still running,
the hardware reset needs to be held active for only two
machine cycles (24 oscillator periods) to complete the
reset.

Figure 31. PCON : Power Control Register.
(LSB)

(MSB)
SMOD

GFI

GFO

PD

IDL

Symbol

Position

Name and Fnnction

SMOD

PCON.7

Double Baud rate bit. When set to a I, the baud rate is doubled when the serial port is being used in
either modes 1,2 or 3.

PCON.6

(Reserved)

PCON.5

(Reserved)

PCON.4

(Reserved)

GFI

PCON.3

General-purpose flag bit.

GFO

PCON.2

General-purpose flag bit.

PD

PCON.I

Power Down bit. Setting this bit activates power down operation.

IDL

PCON.O

Idle mode bit. Setting this bit activates idle mode operation.

If I s are written to PD and IDL at the same time, PD takes precedence. The reset value of PCON is (OXXXOOOO).

I.2.34

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Power Down Mode

An instruction that sets peON. I causes that to be the last
instruction executed before going into the Power Down
mode. In the Power Down mode, the on-chip oscillator is
stopped. With the clock frozen, all functions are stopped,
but the on-chip RAM and Special Function Registers are
held. The port pins output the values held by their
respective SFRs. ALE and PSEN output lows.

II

Figure 32. Idle and Power Down Hardware.

XTAL2

XTAL 1

1----1.----t:>

INTERRUPT,
SERIAL PORT,
TIMER BLOCKS

CPU

The only exit from Power Down is a hardware reset. Reset
redefines all the SFRs, but does not change the on-chip
RAM.

In the Power down mode of operation, vee can be
reduced to minimize power consumption. eare must be
taken, however, to ensure that vee is not reduced before
the Power Down mode is invoken, and that vee is
restored to its normal operating level, before the Power
Down mode is terminated. The reset that terminates
Power Down also frees the oscillator. The reset should not
be activated before vee is restored to its normal
operating level, and must be held active long enough to
allow the oscillator to restart and stabilize (normally less
than 10 msec).

MATRAMHS
Rev. E (14 Jan. 97)

I.2.35

TEMIC

cst Family

Semiconductors

This table shows the state of ports during idle and power-down modes.

1.12. More about the On-chip Oscillator
The on-chip oscillator circuitry for 80CS1's family,
shown in Figure 32., consists of a single stage linear
inventer for use as a crystal-controlled, positive reactance
oscillator.

The on-chip oscillator is able to run with a crystal or with
ceramic resonnator. The Figure 33. shows the schematic
to work which a crystal and a ceramic resonnator working
on a fundamental mode.

Figure 33. On-chip oscillator Circuit.
VCC

TO INTERNAL
TIMINGCKTS

D1

R1
XTAl2

XTAL1
400Q

D2

PD----------~~----~

1.2.36

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

The TEMIC-5l parts can by controlled by an external
clock. In this case the external clock signal is connected
directly on XTALI input and XTAL2 in left floating
(Figure 35.).

Figure 34. Fundamental Resonance.

crystal or
ceramic resonnateur

+------1

Df-------.,

The Figure 34. shows the use of a crystal working on an
overtone 3 resonance.
An overtone 3 crystal doesn't work on its fundamental
resonance but on its third overtone. So it's necessary to
catch in its fundamental frequency. The trap consists of
the inductor L and the capacitance C. The trap frequency
is the running frequency of the crystal divides by 3. An
external resistor of I MQ is connected on the both side of
the crystal to decrease the gain on the amplifier. Cause the
equivalent inductor for a overtone 3 crystal is more larger
than a fundamental crystal, the oscillator needs less
energy. Without external resistor the level on pin XTALI
isn't enough to control the internal clock circuitry.

Figure 35. Overtone 3 Resonance.

.---t-------i

D1-------1

1 M(l
overtone 3

f _~ _ _1_
T- 3 -6n ..JT]5

MATRAMHS
Rev. E (14 Jan. 97)

1.13. Internal Timing
Figure 36. through Figure 39. show when the various
strobe and port signals are clocked internally. The figures
do not show rise and fall times of the signals, nor do they
show propagation delays between the XTAL2 signal and
events at other pins.

Figure 36. Driving the CS1 parts with an external
clock source.
80C51
NC
EXTERNAL
OSCILLATOR
SIGNAL

XTAL2

><)-----1 XTAL1

r

CMOS GATE

Rise and gall times are dependent on the external loading
that each pin must drive. They are often taken to be
something in the neighborhood of 10 nsec, measured
between 0.8 V and 2.0 V.
Propagation delays are different for different pins. For a
given pin they vary with pin loading, temperature, VCC,
and manufacturing lot. If the XTAL2 waveform is taken
as the timing reference, prop delays may vary from 25 to
125 nsec .
The AC Timings section of the data sheets do not
reference any timing to the XTAL2 waveform. Rather,
they relate the critical edges of control and input signals
to each other. The timing published in the data sheets
include the effects of propagation delays under the
specified test conditions.

I.2.37

II

cst Family
1.14. CSI Pin Description
VCC : Supply voltage.
VSS : Circuit ground potential.
Port 0 : Port 0 is an 8-bit open drain bidirectional I/O
Port. As an open drain output port it can sink 8 LS TTL
loads. Port 0 pins that have I s written to them float, and
in that state will functions as high-impedance inputs. Port
o is also the multiplexed low-order address and data bus
during accesses to external memory. In this application it
uses strong internal pullups when emitting I s. Port 0 also
emits code bytes during program verification. In that
application, external pullups are required.
Port 1 : Port I is an 8-bit bidirectional I/O port with
internal pullups. The port I output buffers can sink/source
4 LS TTL loads. Port I pins that have Is written to them
are pulled high by the internal pullups, and in that state
can be used as inputs. As inputs, Port I pins that are
externally being pulled low will source current (IlL, on
the data sheet) because of the internal pullups.
In the 80C52, 83Cl54 and 83CI54D pins PI.O and Pl.l
also serve the alternate functions of T2 and T2EX. T2 is
the Timer 2 external input. T2EX is the input through
which a Timer 2 "capture" is triggered.
Port 2 : Port 2 is an 8-bit bidirectional I/O port with
internal pull ups. The port 2 output buffers can sink/source
4 LS TTL loads. Port 2 emits the high-order addres byte
during accesses to external memory that use 16-bit
addresses. In this application it uses the strong internal
pullups when emitting Is.
Port 3 : Port 3 is an 8-bit bidirectional I/O port with
internal pullups. It also serves the functions of various
special features of the TEMIC-C51 Family, as listed
below:

1.2.38

TEMIC
Semiconductors

PORT PIN
ALTERNATE FUNCTION
P3.0
RXD (serial input port)
P3.1
TXD (serial output port)
P3.2
INTO (external interrupt 0)
P3.3
INTI (external interrupt I)
P3.4
TO (Timer 0 external input)
P3.5
Tl (Timer I external input)
P3.6
WR (external data memory write strobe)
P3.7
RD (external data memory read strobe)
The Port 3 output buffers can source/sink 4 LS TTL loads.
RST : reset input. A high on this pin for two machine
cycles while the oscillator is running resets the device.
ALE: Address Latch Enable output pulse for latching the
low byte of the address during accesses to external
memory. ALE is emitted at a constant rate of 1/6 of the
oscillator frequency, for external timing or clicking
purposes, even when there are no accesses to external
memory. (However, one ALE pulse is skipped during
each access to external Data Memory).
PSEN: Program Store Enable is the read strobe to
external Program Memory. When the device is executing
out of external Program Memory, PSEN is activated twice
each machine cycle (except that two PSEN activations
are skipped during accesses to external Data Memory).
PSEN is not activated when the deviced is executing out
of internal Program Memory.
EA: When EA is held high, the CPU executes out of
internal Program Memory (unless the Program Counter
exceeds OFFFH in the 80C5!, or !FFFH in the 80C52, or
3 FFFH in the 83CI54 or 7FFFH in the 83C!54D).
Holding EA low forces the CPU to execute out of external
memory regardless of the Program Counter value. In the
80C3!, 80C32 and 80C 154. EA must be externally wired
low.
XTALl : Input to the inverting oscillator amplifier.
XTAL2 : Output from the inverting oscillator amplifier.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

Figure 37. External Program Memory Fetches.

I

STATE 1
P1
P2

I

I

STATE 21 STATE 31 STATE 41 STATE 51 STATE 61 STATE 1
P1
P2 P1
P2 P1
P2 P1
P2 P1
P2 P1
P2

I

I

I

I

I

I

I

STATE 21
P1
P2

I

XTAL2:

L
L

ALE:

PSEN:

po:

P2:

PCH OUT

PCHOUT

PCH OUT

Figure 38. External Data Memory Read Cycle.

I

STATE 41 STATE 51 STATE 61 STATE 1
P1
P2 P1
P2 P1
P2 P1
P2

I

I

I

I

I

STATE 21 STATE 31 STATE 41 STATE 51
P1
P2 P1
P2 P1
P2 P1
P2

I

I

I

I

XTAL2:

L

ALE:

RD:

DATA SAMPLED
FLOAT

po:

P2:

PCLOUT IF
PROGRAM MEMORY
IS EXTERNAL

PCHOR
P2SFR

MATRAMHS
Rev. E (14 Jan. 97)

DPH OR P2 SFR OUT

PCHOR
P2SFR

1.2.39

TEMIC

cst Family

Semiconductors

Figure 39. External Data Memory Write Cycle.

I

STATE 41 STATE 51 STATE 61 STATE 1
P1
P2 P1
P2 P1
P2 P1
P2

I

I

I

I

I

STATE 21 STATE 31 STATE 41 STATE 51
P1
P2 P1
P2 P1
P2 P1
P2

I

I

I

I

XTAl2:

L

ALE:

WR:
PCLOUT IF
PROGRAM MEMORY
IS EXTERNAL

po:

P2:

DATA OUT

PCH OR
P2SFR

PCHOR
P2SFR

DPH OR P2 SFR OUT

Figure 40. Port Operation.
41 STATE 51 STATE 61 STATE 1 ISTATE 21 STATE 31 STATE 41 STATE 51
I P1STATE
I P2 P1 I P2 P1 I P2 P1 I P2 P1 I P2 P1 I P2 P1 I P2 P1 I P2
XTAl2:

-Lt

0'P1

INPUTS SAMPLED:

~

PO, P1

P2, P3, RS;

P2, P3, RST

MOV PORT, SRC :

SERTIAL PORT
SHIFT CLOCK
(MODE 0)

1.2.40

OLD DATA

I+- RXD PIN SAMPLED

--I L

NEW DATA

,--------------,I
RXD SAMPLED

---.f

I+-

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

C5t Family

Semiconductors

2. More Features for C154 Parts
This chapter explains, in details, the new features of the
83C154 and 83C154D. The only one difference between
83CI54 and 83CI54D is the internal ROM size
(respectively 16 K bytes and 32 K bytes long).
The major new features ofTEMlCCl54 is listed below:
•
•

I/O part impedance selection
Watchdog and 32-Bit TIMER/Counter Mode

•

Power-down mode
• Software control
• Hardware control

•

Frame and Overrun error serial link detection.

All these new features are controlled via the IOCON
register (new one) and the PCON register.

2.1. 110 Port Impedance
The structure and behaviour of the 83Cl54s'ports PI, P2
and P3 are indentical to those of the 80C52. Only the
control block for the different pull ups and pulldowns has
been changed. The pullup resistance value can be
programmed by means of the IOCON register.
There are three possible values:
- three states (PI, P2, P3 and N are OFF),
- high impedance (100 kQ, P2 =ON),
- low impedance (10 kQ, P3 =ON).
Figure 41. is a functional diagram of the PORT.
Figure 42. shows the configuration of the IOCON register
which is used to set the right value of the impedance port.

Figure 41. 110 Port Block Diagram.

vee

PDALF
PnHZ

Ize_---c::_------+-------------'

vss

MATRAMHS
Rev. E (14 Jan. 97)

1.2.41

1

TEMIC

cst Family

Semiconductors

Figure 42. IOCON Register Configuration.
(MSB)

WDT

(LSB)

T32

SERR

IZC

P3HZ

P2HZ

I

PIHZ

I

Symbol

Position

ALF

IOCON.O

- Set to I and in Power mode PORTS I, 2 and 3 are floating,

PIHZ

laCON.!

- If PIHZ = and IZC = 0, PORT PI is at low impedance,
- If PIHZ = and IZC = 0, PORT PI is at high impedance.
- If PIHZ = I, PORT PI is floating.

P2HZ

IOCON.2

- If P2HZ = and IZC = 0, PORT P2 is at low impedance.
- If P2HZ = and IZC = 0, PORT P2 is at high impedance.
-Ifp2HZ= I, PORT P2 is floating.

P3HZ

IOCON.3

- If P3HZ = and IZC = 0, PORT P3 is at low impedance.
- If P3HZ = and IZC = 0, PORT P3 is at high impedance.
-If P3HZ = I, PORT P3 is floating.

IZC

IaCONA

- In conjunction with PnHZ selects the output pullup value.

ALF

Function

°°
°°
°°

Low impedance
This mode is the default mode upon a reset and it is
compatible with C51 parts. The configuration ofIOCON
is explained by the Figure 42, Whenever PnHZ and IZC
are equal to zero, PI, P2 and P3 are in this mode. In this
case 3 LS TTL loads can be interfaced,
High impedance
This mode is invoked by setting PnHZ = 0 and IZC = I,
Only the transistor PZ of the Figure 41. is on and one LS
TTL load can be interfaced,
Three states mode
Two different modes can be used. The first one allows to
set each of the 3 ports in three states during a normal
operation. The second one allows to set all the 3 parts in
three states by entering in the Power-Down mode.

1.2.42

I

Whenever PnHZ is set to I, the part is in three states
mode. If ALF is set to 1, at each time the Power-Down
mode is called all the three parts are in the three states.
When the CI54 part exist from the Power-Down mode,
the part impedance is the impedance just before entering
in this mode (the part switches as soon as the interrupt
request is generated, not after the oscillator start-up). The
three states mode switch-off all the transistor.

2.2 Watchdog and 32-bit Timer/Counter
Mode
TIMER/COUNTER of C51 family can be configured in
four modes. With CI54 parts, two new modes can be used.
Both of them use TIMERO and/or TIMER I. The first one
is used like a 32-Bit Timer/Counter and the second one is
used like a 8/13116/32-Bit Watch-Dog. Both of this two
modes is programmed by software by using the laCON
register. The 32-Bit mode is on by setting the Bit T32. The
Watchdog mode is on by setting the bit WDT. The
Figure 43. shows the configuration of the register
laCON.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 43. 32 BitIWatchdog Mode.
(MSB)
WDT

(LSB)

I

T32

I

SERR

IZC

I

P3HZ

I

P2HZ

I

PIHZ

I

ALF

II

Symbol

Position

T32

IOCON.6

Function
- If T32 = I and if crro = 0, Tl and TO are programmed as a 32 bit TIMER.
- IfT32 = 1 and if crro = I, Tl and TO are programmed as a 32 bit COUNTER.

WDT

IOCON.7

- If WDT 1 and according to the mode selected by TMOD, and 8 bit or 32 bit WATCHDOG
is configured from TIMERS 0 and I.

=

Figure 44. 32 Bit Mode.

crro------------------------~

TO PIN

----------------------------L.....--

32 Bit Mode

32 Bit Timer

T32 = I enables access to this mode, As shown in Figure
44. this 32 bit mode consists in cascading TIMER 0 for the
LSBs and TIMER I for the MSBs.

Figure 45 illustrates the 32 Bit TIMER mode.

T32 = I starts the timer/counter and T32 = 0 stops it.

It should be noted that as soon as T32 =0, TIMERs 0 and
I assume the configuration specified by register TMOD.
Moreover, if TRO = I or if TR I = I, the content of the
TIMERs evolves. Consequently, in 32 bit mode, if the
TIMER/COUNTER must be stopped (T32 = 0). TRO and
TR 1 must be set to O.

Figure 45.

L-_O_S_C~~----~~~------~
In this mode, T32 = I and CfTO = 0, the 32 bit timer is
incremented on each S3PI state of each machine cycle.
An overflow of TIMER 0 (TFO has not been set to I)
increments TIMER I and the overflow of the 32 bit
TIMER is signalled by setting TFI (S5PI) to 1.

MATRAMHS
Rev. E (14 Jan. 97)

TIMER

I

TIMER

1--------'6

The following formula should be used to calculate the
required frequency:
OSC
f = 12 x (65536-(TO,

TI»
1.2.43

TEMIC

cst Family

Semiconductors

32 Bit Counter
Figure 46. illustrates the 32 BIT COUNTER mode.
Figure 46. 32 Bit Counter Configuration.
fEXT

GI--------II

TIMER

01 TIMER 111----E]

In this mode, T32 = 0 and CITO = 1. Before it can make
an increment, the 83C154 must detect two transitions on
its TO input. As shown in Figure 47. input TO is sampled
on each S5P2 state of every machine cycle or, in other
words, every OSC + 12.
Figure 47. Counter Incrementation Condition.
• TO PIN

Lmm.----'
READING OF INPUT TO

Ci-1t

Ci",

S5P2 .......... .1 S5P2

COUNTER INCREMENTATION

The counter will only evolve if a level 1 is detected during
state S5P2 of cycle Ci and if a level 0 is detected during
state S5P2 of cycle Ci + n.
Consequently, the minimal period of signal fEXT
admissible by the counter must be greater than or equal
to two machine cycles. The following formula should be
used to calculate the operating frequency.
fEXT
f = (65536-(TO, Tl))
fEXT :s

1.2.44

Ci+n+
iS5P2

tS3P1

watchdog Mode

WDT = 1 enables access to this mode. As shown in
Figure 48. all the modes of TIMERs 0 and 1, of which the
overflows act on TFl (TFI = 1), activate the watchdog
Mode.
If CIT = 0, the watchdog is a TIMER that is incremented
every machine cycle. If CIT = 1, the watchdog is a
counter that is incremented by an external signal of which
the frequency cannot exceed OSC + 24.

°2~C

MATRAMHS
,Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

The overflow of the TIMER/COUNTER is signalled by
raising flag TFI to 1. The reset of the 83Cl54/83Cl54D
is executed during the next machine cycle and lasts for the
next 5 machine cycles. The results of this reset are
identical to those of a hardware reset. The internal RAM
is not affected and the special register assume the values
shown in Table 2.
Table 3. Content of the SFRs after a reset
triggered by the WATCHDOG.
REGISTER
PC
ACC
B
PSW
SP
DPTR
PO-P3
IP
IE
TMOD
TCON
T2CON
THO
TLO
THI
TLi
TH2
TL2
RCAP2H
RCAP2L
SCON
SBUF
IOCON

CONTENT
OOOOH
OOH
OOH
OOH
OOH
DOOOH
OFFH
DOH
OXOODOOOB
DOH
OOH
DOH
OOH
DOH
OOH
DOH
OOH
DOH
OOH
DOH
DOH
Indeterminate
DOH

As there are no precautions for protecting bit WDT from
spurious writing in the laCON register, special care must
be taken when writing the program. In particular, the user
should use the laCON register bit handing instructions:
- SETB and CLR x
in preference to the byte handling instructions:
- MaY laCON, # XXH, ORL laCON, # XXH,
- ANL laCON, # XXH,
External Counting in Power-down Mode
(PD = PCON.] = 1)

In the power-down mode. the oscillator is turned off and
the 83Cl54s'activity is frozen. However, if an external
clock is connected to one of the two inputs, TIITO,
TIMER/COUNTERS 0 and I can continue to operate. In
this case, counting becomes asynchronous and the
maximum, admissible frequency of the signal is OSC : 24.
The overflow of either counter TFO or TFI causes an
interrupt to be serviced or forces a reset if the counter is
in the watchdog MODE (T32 = ICON.7 = I).

MATRAMHS
Rev. E (14 Jan. 97)

2.3 Power-Reducing Mode
Basically the Power-Reducing Mode of the TEMIC CI54
parts are 100 % compatible with the 80C51 and 80C52
parts. However both Idle and Power-Down mode are
improved with some new powerful features.
Idle mode is improved by giving the software possibility
to execute or not the software interrupt routine when an
interrupt request occurs (Recover Power Mode).
Power-Down mode is now more powerful because an
interrupt request can avake the TEMIC Cl54 parts. In
addition an external hardware signal can control entirely
the mode (Hardware Power Mode).
Details on these new features are given below.

Idle Mode
This mode is basically compatible with the TEMIC C51
parts (refer to the chapter 1.11). The new feature concerns
the way to exit from this mode. Now with the Recover
Power Mode, the software interrupt routine is or not
executed when the interrupt routine occurs. This mode is
activated by setting the bit RPD in PCON register. In this
case the next instruction executed is the next following
the IDLE instruction (MaY PLaN, # 0 I).

Power-Down Mode
Software control
This mode is basically compatible with the C51 parts
(refer to the chapter 1.11). The new features concern the
way to exit from this mode.
With the C51 parts the only way to complete this mode is
to apply an hardware reset. The newest thing is the
possibility to exist from this mode by an interrupt request
coming from the both external interrupts and the both
counter 0 and I if an external clock is connected on pin
T1 or TO.
Likewise IDLE mode, it is possible to execute or not the
software interrupt routine. By setting the RPD bit the next
instruction executed. after the interrupt request has been
processed, will be the instruction following the
POWER-DOWN intruction. If the RPD bit is not set, the
program will continue by executing the software interrupt
routine. The Figure 48. shows the behaviour of the
Recover Power Mode.

1.2.45

II

TEMIC

CSt Family

Semiconductors

Figure 48. Example in Recover Power Mode.
ex:
; The Recover Mode is enable
; The Power-Down is enable
Adr n MOV PCON, #OOIXXXIO ...
; The CPU waits for an asynchronous
; event

; An interrupt request occurs and
; the instruction located at the
; address Adr n + I is executed
Adrn+ I

Hardware control
This mode is new and controls the Power-Down by an
external hardware signal connected on pin Tl (P3.5). This
mode is called by setting HPD bit in the PCON register.
The 83CI54 will be in Power-Down as soon as

TI input will be drive by a falling edge and will remain
in this state until TI input will be drive by a rising edge.
The Figure 49. shows the behaviour of the Hardware
Power Mode.

Figure 49. Behaviour of the Hardware Power Mode (HPD = 1).
T1

~S-----<'~'r-~

-------»)

The clock is stopped
on the falling edge

XTAL2

The time takes by the oscillator to restart depends of the
crystal and the capacitors connected on both side of the
crystal (typically 10 ms).

Software and hardware control
This two modes can be mixed to control the Power-Down
Mode. Entry to the mode can be made either by setting PD
bit to 1 or by setting HPD bit to I and presenting a falling
edge on Tl input. Exit from this mode can be made if the
software and hardware conditions are met: a rising edge
on Tl input and an interrupt request. If these two
conditions are not satisfied, only an hardware reset can
complete the mode.

1.2.46

The clock

resta~

_ _ _ _ __

on the rising edge

2.4 Frame and Overrun Error
Serial Link Detection
This feature is new and allows to the user to detect a serial
link error. Two kinds of error can be detected during a
reception : OVERRUN ERROR and FRAME ERROR.
Both of them set the SERR bit in the IOCON register at
the half of the stop bit. This must be cleared by software.

Frame error
This error occurs when the format of the received Data is
wrong. The Figure 50. shows an example of a Frame error.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Figure 50. FRAME ERROR example, STOP BIT is missing.

RXD ---:__-'-_0_-'-__-'-_2_"'--_3_--'--_4_-'-_5_"'--_6_-'-_7_->.'::::::::::::::::::

a

t

STOP BIT is missing

SERR----------------------------------------------~r-In this example the receiver waits for a STOP BIT to
complete the frame reception. Unfortunately the stop bit
isn't there and the receiver indicates the frame error by
setting to 1 the SERR bit in the IOCON register.

Overrun Error
This error occurs, when a character received and not read
by the c.P. U, is overwritten by a new one. The Figure 51.
shows an example of OVERRUN ERROR.

Figure 51. OVERRUN ERROR example.

RXD

RI ____________________

SERR

S~L.._-'--_C_H_A_R_A_CT_E_R_2__'

CHARACTER 1

~~S

----------------~~~----------~I

--'t

Character 2 is overwritten _ _ _ _
by the first

In this example the character 1 is received and the RI bit
is set to 1. A second character is sent before the CPU reads
the first one. The character 1 is overwritten and SERR bit
is set to I to indicate the loss of the first character.

MATRAMHS
Rev. E (14 Jan. 97)

Note
With the C154 parts the RI bit isn't set on the same time
than the C51 parts. With the C51 parts the RI bit is set on
the last data bit. With the C154 the RI bit is set on the stop
bit.

1.2.47

TEMIC
Semiconductors

CS1 Family

CSt Family Programmer's Guide and Instruction Set

a

Summary
1. Memory Organization ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1.3.2
1.1. Program Memory .......................................................................
1.2. Data Memory ..........................................................................
1.3. Indirect Address Area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
1.4. Direct And Indirect Address Area ..........................................................
1.5. Special Function Registers ................................................................

1.3.2
I.3.3
1.3.3
I.3.3
I.3.4

2. SFR Memory Map ..................................................... .. I.3.6
2.1. What do the SFRs Contain just after Power-on or a Reset? ...................................... I.3.6
2.2. Interrupts .............................................................................. 1.3.8
2.3. Assigning Higher Priority to one More Interrupts .............................................. 1.3.9
2.4. Priority Within Level .................................................................... 1.3.9
2.5. Timer Set-up " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. I.3.11
2.6. Timer/Counter 0 ....................................................................... 1.3.11
2.7. Timer/Counter 1 ....................................................................... 1.3.12
2.8. Timer/Counter 2 Set-up ................................................................. I.3.12
2.9. Serial Port Set-Up ........... " ......................................................... I.3.14
2.1 O. Generating Baud Rates ..... . . . . . . . . . . . . . . . . .. . .. . . . . . . . . . . .. . . . . .. .. . . .. . . . . . . . . . . .. . .. 1.3 .14
2.11. Using Timer/Counter I to Generate Baud Rates ............................ " ................ 1.3.14
2.12. Using Timer/Counter 2 to Generate Baud Rates ............................................. 1.3.14
2.13. Serial Port in Mode 2 .................................................................. 1.3.14
2.14. Serial Port in Mode 3 .................................................................. 1.3.14

3. Instruction Definitions . .................................................. 1.3.19

MATRAMHS
Rev. E (14 Jan. 97)

1.3.1

TEMIC

CSt Family

Semiconductors

1. Memory Organization
1.1. Program Memory

Figure 3. The 83C154 Program Memory.

The TEMIC C51 Microcontroller Family has separate
address spaces for program Memory and Data Memory.
The program memory can be up to 64 K bytes long. The
lower 4 K for the 80C5l (8 K for the 80C52, 16 K for the
83 C154 and 32 K for the 83C154D) may reside on chip.
Figure 1 to 4 show a map of 80C51, 80C52, 83C154 and
83C154D program memory.

,- FFFF .....- - - - - ,

FFFF
48K
BYTES
EXTERNAL

or ~

4000

Figure 1. The 80C51 Program Memory.

64K
BYTES
EXTERNAL

3FFF
FFFF .....- - - - - ,

FFFF

0000

60K
BYTES
EXTERNAL
or ~

1000

16K BYTES
INTERNAL

64K
BYTES
EXTERNAL

-

0000 ' - - - - - - '

Figure 4. The 83C154D Program Memory.
-

FFFF

FFFF,-----,

OFFF
32K
BYTES
EXTERNAL

4K BYTES
INTERNAL
0000 ' - - - - - - '

0000

Figure 2. The 80C52 Program Memory.
FFFF .....- - - - ,

FFFF

or

~

64K
BYTES
EXTERNAL

7FFF
32K BYTES
INTERNAL

56K
BYTES
EXTERNAL
2000

8000

0000

or~

-

0000 ' - - - - - - '

64K
BYTES
EXTERNAL

1FFF
8K BYTES
INTERNAL
0000

1.3.2

0000 '--------'

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

1.2. Data Memory
The C51 Microcontroller Family can address up to 64 K
bytes of Data Memory to the chip. The "MOYX"
instruction is used to access the external data memory
(refer to the C51 instruction set, in this chapter, for
detailed description of instructions).
The 80CSI has 128 bytes of on-chip-RAM (256 bytes in
the 80C52, 83CI54 and 83C154D) plus a number of
Special Function Registers (SFR). The lower 128 bytes of
RAM can be accessed either by direct addressing (MOY
data addr). or by indirect addressing (MOY @Ri). Figure
5 and 6 show the 80C51, 80C52, 83CI54 and 83CI54D
Data Memory organization.

Figure 6. The 80C52, 83C154 and 83C1S4D
Data Memory Organisation.
INTERNAL

FFFF , - - - - - - - ,

II

INDIRECT
ADDRESSING ONLY
80HTO FFH
FFI
FF

80
7F

SFRs
DIRECT
ADDRESSING
ONLY

64K
BYTES
EXTERNAL

AND--

DIRECT &
INDIRECT
ADDRESSING

Figure 5. The 80CS1 Data Memory Organisation.

00

0000

OFFF , - - - - - - - ,

INTERNAL
FF

80
7F

64K
BYTES
EXTERNAL

SFRs
DIRECT
ADDRESSING
ONLY
AND -DIRECT &
INDIRECT
ADDRESSING

00

0000

1.3. Indirect Address Area

1.4. Direct And Indirect Address Area

Note that in Figure 6 - the SFRs and the indirect address
RAM have the same addresses (80H-OFFH).
Nevertheless, they are two separate areas and are
accessed in two different ways. For example the
instruction

The 128 bytes of RAM which can be accessed by both
direct and indirect addressing can be divided into 3
segments as listed below and shown in figure 7.

writes OBBH in location 80H of the data RAM. Thus,
after execution of both of the above instructions Port 0
will contain OAAH and location 80 of the RAM will
contain OBBH.

1. Register Banks 0.3 : Locations 0 through IFH (32
bytes). ASM-51 and the device after reset default to
register bank O. To use the other register banks the user
must select them in the software. Each register bank
contains 8 one-byte registers, 0 through 7.
Reset initializes the Stack Pointer to location 07H and it
is incremented once to start from location 08H which is
the first register (RO) of the second register bank. Thus,
in order to use more than one register bank, the SP should
be initialized to a different location of the RAM where it
is not used for data storage (ie, higher part of the RAM).

Note lhat the stack operations are examples of indirect
addressing, so the upper 128 bytes of data RAM are
available as stack space in those devices which
implement 256 bytes of internal RAM.

2. Bit Addressable Area : 16 bytes have been assigned
for this segment, 20H-2FH. Each one of the 128 bits of
this segment can be directly addressed (0-7FH).
The bits can be referred to in two ways both of which are

MOY 80H, #OAAH
writes OAAH to Port 0 which is one of the SFRs and the
instruction
MOY RO,# 80H
MOV @ RO, # OBBH

MATRAMHS
Rev. E (14 Jan. 97)

1.3.3

TEMIC

cst Family

Semiconductors

acceptable by the ASM-S1. One way is to refer to their
addresses, ie, 0 to 7FH. The other way is with reference
to bytes 20H to 2FH. Thus, bits 0-7 can also be referred
to as bits 20.0-20.7, and bits 8-FH are the same as
21.0-21.7 and so on.
Each of the 16 bytes in this segment can also be addresses
as a byte.

3. Scratch Pad Area : Bytes 30H through 7FH are
available to user as data RAM. However, if the stack
pointer has been initialized to this area, enough number
of bytes should be left aside to prevent SP data
destruction.

Figure 7. 128 Bytes of RAM Direct and Indirect Addressable.
8 Bytes

78

7F

70

77

68

6F

60

67

58

SF

50

57

48

4F

40

47

38

3F

30

37

SCRATCH
PAD

... 7F

28

2F

AREA

BIT
ADDRESSABLE

20

27

0 ...

18

3

1F

10

2

17

08

1

OF

00

0

07

SEGMENT

REGISTER
BANKS

1.5. Special Function Registers
Table 1 contains a list of all the SFRs and their addresses.
Comparing table 1 and figure 8 shows that all of the SFRs
that are byte and bit addressable are located on the first
column of the diagram in figure 8.
I.3.4

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Table 1.
/: ~ ~,'

v.':.:.• •'.,"." SYMBOL

NAME

ADDRESS'

*ACC

Accumulator

*B

B Register

OFOH

*PSW

Program Status Word

ODaH

SP

Stack Pointer

DPTR

OEOH

a

8tH

Data Pointer 2 Bytes
DPL

Low Byte

82H

DPH

High Byte

83H

*PO

PortO

80H

*PI

Port t

90H

*P2

Port 2

OAOH

*P3

Port 3

OBOH

*IP

Interrupt Priority Control

OB8H
OA8H

*IE

Interrupt Enable Control

TMOD

Timer/Counter Mode Control

89H

*TCON

Timer/Counter Control

88H

*+T2CON

Timer/Counter 2 Control

OC8H

THO

Timer/Counter 0 High Byte

8CH

TLO

Timer/Counter 0 Low Byte

8AH

THI

Timer/Counter I High Byte

8DH

TLI

Timer/Counter I Low Byte

8BH

+TH2

Timer/Counter I High Byte

OCDH

+TL2

Timer/Counter 2 Low Byte

OCCH

+RCAP2H

T/C 2 Capture Reg. High Byte

OCBH
OCAH

+RCAP2L

T/C 2 Capture Reg. Low Byte

*SCON

Serial Control

98H

SBUF

Serial Data Buffer

99H

PCON

Power Control

87H

*IOCON (I)

10 Control

F8H

+ 8OC52, 83CI54 and 83CI54D only
(I) 83CI54 and 83C154D only

MATRAMHS
Rev, E (14 Jan, 97)

* bit addressable

13.5

TEMIC

cst Family

Semiconductors

2. SFR Memory Map
FigureS.
8 Bytes
F8

IOCON

FF

FO

B

F7
EF

E8
EO

E7

ACC

DF

D8
DO

PSW

C8

T2CON

D7
RCAP2L

RCAP2H

TL2

TH2

CF
C7

CO
B8

lP

BF

BO

P3

B7

A8

IE

AF

AO

P2

98

SCON

90

PI

88

TCON

TMOD

TLO

TLI

80

PO

SP

DPL

DPH

A7
SBUF

9F
97
THO

THI

8F
PCON

87

~ bit addressable

2.1. What do the SFRs Contain just after
Power-on or a Reset?
Table 2 lists the contents of each SFR after a power-on
reset or a hardware reset.

Table 2. Contents of the SRFs after reset.

*ACC
*B
*psw
SP
DPTR
*po
*PI
*P2
*P3
*IP

*IE

TMOD

00000000
00000000
00000000
00000111
00000000
11111111
1111 1111
1111 1111
1111 1111
XXXO 0000 80C51
XXXO 0000 80C52
OXOO 0000 83CI54/CI54D
OXXO 0000 80CSI
OXOOO 0000 83CI54/CIS4D
and 80C52
00000000

* : bit addressable.

+ : 80C52, 83CI54 and 83CI54D only.
-: 83CI54 and 83CI54D only.
X : Undefined.

1.3.6

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

These SFRs that have their bits assigned for various
functions are listed in this section. A brief description of
each bit is provided for quick reference. For more detailed
information refer to the Architecture chapter of this book.

}Ui:{7(lS1;ji;R •.. ...VA.LllE IN BINA.RY
*TCON
+*T2CON
THO
TLO
THI
TLl
+TH2
+TL2
+ RCAP2L
+ RCAP2H
'SCON
SBUF
PCON

00000000
00000000
00000000
00000000
00000000
00000000
00000000
0000 0000
00000000
00000000
00000000
Indeterminate
OXXX 0000 SOC5 I and 80C52
OOOX 0000 83C I 54 and 83C I 54D
00000000

-*IOCON

II

PSW: Program Status Word (Bit Addressable)
Cy

AC

FO

RSI

RSO

CY

PSW,7

AC
FO

PSW,6

Carry Flag.
Auxiliary Carry Flag.

PSW,5
PSW,4

Flag 0 available to the user for general purpose.
Register Bank selector bit I (SEE NOTE).

RSI
RSO
OV

PSW,3

Register Bank selector bit 0 (SEE NOTE).

PSW,2

Overflow Flag.

OV

FI

p

FI

PSW,I

Flag FI available to the user for general purpose.

P

PSW,O

Parity flag. Set/cleared by hardware each instruction cycle to indicate an odd/even number
of "I" bits in the accumulator.

Note:
The value presented by RSO and RSI selects the
corresponding register bank.

o
o

o

o

* User software should not write Is to reserved bits. These
bits may be used in future TEMIC C51 products to invoke
new features. In that case, the reset or inactive value of the
new bit will be 0, and its active value will be 1.

OOH-07H
08H-OFH

o

IOH-I7H
18H-IFH

MATRAMHS
Rev. E (14 Jan. 97)

I.3.7

TEMIC

cst Family

Semiconductors

PC ON : Power Control Register (Not Bit Addressable)

I

SMOD

HPD

RPD

GFI

GFO

PD

IDL

= I, the baud rate is doubled when the serial part is used in mode

SMOD

PCON.7

Double baud rate bit. If SMOD
1,2 and 3.

HPD

PCON.6

Hard Power Down. (83CIS4 and 83CIS4D only). The falling/rising edge of a signal connected
on pin P3.S Starts/Stops the Power-Down mode. A reset can also stop this mode.

RPD

PCON.S

Recover Power Down bit. (83ClS4 and 83CIS4D only). It's used to cancel a Power-Down/IDLE
mode. If it's set, an interrupt (enable or disable) can cancel this mode. A reset can also stop this
mode (see Note 1).

PCON.4

Not implemented, reserved for futur used*

GFI

PCON.3

General purpose bit.

GFO

PCON.2

General purpose bit.

PD

PCON.I

Power Down bit. If set, the oscillator is stopped. A reset or an interrupt (83ClS4 and 83ClS4D
only) can cancel this mode (Note I).

IDL

PCON.O

IDLE bit. If set the activity CPU is stopped. A reset or an interrupt can cancel this mode (See
Note I).

* User software should not write Is to reserved bits. These
bits may be used in future TEMIC CSI products to invoke
new features. In that case, the reset or inactive value of the
new bit will be 0, and its active value will be I.
Note 1 (83C154 and 83C154D only) :
- if RPD = 0 and if an interrupt cancels the mode
Power-Down/IDLE, the next instruction to execute is a
LCALL at the interrupt routine.

2.2. Interrupts
In order to use any of the interrupts in the CSI, the
following three steps must be taken.
I. Set the EA (enable all) bit in the IE register to I.
2. Set the corresponding individual interrupt enable bit in
the IE register to I.
3. Begin the Interrupt service routine at the corresponding
Vector Address of that interrupt. See Table below.

- if interrupt request is enable the next
- RPD = I
instruction to execute is a LCALL at the interrupt routine.
- if interrupt request is disable, the program
continue with the instruction immediately after the
Power-DownlIdle instruction.

'INTEltIlUrT S911Itc:'E'

.' '•.......•'.

.•....

lEO
TFO
IEI
TFI
RI & Tl
TF2 & EXF2

In addition, for external interrupts, pins INTO and INTI
(P3.2 and P3.3) must be set to I, and depending on
whether the interrupt is to be level or transition activated,
bits ITO or ITI in the TCON register may need to be set
to 1.

1.3.8

····...V~(;TQR;~~n~S

'" •.••.. . ••. '.' .... . .'

0003H
OOOBH
0013H
OOIBH
0023H
002BH

ITX
ITX

=0 level activated
= I transition activated

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

IE: Interrupt Enable Register (Bit Addressable)
If the bit is 0, the corresponding interrupt is disabled. If
the bit is 1, the corresponding interrupt is enabled.
ET2

EA

ETI

ES

EXI

ETO

EXO

IE.7

Disables all interrupts. If EA = 0, no interrupt will be acknowledged. If EA = I, interrupt source
is individually enable or disabled by setting or clearing its enable bit.

IE.6

Not implemented, reserved for future use*.

ET2

IE.5

Enable or disable the Timer 2 overflow or capture interrupt (80C52, 83C154 and 83CI54D only).

ES

IEA

Enable or disable the Serial port interrupt.

ETl

IE.3

Enable or disable the Timer I overflow interrupt.

EXI

IE.2

Enable or disable External interrupt I.

ETO

IE.1

Enable or disable the Timer

EXO

IE.O

Enable or disable External Interrupt 0.

EA

°

overflow interrupt.

* User software should not write Is to reserved bits. These
bits may be used in future TEMIC C51 products to invoke
new features. In that case, the reset or inactive value of the
new bit will be 0, and its active value will be 1.

2.4. Priority Within Level

2.3. Assigning Higher Priority to one More
Interrupts

lEO
TFO
IEI
TFI
RI or TI
TF20rEXF2

In order to assign higher priority to an interrupt the
corresponding bit in the IP register must be set to I.
Remember that while an interrupt service is in progress,
it cannot be interrupted by a lower or same level interrupt.

Priority within level is only to resolve simultaneous
requests of the same priority level. From high to low,
interrupt sources are listed below:

IP: Interrupt Priority Register (Bit Addressable)
If the bit is 0, the corresponding interrupt has a lower
priority and if the bit is the corresponding interrupt has a
higher priority.
peT

PCT
PT2

IP.7

PT2

PS

PTl

PXl

PTO

PXO

Defines the same priority level for all the source interrupt (83C154 and 83C154D only).

IP.6

Not implemented, reserved for future use*.

IP.5

Defines the Timer 2 interrupt priority level (80C52, 83Cl54 and 83C154D only).
Defines the Serial Port interrupt priority level.

PS

IPA

PTl

IP.3

Defines the Timer 1 Interrupt priority level.

PXl

IP.2

Defines External Interrupt priority level.

PTO

IP.!

Defines the Timer

pxo

IP.O

°

interrupt priority level.

°

Defines the External Interrupt priority level.
* User software should not write Is to reserved bits. These
bits may be used in future TEMIC C51 products to invoke
new features. In that case, the reset or inactive value of the
now bit will be 0, and its active value will be l.

MATRAMHS
Rev. E (14 Jan. 97)

1.3.9

II

TEMIC

cst Family

Semiconductors

IOCON : Input/Output Control Register (83C154 and 83C154D only)
WDT

WDT

T32
SERR
IZC
P3HZ
P2HZ
PlHZ
ALF

T32

SERR

IZC

P3HZ

PIHZ

P2HZ

ALF

=

IOCON.7 Watch Dog Timer bit. Set when Timer I is overflow (TF I). The CPU is reset and the program
is executed from address O.
IOCON.6 Timer 32 bits. The Timer I and Timer 0 are connected together to form a 32 bits Timer/Counter.
If CfTO = 0, it's a Timer. If CfTO = I, it's a counter.
IOCON.5 Serial Port Reception Error flag. Set when an overrun on frame error is received.
IOCON.4 Set/Cleared by software to select 100/10 K pull up resistance for Port I, 2 and 3.
IOCON.3 When Set, Port 3 becomes a tri-state input. When cleared, the pull-up resistance value is selected
by IZC.
IOCON.2 When Set, Port 2 becomes a tri-state input. When cleared, the pull-up resistance value is selected
by IZC.
IOCON.I When Set, Port I becomes a tri-state input. When cleared, the pull-up resistance value is selected
by IZC.
IOCON.O All Port tri-state. When Set and CPU in Power-Down mode, port I, 2 and 3 are tri-state.

TCON: Timer/Counter Control Register (Bit Addressable)
TFI

TFI

TCON.7

TRI
TFO

TCON.6
TCON.5

TRO
IEI

TCON.4
TCON.3

IT!

TCON.2

IEO

TCON.I

ITO

TCON.O

TRI

TFO

TRO

IEI

IT!

lEO

ITO

Timer I overflow flag. Set by hardware when the Timer/Counter
overflows. Cleared by
hardware as processor vectors to the interrupt service routine.
Timer I run control bit. Set/cleared by software to turn Timer/Counter ON/OFF.
Timer 0 overflow flag. Set by hardware when the Timer/Counter 0 overflows. Cleared by
hardware as processor vectors to the service routine.
Timer 0 run control bit. Set/cleared by software to turn Timer/Counter 0 ON/OFF.
External Interrupt I edge flag. Set by hardware when External interrupt edge is detected. Cleared
by hardware when interrupt is processed.
Interrupt I type control bit. Set/cleared by software to specify falling edgelflow level triggered
External Interrupt.
External Interrupt 0 edge flag. Set by hardware when External Interrupt edge detected. Cleared
by hardware when interrupt is processed.
Interrupt 0 type control bit. Set/cleared by software to specify falling edge/low level triggered
External Interrupt.

TMOD : Timer/Counter Mode Control Register (Not Bit Addressable)
GATE

CIT

Ml

TIMER 1

GATE

CIT
MI
MO
1.3.10

MO

GATE

CIT

MI

MO

TIMER 0

When TRx (in TCON) is set and GATE = I, TIMER/COUNTERx will run only while INTx pin is high
(hardware control). When GATE = 0, TIMERICOUNTERx will run only while TRx = 1 (software
control).
Timer or Counter selector. Cleared for Timer operation (input from internal system clock). Set for
Counter operation (input from Tx input pin).
Mode selector bit (NOTE I).
Mode selector bit (NOTE 1).
MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Note 1:
Ml

MO

0
0

0
1
0
1

OPERATING MODE

o
1
2
3

13-bit Timer
16-bit Timer/Counter
8-bit Auto-Reload Timer/Counter
(Timer 0) TLO is an 8-bit Timer/Counter controlled by the standard Timer 0 control
bits, THO is an 8-bit Timer and is controlled by Timer I control bits.
(Timer I) Timer/Counter I stopped.

2.5. Timer Set-up

Table 4. As a Counter

Tables 3 through 6 give some values for TMOD which can
be used to set up Timer 0 in different modes.
It is assumed that only one timer is being used at a time.
It is desired to run Timers 0 and 1 simultaneously, in any

mode, the value that in TMOD for Timer 0 must be ORed
with the value shown for Timer 1 (Tables 5 and 6).
For example, if it is desired to run Timer 0 in mode I
GATE (external control) and Timer 1 in mode 2
COUNTER, then the value must be loaded into TMOD is
69H (09H from Table 3 ORed with 60H from Table 6).
Moreover, it is assumed that the user, at this point, is not
ready to tum the timers on and will do that a different
point in the program by setting bit TRx (in TCON) to 1.

2.6. Timer/Counter 0
Table 3. As a Timer

Notes: 1. The Timer is turned ON/OFF by setting/clearing bit TRO in the software.
2. The Timer is turned ON/OFF by the I to 0 transition on INTO (P3.2) when TRO = I (hardware control).

MATRAMHS
Rev. E (14 Jan. 97)

1.3.11

II

TEMIC

cst Family

Semiconductors

2.7. Timer/Counter 1

Table 6. As a Counter

Table 5. As a Timer

Notes: 1. The Timer is turned ON/OFF by setting/clearing bit TR 1 in the software.
2. The Timer is turned ON/OFF by the 1 to 0 transition on INTI (P3.2) when TR 1 : I (hardware control).

T2CON : Timer/Counter 2 Control register (Bit Addressable)
(80C52, 83C154 and 83C154D only)
TF2

EXF2

RCLK

TCLK

EXEN2

TR2

crf2

CPIRL2

TF2

T2CON.7 Timer 2 overflow flag set by hardware and cleared by software. TF2 cannot be set when either
RCLK= 1 or CLK = 1
EXF2 T2CON.6 Timer 2 external flag set when either a capture or reload is caused by a negative transition on
T2EX, and EXEN2 = 1. When Timer 2 interrupt is enabled, EXF2 = 1 will cause the CPU to
vector to the Timer 2 interrupt routine. EXF2 must be cleared by software.
RCLK T2CON.5 Receive clock flag. When set, causes the Serial Port to use Timer 2 overflow pulses for its receive
clock in modes 1 & 3. RCLK = 0 causes Timer 1 overflow to be used for the receive clock.
TCLK T2CONA Transmit clock flag. When set, causes the Serial Port use Timer 2 overflow pulses for its transmit
clock in modes 1 & 3, TCLK = 0 causes Timer 1 overflows to be used for the transmit clock.
EXEN2 T2CON.3 Timer 2 external enable flag. When set, allows a capture or reload to occur as a result of negative
transition on T2EX if Timer 2 is not being used to clock the Serial Port. EXEN2 = 0 causes Timer
2 to ignore events as T2EX.
TR2
T2CON.2 Software START/STOP control for Timer 2. A logic 1 starts the Timer.
CIT2
T2CON.1 Timer or Counter select.
CPIRL2 T2CON,O CapturelReload flag. When set, captures will occur on negative transitions at T2EX if
EXEN2 = 1. When cleared, Auto-Reloads will occur either with Timer2 overflows or negative
transitions at T2EX when EXEN2 = 1. When either RCLK = I or TCLK = I, this bit is ignored
and the Timer is forced to Auto-Reload on Timer 2 overflow.

2.8. Timer/Counter 2 Set-up
Except for the baud rate generator mode, the values given
for T2CON do not include the setting of the TR2 bit.
Therefore, bit TR2 must be set, separately, to tum the
Timer on.

1.3.12

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Table 7. As a Timer

Table 8. As a Counter

INTERNAL
CONTROL \1<·(;()~ItR'

MODE

I]

(NOTE~J"'"
16-bit Auto-Reload
16-bit Capture
BAUD rate generator
receive & transmit same
baud rate
receive only
transmit only

OOH
OIH

08H
09H

34H
24H
14H

36H
26H

16-bit Auto-Reload
16-bit Capture

OAH
OBH

02H
03H

16H

Notes: 1. Capture/Reload occurs only Timer/Counter overtlow.
2. Capture/Reload occurs on Timer/Counter ovclilow and a I to 0 transition on T2EX (Pl.!) pin except when Timer 2 is used
in the baud rate generating mode.

SCON : Serial Port Control Register (Bit Addressable)
SMO

SMO
SMl
SM2

SCON.7
SCON.6
SCON.S

SMI

SM2

REN

TN8

RB8

TI

RI

Serial Port mode specifier (NOTE I).
Serial Port mode specifier (NOTE I).
Enables the multiprocessor communication feature in mode 2 & 3. In mode 2 or 3, if SM2 is set
to I then RI will not be activated if the received 9th data bit (RB8) is 0. In mode I, if SM2 = 1
then RI will not be activated if a valid stop bit was not received. In mode 0, SM2 should be (See
table 9).
Set/Cleared by software to Enable/Disable reception.
The 9th bit that will be transmitted in modes 2 & 3. Set/Cleared by software.
In modes 2 & 3, is the 9th data bit that was received. In mode 1, if SM2 = 0, RB8 is the stop bit
that was received. In mode 0, RB8 is not used.
Transmit interrupt flag. Set by hardware at the end of the 8th bit time in mode 0, or at the beginning
of the stop bit in the other modes. Must be cleared by software.
Receive interrupt flag. Set by hardware at the end of the 8th bit time in mode 0, or half way through
the stop bit time in the other modes (except see SM2). Must be cleared by software.

°

REN
TB8
RB8

SCONA

TI

SCON.l

RI

SCON.O

SCON.3
SCON.2

Note 1 :
o
o
I

MATRAMHS
Rev. E (14 Jan. 97)

o

o

SHIFT REGISTER

Fosc.!12

I

I
2

8 bitUART
8 bitUART
8bitUART

Fosc./64 OR Fosc./32
Variable

o

Variable

1.3.13

TEMIC

cst Family

Semiconductors

=

2.9. Serial Port Set-Up

THI

Table 9.

THI must be integer value. Rounding off THI to the
nearest integer may not produce the desired baud rate. In
this case, the user may have to choose another crystal
frequency.

1···/·1\10D1': •.•·• •· · •· ... SCON<.Sl\1:zYA~1:\:ri6t1i
o

IOH

o

SOH

Single Processor

90H

Environment

DOH

(SM2 =0)

NA

2

70H

Multiprocessor

BOH

Environment

FOH

(SM2= I)

2.10. Generating Baud Rates
Serial Port in Mode 0 :
Mode has a fixed baud rate which is 1112 of oscillator
frequency. To run serial port in this mode none of the
Timer/Counters need to be set up. Only the SCON register
needs to be defined.

°

Baud Rate

=

Osc Freq
--1-2-

Serial Port in Mode 1 :
Mode I has a variable baud rate. The baud rate can be
generated by either Timer I or Timer 2 (80C52, 83C 154
and 83CI54D only).

2.11. Using Timer/Counter 1 to Generate
Baud Rates
For this purpose, Timer I is used in mode 2
(Auto-Reload). Refer to Timer Setup section of this
chapter.
K x Oscillator freq.

Baud Rate
if SMOD

=

32 x 12 x [256-(THl)]

=0, then K = 1.

If SMOD = I, then K =2. (SMOD is the PCON register).
Most of the time the user knows the baud rate and needs
to know the reload value for THI. Therefore, the equation
to calculate THI can be \lritten as :

1.3.14

256 _ K x Oscillator freq.
384 x baud rate

Since the PCON register is not bit addressable, one way
to set the bit is logical ORing the PCON register (ie, ORL
PCON, #80H). The address of PCON is 87H.

2.12. Using Timer/Counter 2 to Generate
Baud Rates
For this purpose, Timer 2 must be used in the baud rate
generating mode. Refer to Timer 2 Setup Table in this
chapter. If Timer 2 is being clocked through pin T2 (P 1.0)
the baud rate is :
B

au

d R t - Timer 2 Overflow Rate
ae 16

And if it being clocked internally the baud rate is :
Baud Rate

=

32

X

Osc. Freq
[65536 - (RCAP2H, RCAP2L)]

To obtain the reload value for RCAP2H and RCAP2L the
above equation can be written as :
RCAP2H, RCAP2L

=

Osc. Freq
65536 - 32 x Baud rate

2.13. Serial Port in Mode 2
The baud rate is fixed in this mode and 1/32 or 1/64 of the
oscillator frequency depending on the value of the SMOD
bit in the PCON register.
In this mode none of the Timers are used and the clock
comes from the internal phase 2 clock.
SMOD

= I, Baud Rate = 1132 Osc Freq.

SMOD = 0, Baud Rate = 1/64 Osc Freq.
To set the SMOD bit: ORL PCON, #80H. The address of
PCONis 87H.

2.14. Serial Port in Mode 3
The baud rate in mode 3 is variable and sets up exactly the
same as in mode I.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

C5t Family

Semiconductors

Table 10. TEMIC CSI Instruction Set
loten-upt Response time: Refer to Hardware Description
Chapter.
Instructions that Affect Flag Settings (I)

INSTRUC.

ADD
ADDC
SUBB
MUL
DIV
DA
RRC
RLC
SETBC

FLAG

FLAG

INSTRUC.

C

OV

AC

X
X
X
0
0
X
X
X

X
X
X
X
X

X
X
X

C
CLRC
CPL C
ANL C, bit
ANLC,/bit
ORLC, bit
ORLC, bit
MOVC, bit
CJNE

OV

AC

0
X
X
X

X
X
X

X

(I) note that operations on SFR byte address 208 or hit addresses 209-215 (i.e., the PSW or bits in the PSW) will also affect nag settings.

Note on instruction set and addressing modes :
Rn

- Register R7-RO of the currently selected Register Bank

direct

- 8-bit internal data location's address. This could be an Internal Data RAM location (0-127) or a SFR (i.e., 1/0
port, control register, status register, etc. (128-255)).

@Ri

- 8-bit internal data RAM location (0-255) addresses indirectly through register RI or RD.

# data

- 8¥bit constant included in instruction.

# data 16

- 16-bit constant included in instruction.

addr 16

- 16-bit destination address. Used by LCALL & LJMP. Abranch can be anywhere within the 64K-byte Program
memory address space

addr II

- II-bit destination address. Used by ACALL & AJMP. The branch will be within the same 2K-byte page of
program memory as the first byte of the following instruction

reI

- Signed (two's complement) 8-bit offset byte. Used by SJMP and all conditionnal jumps. Range is -128 to +
127 bytes relative to first byte of the following instruction.

bit

- Direct Addressed bit in internal Data RAM or special Function Register.

MATRAMHS
Rev. E (14 Jan. 97)

1.3.15

a

TEMIC

cst Family

Semiconductors

ARITHMETIC OPERATIONS

LOGICAL OPERATIONS

ADDA,Rn

Add register to
Accumulator

ADD A, direct

Add direct byte to
Accumulator

ADD A, @Ri

Add indirect RAM to
Accumulator

ADD A, #data

Add immediate data to
Accumulator

ADDCA, Rn

Add register to
Accumulator with Carry

ADDCA, direct

Add direct byte to
Accumulator with Carry

ADDCA,@Ri

Add indirect RAM to
Accumulator with Carry

ADDCA, #data

Add immediate data to
Ace with Carry

SUBB A, Rn

Subtract Register from
Ace with bonow

12

SUBB A, direct

Subtract direct byte from
Ace with borrow

12

SUBB A, @Ri

Subtract indirect RAM

12

2

2

12

ANLA,Rn

AND Register to
Accumulator

12

ANL A, direct

AND direct byte to
Accumulator

12

ANLA,@Ri

AND indirect RAM to
Accumulator

ANLA,#data

AND immediate data to
Accumulator

ANL direct, A

AND Accumulator to
direct byte

12

ANL direct, #data

AND immediate data to
direct byte

24

ORLA, Rn

OR register to

12

12
12

2

12
12

2

2

12
12

2

12

Accumulator

ORL A, direct

OR direct byte to
Accumulator

ORLA,@Ri

OR indirect RAM to
Accumulator

12

ORLA, #data

OR immediate data to
Accumulator

12

ORL direct, A

OR Accumulator to direct
byte

12

ORL direct, #data

OR immediate data to

24

12

from ACe with borrow

12

2

12

direct byte
SUBB A, #data

Subtract immediate data
from Ace with borrow

12

INCA

Increment Accumulator

12

INCRn

Increment register

12

INC direct

Increment direct byte

2

XRLA,Rn

Exclusive-OR register to
Accumulator

XRL A, direct

Exclusive-OR direct byte
to accumulator

12

XRLA,@Ri

Exclusive-OR indirect
RAM to Accumulator

12

XRLA, #data

Exclusive-OR
immediate data to
Accumulator

12

XRL direct, A

Exclusive-OR
Accumulator to direct
byte

12

XRL direct, #data

Exc1usi ve-OR
immediate data to direct
byte

24

CLRA

Clear Accumulator

12

CPLA

Complement
Accumulator

12

RLA

Rotate Accumulator Left

12

RLCA

Rotate Accumulator Left
through the Carry

12

RRA

Rotate Accumulator
Right

12

RRCA

Rotate Accumulator
Right through the Carry

12

SWAP A

Swap nihbles within the
Accumulator

12

1NC@Ri

Increment direct RAM

12

DEC A

Decrement Accumulator

12

DECRn

Decrement Register

12

DEC direct

Decrement direct byte

12

DEC@Ri

Decrement indirect RAM

12

INC DPTR

Increment Data Pointer

24

MULAB

Multiply A&B

48

DIV AB

Divide A by B

48

DAA

L3,16

Decimal Adjust
Accumulator

12

12
2

12

MATRAMHS
Rev, E (14 Jan, 97)

TEMIC

cst Family

Semiconductors

I,.L,;:·•.·

DESCRIPTION

i.i.···.>.· •.•.

BYTE·OSq L.
PERIOD

DATA TRANSFERT

MaY A,Rn

MNEMONIC

DATA TRANSFERT (continued)
Move Register to
Accumulator

MaY A, direct

Move direct byte to

2

12

XCHA, Rn

Exchange register with
Accumulator

12

XCH A, direct

Exchange direct hyte
with Accumulator
Exchange indired RAM

Accumulator

MaY A, @Ri

Move indirect RAM to
Accumulator

12

XCH A, @Ri

MaY A,#data

Move immediate data to

12

XCHDA,@Ri

12

Move Accumulator to
register

MaY Rn, direct

Move direct byte to
register

24

MaY Rn, #data

Move immediate data to

12

register

12

Move Accumulator to

direct byte
MaY direct, Rn

Move register to direct

2

24

byte
MaY direct, direct

Move direct byte to direct

24

MaY direct, @Ri

Move indirect RAM to
direct byte

24

MaY direct, #data

MaY @Ri,direct

12
12

Exchange lawarder Digit

Move immediate data to

Move Accumulator to
indirect RAM
Move direct by to indirect

2

Move immediate data to
indirect RAM

2

Clear Carry

CLRbit

Clear direct bit

SETB C

Set Carry

SETB bit

Set direct bit

CPLC

Complement Carry

CPLbit

Complement direct bit

ANLC, bit

AND direct bit to Carry

ANLC,/bit

AND complement of

12
2

12
12

2

12

2

12

2

24

12

24

direct bit to Carry

ORLC, bit

OR direct bit to Carry

24

24

ORLC,/bit

OR complement of direct
bit to Carry

24

12

MOYC,bit

Move direct bit to Carry

MaY bit. C

Move Carry to direct bit

2

24

JC rei

Jump if Carry is set

2

24

JNC rei

Jump if Carry not set

2

JB bit, rei

Jump if direct Bit is set

24

24

RAM
MaY @Ri, #data

12

BOOLEAN VARIABLE MANIPULATION

direct byte
MOY@Ri,A

2

indirect RAM with Ace

CLRC

MaY direct, A

12

with Accumulator

Accumulator

MaY Rn, A

DESCRIPTION

12

12

24

MaY DPTR,
#datal6

Load Data Pointer with a
16-bit constant

24

JNB bit, rei

Jump if direct Bit is Not
set

24

MOYCA
@A+DPTR

Move Code byte relative

24

JBC bit, rei

Jump if direct Bit is set &
clear bit

24

MOYCA@A+PC

Move Code byte relative
to PC to Acc

24

MOYXA, @Ri

Move External RAM

24

to DPTR to Ace

(8~bit

MOYXA, @DPTR

addr) to Ace

(16~bit

MOYX@Ri,A

(8~bit

24

addr)
24

Move Acc to External

RAM
PUSH direct

addr) to Ace

Move Ace to External

RAM
MOYX@DPTR.A

24

Move External RAM

(l6~bit

addr)

Push direct byte only

2

24

2

24

stack

POP direct

Pop direct byte from
stack

MATRAMHS
Rev. E (14 Jan. 97)

1.3.17

II

TEMIC

cst Family

Semiconductors

PROGRAM BRANCHING
ACALLK addrll

Absolute Subroutine Call

24

CNJE A, direct, rei

Compare direct byte to
Ace and Jump if Not
Equal

24

CJNE A, #data, reI

Compare immediate to
Acc and Jump if Not
Equal

24

CJNE Rn, #data, reI

Compare immediate to
register and Jump if Not
Equal

24

CJNE @Ri, #data,
reI

Compare immediate to
indirect and Jump if Not
Equal

24

LCALL addr 16

Long Subroutine Call

24

RET

Return from Subroutine

24

RETI

Return from interrupt

AJMPaddr11

Absolute Jump

LJMPaddrl6

Long Jump

24

SJMP reI

Short Jump (relative
addr)

24

DJNZRn, reI

Decrement register and
Jump if Not Zero

JMP@A+DPTR

Jump direct relative to the
DPTR

24

DJNZ direct, reI

Decrement direct byte
and Jump if Not Zero

24

JZ reI

Jump if Accumulator is
zero

2

24

NOP

No Operation

12

JNZ rei

Jump if Accumulator is

2

24

24

2

24

2

24

not Zero

1,3,18

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semic.:onductors

3. Instruction Definitions
ACALL addr 11
Function:
Description:

Example:

Bytes:
Cycles:

Absolute Call
ACALL unconditionally calls a subroutine located at the indicated address. The instruction
increments the PC twice to obtain the address of the following instruction. then pushes the 16-bit
result onto tbe stack (low-order byte first) and increments the Stack Pointer twice. The destination
address is obtained by successively concatenating the five high-order bits of the incremented PC,
opcode bits 7-5, and the second byte of the instruction. The subroutine called must therefore start
within the same 2 K block of the program memory as the first byte of the instruction following
ACALL. No flags are affected.
Initially SP equals 07H. The labs " SUBRTN " is at program memory location 0345 H. After
executing the instruction,
ACALL SUBRTN
at location 0123H, SP will contain 09H, internal RAM locations 08H and 09H will contain 25H and
OIH, respectively, and the PC will contain 0345H.
2
2

10 0 0 t i l a7

Encoding:

la 10 a9 a8

Operation:

ACALL
(PC) ~ (PC) + 2
(SP) ~ (SP) + I
[(SP)] ~ (PC7-0)
(SP) ~ (SP) + 1
[(SP)] ~ (PC15-S)
(PC 10-0) ~ page address

MATRA MHS
Rev. E (14 Jan. 97)

a6

as

a41 a3 a2

at

aO

1

1.3.19

II

TEMIC

cst Family

Semiconductors

ADD a, 
Function:
Description:

Example:

Add
ADD adds the byte variable indicated to the Accumulator, leaving the result in the Accumulator. The
carry and auxiliary-carry flags are set, respectively, if there is a carry-out from bit 7 or bit 3, and
cleared otherwise. When adding unsigned integers, the carry flag indicates an overflow occured.
OV is set there is a carry-out of bit 6 but not out of bit 7, or a carry-out of bit 7 but not bit 6 ; otherwise
OV is cleared. When adding signed integers, OV indicates a negative number produced as the sum
of two positive operands, or a positive sum from two negative operands.
Four source operand addressing modes are allowed: register, direct, register-indirect, or immediate.
The Accumulator holds OC3H (I100001lB) and register 0 holds OAAH (I010101OB). The
instruction,
ADDA,RO
will leave 6DH (0110110lB) in the Accumulator with the AC flag cleared and both the carry flag and
OV set to 1.

ADD A, Rn
Byte:
Cycle:
0

o

II

Encoding:

10

Operation:

ADD
(A) f- (A) + (Rn)

ADD A, direct
Bytes:
Cycle:

2

Encoding:

I

Operation:

0

0

o

I

0

r

0

I

II I

direct address

ADD
(A) f- (A) + (direct)

ADD A, @RI
Byte:
Cycle:
0

o

II

Encoding:

10

Operation:

ADD
(A) f- (A) + ((RI))

ADD A, # data
Bytes:
Cycle:

2

Encoding:

10

Operation:

ADD
(A) f- (A) + # data

1.3.20

0

01 0

o

i

I

0

I

Immediate data

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

ADDe A, 
Function:
Description:

Example:

Add with Carry
ADDC simultaneously adds the byte variable indicated, the carry flag and the Accumulator contents,
leaving the result in the Accumulator. The carry and auxiliary-carry or bit flags are set, respectively,
if there is a carry-out from bit 7 or bit 3, and cleared otherwise. When adding unsigned integers, the
carry flag indicates an overflow occured.
OV is set if there is a carry-out of bit 6 but not out of bit 7, or a carry-out of bit 7 but not out of bit
6 ; otherwise OV is cleared. When adding signed intergers, OV indicates a negative number produced
as the sum of two positive operands or a positive sum from two negative operands.
Four source operand addressing mode are allowed; register, direct, register-indirect, or immediate.
The Accumulator holds OC3H (lIOOOOIIB) and register 0 holds OAAH (lOIOIOIOB) with the carry
flag set. The instruction,
ADDCA,RO
will leave 6EH (OIIOIIIOB) in the Accumulator with AC cleared and both the Carry flag and OV
set to l.

ADDCA,RN
Byte:
Cycle:
Encoding:

10

Operation:

ADDC

0

1 11

L -_ _ _ _ _ _ _ _L -_ _ _ _ _ _

(A)

f-

r

I

I

I

i

I

0

I

~

(A) + (C) + (Rn)

ADDC A, direct
Bytes:
2
Cycle:
Encoding:
Operation:

10

0

1

I0

0

I

direct address

ADDC
(A) f- (A) + (C) + (direct)

ADDCA,@RI
Byte:
Cycle:
Encoding:
Operation:

1

0

0

1

I0

ADDC
(A) f- (A) + (C) + «Ri))

ADDC A, #data
Bytes:
2
Cycle:
Encoding:

I0

Operation:

ADDC
(A) f- (A) + (C) + # data

0

I0

0

L -_ _ _ _ _ _ _ _L -_ _ _ _ _ _

MATRA MHS
Rev. E (14 Jan. 97)

~

immediate data

1.3.21

II

TEMIC

CSt Family

Semiconductors

AJMP addrll
Function:
Description:

Example:

ADD A, direct
Bytes:
Cycles:

Absolute Jump
AJMP transfers program execution to the indicated address, which is formed at run-time by
concatenating the high-order five bits of the PC (after incrementing the PC twice), opcode bits 7-5,
and the second byte of the instruction. The destination must therefore be within the same 2 K block
of program memory as the first byte of the instruction following AJMP.
The label" JMPADR " is at program memory location 0123H. The instruction,
AJMPJMPADR
is a location 0345H and will load the PC with 01 23H.
2
2

I

a a a

Encoding:

lalo a9

Operation:

AJMP
(PC) r (PC) + 2
(PCIO-O) r page address

a8

0

I

I I

a7

.6 as

a4

1.3

.2 al

aO

I

ANL , 
Function:
Description:

Example:

Logical-AND for byte variables
ANL performs the bitwise logical-AND operation between the variables indicated and stores the
results in the destination variable. No flags are affected. The two operands allow six addressing mode
combinations. When the destination is the Accumulator, the source can use register, direct,
register-indirect, or immediate addressing; when the destination is a direct address, the source can
be the Accumulator or immediate data. Note: When this instruction is used to modify an output port,
the value used as the original port data will be read from the output data latch, not the input pins.
If the Accumulator holds OC3H (110000I1B) and register 0 holds 55H (01010101B) then the
instruction,
ANLA,RO
will leave 41H (OIOOooOIB) in the Accumulator.
When the destination is a directly addressed byte, this instruction will clear combinations of bits in
any RAM location or hardware register. The mask byte determining the pattern of bits to be cleared
would either be a constant contained in the instruction or a value computed in the Accumulator at
run-time. The instruction,
ANL PI, #Ol11001lB
will clear bits 7, 3, and 2 of output port I.

ANLA,Rn
Bytes:
Cycles:
Encoding:
Operation:
ANL A, direct
Bytes:
Cycles:
Encoding:
Operatiou:

I.3.22

1

0

0

I II

r

I

ANL
(A) r (A) /\ (Rn)
2
I
1

0

0

1

I

0

a

1

II

direct address

ANL
(A) r (A) /\ (direct)

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CS1 Family

Semiconductors

ANLA, @RI

Byte:
Cycle:
Encoding:
Operation:

ANL
(A) f- (A)

II

((Ri))

A

ANLA,#DATA
Bytes:
2
Cycle:
Encoding:
Operation:
ANL direct, A
Bytes:
Cycle:
Encoding:
Operation:

I0

o

ANL
(A) f- (A)

I

A

I0

o

0

I LI___

o

I LI___

im_m_ed_ia_le_d_a_la_ __

# data

2

I

~_o
ANL
(direct)

f-

1100

(direct)

A

d_i_re_cl_a_dd_r_es_s_ __

(A)

ANL direct, # data

Bytes:
Cycles:
Encoding:
Operation:

3
2 _ _ _-,--_ _- ,

I~0

I

0

1 . 0

f-

(direct)

0

I

I IL _ _-==-_____
direct address

I I

---.!

-===--_____

L __ immediate data

ANL
(direct)

MATRAMHS
Rev. E (14 Jan. 97)

A

# data

1.3.23

TEMIC

cst Family

Semiconductors

ANL C, 
Function:
Description:

Example:

ANLC,bit
Bytes:
Cycles:

Logical-AND for bit variables
If the Boolean value of the source bit is logical 0 then clear the carry flag; otherwise leave the carry
t1ag in its current state. A slash (" I ") preceding the operand in the assembly language indicates that
the logical complement of the addressed bit is used as the source value, but the source bit itself is not
affected. No other t1ags are affected.
Only direct addressing is allowed for the source operand.
Set the carry flag if, Pl.O = 1, ACC.7 = 1. and OV = 0 :
MOV C, Pl.O
; LOAD CARRY WITH INPUT PIN STATE
; AND CARRY WITH ACCUM. BIT 7
ANL C, ACC.7
; AND WITH INVERSE OF OVERFLOW FLAG
ANLC,IOV

2
2

II

0
L -________

Operation:

ANL
(C)

ANL C,/bit
Bytes:
Cycles:

f-

I

0
o~0________
o~1

0

Encoding:

(C)

A

b_it_a_d_dr_es_s______

L I_ _ _ _ _ _ _

~

(bit)

2
2

Encoding:

II

Operation:

ANL
(C)

II

0

f-

(C)

A

0

0

0

o

I

bit address

(bit)

CJNE, , rei
Function:
Description:

Example:

1.3.24

Compare and Jump if Not Equal
CJNE compares the magnitudes of the first two operands, and branches if their values are not equal.
The branch destination is computed by adding the signed relative-displacement in the last instruction
byte to the PC, after incrementing the PC to the start of the next instruction. The carry t1ag is set if
the unsigned integer value of  is less than the unsigned integer value of  ;
otherwise, the carry is cleared. Neither operand is affected.
The first two operands allow four addressing mode combinations : the Accumulator may be
compared with any directly addressed byte or immediate data, and any indirect RAM location or
working register can be compared with an immediate constant.
The Accumulator contains 34H, register 7 contains 56H. The first instruction in the sequence,
CJNE
R7, #60H, NOT_EQ
; R7 =60H
JC
; IFR7 <60H
; R7 >60H
sets the carry t1ag and branches to the instruction at label NOT-EQ. By testing the carry t1ag, this
instruction determines whether R7 is greater or less than 60H.
If the data being presented to Port I is also 34H, then the instruction,
WAIT: CJNE A, PI, WAIT
clears the carry t1ag and continues with the next instruction in sequence, since the Accumulator does
equal the data read from PI. (If some other value was being input on PI, the program will loop at this
point until the PI data changes to 34H).

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CS1 Family

Semiconductors

CJNE A, direct, reI
Bytes:
3
Cycles:
2
Encoding:

1'-]-0---]-'-1-0---0-]---'1

Operation:

(PC) ~ (PC) + 3
IF (A) <> (direct)

LI___d_ire_c_la_d_dr_es_s_ _-----'1 LI____re_l._ad_d_rc_ss_'_ _-----'

II

THEN
(PC) ~ (PC) + relative offset
IF (A) < (direct)

THEN
(C)

~

(C)

~O

1

ELSE
CJNE A, # data, reI
Bytes:
3
Cycles:
2
Encoding:

1'1-0--]---'--10--0-0-'1

1

immediate data

rel. address

~-------------'

Operation:

(PC) ~ (PC) + 3
IF (A) <> (data)

THEN
(PC) ~ (PC) + relative offset
IF (A) < data

THEN
(C)

~

1

ELSE
(C)~O

CJNE Rn, # data, reI
Bytes:
3
Cycles:
2
Encoding:
Operation:

1'--,-0---]-,-1-1----r---.1

LI___iffi_ffi_e_di_al_e_da_ta_ _-----'1 LI____re_l._ad_d_re_ss_ _ _-"

(PC) ~ (PC) + 3
IF (Rn) <> data

THEN
(PC) ~ (PC) + relative offset
IF (Rn) < data

THEN
eC)

~

1

~

0

ELSE
(C)

CJNE @Ri, # data, reI
Bytes:
3
Cycles:
2
Encoding:
Operation:

rl-'-O---l---rl-O
-----.1 LI___iffi_ffi_e_di_al_e_da_ta_ _-----'I IL-___rc_l._ad_d_rc_ss_ _ _---'
j

(PC) ~ (PC) + 3
IF (Ri) <> data

THEN
(PC) ~ (PC) + relative offset
IF ((Ri)) < data

THEN
(C)

~

(C)

~O

1

ELSE

MATRAMHS
Rev. E (14 Jan. 97)

1.3.25

TEMIC

cst Family

Semiconductors

CLRA
Function:
Description:
Example:

Bytes:
Cycles:

Clear Accumulator
The Accumulator is cleared (all bits set on zero). No flags are affected.
The Accumulator contains 5CH (OIOIIIOOB). The instruction,
CLRA
Will leave the Accumulator set to OOH (OOOOOOOOB).
I

Encoding:

LI_I___1--,-1_0__0_0-,1

Operation:

CLR
(A) (- 0

CLR bit
Function:
Description:
Example:

Clear bit
The indicated bit is cleared (reset to zero). No other flags are affected. CLR can operate on
the carry flag or any directly addressable bit.
Port 1 has previously been written with 5DH (OlOllIOIB). The instruction,
CLR P1.2
will leave the port set to 59H (OIOllOOlB).

CLRC
Bytes:
Cycles:
Encoding:

IL--l___0_0--,1_o__o___1-,1

Operation:

CLR
(C) (- 0

CLR bit
Bytes:
Cycles:
Encoding:
Operation:

2

II

° °I° °

L -_ _ _ _ _ _ _ _L -_ _ _ _ _ _

°I

~

I

bit address

L -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

~

CLR
(bit) (- 0

CPLA
Function:
Descritpion:
Example:

Bytes:
Cycles:

Complement Accumulator
Each bit of the Accumulator is logically complemented (one's complement). Bits which
previously contained a one are changed to a zero and vice-versa. No flags are affected.
The accumulator contains 5CH (OIOIIIOOB). The instruction,
CPLA
will leave the Accumulator set to OA3H (lOIOOOllB).
1

Encoding:

LII____I--'-I_o__o_o-'I

Operation:

CPL
(A) (- (A)

1.3.26

MATRA MHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

CPL bit
Function:
Description:

Example:

Complement bit
The bit variable specified is complemented. A bit which had been a one is changed to zero
and vice-versa. No other flags are affected. CLR can operate on the carry or any directly
addressable bit.
Note: When this instruction is used to modify an output pin, the value used as the original
data will be read from the output data latch, not the input pin.
Port 1 has previously been written with 5BH (OIOIIIOIB). The instruction sequence.
CPL PI.I
CPL Pl.2
will leave the port set to 5BH (010110118).

II

CPLC
Bytes:
Cycles:
Encoding:

11

Operation:

CPL

0

I0

0

1

I0

0

oI

I

(C) f- (C)

CPL bit
Bytes:
Cycles:

2

Encoding:

11

Operation:

CPL
(bit) f- (bit)

MATRAMHS
Rev. E (14 Jan. 97)

0

1

hit address

1.3.27

cst Family

TEMIC
Semiconductors

DAA
Function:
Description:

Example:

Bytes:

Decimal-adjust Accumulator for Addition
DA A adjusts the eight-bit value in the Accumulator resulting from the earlier addition of two
variables (each in packed-BCD format), producing two four-bit digits, Any ADD or ADDC
instruction may have been used to perform the addition,
If Accumulator bits 3-0 are greater than nine (xxxxIOIO-xxxxllll), or if the AC flag is one, six is
added to the Accumulator producing the proper BCD digit in the low-order nibble, This internal
addition would set the carry flag if a carry-out of the low-order four-bit field propagated through all
high-order bits, but it would not clear the carry flag otherwise.
If the carry flag is now set, or if the four high-order bits now exceed nine (lOlOxxxx -III xxxx), these
high-order bits are incremented by six, producing the proper BCD digit in the high-order nibble.
Again, this would set the carry flag if there was a carry-out of the high-order bits, but wouldn't clear
the carry. The carry flag thus indicates if the sum of the original two BCD variables is greater than
100, allowing multiple precision decimal. OV is not affected.
All of this occurs during the one instruction cycle. Essentially, this instruction performs the decimal
conversion by adding OOH, 06H, 60H, or 66H to the Accumulator, depending on initial Accumulator
and PSW conditions.
Note: DA A cannot simply convert a hexadecimal number in the Accumulator to BCD notation, nor
does DA A apply to decimal substraction.
The Accumulator holds the value 56H (OIOIOIlOB) representing the packed BCD digits of the
decimal number 56. Register 3 contains the value 67H (OIlOOllIB) representing the packed BCD
digits of the decimal number 67. The carry flag is set. The instruction sequence.
ADDCA,R3
DA
A
will first perform a standard twos-complement binary addition, resulting in the value OBEH
(10 IIIII 0), in the Accumulator. The carry and auxiliary carry flags will be cleared.
The decimal Adjust instruction will then after the Accumulator to the value 24H (OOIOOIOOB)
indicating the packed BCD digits of the decimal number 24, the low-order two digits of the decimal
sum of 56,67, and the carry-in. The carry flag will set by the Decimal Adjust instruction, indicating
that a decimal overflow occured. The true sum 56,67, and I is 124. BCD variables can be incremented
or decremented by adding 0 IH or 99H. If the Accumulator initially holds 30H (representing the digits
of 30 decimal), then the instruction sequence,
ADD A,#99H
DA A
will leave the carry set and 29H in the Accumulator, since 30 + 99 = 129. The low-order byte of the
sum can be interpreted to mean 30 -I =29.
I

Cycles:

Encoding :1L _1___0__1.. 11_0___0_°-,1
Operation:

1.3.28

DA
- contents of Accumulator are BCD
IF [[(A3 _ 0) > 9J V [(AC) = IlJ
THEN (A3 _ 0) f- (A3 - 0) + 6
AND
IF [[(A7 -4) > 9] V [(C) = I]]
THEN (A7-4) f- (A7-4) + 6

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

DEC byte
Function:
Description:

Example:

Decrement
The variable indicated is decremented by I. An original value of OOH will undertlow to OFFH. No
tlags are affected. Four operand addressing modes are allowed: accumulator, register, direct, or
register-indirect.
Note: When this instruction is used to modify an output port, the value used as the original port data
will be read from the output data latch, not the input pins.
Register 0 contains 7FH (Ol111111B). Internal RAM locations 7 EH and 7FH contain OOH and 40H,
respectively. The instruction sequence.
DEC@RO
DECRO
DEC@RO
will leave register 0 set to 7EH internal RAM locations 7EH and 7FH to OFFH and 3FH.

DEC A
Bytes:
Cycles:
Encoding:

1000110

Operation:

DEC
CA) <- (A) - 1

o

0

I

r

I

1

II

DECRn
Bytes:
Cycles:
Encoding:

I0

Operation:

DEC
CRn) <- (Rn) - 1

DEC direct
Bytes:
Cycles:

0

0

1 11

2

Encoding:

I0

Operation:

DEC
(direct) <- (direct) - 1

0

0

1

I0

o

L ______d_il_·e_cl_a_dd_r_es_s____

~

DEC@RI
Bytes:
Cycles:
Encoding:
Operation:

LIo___o___o__~I_O________i---,1
DEC
((Ri» <- ((Ri» - 1

MATRA MHS
Rev. E (14 Jan. 97)

1.3.29

IJ

TEMIC

cst Family

Semiconductors

DIVAB
Function:
Description:

Example:

Bytes:
Cycles:

Divide
DIV AB divides the unsigned eight-bit integer in the Accumulator by the unsigned eight-bit integer
in register B. The Accumulator receives the integer part of the quotient; register B receives the
integer remainder. The carry and OV flags will be cleared. Exception: If B had originally contained
OOH ; the values returned in the Accumulator and B-register will be undefined and the overflow flag
will be set. The carry flag is cleared in any case.
The Accumulator contains 251 (OFBH or IllllOllB) and B contains 18 (I2H or 000 I00 lOB). The
instruction,
DIVAB
will leave 13 in the Accumulator (ODH or OOOOIlOIB) and the value 17 (IIH or OOOlOOOIB) in B,
since 251 =(13 x 18) + 17. Carry and OV will both be cleared.
I
4

Encoding:

I1

Operation:

DIV
(Ab-8
(- (A)/(B)

0

0

0

I0

o

0

I

(B)7 - 0

DJNZ , 
Function:
Description:

Example:

1.3.30

Decrement and Jump if Not Zero
DJNZ decrements the location indicated by 1, and branches to the address indicated by the second
operand if the resulting value is not zero. An original value of OOH will underflow to OFFH. No nags
are affected. The branch destination would be computed by adding the signed relative-displacement
value in the last instruction byte to the PC, after incrementing the PC to the first byte of the following
instruction.
The location decremented may be a register or directly addressed byte.
Note: When this instruction is used to modify an output port, the value used as the original port data
will be read from the output data latch, not the input pins.
Internal RAM locations 40H, SOH, and 60H contain the values OIH, 70H, and ISH, respectively. the
instruction sequence,
DJNZ 40H, LABEL_l
DJNZ SOH, LABEL_2
DJNZ 60H, LABEL_3
will cause a jump to the instruction at label LABEL2 with the values DOH, 6FH, and ISH in the three
RAM locations. The first jump was not taken because the result was zero.
This instruction provides a simple way of executing a program loop a given number of times, or for
adding a moderate time delay (from 2 to 512 machine cycles) with a single instruction. The
instruction sequence,
MOV R2,#8
TOGGLE:
CPL P1.7
DJNZ R2, TOGGLE
will toggle P1.7 eight times, causing four output pulses to appear at bit 7 of output Port 1. Each pulse
will last three machine cycles; two for DJNZ and one to after the pin.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

DJNZRn,rel
Bytes:
Cycles:

2
2

Encoding:
Operation:

r

I

a

reI. address

DJNZ
(PC) ~ (PC) + 2
(Rn) ~ (Rn) - I
IF (RN) > 0 or (Rn) < 0
THEN
(PC) ~ (PC) + rei

DJNZ direct, reI
Bytes:
3
Cycles:
2
Encomng:1r-l-----o---l~I-O------O--l-.1
Operation:

LI______d_il_.ec_.t_a_dd_re_s_s____~1

LI_______r_el_.a_d_dr_e_ss______~

DJNZ
(PC)

~

(PC) + 2

(direct) ~ (direct) - I
IF (direct) > 0 or (direct) < 0
THEN
(PC)

~

(PC) + rei

INC 
Function:
Description:

Example:

Increment
INC increments the indicated variable by I. An original value of OFFH will overt1ow to OOH. No t1ags
are affected. There addressing modes are allowed: register, direct, or register-indirect.
Note: When this instruction is used to modify an output port, the value used as the original port data
will be read from the output data latch, not the input pins.
Register 0 contains 7EH (011111110B). Internal locations 7EH and 7FH contain OFFH and 40H,
respectively. The instruction sequence,
INC @RO
INCRO
INC @RO
will leave register 0 set to 7FH and internal RAM locations 7EH and 7FH holding (respectively) OOH
and 41H.

INCA
Bytes:
Cycles:
Encoding:

I0

Operation:

INC
(Al ~ (A) + I

0

0

0

I0

o

0

I

r

I

INCRn
Bytes:
Cycles:
Encoding:

I0

0

0

Operation:

INC
(Rn)

~

(Rn) + I

MATRAMHS
Rev. E (14 Jan. 97)

0

II

1.3.31

TEMIC

cst Family
INC direct
Bytes:
Cycles:

Semiconductors

2

Encoding:

I0

Operation:

INC
(direct)

0

0

f-

o I0

0

1

I

direct address

(direct) + I

INC@RI
Bytes:
Cycles:
Encoding:
Operation:

1000010

INC
«Ri»

f-

il

«Ri» + I

INC DPTR
Function:
Description:

Example:

Bytes:
Cycles:

Increment Data Pointer
Increment the 16-bit data pointer by I.A 16-bit increment (modulo 2 16) is performed; an overflow
of the low-order byte of the data pointer (DPL) from OFFH to OOH will increment the high-order byte
(DPH). No flags are affected.
This is the only 16-bit register which can be incremented.
Registers DPH and DPL contain 12H and OFEH, respectively. The instruction sequence,
INC DPTR
INC DPTR
INC DPTR
will change DPH and DPL to 13H and OlH.
I
2

Encoding:

IL-l_0_ _ _0--,-1_o__o___1--,1

Operation:

INC
(DPTR)

f-

(DPTR) + I

JB bit, rei
Function:
Descritpion :

Example:

1.3.32

Jump if Bit set
If the indicated bit is a one, jump to the address indicated ; otherwise proceed with the next
instruction. The branch destination is computed by adding the signed relative-displacement in the
third instruction byte to the PC, after incrementing the PC to the first byte of the next instruction. The
bit tested is not modified. No flags are affected.
Note: When this instruction is used to test an output pin, the value used as the original data will be
read from the output data latch, not the input pin.
The data present at input port I is llOOlOlOB. The Accumulator holds 56 (OlOlOllOB). The
instruction sequence.
JB PI.2, LABEL I JB ACC.2, LABEL 2
will cause program execution to branch to the instruction at label LABEL 2.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

Bytes:
Cycles:

3
2

Encoding:

I0

Operation:

m

01 0000 1

0

hit address

reI. address

II

(PC) r (PC) + 3
IF (bit) = I
THEN
(PC) r (PC) + reI

JBC bit, rei
Function:
Description:

Example:

Bytes:
Cycles:

Jump if Bit is set and Clear bit
If the indicated bit is a one, branch to the address indicated ; otherwise proceed with the next
instruction. The bit will not be cleared if'it is already a zero. The branch destination is computed by
adding the signed relative-displacement in the third instruction byte to the PC, after incrementing the
PC to the first byte of the next instruction. No flags are affected.
Note: When this instruction is used to test an output pin, the value used as the original data will be
read from the output data latch, not the input pin.
The Accumulator holds 56H (010101 lOB). The instruction sequence,
mc ACC.3, LABEL I
mc ACC.2, LABEL 2
will cause program execution to continue at the instruction identified by the label LABEL2, with the
Accumulator modified to 52H (OIOIOOIOB).
3
2

Encoding:

I

Operation:

mc

0

0

0

I

I

0

0

0

0

I I

bit address

I I

reI. address

(PC) r (PC) + 3
IF (bit) = 1
THEN
(bit) r 0
(PC) r (PC) + reI

JC rei
Function:
Description:

Jump if Carry is set

Example:

If the carry flag is set, branch to the address indicated; otherwise proceed with the next instruction.
The branch destination is computed by adding the signed relative-displacement in the second
instruction byte to the PC, after incrementing the PC twice. No flags are affected.
The carry flag is cleared. The instruction sequence,

Bytes:
Cycles:

JC
LABEL I
CPL C
JC
LABEL 2
will set the carry and cause program execution to continue at the instruction identified by the label
LABEL2.
2
2

Encoding:
Operation:

I0

o

0

I

0

0

0

0

I I'---___

re_'_.a_d_df_es_·s_ _ __

JC
(PC) r (PC) + 2
IF (C) = I
THEN
(PC) r (PC) + reI

MATRA MHS
Rev. E (14 Jan. 97)

1.3.33

TEMIC

cst Family

Semiconductors

JMP@A+DPTR
Function:
Description:

Example:

Bytes:
Cycles:

Jump indirect
Add the eight-bit unsigned contents of the Accumulator with the sixteen-bit data pointer, and load
the resulting sum to the program counter. This will be the address for subsequent instruction fetches.
Sixteen-bit addition is performed (modulo 2'6) : a carry-out from the low-order eight bits propagates
through the higher-order bits. Neither the Accumulator nor the Data Pointer is altered. No flags are
affected.
An even number from 0 to 6 is in the Accumulator. The following sequence of instructions will branch
to one of four AJMP instructions in a jump table starting at JMP-TBL :
MOV
DPTR, #JMP_TEL
JMP
@A+DPTR
JMP_ TBL :
AJMP
LABELO
AJMP
LABELl
AJMP
LABEL2
AJMP
LABEL3
If the Accumulator equals 04H when starting this sequence, execution will jump to label LABEL2.
Remembers that AJMP is a two-byte instruction, so the jump instructions start at every other address.
I
2

Encoding:

ILo____, .1. 1_0_O_ _'-.JI

Operation:

JMP
(PC)

f--

(A) + (DPTR)

JNB bit, rei
Function:
Description:

Example:

Bytes:
Cycles:
Encoding:
Operation:

1.3.34

Jump if Bit not set
If the indicated bit is a zero, branch to the indicated address ; otherwise proceed with the next
instruction. The branch destination is computed by adding the signed relative-displacement in the
third instruction byte to the PC, after incrementing the PC to the first byte of the next instruction. The
bit tested is not modified. No flags are affected.
The data present at input port 1 is 1l00101OB. The Accumulator holds 56H (010101 lOB). The
instruction sequence,
JNB P1.3, LABELl
JNB ACC3, LABEL2
will cause program execution to continue at the instruction at label LABEL2.
3
2
1

0

0

, 10 0 0 0 1

JNB
(PC) f-- (PC) + 3
IF (bit) = 0
THEN (PC)

f--

IL_ _ _ _h_it_a_dd_re_s_s_ _ _-....JI

LI____re_'_.a_d_dr_es_s_ _ _--.J

(PC) + reI

MATRA MHS
Rev. E (14 Jan. 97)

TEMIC

CS1 Family

Semiconductors

JNC reI
Function:
Description:

Example:

Bytes:
Cycles:
Encoding:
Operation:

Jump if Carry not set
If the carry flag is a zero, branch to the address indicated; otherwise proceed with the next instruction.
The branch destination is computed by adding the signed relative-displacement in the second
instruction byte to the PC, after incrementing the PC twice to point to the next instruction. The carry
flag is not modified.
The carry flag is set. The instruction sequence,
JNCLABELI
CPLC
JNCLABEL2
will clear the carry and cause program execution to continue at the instruction identified by the label
LABEL2.
2
2

rl-o- - -o--,

'1-0--0--0-0--'1

reI. address

JNC
(PC) (- (PC) + 2
IF (C) = 0
THEN (PC) (- (PC) + rei

JNZ reI
Function:
Description:

Example:

Bytes:
Cycles:

Jump if Accumulator Not Zero
If any bit of the Accumulator is a one, branch to the indicated address; otherwise proceed with the

next instruction. The branch destination is computed by adding the signed relative-displacement in
the second instruction byte to the PC, after incrementing the PC twice. The Accumulator is not
modified. No flags are affected.
The Accumulator originally holds OOH. The instruction sequence,
JNZLABELI
INCA
JNZLABEL2
will set the Accumulator to 0 I H and continue at label LABEL2.
2
2

,I

II

Encoding:

I0

Operation:

JNZ
(PC) (- (PC) + 2
IF (A);tO
THEN (PC) (- (PC) + rei

MArRA MHS
Rev. E (14 Jan. 97)

0

0

0

0

L _ _ _ _f_C'_.a_d_df_CS_'S_ _ _--.J

1.3.35

II

TEMIC

cst Family

Semiconductors

JZ rei
Function:
Description:

Example:

Bytes:
Cycles:
Encoding

Jump if Accumulator Zero
If all bits of the Accumulator are zero, branch to the address indicated; otherwise proceed with the
next instruction. The branch destination is computed by adding the signed relative-displacement in
the second instruction byte to the PC, after incrementing the PC twice. The Accumulator is not
modified. No flags are affected.
The Accumulator originally contains OlH. The instruction sequence.
JZ
LABELl
DEC
A
JZ
LABEL2
will change the Accumulator to OOH and cause program execution at the instruction identified by the
label LABEL2.
2
2

:1 _°_ _ _ _°-'1_°__°_°__°- -'1

Operation:

L

JZ
(PC) ~ (PC) + 2
IF (A) =0
THEN (PC)

~

reI. address

(PC) + reI

LCALL addr16
Function:
Description:

Example:

Bytes:
Cycles:
Encoding:
Operation:

Long call
LCALL calls a subroutine located at the indicated address. The instruction adds three to the program
counter to generate the address of the next instruction and then pushes the 16-bit result onto the stack
(low byte first), incrementing the Stack Pointer by two. The high-order and low-order bytes of the
PC are then loaded, respectively, with the second and third bytes of the LCALL instruction. Program
execution continues with the instruction at this address. The subroutine may therefore begin
anywhere in the full 64K-byte program memory address space. No flags are affected.
Initially the Stack Pointer equals 07H. The label " SUBRTN " is assigned to program memory
location 1234H. After executing the instruction,
LCALL SUBRTN
at location 0123H, the Stack Pointer will contain 09H, internal RAM locations 08H and 09H will
contain 26H and OIR, and the PC will contain 1235H.
3
2

1° ° ° I 1° °

°

1

ad_d_rl_5_-a_dd_r_8_ _-----.!

L I_ _ _ _

addr7 -addrO

LCALL
(PC) ~ (PC) + 3
(SP) ~ (SP) + I
((SP» ~ (PC7-0)
(SP) ~ (SP) + 1
((SP» ~ (SPI5 - 8)
(PC) ~ addf) 5 -

°

1.3.36

MATRA MHS
Rev. E (14 Jan. 97)

TEMIC

cst Family

Semiconductors

LJMP addr16
Function:
Description:

Example:

Bytes:
Cycles:
Encoding:
Operation:

Long Jump
LJMP causes an unconditional branch to the indicated address, by loading the high-order and
low-order bytes of the PC (respectively) with the second and third instruction bytes. The destination
may therefore be anywhere in the full 64K program memory address space. No flags are affected.
The label " JMPADR " is assigned to the instruction at program memory location 1234H. The
instruction,
LJMPJMPADR
at location 0 123H will load the program counter with 1234H.
3
2

rl-o-o--o--o'l-o--o---o-'1

-'1

IL_ _ _a_d_df_I_5-_ad_d_fs_ _ _

LI____ad_d_f7_"_ad_d_fo_ _ _- '

LJMP
(PC) f- addrlS"O

MOV , 
Function:
Description:

Example:

Move byte variable
The byte variable indicated the second operand is copied into the location specified by the first
operand. The source byte is not affected. No other register or flag is affected.
This is by far the most flexible operation. Fifteen combinaisons of source and destination addressing
modes are allowed.
Internal RAM location 30H holds 40H. The value of RAM location 40H is IOH. The data present at
input port I is I 100 10 lOB (OCAH).
MOY
RO, #30H
; RO <= 30h
MOY
A, @ RO
; A <= 40H
MOY
RI,A
;RI<=40h
MOY
R,@RI
;B<=lOh
MOY
@RI,PI
; RAM (40H) <= OCAH
MOY
P2, PI
; P2 # OCAH
leaves the value 30H in register 0,40H in both the Accumulator and register I,IOH in register B, and
OCAH (I 100 10 lOB) both in RAM location 40H and output on port 2.

MOYA,Rn
Bytes:
Cycles:
Encoding:

11

Operation:

MOY
(A) f- (Rn)

° 11

f

I

*MOY A,direct
Bytes:
2
Cycles:
Encoding:

II

o

I0

0

1

I

direct address

Operation:

MOY
(A) f- (direct)
*MOY A, ACC is not valid instruction.

MATRAMHS
Rev. E (14 Jan. 97)

1.3.37

II

TEMIC

cst Family

Semiconductors

MOVA,@RI
Bytes:
Cycles:

01 0

Encoding:

11

Operation:

MOV
(A) ~ (Ri)

i

I

MOV A, # data
Bytes:
2
Cycles:

1I0

Encoding:

10

Operation:

MOV
CA) ~#data

0

oI

immediate data

MOVRn,A
Bytes:
Cycles:
Encoding:

11

Operation:

MOV
(Rn) ~ (A)

111

r

I

o 11

r

I

r

I I

MOV Rn, direct
Bytes:
2
Cycles:
2
Encoding:

11 0

Operation:

MOV
(Rn) ~ (direct)

direct addr.

MOV Rn, # data
Bytes:
2
Cycles:

1I

Encoding:

10

Operation:

MOV
(Rn) ~#data

immediate data

MOV direct, A
Bytes:
2
Cycles:

1I0

Encoding:

11

Operation:

MOV
(direct)

~

0 1I I

direct address

I I

direct address

(A)

MOV direct, Rn
Bytes:
2
Cycles:
2
Encoding:

11

Operation:

MOV
(direct)

1.3.38

0

0

~

o 11

r

(Rn)

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CS1 Family

Semiconductors

MOV direct, direct
Bytes:
3
Cycles:
2
Encoding:

II

Operation:

MOV
(direct)

0

0

f-

0

1

0

o

I

I ~I______

d_il_-.a_d_dr_._(S_rr_)____~1

~I

______

d_ir_.a_d_dr_.(_d_cs_t)____~

(direct)

MOV direct, @ Ri
Bytes:
2
2
Cycles:

I0

Encoding:

II

Operation:

MOV
(direct) f- (Ri)

0

0

o

i

I I

direct addr.

MOV direct, # data
Bytes:
3
Cycles:
2
Encoding:
Operation:

1

I I0

0

MOV
(direct)

f-

0

II

direct address

immediate data

# data

MOV@Ri,A
Bytes:
Cycles:
Encoding:
Operation:

LII___---"-I_O___i-.J1
MOV
«Ri» f- (A)

MOV @ Ri, direct
Bytes:
2
Cycles:
2
Encoding:
Operation:

II

0

0

I0

L -_ _ _ _ _ _ _ _L -_ _ _ _ _ _

i

I

direct addr.

i

I

immediate data

~

MOV
«Ri» f- (direct)

MOV @ Ri*, data
Bytes:
2
Cycles:
Encoding:
Operation:

I0

I I0

L -_ _ _ _ _ _ _ _L -_ _ _ _ _ _

~

MOV
«Ri» f- # data

MATRA MHS
Rev. E (14 Jan. 97)

1.3.39

II

TEMIC

cst Family

Semiconductors

MOV , 
Function:
Description:

Example:

MOVC,bit
Bytes:
Cycles:
Encoding:
Operation:

More bit data
The Boolean variable indicated by the second operand is copied into the location specified by the
first operand. One of the operands must be the carry flag; the other may be any directly addressable
bit. No other register or flag is affected.
The carry flag is originally set. The data present at input Port 3 is 1I000101B. The data previously
written to output Port I is 35H (OOIlOIOIB).
MOV
PI.3,C
MOV
C,P3.3
MOV
PI.2,C
will leave the carry cleared and change Port I to 39H (00111001B).
2

°
MOV

II

(C)

MOVbit, C
Bytes:
Cycles:

2
2

Encoding:

II

Operation:

~

°

bit address

°

°

bit

(bit)

°°
MOV
(bit)

° 10 °

~

10

address

(C)

MOV DPTR, # data 16
Function:
Description:

Example:

Bytes:
Cycles:

Load Data Pointer with a 16-bit constant
The Data Pointer is loaded with the 16-bit constant indicated. the 16-bit constant is loaded into the
second and third bytes of the instruction. The second byte (DPH) is the high-order byte, while the
third byte (DPL) holds the low-order byte. No flags are affected.
This is the only instruction which moves 16-bits of data at once.
The instruction,
MOV DPTR, 1234H
will load the value 1234H into the Data Pointer: DPH will hold 12H and DPL will hold 34H.
3
2

Encoding:

LI_I_o__o_---'I_o__o__o_o-.J

Operation:

MOV
(DPTR) ~ # datals_o
DPH DPL ~ # datals_8 # data7_o

1.3.40

i_ill_ill_ed_._d_at_a_IS_-_8_ _-.J1

L -_ _

1L-_ _l_·ill_ill_e_d_.d_a_ta_7_-o_ _~

MATRA MHS
Rev. E (14 Jan. 97)

TEMIC
Semiconductors

CS1 Family

Move A, @ A + 
Function:
Descriptiou :

Example:

Move Code byte
The MOVC instructions load the Accumulator with a code byte, or constant from program memory.
The address of the byte fetched is the sum of the original unsigned eight-bit. Accumulator contents
and the contents of a sixteen-bit base register, which may be either the Data Pointer or the Pc. In the
latter case, PC is incremented to the address of the following instruction before being added with the
Accumulator ; otherwise the base register is not altered. Sixteen-bit addition is performed so a
carry-out from the low-order eight bits may propagate through higher-order bits. No flags are
affected.
A value between 0 and 3 is in the Accumulator. The following instructions will translate the value
in the Accumulator to one of four values defined by the DB (define byte) directive.
RELPC:
INC
A
MOVC
A, @ A + PC
RET
DB
66H
CB
77H
CB
88H
DB
99H
If the subroutine is called with the Accumulator equal to OIH, it will return with 77H in the
Accumulator. The INC A before the MOVC instruction is needed to " get around " the RET
instruction above the table. If several bytes of code separated the MOVC from the table, the
corresponding number would be added to the Accumulator instead.

MOVC A, @ A + DPTR
Bytes:
I
Cycles:
2
Encoding:

'1-1-0--0---'1-0--0---1-'1

Operation:

MOVC
(A) +-- «A) + (DPTR))

MOVC A, @ A + PC
Bytes:
Cycles:
2
Encoding : 1,.-1-0--0--0'1-0
- -0-----.
Operation:

MOVC
(PC) +-- (PC) + I
(A) +-- «A) + (PC))

MATRA MHS
Rev. E (14 Jan. 97)

1.3.41

a

TEMIC

cst Family

Semiconductors

MOVX , 
Function:
Description:

Example:

Move External
The MOVX instructions transfer data between the Accumulator and a byte of external data memory,
hence the "X" appended to MOY. There are two types of instructions, differing in whether they
provide an eight-bit or sixteen-bit indirect address to the external data RAM.
In the first type, the contents of RO or RI in the current register bank provide an eight-bit address
multiplexed with data on PO. Eight bits are sufficient for external I/O expansion decoding or for a
relatively small RAM array. For somewhat larger arrays, any output port pins can be used to output
higher-order address bits. These pins would be controlled by an output instruction preceding the
MOVX.
In the second type of MOVX instruction, the Data Pointer generates a sixteen-bit address. P2 outputs
the high-order eight address bits (the contents of DPH) while PO multiplexes the low-order eight bits
(DPL) with data. The P2 Special Function Register retains its previous contents while the P2 output
buffers are emitting the contents of DPH. This form is faster and more efficient when accessing very
large data arrays (up to 64K bytcs), since no additional instructions are needed to set up the output
ports.
It is possible in some situation to mix the two MOVX types. A large RAM array with its high-order
address lines driven by P2 can be addressed via the Data Pointer, or with code to output high-order
address bits to P2 followed by a MOVX instruction using RO or Rl.
An external 256 byte RAM using multiplexed address/data lines is connected to the 80C51 Port O.
Port 3 provides control lines for the external RAM. Ports 0 and 2 are used for normal 110. Registers
o and I contain 12H and 34H. Location 34H of the external RAM holds the value 56H. The instruction
sequence
MOVX
A,@RI
MOVX
@RO,A
copies the value 56H into both the Accumulator and external RAM location 12H.

MOVXA,@Ri
Bytes:
1
Cycles:
2
Encoding:
Operation:

11

0

10

0

i

I

1

I

0

0

i

I

10

0

0

01

0

0

o

MOVX
(A) f- ((Ri»

MOVX@Ri,A
Bytes:
I
Cycles:
2
Encoding:
Operation:

11

MOVX
((Ri» f- (A)
MOVX A, @ DPTR
Bytes:
I
Cycles:
2
Encoding:
Operation:

II

0

MOVX
(A) f- ((DPTR»
MOVX @ DPTR, A
Bytes:
I
Cycles:
2
Encoding:
Operation:

1.3.42

II

I

I

0

I

MOVX
(DPTR) f- (A)

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CS1 Family

Semiconductors

MULAB
Function:
Description:

Example:

Bytes:
Cycles:

Multiply
MUL AB mUltiplies the unsigned eight-bit integers in the Accumulator and register B. The low-order
byte of the sixteen-bit product is left in the Accumulator, and the high-order byte in B. If the product
is greater than 255 (OFFH) the overflow flag is set; otherwise it is cleared. The carry flag is always
cleared.
Originally the Accumulator holds the value 80 (50H). Register B holds the value 160 (OAOH). The
instruction,
MULAB
will give the product 12,800 (3200H), so B is changed to 32H (001100IOB) and the Accumulator is
cleared. The overflow flag is set, carry is cleared.

I
4

Encoding:

LI_l_O___o-,I_O___O_0-.J1

Operation:

MOL
(Ah _of- (A) x (B)
(B)15-8

NOP
Function:
Description:
Example:

Bytes:
Cycles:
Encoding:
Operation:

No Operation
Execution continue at the following instruction. Other than the PC, no registers or flags are effected.
It is desired to produce a low-going output pulse on bit 7 of Port 2 lasting exactly 5 cycles. A simple
SETB/CLR sequence would generate a one-cycle pulse, so four additional cycles must be inserted.
This may be done (assuming no interrupts are enable) with the instruction sequence.
P2.7
CLR
Nap
Nap
Nap
Nap
SETP
P2.7
1

I°

° ° ° I° ° ° ° I

Nap
(PC) f- (PC) + 1

MATRA MHS
Rev. E (14 Jan. 97)

1.3.43

1

TEMIC

cst Family

Semiconductors

ORL  
Function:
Description:

Example:

Logical-OR for byte variables
ORL perfonns the bitwise logical-OR operation between the indicated variables, storing the results
in the destination byte, No flags are affected. The two operands allow six addressing mode
combinaisons. When the destination is the Accumulator, the source can use register, direct,
register-indirect, or immediate addressing; when the destination is a direct address, the source can
be the Accumulator or immediate data. Note: When this instruction is used to modify an output port,
the value used as the original port data will be read from the output data latch, not the input pins.
If the Accumulator holds OC3H (11000011 B) and RO holds 55H (OlOlOlOIB) then the instruction,
ORLA,RO
will leave the Accumulator holding the value OD7H (l1OlOllIB).
When the destination is a directly addressed byte, the instruction can set combinations of bits in any
RAM location or hardware register. The pattern of bits to be set is determined by a mask byte, which
may be either a constant data value in the instruction or a variable computed in the Accumulator at
run-time. The instruction.,
ORL PI, # 001 100 lOb
will set bits 5, 4, and I of output Port 1.

ORLA, Rn
Bytes:
Cycles:
Encoding:
Operation

° ° 11

I°

rI

ORL
(A) ~ (A) V (Rn)

ORL A, direct
Bytes:
Cycles:

2
I

Encoding:

10

Operation:

ORL
(A) ~ (A) V (direct)

° ° 10

°

1I I

direct address

ORLA,@ Ri
Bytes:
Cycles:
Encoding:

LI0___0_0...LI_o___i-!1

Operation:

ORL
(A)

~

(A) V ((Ri))

ORLA,#data
Bytes:
2
Cycles:
I
Encoding:
Operation:

I~o---o-o--rl-o---o--o-"'I

ORL direct, A
Bytes :
Cycles:

2
I

Encoding:

10

Operation:

ORL
(direct) ~ (direct) V (A)

1.3.44

LI___iffi_ffi_e_d_ia_te_d_a_t.__---'

ORL
(A) ~ (A) V # data

° ° 10 °

°I

direct address

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

ORL direct, # data
Bytes:
3
Cycles:
2
Encoding:
Operation:

L°______o__o~l_o___o_____I_"11

d_ir_e_ct_a_dd_re_s_s____~1

L ______

LI______im__m_ed_ia_te_d_a_ta____~

ORL
(direct) <- (direct) V # data

ORL C, 
Function:
Description:

Example:

ORLC, bit
Bytes :
Cycles:
Encoding:
Operation:

Logical-OR for bit variable
Set the carry flag if the Boolean value is a logical I ; leave the carry in its current state otherwise.
A slash (" I ") preceding the operand in the assembly language indicates that the logical complement
of the addressed bit is used as the source value, but the source bit it self is not affected. No other flags
are affected.
Set the carry flag if and only if PI.O = I, ACC. 7 = 1, or OV =0 :
MOV
C, P1.0
; LOAD CARRY WITH INPUT PIN PIO
ORL
C, ACC.7
; OR CARRY WITH THE ACe. BIT7
ORL
C/OV
; OR CARRY WITH THE INVERSE OF OV
2
2

10

10

ORL

°

°I I

bit address

(C) <- (C) V (bit)

ORL C,lbit
Bytes :
Cycles:
Encoding:
Operation:

2
2

II °
ORL

°I° ° ° °

bit address

(C) <- (C) V (bit)

POP direct
Function:
Description:

Example:

Bytes:
Cycles:
Encoding:
Operation:

Pop from stack.
The contents of internal RAM location addressed by the Stack Pointer is read, and the Stack Pointer
is decremented by one. The value read is then transferred to the directly addressed byte indicated.
No flags are affected.
The Stack Pointer originally contains the value 32H, and internal RAM locations 30H through 32H
contain the values 20H, 23H, and OIH, respectively. The instruction sequence,
POPDPH
POPDPL
will leave the Stack Pointer equal to the value 30H and the Data Pointer set to 0123H. At this point
the instruction, POP SP
will leave the Stack Pointer set to 20H. Note that in this special case the Stack Pointer was
decremented to 2FH before being loaded with the value popped (20H)
2
2

LI_I___o_I--'...I_o_o__o_o--,1

direct address

POP
(direct) <- «SP))
(SP) <- (SP) - 1

MATRA MHS
Rev. E (14 Jan. 97)

1.3.45

II

TEMIC

cst Family

Semiconductors

PUSH direct
Function:
Description:
Example:

Bytes:
Cycles:

push onto stack.
The Stack Pointer is incremented by one. The contents fo the indicated variable is then copied into
the internal RAM location addressed by the Stack Pointer. Otherwise no flags are affected.
On entering interrupt routine the Stack Pointer contains 09H. The Data Pointer holds the value
0123H. The instruction sequence,
PUSHDPL
PUSHDPH
will leave the Stack Pointer set to OBH and store 23H and OIH in internal RAM location OAH and
OBH, respectively.
2
2

Encoding:

1.. 1_1___0__0. . 1_0
. __0__0_0-,1

Operation:

PUSH
(SP) f- (SP) + I
«SP)) f- (direct)

direct address

RET
Function:
Description:

Example:

Bytes:
Cycles:
Encoding:
Operation:

Return from subroutine
RET pops the high-and low-order bytes of the PC successively from the stack, decrementing the
Stack Pointer by two. Program execution continues at the resulting address, generally the instruction
immediately following en ACALL or LCALL. No flags are affected.
The Stack Pointer originally contains the value OBH. Internal RAM locations OAH and OBH contain
the values 23H, and OIH, respectively. The instruction,
RET
will leave the Stack Pointer equal to the value 09H. Program execution will continue at location
0123H.
I
2

10

°
RET

01

0

°

°

(PCIS _8) f- «SP))
(SP) f- (SP) - I
(PC7-0) f- «SP))
(SP) f- (SP) - I

RETI
Function:
Description:

Example:

1.3.46

Return from interrupt
RET! pops the high-and low-order bytes of the PC successively from the stack, and restores the
interrupt logic to accept additional interrupts at the same priority level as the one just processed. The
Stack Pointer is left decremented by two. No other registers are affected ;the PSW is not
automatically restored to its pre-interrupt status. Program execution continues at the resulting
address, which is generally the instruction immediately after the point at which the interrupt request
was detected. If a lower-or-same-level interrupt had been pending when the RET! instruction is
executed, that one instruction will be executed before the pending interrupt is processed.
The Stack Pointer originally contains the value OBH. An interrupt was detected during the instruction
ending at location 0122H. Internal RAM locations OAH and OBH contain the values 23H and OIH,
respectively. The instruction,
RETI
will leave the Stack Pointer equal to 09H and return program execution to location 0123H.

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC
Semiconductors

Bytes:
Cycles:
Encoding:
Operation:

cst Family

2
-0-0---1-'1-0- 0- - -0-'1

rl

RET!
(PCIS _8) f- «SP»
(SP) f- (SP) - I
(PC7 _ 0) f- «SP»
(SP) f- (SP) I

II

RLA
Function:
Description:
Example:

Bytes:
Cycles:

Rotate Accumulator Left
The eight bits in the Accumulator are rotated one bit to the left. Bit 7 rotated into the bit 0 position.
No flags are affected.
The Accumulator holds the value OC5H (11000101 B). The instruction,
RLA
leaves the Accumulator holding the value 8BH (lOOOOIOIIB) with the carry unaffected.
I

Encoding:

LI0_ _
0 __
0....LI_o_o_ _'.....J1

Operation:

RL
(An + 1)f-(An)n=0-6
(AO) f- (A7)

RLCA
Function:
Description:

Example:

Bytes:
Cycles:

Rotate Accumulator Left through the Carry flag
The eight bits in the Accumulator and the carry flag are together rotated one bit to the left. Bit 7 moves
into the carry flag; the original state of the carry flag moves into the bit 0 position. No other flags
are affected.
The Accumulator holds the value OC5H (llOOOlOIB), and the carry is zero. The instruction,
RCLA
leaves the Accumulator holding the value 8BH (lOOOIOlOB) with the carry set.
I

I

Encoding:

LI0_ _
0 _ _I....LI_o_o_ _I.. . J1

Operation:

RLC
(An + I) f- (An) n = 0 - 6
(AO) f- (C)
(C) f- (A7)

MATRA MHS
Rev. E (14 Jan. 97)

1.3.47

CS1 Family

TEMIC
Semiconductors

RRA
Function:
Description:
Example:

Bytes:
Cycles:

Rotate Accumulator Right
The eight bits in the Accumulator are rotated one bit to the right. Bit 0 is rotated into the bit 7 position.
No flags are affected.
The Accumulator holds the value OC5H (lIOOOIOIB). The instruction,
RRA
leaves the Accumulator holding the value OE2H (II 1000 lOB) with the carry unaffected.
I
I

Encoding:

rl-o-o--o--o'l-o--o-----,

Operation:

RR
(An)
(A7)

ff-

(An + I) n =0 - 6
(AO)

RRCA
Function:
Description:

Example:

Bytes:
Cycles:

Rotate Accumulator Right through Carry flag
The eight bits in the Accumulator and the carry flag are together rotated one bit to the right. Bit 0
moves into the carry flag; the original value of the carry flag moves into the bit 7 position. No other
flags are affected.
The Accumulator holds the value OC5H (llOOOlOlB), and the carry is zero. The instruction,
RRCA
leaves the Accumulator holding the value 62 (01 1000 lOB) with the carry set.
I

Encoding:

,-1_0_0__0_-->1_0__0_ _ _1->1

Operation:

RRC
(An) f- (An + 1)n = 0 - 6
(A7) f- (C)
(C) f- (AO)

1.3.48

MATRA MHS
Rev. E (14 Jan. 97)

TEMIC

CSt Family

Semiconductors

SETB 
Function:
Description:
Example:

Set bit
SETB sets the indicated bit to one. SETB can operate on the carry flag or any direct addressable bit.
No other flags are affected.
The carry flag is cleared. Output Port I has been written with the value 34H (001 10 IOOB). The
instructions,
SETB C
SETB Pl.O
will leave the carry flag set to 1 and change the data output on Port I to 35H (OOIIOIOIB).

SETBC
Bytes:
Cycles:
Encoding:

11

Operation:

SETB
(C) <-- I

SETB bit
Bytes:
Cycles:

0

1

I0

0

1

I

0

1

I0

0

o

I I

2

Encoding:

11

Operation:

SETB
(bit) <-- I

bit address

SJMP rei
Function:
Description:

Example:

Bytes:
Cycles:

Short Jump
Program control branches unconditionally to the address indicated. The branch destination is
computed by adding the signed displacement in the second instruction byte to the PC, after
incrementing the PC twice. Therefore, the range of destinations allowed is from 128 bytes preceding
this instruction to 127 bytes following it.
The label "RELADR" is assigned to an instruction at program memory location 0123H. The
instruction,
SJMPRELADR
will assemble into location 0l00H. After the instruction is executed, the PC will contain the value
0123H.
(Note: Under the above conditions the instruction following SJMP will be at 102H. therefore, the
displacement byte of the instruction will be the relative offset (0123H - 0102H) = 21H. Put another
way, an SJMP with a displacement of OFEH would be an one-instruction infinite loop).
2
2

Encoding:

1100010000

Operation:

SJMP
(PC) <-- (PC) + 2
(PC) <-- (PC) + rei

MATRA MHS
Rev. E (14 Jan. 97)

reI. address

1.3.49

II

TEMIC

cst Family

Semiconductors

SETB 
Function:
Description:

Example:

Subtract with borrow
SUBB subtracts the indicated variable and the carry flag together from the Accumulator, leaving the
result in the Accumulator. SUBB sets the carry (borrow) flag if a borrow is needed for bit 7, and clears
C otherwise. (If C was set before executing a SUBB instruction, this indicates that a borrow was
needed for the previous step in a multiple precision substraction so the carry is subtracted from the
Accumulator along with the source operand). AC is set if a borrow is needed for bit 3, and cleared
otherwise. OV is set if a borrow is needed into bit 6, but not into bit 7, or into bit 7, but not bit 6. When
subtracting signed integers OV indicates a negative number produced when a negative value is
subtracted from a positive value, or a positive result when a positive number is subtracted from a
negative number. The source operand allows four addressing modes : register, direct,
register-indirect, or immediate.
The Accumulator holds OC9H (llOOIOOIB), register 2 holds 54H (OIOIOIOOB), and the carry flag
is set. the instruction,
SUBBA,R2
will leave the value 74H (OillOIOOB) in the accumulator, with the carry flag and AC cleared but OV
set.
Notice that OC9H minus 54H is 75H. The difference between this and the above result is due to the
carry (borrow) flag being set before the operation. If the state of the carry is not known before starting
a single or multiple-precision substraction, it should not be explicity cleared by a CLRC instruction.

SUBBA, Rn
Bytes:
Cycles:

1 11

Encoding:

11

Operation:

SUBB
(A) <-- (A) - (C) - (Rn)

0

0

r

I

SUBB A, direct
Bytes:
2
Cycles:

1I0

Encoding:

11

Operation:

SUBB
(A) <-- (A) - (C) - (direct)

0

0

0

1[

I

direct address

SUBBA,@Ri
Bytes:
Cycles:
Encoding:

[I

Operation:

SUBB
(A) <-- (A) - (C) - (Ri)

0

0

J [ 0

i

I

SUBB A, # data
2
Bytes:
Cycles:
1

1 [0

Encoding:

[I

Operation:

SUBB
(A) <-- (A) - (C) - # data

1.3.50

0

0

0

0

immediate data

MATRAMHS
Rev. E (14 Jan. 97)

TEMIC

C5t Family

Semiconductors

SWAP A
Function:
Description:
Example:

Bytes:
Cycles:

Swap nibbles within the Accumulator
SWAP A interchanges the low-and high-order nibbles (four-bit fields) of the Accumulator (bits 3 - 0
and bits 7 - 4). The operation can also be thought of a four-bit rotate instruction. No flag are affected.
The Accumulator holds the value OC5H (lIOOOIOIB). The instruction,
SWAP A
leave the Accumulator holding the value 5CH (OIOIIIOOB).
I

Encoding:

LI_l___O__
o--,l_o___o_o-,

Operation:

SWAP
(A 3o ) ~ (A'_4)

XCH A, 
Function:
Description:

Example:

Exchange Accumulator with byte variable
XCH loads the Accumulator with the contents of the indicated variable, at the same time writing the
original Accumulator contents to the indicated variable. The source/destination operand can use
register, direct, or register-indirect addressing.
RO contains the addres 20H. The Accumulator holds the value 3FH (OOllllIIB). Internal RAM
location 20H holds the value 75H (OIIIOIOIB). The instruction,
XCHA,@RO
will leave RAM location 20H holding the values 3FH (001 II IllB) and 75H (OlllOIOIB) in the
Accumulator.

XCHA,Rn
Bytes:
Cycles:
Encoding:

11

Operation:

XCH

° ° 11

r

I

(A)~(Rn)

XCH A, direct
Bytes :
2
Cycles:
Encoding:

11

Operation:

XCH

° ° 10

° I I
1

direct address

(A) ~ (direct)
XCHA,@Ri
Bytes:
Cycles:

MATRAMHS
Rev. E (14 Jan. 97)

1.3.51

II

TEMIC
Semiconductors

Section II

Product Information

Product Selection .•.••.••••.•...•••••..•......•.........•...••.••.•..•..•• 11.1.0
CSI General Purpose Products. . • • . • • • • • . • • • . • . • • • . . • • . . • . • • . • • • • • • • • • • • . • •• 11.2.0
CSI Computer/Communication Products ..•••.•.•••..••..•.•..••••.•.••••.••• 11.7.0
CSI Automotive Products .........•.....•...............•..••••••••••••.••• 11.9.0

TEMIC
Semiconductors

B
Product Selection

Product by Application Domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11.1.1
Products/Peripheral Selection Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11.1.2
Military and Space Products. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11.1.5

TEMIC

Product Selection

Semiconductors

Products by Application Domain

General Purpose C51 Microcontrollers:
• TSC80C31 I TSC80C51
• TSC80CL31 I TSC80CL51
• 80C32 I 80C52

General Purpose C51 Microcontrollers:
• TSC80C31 I TSC80C51
• TSC80CL31 I TSC80CL51
• 80C32 I 80C52

•

80C154/83C154

•

80C154/83C154

•

83C154D

•

83C154D

Extended 8-bit TSC8025I Microcontrollers:
• TSC80251 Gl
• TSC80251G2 (2)

B

Dedicated C51 Microcontrollers:
• TSC805lAIl/TSC875lAll (I)
• TSC805lA30 I TSC875lA30 (I)
• TSC805lAI/TSC8751Al (I)
• TSC805lA21 TSC875lA2 (I)
Extended 8-bit TSC8025I Microcontrollers:
• TSC8025I Al
• TSC8025lA2 (2)
• TSC80251All (2)

General Purpose C51 Microcontrollers:
• TSC80C31 I TSC8OC51
• TSC80CL31 I TSC80CL51
• 8OC32 I 80C52
•

80C154/83C154

•

83C154D

General Purpose C51 Microcontrollers:
• TSC80C31 I TSC80C51
• TSC8OCL31 I TSC80CL51
• 80C32 I 80C52
• 80Cl54/83Cl54
• 83Cl54D

Dedicated Microcontrollers:
• TSC8051Cl
• TSC8051C2 (I)
Extended 8-bit TSC80251 Microcontrollers:
• TSC8025lGI
• TSC8025I G2 (2)

General Purpose C51 Microcontrollers:
• TSC80C31 I TSC80C51
• TSC80CL31 I TSC80CL51
•

80C32/8OC52

•
•

80Cl54/83Cl54
83Cl54D

General Purpose C5lMicrocontrollers:
• TSC8OC31 I TSC80C51
• TSC8OCL31 I TSC80CL51
• 80C32 I 80C52
• 80Cl54/83Cl54
• 83Cl54D

Dedicated C51 Microcontrollers:
• TSC805lAll /TSC8751All (1)
• TSC805lAI/TSC875lAI (I)
Extended 8-bit TSC8025I Microcontrollers:
• TSC8025I Gl
• TSC8025lG2 (2)
(I)

(2)

Available during 1997. Please check with your TEMIC sales office.
Planned.

MATRAMHS
Rev. A (14 Jan. 97)

II.l.1

TEMIC

Product Selection

Semiconductors

ProductslPeripheral Selection Tables
CS1 8-bit Microcontrollers Selection Table

General Purpose - Very Low Voltage: 1.8 Volt

-NEW-

TSC80CL31

Application Specific Microcontrollers

TSC8751C2

Q2-97

4K
OTP

256

16

32

UART

TSC8051All

98

24K

512

20

48

UART, SPI,

11.1.2

~Wire

2

•

2+CCU

•

12x 8-bit PWM

•

CAN2.0B
controller

MATRAMHS
Rev. A (14 Jan. 97)

TEMIC

Product Selection

Semiconductors

Application Specific Microcontrollers (continued)
TSC8751All

Q3-97

24K
OTP

512

20

48

UART, SPI,

~Wire

2+CCU

•

•

CAN 2.0B

•
•

VAN controller

TSC8051A30

98

16 K

256

20

32

UART, SPI,

~Wire

2+CCU

TSC8751A30

Q4-97

16 K
OTP

256

20

32

UART, SPI,

~Wire

2+CCU

•
•

TSC805IAI

98

24 K

512

20

48

UART, SPI,

~Wire

2+CCU

•

•

TSC8751Al

Q3-97

24 K
OTP

512

20

48

UART, SPI,

~Wire

2+CCU

•

•

TSC8051A2

98

16K

256

20

32

UART, SPI,

~Wire

2+CCU

Q4-97

16 K
OTP

256

20

32

UART, SPI,

~Wire

2+CCU

•
•

•

TSC8751A2

Abbreviations
SPI: Serial Peripheral Interface
PWM: Pulse Width Modulation

r2c: Inter-Integrated Circuit Communication Bus
WD: Watchdog Timer
ADC: Analog-to-Digital Converter

control1er

VAN controller

•

SR: Secret ROM
encrypted ROM option to secure the ROM against piracy.

ST: Secret Tag
a 64-Bit identifier can be customized in order to serialize each
microcontroller with a unique number.

PMU: Pulse Measurement Unit

CCU: 8 channels input Capture, output Compare timing Unit
VAN: Vehicle Area Network
CAN: Controller Area Network

MATRAMHS
Rev. A (14 Jan, 97)

ILL3

•

TEMIC

Product Selection

Semiconductors

TSC80251 Extended 8-bit Microcontrollers Selection Table

TSC80251G1

now

1K

16

32

UART, I2C, SPI,

EWC

~Wire

TSC83251Gl

now

16K

1K

16

32

EWC

UART, I2C, SPI,
~Wire

TSC87251Gl

TSC80251G2

now

16K
OTP

Planned

1K

16

32

UART, I2C, SPI,

EWC

~Wire

1K

16

32

UART, I2C, SPI,

EWC

~Wire

TSC83251G2

Planned

32 K

1K

16

32

UART, I2C, SPI,

EWC

~Wire

TSC87251G2

Planned

TSC80251A1

now

TSC8725IA1

now

TSC80251A2

Planned

32 K
OTP

24K
OTP

IK

16

32

EWC

UART, I2C, SPI,
~Wire

1K

16

32

UART

2

PMU,EWC

1K

16

32

UART

PMU,EWC

1K

16

48

UART, I2C, SPI,

PWM,EWC

~Wire

TSC83251A2

Planned

32 K

1K

16

48

UART, I2C, SPI,

2

PWM,EWC

2

PWM,EWC

~Wire

TSC8725IA2

Planned

TSC80251All

Planned

TSC83251All

Planned

TSC8725IAll

Planned

32K
OTP

1K

16

48

UART, I2CI, SPI,
~Wire

4K

16

48

UART

3+CCU

PWM, CAN 2.0B
controller

64K

4K

16

48

UART

3+CCU

PWM, CAN 2.0B
controller

64K
OTP

4K

16

48

UART

3+CCU

PWM, CAN 2.0B
controller

Abbreviations
SPI: Serial Peripheral Interface
PWM: Poise Width Modulation
12C: Inter-Integrated Circuit Communication Bus
WO: Watchdog Timer
AOC: Analog-to-Oigital Converter
PMU: Pulse Measurement Unit
CCU: 8 channels input Capture, output Compare timing Unit
EWC: Event and Waveform Controller
VAN: Vehicle Area Network
CAN: Car Area Network

11.1.4

MATRAMHS
Rev. A (14 Jan. 97)

TEMIC

Product Selection

Semiconductors

Military and Space Products
The main characteristics of the TEMIC 8-bit
microcontrollers available in military and space grades
can be found on the product datasheets.

More details on military and space compliant flows are
described inn the Quality Flow Section.

Standard Military Drawings (SMD)
The following products are registred by the DESC under
SMD numbers.

They are manufactured by TEMIC in military
temperature range according to Mil 883 compliant
quality flows.

5962-8506403MQA
5962-8506403MXC
5962-8506404MQA

Space Qualified Parts
The following product are available in space grade,
processed on Radiation Tolerant technology. The SCC

MATRAMHS
Rev. A (14 Jan. 97)

numbers indicates the qualification by
Componants groups of the device/package.

ESA's

11.1.5

B

TEMIC
Semiconductors

cst General Purpose Products
TSC80C31/80C51 : CMOS 0 to 44 MHz Single-Chip 8 Bit Microcontroller . . . . . . . .. 11.2.1
TSC80CL31ITSC80CL51 : CMOS 1.8 Volt Single-Chip 8 Bit Microcontroller ...... 11.3.1
80C32/80C52 : CMOS 0 to 44 MHz Single Chip 8-bit Microntroller ....•...•....• 11.4.1
80C154/83C154 : CMOS 0 to 36 MHz Single Chip 8-bit Microcontroller •.•....... 11.5.1

83C154D : CMOS 0 to 30 MHz Single Chip 8-bit Microcontroller ...•...•..•....• 11.6.1

TEMIC

TSCSOC31/S0C51

Semiconductors

CMOS 0 to 44 MHz Single-Chip 8 Bit Microcontroller
Description
The TSC80C31180C51 is high performance SCMOS
versions of the 8051 NMOS single chip 8 bit IlC.
The fully static design of the TSC80C31 /80C51 allows to
reduce system power consumption by bringing the clock
frequency down to any value, even DC, without loss of
data.
The TSC80C31/80C51 retains all the features of the
8051 : 4 K bytes of ROM; 128 bytes of RAM; 32110
lines; two 16 bit timers ; as-source, 2-level interrupt
structure; a full duplex serial port; and on-chip oscillator
and clock circuits.

• TSC80C31180C51-Ll6: Low power version
Vcc: 2.7-5.5 V Freq: 0-16 MHz
• TSC80C31180C51-L20: Low power version
Vee: 2.7-5.5 V Freq: 0-20 MHz
• TSC80C31/80CS1-12: 0 to 12 MHz
• TSC80C3 1/8OCS 1-20 : 0 to 20 MHz
• TSC80C31180C51-2S: 0 to 25 MHz

In

addition,
the
TSC80C31180C51
has
two
software-selectable modes of reduced activity for further
reduction in power consumption. In the Idle Mode the
CPU is frozen while the RAM, the timers, the serial port,
and the interrupt system continue to function. In the
Power Down Mode the RAM is saved and all other
functions are inoperative.
The TSC80C31180C51 is manufactured using SCMOS
process which allows them to run from 0 up to 44 MHz
with VCC = 5 V. The TSC80C31180C51 is also available
at 20 MHz with 2.7 V < Vce < 5.5 V.

•
•
•
•

TSCSOC31180CSI-30:
TSCSOC31/80CSI-36:
TSCSOC311SOC51-40:
TSCSOC311S0C51-44:

0 to 30 MHz
0 to 36 MHz
0 to 40 MHz
0 to 44 MHz'

* Commercial and Industrial temperature range only. For other speed
and range please consult your sale office.

Features
•
•
•
•
•
•
•

Power control modes
128 bytes of RAM
4 K bytes of ROM (TSC80C31/S0C51)
32 programmable I/O lines
Two 16 bit timer/counter
64 K program memory space
64 K data memory space

•
•
•
•
•
•

Fully static design
O.S 11m CMOS process
Boolean processor
S interrupt sources
Programmable serial port
Temperature range: commercial, industrial, automotive and
military

Optional
• Secret ROM: Encryption
• Secret TAG: Identification number

MATRAMHS
Rev. E (14 Jan.97)

11.2.1

TEMIC

TSCSOC31/S0C51

Semiconductors

Interface
Figure 1. Block Diagram
PoO-P07

vee

r

vs?,
-:

1

P20-P27

l
1
1
1
1
1
1_ _ 1

1
1
1
1
1
1
1

1

1
I~_J..:;.....J

:~

t:~:r

II.2.2

1
1

1

_ _ _ _ -l

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

Figure 2. Pin Configuration

vee

P1.0
P1.1

2

PO.O/AO

P1.2

3

P1.3

4

PO.1/A 1 INDEX
PO.2/A2 CORNER

P1A

5

PO.3/A3

P1.5

6

POA/A4

P1.6

7

PO.5/AS

P1.7

8

RST

9

P3.0/RXD

10

P3.1/TXD

11

":

'"

OJ

..,

~

'<

PO.4JA4
pO.5JAs
PO.6iA6

PO.6/A6

DIL40

~

PO.7/A 7

PO.7/A?

EA

EA

ALE

NC

P3.2/INTO

12

PSEN

ALE

P3.3/INT1

13

P2.7/A15

PSEN

P2.7/A15

P3A{T0

14

P2.6/A14

P3.5{T1

15

P2.5/A13

P2.6/A14

P3.6/WR

16

P2A/A12

P2.S/A13

P3.7/RD

17

P2.3/A11

XTAL2

18

P2.2/A10

XTAL1

19

P2.1/A9

VSS

20

21



0

z

x

0

~
~

40 39 38 37 38 35
P04 /A4

P05/AS
Poa/A6
P07 /A ?

RST

EA

RxD/P30
NC

PQFP44

NC

TXO/P31

ALE

INTO/P32

PSEN

INTl/P33

P27 /A15

TO/P34

P26 /A14

T1/P35

P25 /A13

Diagrams are for reference only. Packages sizes are not to scale.

MATRAMHS
Rev. E (14 Jan.97)

II.2.3

I

TEMIC

TSCSOC31/S0C51

Semiconductors

Pin Description
VSS
Circuit ground potential.

vee
Supply voltage during normal, Idle, and Power Down
operation,

PortO
Port 0 is an 8 bit open drain bi-directional 1/0 port. Port 0
pins that have l's written to them float, and in that state
can be used as high-impedance inputs,
Port 0 is also the multiplexed low-order address and data
bus during accesses to external Program and Data
Memory, In this application it uses strong internal pullups
when emitting 1's, Port 0 also outputs the code bytes
during program verification in the TSC80C31180C5 L
External pullups are required during program
verification, Port 0 can sink eight LS TTL inputs,

It also receives the high-order address bits and control

signals
during
program
verification
in
the
TSC80C31180C5 L Port 2 can sink or source three LS
TTL inputs. It can drive CMOS inputs without external
pullups.

Port 3
Port 3 is an 8 bit bi-directional 110 port with internal
pullups. Port 3 pins that have 1's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 3 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the pullups. It also serves the functions
of various special features of the TEMIC C51 Family, as
listed below.
Port Pin
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7

Port 1
Port I is an 8 bit bi-directional 110 port with internal
pullups, Port I pins that have I's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs, As inputs, Port I pins that are externally
being pulled low will source current (IlL, on the data
sheet) because of the internal pullups,
Port I also receives the low-order address byte during
program verification, In the TSC80C31180C51, Port I
can sink or source three LS TTL inputs, It can drive
CMOS inputs without external pullups,

Alternate Function
RXD (serial input port)
TXD (serial output port)
INTO (external interrupt 0)
INTI (external interrupt I)
TD (Timer 0 external input)
TI (Timer I external input)
WR (external Data Memory write strobe)
RD (external Data Memory read strobe)

Port 3 can sink or source three LS TTL inputs. It can drive
CMOS inputs without external pullups.

RST
A high level on this for two machine cycles while the
oscillator is running resets the device. An internal
pull-down resistor permits Power-On reset using only a
capacitor connected to Vee. As soon as the Reset is
applied (Vin), PORT I, 2 and 3 are tied to one. This
operation is achieved asynchronously even if the
oscillator does not start -up.

Port 2
Port 2 is an 8 bit bi-directional 110 port with internal
pullups. Port 2 pins that have I's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 2 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the internal pullups. Port 2 emits the
high-order address byte during fetches from external
Program Memory and during accesses to external Data
Memory that use 16 bit addresses (MOVX @DPTR). In
this application, it uses strong internal pullups when
emitting 1'so During accesses to external Data Memory
that use 8 bit addresses (MOVX @Ri), Port 2 emits the
contents of the P2 Special Function Register.

Il.2.4

ALE
Address Latch Enable output for latching the low byte of
the address during accesses to external memory. ALE is
activated as though for this purpose at a constant rate of
116 the oscillator frequency except during an external
data memory access at which time one ALE pulse is
skipped. ALE can sink/source 8 LS TTL inputs. It can
drive CMOS inputs without an external pullup.
If desired, ALE operation can be disabled by setting bit
o of SFR location AFh (MSCON). With the bit set, ALE
is active only during MOVX instruction and external
fetches. Otherwise the pin is pulled low. MSCON SFR is
set to XXXXXXXO by reset.

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

XTALI
Program Store Enable output is the read strobe to external
Program Memory. PSEN is activated twice each machine
cycle during fetches from external Program Memory.
(However, when executing out of external Program
Memory, two activations of PSEN are skipped during
each access to external Data Memory). PSEN is not
activated during fetches from internal Program Memory.
PSEN can sink or source 8 LS TIL inputs. It can drive
CMOS inputs without an external pullup.

Input to the inverting amplifier that forms the oscillator.
Receives the external oscillator signal when an external
oscillator is used.

XTAL2
Output of the inverting amplifier that forms the oscillator.
This pin should be floated when an external oscillator is
used.

When EA is held high, the CPU executes out of internal
Program Memory (unless the Program Counter exceeds
3 FFFH). When EA is held low, the CPU executes only out
of external Program Memory. EA must not be floated.

Idle And Power Down Operation
Figure 3. shows the internal Idle and Power Down clock
configuration. As illustrated, Power Down operation
stops the oscillator. Idle mode operation allows the
interrupt, serial port, and timer blocks to continue to
function, while the clock to the CPU is gated off.
These special modes are activated by software via the
Special Function Register, PCON. Its hardware address is
87H. PCON is not bit addressable.

PCON: Power Control Register
(MSB)

(LSB)
GFI

ISMODI

GFO

PD

IDL

Symbol

Position

Name and Function

SMOD

PeON.7

GFi
GFO
PD

PCON.6
PeON.S
PeON.4
PeON.3
PeON.2
PeON. I

IDL

PeON.O

Double Baud rate bit. When set to
ai, the baud rate is doubled when
the serial port is being used in
either modes 1,2 or 3.
(Reserved)
(Reserved)
(Reserved)
General-purpose flag bit.
General-purpose flag bit.
Power Down bit. Setting this bit
activates power down operation.
Idle mode bit. Setting this bit
activates idle mode operation.

Figure 3. Idle and Power Down Hardware.

If 1's are written to PD and IDL at the same time. PD
takes, precedence. The reset value of PCON is
(OOOXOOOO).

Idle Mode
The instruction that sets PCON.O is the last instruction
executed before the Idle mode is activated. Once in the
Idle mode the CPU status is preserved in its entirety: the
Stack Pointer, Program Counter, Program Status Word,
Accumulator, RAM and all other registers maintain their
data during idle. Table 1 describes the status of the
external pins during Idle mode.

MATRAMHS
Rev. E (14 Jan.97)

There are three ways to tenninate the Idle mode.
Activation of any enabled interrupt will cause PCON.O to
be cleared by hardware, terminating Idle mode. The
interrupt is serviced, and following RETI, the next
instruction to be executed will be the one following the
instruction that wrote 1 to PCON.O.

11.2.5

TEMIC

TSCSOC31/S0C51
The flag bits GFO and GFI may be used to determine
whether the interrupt was received during normal
execution or during the Idle mode. For example, the
instruction that writes to PCON.O can also set or clear one
or both flag bits. When Idle mode is terminated by an
enabled interrupt, the service routine can examine the
status of the flag bits.

Semiconductors

The second way of terminating the Idle mode is with a
hardware reset. Since the oscillator is still running, the
hardware reset needs to be active for only 2 machine
cycles (24 oscillator periods) to complete the reset
operation.

Power Down Mode
The instruction that sets PCON.I is the last executed prior
to entering power down. Once in power down, the
oscillator is stopped. The contents of the onchip RAM and
the Special Function Register is saved during power down
mode. The hardware reset initiates the Special Fucntion
Register. In the Power Down mode, VCC may be lowered
to mi-nimize circuit power consumption. Care must be
taken to ensure the voltage is not reduced until the power
down mode is entered, and that the voltage is restored
before the hardware reset is applied which freezes the
oscillator. Reset should not be released until the oscillator
has restarted and stabilized. A hardware reset is the only
way of exiting the power down mode.

Table I describes the status of the external pins while in
the power down mode. It should be noted that if the power
down mode is activated while in external program
memory, the port data that is held in the Special Function
Register P2 is restored to Port 2. If the data is a I, the port
pin is held high during the power down mode by the
strong pullup, n, shown in Figure 4.

Thble 1. Status of the external pins during idle and power down modes.

Stop Clock Mode
Due to static design, the TSC80C31180C51 clock speed
can be reduced until 0 MHz without any data loss in
memory or registers. This mode allows step by step
utilization, and permits to reduce system power
consumption by bringing the clock frequency down to
any value. At 0 MHz, the power consumption is the same
as in the Power Down Mode.

Figure 4. I/O Buffers in the TSC80C31/80C51 (Ports
1,2,3).

Q

I/O POrts

FROM
PORT
LATCH

The VO buffers for Ports 1,2 and 3 are implemented as
shown in Figure 4.

n.2.6

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

When the port latch contains a 0, all pFETS in Figure 4.
are off while the nFET is turned on. When the port latch
makes a O-to-I transition, the nFET turns off. The strong
pFET, Tl, turns on for two oscillator periods, pulling the
output high very rapidly. As the output line is drawn high,
pFET T3 turns on through the inverter to supply the IOH
source current. This inverter and T form a latch which
holds the I and is supported by T2.
When Port 2 is used as an address port, for access to
external program of data memory, any address bit that
contains a 1 will have his strong pullup turned on for the
entire duration of the external memory access.

When an I/O pin son Ports 1, 2, or 3 is used as an input,
the user should be aware that the external circuit must
sink current during the logical I-to-O transition. The
maximum sink current is specified as ITL under the D.C.
Specifications. When
the
input goes
below
approximately 2 V, T3 turns off to save ICC current. Note,
when returning to a logical I, T2 is the only internal
pullup that is on. This will result in a slow rise time if the
user's circuit does not force the input line high.

Oscillator Characteristics
XTALI and XTAL2 are the input and output respectively,
of an inverting amplifier which is configured for use as an
on-chip oscillator, as shown in Figure 5. Either a quartz
crystal or ceramic resonator may be used.

Figure 5. Crystal Oscillator.

To drive the device from an external clock source,
XTALI should be driven while XTAL2 is left
unconnected as shown in Figure 6. There are no
requirements on the duty cycle of the external clock
signal, since the input to the internal clocking circuitry is
through a divide-by-two flip-flop, but minimum and
maximum high and low times specified on the Data Sheet
must be observed.

XTAL2: 18

Figure 6. External Drive Configuration.
XTAL1 : 19
NC

XTAL2: 18

EXTERNAL
OSCILLATOR -----iXTAL1 : 19
SIGNAL

+--------1 VSS : 20

.----lVSS : 20

TSC80C51 with Secret ROM
TEMIC offers TSC80C31180C51 with the encrypted
secret ROM option to secure the ROM code contained in
the TSC80C31180C51 microcontrollers.

-

The clear reading of the program contained in the ROM
is made impossible due to an encryption through several
random keys implemented during the manufacturing
process.

-

The keys used to do such encryption are selected
randomwise and are definitely different from one
microcontroller to another.

Every time a byte is addressed during a verify of the
ROM content, a byte of the encryption array is
selected.
MOVC instructions executed from external program
memory are disabled when fetching code bytes from
internal memory.
EA is sampled and latched on reset, thus all state
modification are disabled.

For further information please refer to the application
note (ANM053) available upon request.

This encryption is activated during the following phases:

MATRAMHS
Rev. E (14 Jan.97)

11.2.7

II

TSCSOC31/S0C51

TEMIC
Semiconductors

TSCSOC31/S0C51 with Secret TAG
TEMIC offers special 64-bit identifier called "SECRET
TAG" on the microcontroller chip.
The Secret Tag option is available on both ROMless and
masked microcontrollers.
The Secret Tag feature allows serialization of each
microcontroller for identification of a specific
equipment. A unique number per device is implemented
in the chip during manufacturing process. The serial
number is a 64-bit binary value which is contained and
addressable in the Special Function Registers (SFR) area.

II.2.8

This Secret Tag option can be read-out by a software
routine and thus enables the user to do an individual
identity check per device. This routine is implemented
inside the microcontroller ROM memory in case of
masked version which can be kept secret (and then the
value of the Secret Tag also) by using a ROM Encryption.
For further information, please refer to the application
note (ANM03I) available upon request.

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

Electrical Characteristics
* Notice

Absolute Maximum Ratings*
Ambiant Temperature Under Bias:
C = commercial
O°C to 70°C
I = industrial.
-40'C to 85'C
Storage Temperature
. -65°C to + ISOaC
Voltage on VCC to VSS ........................ -0.5 V to + 7 V
.. -0.5 V to Vee + 0.5 V
Voltage on Any Pin to VSS
Power Dissipation
I W**
** This value is based on the maximum allowable die temperature and
the thermal resistance of the package

Stresses at or above those listed under" Absolute Maximum Ratings"
1n((V cause permanent damage to the device. This is a stress ratinK only
andfunctionai operation qj'the device at these or any other conditions
above those indicated in the operational sections (~rthis .\'pec~ticlllion is
flot implied. Exposure to absolute maximum rating conditions may q!feet
device reliabili(v.

II

DC Parameters
TA =ooe to 70 0 e ; VSS =0 V ; vee =5 V ± 10 % ; F =0 to 44 MHz
TA =-40 o e + 85°e ; VSS =0 V ; vee =5 V ± 10 % ; F =0 to 44 MHz
I';;,),·:', ·.;i:
Typ (3)
I:'{';m?,i~li:;j:,,·t·~·'··::";·;·
Min
.....
....
,::),

Max

Unit

-0.5

0.2 Vee - 0.1

V

0.2 Vee + 0.9

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

i'c<::';··,··,
VIL

Input Low Voltage

Test Conditions

VIH

Input High Voltage (Exeept XTAL and RST)

VIHI

Input High Voltage (for XTAL and RST)

VOL

Output Low Voltage (Port I, 2 and 3) (4)

0.3
0.45
1.0

V
V
V

IOL= 100 llA
10L = 1.6 rnA (2)
IOL=3.5 rnA

VOLl

Output Low Voltage (Port 0, ALE, PSEN) (4)

0.3
0.45
1.0

V
V
V

10L= 200 llA
10L = 3.2 rnA (2)
IOL=7.0rnA

VOH

Output High Voltage Port I, 2, 3

Vee - 0.3

V

10H=-10IlA

Vee - 0.7

V

IOH=- 3O IlA

Vee -1.5

V

IOH=- 60 11A
VCC=5V±10%

Vee -0.3

V

10H = -200 IlA

Vee - 0.7

V

IOH =-3.2 rnA

Vee - 1.5

V

IOH=-7.0mA
VCC=5V±10%

VOHI

Output High Voltage (Port 0, ALE, PSEN)

IlL

Logieal 0 Input Current (Ports 1,2 and 3)

-50

llA

Yin = 0.45 V

ILl

Input leakage Current

±10

llA

0.45 < Yin < Vee

ITL

Logical 1 to 0 Transition Current (Ports 1, 2 and 3)

!PD

Power Down Current

RRST

RST Pulldown Resistor

CIO

Capacitance of I/O Buffer

ICC

Power Supply Current
Freq = 1 MHz Icc op
Icc idle
Freq = 6 MHz Icc op
Icc idle
Freq;" 12 MHz Icc op max = 0.9 Freq (MHz) + 5
\cc idle max = 0.3 Freq (MHz) + 1.7
Freq <; 20 MHz Icc op typ = 0.7 Freq (MHz)
Freq ;" 20 MHz Icc op typ = 0.5 Freq (MHz) + 4
Freq <; 20 MHz Ice idle typ = 0.16 Freq (MHz) + 0.4
Freq;" 20 MHz Icc idle typ = 0.12 Freq (MHz) + 1.2

MATRAMHS
Rev. E (14 Jan.97)

50

-650

llA

Vin=2.0 V

5

30

llA

Vee = 2.0 V to 5.5 V (I)

90

200

KQ

\0

pF

1.8
I
9
3.5

rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA

fe = I MHz, Ta = 25'C
Vce=5.5V

0.7
0.5
4.2
1.4

II.2.9

TEMIC

TSC80C31/80C51

Semiconductors
,,":0 This value is based on the maximum allowable die temperature and
the thermal resistance of the package

Absolute Maximum Ratings*

* Notice

Ambient Temperature Under Bias:
A

= Automotive

-40'C to + 125 'C

...... .

Storage Temperature ........................ -65'C to + 150'C
Voltage on VCC to VSS ........................ -0.5 V to + 7 V
Voltage on Any Pin to VSS ............... -0.5 V to VCC + 0.5 V
Power Dissipation ................................... I W**

Sfres.'Ies above those listed under" Absolute Maximum RatinKs" may
(:{luse permanent damaf{e to the del'ice. Thi,\' is a stress ratinf.: only lind
./il11ctiol111i operatioll (~f the derice at the.lie or lilly other cOllditions above
those indicated ;n the operational sections (~f this spec{jication is not
implied. Exposure to absolute mllximum rating conditions for extended
periods may affect device reliability.

DC Parameters
TA = -40 o e + 125°e ; VSS = 0 V ; vee = 5 V ± 10 % ; F = 0 to 40 MHz
;;'0'"

";',,

VIH

1;;i,igj;i,";i;;!L,.i'y'.
' Voltage

!

Input

I

Input High Voltage (Except XTAL and RST)

';"i,

I;",!y!~ii • •i'

g

.{;!.iiiiCUi(:;li

1

~;;;

'.1

0 .2

0.2 Vee· 0.9

Vee·O.5

V

0.7 Vee

Vee + 0.5

V

VIHI

!Input High Voltage (for XTAL and RST)

VOL

Output Low Voltage (Port 1, 2 and 3) (4)

0.3
0.45
1.0

V
V
V

IOL= 100~
IOL = 1.6 rnA (2)
IOL= 3.5 rnA

VOLI

Output Low Voltage (Port 0, ALE, PSEN) (4)

0.3
0.45
1.0

V
V
V

IOL= 200llA
10L = 3.2 rnA (2)
IOL=7.0mA

VOH

Output High Voltage Port I, 2 and 3

VOHI

Output High Voltage (Port 0, ALE, PSEN)

I

Logical Iinput

I

Input leakage

ITL

I

Logical

IPD

I

Power Down Current

I

RST Pull down Resistor

RRST
CIO
ICC

II.2.10

Ir,

(ports I,

I, :

lilA

10H

lilA

V

IOH=- 6O IlA
VCC=5V± 10%

Vee· ·0.3

V

10H

200~

Vee··0.7

V

10H

·3.2mA

Vee - 1.5

V

IOH=-7.0mA
VCC=5 V± 10%

and 3)

·750

50

Il A

Yin

Il A

0.45

Il A

Yin ,2.0

5

75

Il A ,Vee ,2.0V .5.5V(I)

90

200

KQ

, of 110 Buffer

Power Supply Current
Freq = I MHz Icc op
Icc idle
Freq = 6 MHz Icc op
Icc idle
Freq;" 12 MHz Icc op max = 0.9 Freq (MHz) + 5
Icc idle max = 0.3 Freq (MHz) + 1.7
Freq"; 20 MHz Icc op typ = 0.7 Freq (MHz)
Freq;" 20 MHz Icc op typ = 0.5 Freq (MHz) + 4
Freq,.;20MHz Icc idle typ = 0.16 Freq (MHz) + 0.4
Freq;" 20 MHz Icc idle typ = 0.12 Freq (MHz) + 1.2

10H

Vee-1.5

13)

• 0 Transition Current (Ports

'i"',!!,
i',i",'

10

pF ,fe ; 1 MHz, Ta ,25°C

1.8
I
9
3.5

rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA

Vee=5.5V
0.7
0.5
4.2
1.4

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

** This value is based on the maximum allowable die temperature and
the thermal resistance of the package

Absolute Maximum Ratings*

* Notice

Ambient Temperature Under Bias:

M = Military. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. -55"e to +125'e
..... --{;5"e to + l50'e
Storage Temperature
.. -0.5 V to + 7 V

Voltage on vee to vss .

... -0.5 V to vee + 0.5 V

Voltage on Any Pin to VSS

1 W**

Power Dissipation

Stresses at or above those listed under" Absolute Maximum Ratings"
may cause permanent danUlKe to the device. This is a stress rating only
and.timctional operation ql'the device at these or any other conditions
above those indicated in the operational sections ql'thi.\· spec(tication is
not implied. Exposure to absolute maximum ratinR conditions ma}' affect
device reliability.

DC Parameters
TA =-55°C + t25°C ; Vss

VOHI

ICC

=0 V; Vee =5 V ± 10 % ; F =0 to 40 MHz

lEI

Output High Voltage
(Port 0 in External Bus Mode, ALE, PEN)

Vcc=5.5V

Power Supply Current

Freq = I MHz
Freq = 6 MHz
Freq" 12 MHz
Freq <; 20 MHz
Freq ,,20 MHz
Freq <; 20 MHz
Freq" 20 MHz

MATRAMHS
Rev. E (14 Jan.97)

Icc op
Icc idle
Icc op
Icc idle
Icc op max = 0.9 Freq (MHz) + 5
Icc idle max = 0.3 Freq (MHz) + 1.7
Icc op typ = 0.7 Freq (MHz)
Icc op typ = 0.5 Freq (MHz) + 4
Icc idle typ = 0.16 Freq (MHz) + 0.4
Icc idle typ = 0.12 Freq (MHz) + 1.2

0.7
0.5
4.2
1.4

1.8
I
9
3.5

rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA
rnA

11.2,11

TEMIC

TSCSOC31/S0C51

Semiconductors

* Notice

Absolute Maximum Ratings*
Ambient Temperature Under Bias:

ooe to 70°C

C = Commercial .

-40 oe to 8Soe

I = Industrial ...

...... -6Soe to + ISO'e

Storage Temperature

. . -O.S V to + 7 V

Voltage on vee to vss ....

Stresses at or above those listed under" Absolute Maximum Ratings"
may cause permanent damage to the device. This is a stress rating only
andfunctional operation a/the device at these or any other conditions
above those indicated in the operational sections of this specification is
not implied. Exposure to absolute maximum rating conditions may affect
device reliability.

. -O.S V to vee +0.5 V

Voltage on Any Pin to VSS ..

Power Dissipation .,

I W**

** This value is based on the maximum allowable die temperature and
the thermal resistance of the package

DC Characteristics: Low Power Version
TA =O°C to 70°C; Vee = 2.7 V to 5.5 V; Vss =0 V; F =0 to 20 MHz
TA =-40°C to 85°C; Vee = 2.7 V to 5.5 V ; F =0 to 20 MHz

Icc (rnA)

Freq> 12MHz (Vee = s.s V)

II.2.12

=

Icc op max (rnA) 0.9 x Freq (MHz) + S
Icc Idle max (rnA) = 0.3 x Freq (MHz) + 1.7

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

Idle ICC is measured with all output pins disconnected;
XTALl driven with TCLCH, TCHCL = 5 ns, VIL =
VSS + 0.5 V, VIH = VCC - 0.5 V ; XTAL2 N.C ; Port 0 =
VCC ; EA = RST = VSS.

Figure 7. ICC Test Condition, Idle Mode.

Power Down ICC is measured with all output pins
disconnected; EA = PORT 0 = VCC ; XTAL2 N.C. ;
RST=VSS.
Note 2 : Capacitance loading on Ports 0 and 2 may cause
spurious noise pulses to be superimposed on the VOLS of
ALE and Ports I and 3. The noise is due to external bus
capacitance discharging into the Port a and Port 2 pins
when these pins make I to 0 transitions during bus
operations. In the worst cases (capacitive loading 100
pF), the noise pulse on the ALE line may exceed 0.45 V
with maxi VOL peak 0.6 V. A Schmitt Trigger use is not
necessary.

RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

All other pins are disconnected.

Figure 8. ICC Test Condition, Active Mode.

Note 3 : Typicals are based on a limited number of
samples and are not guaranteed. the values listed are at
room temperature and 5Y.
Note 4 : Under steady state (non-transient)) conditions,
IOL must be externally limited as follows:
Maximum IOL per port pin:
10 rnA
Maximum IOL per 8-bit port :
PortO:
26 rnA
15 rnA
Ports 1, 2 and 3 :
71 rnA
Maximum total IOL for all output pins:

EA

VCC
RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

All other pins are disconnected.

Figure 9. ICC Test Condition, Power Down Mode.

If IOL exceed the test condition, VOL may exceed the
related specification. Pins are not guaranteed to sink
current greater than the listed test conditions.

RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

All other pins are disconnected.

Figure 10. Clock Signal Waveform for ICC Tests in Active and Idle Modes.

TCHCL
i4------TCLCL.--------..j

TCLCH = TCHCL = 5 ns.

MATRAMHS
Rev. E (14 Jan.97)

11.2.13

I

TEMIC

TSCSOC31/S0C51

Semiconductors

Explanation of the A C Symbol
Each timing symbol has 5 characters. The first character
is always a "T" (stands for time). The other characters,
depending on their positions, stand for the name of a
signal or the logical status of that signal. The following
is a list of all the characters and what they stand for.
A: Address.
C: Clock.
D : Input data.
H : Logic level HIGH
I : Instruction (program memory contents).
L : Logic level LOW, or ALE.
P: PSEN.

Example:
TAVLL =Time for Address Valid to ALE low.
TLLPL = Time for ALE low to PSEN low.
Q : Output data.
R : READ signal.
T:Time.
V: Valid.
W : WRITE signal.
X : No longer a valid logic level.
Z: Float.

AC Parameters
TA=Oto+70°C; Vss=OV; Vcc=5 v± 10% ;F=Oto44MHz
TA= 0 to +70°C; Vss= 0 V; 2.7 V ---<

INSTR IN

ADDRESS Ae-A15
PORT2 _ _ _ _"

11.2.14

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

External Data Memory Characteristics (values in ns)

I

External Data Memory Write Cycle
TWHLH

"

ALE

I

~

_TLLWL~

PORTO

PORT 2

>--<
ADDRESS
ORSFR-P2

_-TAVWL
"-TLLAX+f
AO-A?

)<

TWLWH

1':J

D<

TOVWX

/
""'TWHOX..I

TOVWH

J

DATA OUT

I
ADDRESS AB-A15 OR SFR-P2

External Data Memory Read Cycle
~_ _- . . . 4.. - - - T L L D V - - - -.....
~1

ALE

RD

- - - - - - - - f - - - - - -.....

I~----+TRLRH----_.V==TRHDX

PORTO

DATA IN

PORT 21

MATRAMHS
Rev. E (14 Jan.97)

11.2.15

TEMIC

TSCSOC31/S0C51

Semiconductors

Serial Port Timing - Shift Register Mode (values in ns)

TQVXH

Output Data Setup to Clock
Rising Edge

563

480

380

300

220

170

140

TXHQX

Output Data Hold after Clock
Rising Edge

90

90

65

50

45

35

25

TXHDX

Input Data Hold after Clock
Rising Edge

0

0

0

0

0

0

0

TXHDV

Clock Rising Edge to Input Data
Valid

563

450

350

300

250

200

7

8

160

Shift Register Timing Waveforms
INSTRUCTION
0

2

3

4

5

6

CLOCK
OUTPUT DATA

~O

WRITE
SBUF
TXHDVI--l
INPUT DATA.,,----,.

...
CLEAR RI

1I.2.16

1

...
SETIN

TXHDX

...

SETIN

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSCSOC31/S0C51

Semiconductors

External Clock Drive Characteristics (XTALl)
~~{,;,,~~i~' .~

MIN

PARAMETER

FCLCL

Oscillator Frequency

MAX
44

.~J~,'<;;<'\'\:,
MHz

TCLCL

Oscillator period

22.7

ns

TCHCX

High Time

5

ns

TCLCX

Low Time

5

TCLCH

Rise Time

5

ns

TCHCL

Fall Time

5

ns

ns

I

External Clock Drive Waveforms

TCHCL
~-------------TCLCL.--------------~

AC Testing Input/Output Waveforms

=X

INPUT/OUTPUT
O 5V
VCC- ,

0,45 V

0,2Vcc + 0,9

)C

_...;O;;.;,2;..V;.:;c~c_-...;O.:..;,1_ _ _ _-..;

AC inputs during testing are driven at Vcc - 0.5 for a logic
"1" and 0.45 V for a logic "0". Timing measurements are
made at VIH min for a logic "1" and VIL max for a logic
"0".

Float Waveforms
FLOAT

.-.-------- FLOAT - - - - - - - - - . j
VLOAD

VLOAD+O,1 V
VLOAD-O,1 V

For timing purposes as port pin is no longer floating when
a 100 mV change from load voltage occurs and begins to
float when a 100 mV change from the loaded VOHNOL
level occurs. IoilIoH ~ ± 20 rnA.

MATRAMHS
Rev. E (14 Jan.97)

II.2.17

TEMIC

TSCSOC31/S0C51

Semiconductors

Clock Waveforms
INTERNAL
CLOCK

I

STATE 4

I

P11P2

STATE 51

STATE 6

P11P2

I

P11P2

STATE 1

I

P11P2

STATE 21

STATE 3

STATE 4
1

P11P2

P11P2

I

P11P2

STATE 5

I

P11P2

XTAL2
ALE

' """'" THESE
1
1
SIGNALS ARE NOT
ACTIVATED DURING THE

EXECUTION OF A MOVX INSTRUCTION
...------,
PSEN

PO

P2 (EX1)
READ CYCLE

_ _ _ _--'hNDICATESADDRESS TRANSITIONSIL _ _ _ _ _ _ _ _ _ _- '

RD
OOH IS EMITIED
DURING THIS PERIOD

PO

_ _ _ _~~D=P~L~O~R~R~i~I~I,,

______~~~~___-'I

iJ.1..

OUT

PCL OUT (IF PROGRAM
MEMORY IS EXTERNAL)

FLOAT SAMPLED

...

1

i t

~

INDICATES DPH OR P2 SFR TO PCH TRANSITION

P2
WRITE CYCLE

WR

1 peL OUT (EVEN IF PROGRAM
' - - - - - - - - - - - - - - ' MEMORY IS INTERNAL)

DP~~fRi I..

PO

DATA OUT

INDICATES DPH OR P2 SFR TO PCH TRANSITIONS

P2

5fi..1~LOUT:~OGRAM

IMEMORY IS EXTERNAL)

PORT OPERATION
MOV PORT SRC

_ _ _ _ _ _ _ _ _O_L_D_D_A_1:-1A1 NEW DATA

~

MOV DEST PO
MOV DEST PORT-(P-1-.P-2-.-P3-)--'
(INCLUDES INTO. INT1. TO. T1)
SERIAL PORT SHIFT CLOCK
TXD

(MODE 0)

APO PINS SAMPLED

PO PINS SAMPLED

~

=
~
ITJ'-----------------'ITL

I

P1. P2. P3 PINS SAMPLED

- - - - - - - . . : . - . . .•.......,1
.,

RXD SAMPLED

I

P1. P2. P3
PINS SAMPLED

yI

RXD SAMPLED

This diagram indicates when signals are clocked
internally. The time it takes the signals to propagate to the
pins, however, ranges from 25 to 125 ns. This propagation
delay is dependent on variables such as temperature and
pin loading. Propagation also varies from output to output
and component. Typically though (TA = 25°C fully
loaded) RD and WR propagation delays are
approximately 50 ns. The other signals are typically 85
ns. Propagation delays are incorporated in the AC
specifications.

IL2.18

MATRAMHS
Rev. E (14 Jan.97)

TEMIC

TSC80C31/80C51

Semiconductors

Ordering Information
TSC

xxx

SOCS1

T

Part Number
SOC31: External ROM
SOC51: 4KxS Mask ROM
SOC5IC: Secret ROM version
SOC51 T: Secret Tag version

-20

C

T

-12: 12 MHz version
-16: 16 MHz version
-20: 20 MHz version
-25: 25 MHz version
-30: 30 MHz version
-36: 36 MHz version
-40: 40 MHz version
-44: 44 MHz version
-Ll6: Low Power
(VCC: 2.7-5.5V,
Freq.: 0-16 MHz)
-L20: Low Power
(VCC: 2.7-5.5V,
Freq.: 0-20 MHz)

B

T

Packaging
A: POlL 40
B: PLCC44
C: PQFP 44 (fp 13.9mm)
D: PQFP 44 (fp 12.3mm)
E: VQFP 44 (1.4mm)
F: TQFP 44 (lmm)
G: COIL 40 (.6)
H: LCC44
I: CQPJ 44

T

Blank: Standard
/S83: MIL 883
Compliant
P883: MIL S83
Compliant
with
PINDtest.

Die form:
W: Wafer
X: Dice Form
Y: Wafer on Ring

Customer ROM Code
(Not used for external ROM Device)
TEMIC Semiconductor
Microcontroller Product Line

R

Temperature Range
C : Commercial 0° to 70°C
I : Industrial -400 to S5°C
A : Automotive -40° to 125°C
M : Military -55° to 125°C

Conditioning
R : Tape & Reel
D: Dry Pack
B : Tape & Reel and
Dry Pack

Examples :
Mask ROM version XXX, POlL 40, 20 MHz version, Commercial Temperature Range . TSCSOC3I1S0C5IXXX-2OCA
(I) Ceramic of multi-layer packages: contact TEMIC Sales office

Product Marking:
For PDIL 40, PLCC 44 & QFP 44 Packages

TEMIC
Customer PIN
TemicPIN
© Intel SO, 82
YYWW Lot Number

MATRAMHS
Rev. E (14 Jan.97)

II.2.19

I

TEMIC
Semiconductors

TSC80CL31ITSC80CL51

CMOS 1.8 Volt Single-Chip 8 Bit Microcontroller
Description
TEMIC's SOC31 and SOCSI are high perfonnance
SCMOS versions of the S051 NMOS single chip S bit IlC.
The
fully
static
design
of
the
TEMIC
TSCSOCL31 rrSCSOCL51 allows to reduce system
power consumption by bringing the clock frequency
down to any value, even DC, without loss of data.
The TSCSOCL51 retains all the features of the S051 : 4 K
bytes of ROM; 12S bytes of RAM ; 32 I/O lines; two 16
bit timers; a 5-source, 2-level interrupt structure; a full
duplex serial port ; and on-chip oscillator and clock
circuits.

In addition, the TSCSOCL51 has two software-selectable
modes of reduced activity for further reduction in power
consumption. In the Idle Mode the CPU is frozen while
the RAM, the timers, the serial port, and the interrupt
system continue to function. In the Power Down Mode the
RAM is saved and all other functions are inoperative.
The TSCSOCL3l is identical to the TSCSOCL51 except
that it has no on-chip ROM.
TEMIC's TSCSOCL3lrrSCSOCL5l are manufactured
using SCMOS process which allows them to run from 0
up to 4 MHz with VCC = I.S V.

The TSCSOCL51 is a general purpose microcontroller
especially suited for battery-powered applications. This
very low voltage version fits in all applications using two
battery cells.

Available Products
• Very Low Voltage version
Vcc: 1.8-S.S V Freq : 0-4 MHz

• TSC8OCL3I-V4: ROMless version
• TSC8OCLSI-V4: 4K x 8 Mask ROM version

Features
•
•
•
•
•
•

Power control modes
128 bytes of RAM
4 K bytes of ROM (TSC8OCLSl)
32 programmable I/O lines
Two 16 bit timer/counter
64 K program memory space
• 64 K data memory space

•
•
•
•
•
•

Fully static design
0.8 J.1m CMOS process
Boolean processor
S interrupt sources
Programmable serial port
Temperature range: commercial

Optional
• Secret ROM: Encryption
• Secret TAG: Identification number

MATRAMHS
Rev. A (14 Jan. 97)

II.3.!

I

TEMIC

TSC80CL31ITSC80CL51

Semiconductors

Interface
Figure 1. Block Diagram
POO-P07

vee

I

P20 P27

-----

vs?,
-:-

I

---

1

I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
-l

Po 0 Po 7

II.3.2

MATRAMHS
Rev. A (14 Jan. 97)

TEMIC

TSC80CL31/TSC80CL51

Semiconductors

Figure 2. Pin Configuration
40

vee

P1.1

2

39

PO.O/AO

P1.2

3

38

P1.3

4

37

PO.1/A 1 INDEX
PO.2/A2 CORNER

P1A

5

36

PO.3/A3

P1.5

6

35

POA/A4

P1.6

7

34

PO.5/A5

PO.S/AS

P1.7

8

33

PO.6/A6

PO.6JA6

P1.0

RST

9

P3.0/RXD

10

DIL40

~

~

"!

'C

~

0

~

~
PO.4/A4

32

PO.7/A 7

PO.7/A7

31

EA

EA

P3.1/TXD

11

30

ALE

NC

P3.2/INTO

12

29

PSEN

ALE

P3.3/INT1

13

28

P2.7/A15

PSEN

P3AjTO

14

27

P2.6/A14

P2.7/A15

P3.5/T1

15

26

P2.5/A13

P2.6/A14

P3.6/WR

16

25

P2A/A12

P2.5/A13

P3.7/Ro

17

24

P23/A11

XTAL2

18

23

P2.2/A10

XTAL1

19

22

P2.1/A9

VSS

20

21

P2.0/A8

....

M

~

l~ l~

x

<0

M


C)

z

~

oj

l: I;'(~>' :pli:rameter
VIL

Input Low Voltage

Min

Max

Unit

-0.5

0.2 Vee-O.l

v

Test COnditions

VIH

Input High Voltage (Except XTAL and RST)

0.2 Vee + 1.4

Vee + 0.5

V

VIH2

Input High Voltage to RST for Reset

0.7 Vee

Vee + 0.5

V

VIHI

Input High Voltage to XTALI

0.7 Vee

Vee +0.5

V

VPD

Power Down Voltage to Vcc in PD Mode

1.8

5.5

V

VOL

Output Low Voltage (Ports 1,2,3)

0.45

V

IOL

~

0.8 rnA (2)

~

1.6 rnA (2)

VOLI

Output Low Voltage Port 0, ALE, PSEN

V

IOL

VOH

Output High Voltage (Port I, 2 and 3)

0.9 Vcc

V

10H~-1O

VOHI

Output High Voltage (Port 0 in External Bus Mode),
ALE,PSEN

0.9 Vce

V

IOH~

IlL

Logical 0 Input Current Ports I, 2, 3

0.45

-50

J-lA

Vin

~

J-lA

-40J-lA

0.45 V

ILl

Input Leakage Current

±1O

J-lA

0.45 < Yin < Vee

ITL

Logical I to 0 Transition Current (Ports 1,2,3)

-650

J-lA

Vin

IPD

Power Down Current

10
50

J-lA
J-lA

Vee~1.8Vt02.2V(I)

200

kQ

10

pF

RRST
CIO

RST Pull down Resistor

50

Capacitance of 1/0 Buffer

~

Vee

fc

~

2.0 V

~

2.2 V to 5.5 V (I)

I MHz, TA

~

25'C

Maximum Icc (rnA)
t.·'·.·,.·~Z}":".!,'·~,

.•i"i'

., •• ,. ,..••... ,•.•., ··~f'at~(~)./.i.

" '..,., . . . ',' ....•... .......... ,. ildlt' (1)

Frequency/Vee

1.8 V

2.2V

3.3 V

5.5 V

1.8 V

2.2 V

32KHz

60J-lA

80 J-lA

200 J-lA

400J-lA

25 J-lA

30 J-lA

455 KHz

200 J-lA

250 J-lA

350 J-lA

I rnA

50J-lA

3.58 MHz

1.5 rnA

2 rnA

3 rnA

6 rnA

300 J-lA

4 MHz

2mA

2.5 rnA

3.5 rnA

7 rnA

400 J.lA

600 J-lA

MATRAMHS
Rev. A (14 Jan. 97)

.

.... .':

.

.:.c'..•:.:..

3.3 V

5.5 V

75 J-lA

150J-lA

400J-lA

500J-lA

I rnA

2.5 rnA

1.2 rnA

3mA

11.3.9

TEMIC

TSC80CL31ITSC80CL51
Note1: ICC is measured with all output pins
disconnected; XTALI driven with TCLCH, TCHCL =
5 ns, VIL = VSS + 0.5 V, VIH = VCC - 0.5 V ; XTAL2
N.C. ; EA = RST = Port 0 = VCC. ICC would be slighty
higher if a crystal oscillator used.
Idle ICC is measured with all output pins disconnected;
XTALI driven with TCLCH, TCHCL = 5 ns, VIL =
VSS + 0.5 V, VIH = VCC - 0.5 V ; XTAL2 N.C ; Port 0 =
VCC ; EA = RST = VSS.
Power Down ICC is measured with all output pins
disconnected ; EA = PORT 0 = VCC ; XTAL2 N.C. ;
RST=VSS.
Note 2 : Capacitance loading on Ports 0 and 2 may cause
spurious noise pulses to be superimposed on the VOLS of
ALE and Ports 1 and 3. The noise is due to external bus
capacitance discharging into the Port 0 and Port 2 pins
when these pins make 1 to 0 transitions during bus
operations. In the worst cases (capacitive loading 100
pF), the noise pulse on the ALE line may exceed 0.45 V
with maxi VOL peak 0.6 V. A Schmitt Trigger use is not
necessary.

Semiconductors

Figure 8. ICC Test Condition, Active Mode.
All other pins are disconnected.

VCC
RST
(NC)

CLOCK
SIGNAL

XTAl2
XTAl1
VSS

Figure 9. ICC Test Condition, Power Down Mode.
All other pins are disconnected.

RST

Figure 7. ICC Test Condition, Idle Mode.
All other pins are disconnected.

RST
(NC)

CLOCK
SIGNAL

(NC)

CLOCK
SIGNAL

XTAl2
XTAl1
VSS

EA

XTAl2
XTALl
VSS

Figure 10. Clock Sigual Waveform for ICC Tests in Active and Idle Modes. TCLCH = TCHCL = 5 ns.

J.4------TCLC~_------_+I

Explanation of the AC Symbol
Each timing symbol has 5 characters. The first character
is always a ''T'' (stands for time). The other characters,
depending on their positions, stand for the name of a
signal or the logical status of that signal. The following
is a list of all the characters and what they stand for.

11.3.10

Example:
TAVLL = Time for Address Valid to ALE low.
TLLPL = Time for ALE low to PSEN low.

MATRA MHS
Rev. A (14 Jan. 97)

TEMIC
Semiconductors

A: Address.
C: Clock.
D : Input data.
H : Logic level HIGH

I: Instruction (program memory contents).
L : Logic level LOW. or ALE.
P:PSEN.

TSC80CL31ITSC80CL51
Q : Output data.
R : READ signal.
T:Time.
V: Valid.
W : WRITE signal.
X : No longer a valid logic level.
Z: Float.

A C Parameters
TA =0 to +70°C; Vss =0 V; 1.8 V < Vee < 5.5 V; F =0 to 4 MHz
(Load Capacitance for PORT 0, ALE and PSEN = 100 pF ; Load Capacitance for all other outputs =80 pF)

External Program Memory Characteristics (values in ns)

External Program Memory Read Cycle

ALE

NJ·A7

ADDRESS AB·A15
PORT 2 _ _ _ _./

MATRAMHS
Rev. A (14 Jan. 97)

11.3.11

TEMIC

TSC80CL31/TSC80CL51

Semiconductors

External Data Memory Characteristics (values in ns)

External Data Memory Write Cycle
L

TWHLH

~

'\
ALE

I--- TLLWL---!

PORTO

PORT 2

>---<
ADDRESS
OR SFR-P2

_f--TAVWL
!.TLLAX+j
AO-A?

)<

lX
I

TWLWH

~
TQVWX

/
""'TWHQX..I

TQVWH

t

DATA OUT

ADDRESSAS-A15 OR SFR-P2

External Data Memory Read Cycle
~_ _--...I~.<-----

T L L D V - - - -......~I

TWHLH

ALE

RD

-------t-----"I~----+TRLRH---~~V~~TRHDX

PORTO

DATA IN
TRLAZ

PORT21

11.3.12

ADDRESSA8-A15 OR SFR-P2

MATRAMHS
Rev. A (14 Jan. 97)

TEMIC

TSC80CL31/TSC80CL51

Semiconductors

Serial Port Timing - Shift Register Mode (values in ns)

TXLXL

Serial PorI Clock Cycle Time

12Clk

TQVXH

Output Data Setup to Clock Rising Edge

2370

TXHQX

Output Data Hold after Clock Rising Edge

390

TXHDX

Input Data Hold after Clock Rising Edge

TXHDV

Clock Rising Edge to Input Data Valid

o
2370

Shift Register Timing Waveforms
INSTRUCTION

o

2

3

4

5

6

7

8

OUTPUT DATA

&
~

SETIN

WRITE TO SBUF
INPUT DATA

&

&

SET IN

CLEAR RI

MATRAMHS

Rev. A (14 Jan. 97)

II.3.l3

TEMIC

TSC80CL31ITSC80CL51

Semiconductors

External Clock Drive Characteristics (XTALl)

External Clock Drive Waveforms

TCHCL
i4------TCLCl-------I-.j

AC Testing Input/Output Waveforms

=X

INPUT/OUTPUT
O 5V
VCC- ,
0,45 V

O,2Vcc + 0,9

)C

_-'O;.:.,2_V-'c"'c_-_O-'-,1_ _ _ __

AC inputs during testing are driven at Vcc - 0.5 for a logic
"I" and 0.45 V for a logic "0". Timing measurements are
made at VIH min for a logic "\" and VIL max for a logic
"0".

Float Waveforms
FLOAT

1-----

FLOAT - - - - . . . ;

VLOAD

VLOAD + 0,1 V
VLOAD-O,l V

For timing purposes as port pin is no longer floating when
a 100 m V change from load voltage occurs and begins to
float when a 100 mV change from the loaded VOHNOL
level occurs. Iol/IoH ?! ± 20 rnA.

11.3.14

MATRAMHS
Rev. A (14 Jan. 97)

TEMIC

TSC80CL31/TSC80CL51

Semiconductors

Clock Waveforms
STATE 4
INTERNAL
CLOCK

P1

I

I P2

STATE

51

STATE 6

P1 I P2

P1

I P2

I

STATE 1
P1

I

I P2

STATE
P1

21

I P2

STATE 3
P1

1

I P2

STATE 4

I

P1 I P2

STATE

5

I

P1 I P2

XTAL2

'""'" THESE
I SIGNALS ARE NOTI

ALE

ACTIVATED DURING THE
EXECUTION OF A MOVX INSTRUCTION

r------,
PSEN

II

PO

P2 (EXT)
READ CYCLE
RD
OOH IS EMITIED
DURING THIS PERIOD

PO

_____

PCL OUT (IF PROGRAM
MEMORY IS EXTERNAL)

Ji-D~P~L~O~R~R~i~11Iro------------~~~~---~!

U.I..

OUT

FLOAT SAMPLED

..

i

r

t

L-

INDICATES DPH OR P2 SFR TO PCH TRANSITION

P2
WRITE CYCLE
WR

I PCL OUT (EVEN IF PROGRAM
' - - - - - - - - - - - - - ' MEMORY IS INTERNAL)

DP~~f I..

PO

Ri

DATA OUT

INDICATES DPH OR P2 SFR TO PCH TRANSITIONS

P2

:sg.I~LOUT:F~OGRAM

IMEMORY IS EXTERNAL)

PORT OPERATION
MOV PORT SRC

_ _ _ _ _ _ _ _ _ _O_LD_DA_:T:_A..JI NEW DATA

~

MOV DEST PO
MOV DEST PORT-(P-1-.P-2-.P-3-)--..J
(INCLUDES INTO.INT1. TO. T1)

~

IYlL----------------------'Ff!-I

I
-----~-*A--'I

SERIAL PORT SHIFT CLOCK
TXD
(MODE 0)

PO PINS SAMPLED

PO PINS SAMPLED

P1. P2. P3 PINS SAMPLED

RXD SAMPLED

P1. P2. P3
PINS SAMPLED

"ri

RXD SAMPLED

This diagram indicates when signals are clocked
internally. The time it takes the signals to propagate to the
pins, however, ranges from 25 to 125 ns. This propagation
delay is dependent on variables such as temperature and
pin loading. Propagation also varies from output to output
and component. Typically though (TA = 25°C fully
loaded) RD and WR propagation delays are
approximately 50 ns. The other signals are typically 85
ns. Propagation delays are incorporated in the AC
specifications.

MATRAMHS
Rev. A (14 Jan. 97)

II.3.15

TEMIC

TSC80CL31ITSC80CL51

Semiconductors

Ordering Information
Commercial Temperature Range

TSC80CL3I-V4CA

ROMless version

4 MHz

PDIL40

15.50mm

Smm

TSC80CL3I-V4CB

ROMless version

4 MHz

PLCC 44

17.50mm

4.40mm

TSC80CL31-V4CC

ROMless version

4 MHz

PQFP44

13.90mm

2mm

TSC80CL31-V4CD

ROMless version

4 MHz

PQFP44

12.30mm

2mm

TSC80CL31-V4CE

ROMless version

4 MHz

VQFP44

12mm

lAO mm

TSC80CL31-V4CF

ROMless version

4 MHz

TQFP44

12mm

Imm

TSC80CL51 xxx-V4CA

MASKROM version

4 MHz

PDIL40

15.50 mm

5mm

TSC80CL5Ixxx-V4CB

MASKROM version

4 MHz

PLCC44

17.S0mm

4AO mm

TSC80CLSI xxx-V4CC

MASKROM version

4MHz

PQFP44

13.90 mm

2mm

TSC80CLSlxxx-V4CD

MASKROM version

4 MHz

PQFP44

12.30 mm

2mm

TSC80CL51 xxx-V4CE

MASKROM version

4 MHz

VQFP44

12mm

lAO mm

TSC80CL5Ixxx-V4CF

MASKROM version

4 MHz

TQFP44

12mm

I mm

Options: Tape and Reel & Dry Pack, Secret ROM, Secret Tag and Die offering.
Please consult your sales office.

Product Marking:
For PDIL 40, PLCC 44 & QFP 44 Packages

TEMIC
Customer PIN
Temic PIN
© Intel 80, 82
YYWW Lot Number

11.3.16

MATRAMHS
Rev. A (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

CMOS 0 to 44 MHz Single Chip 8-bit Microntroller
Description
TEMIC's 80C52 and 8OC32 are high performance CMOS
versions of the 8052/8032 NMOS single chip 8 bit lie.
The fully static design of the TEMIC 8OC52/8OC32
allows to reduce system power consumption by bringing
the clock frequency down to any value, even DC, without
loss of data.
The 80C52 retains all the features of the 8052 : 8 K bytes
of ROM; 256 bytes of RAM; 32 I/O lines; three 16 bit
timers ; a 6-source, 2-level interrupt structure ; a full
duplex serial port ; and on-chip oscillator and clock
circuits. In addition, the 80C52 has 2 software-selectable

• 8OC32: Romless version of the 8OC52
• 8OC32/8OC52-Ll6: Low power version
Vcc:2.7-5.5V
Freq:0-16MHz
• 8OC32/8OC52-12: 0 to 12 MHz
• 8OC32/8OC52-16: 0 to 16 MHz
• 8OC32/8OC52-20: 0 to 20 MHz
• 8OC32/8OC52-25: 0 to 25 MHz
• 8OC32/80C52-30: 0 to 30 MHz

modes of reduced activity for further reduction in power
consumption. In the idle mode the CPU is frozen while
the RAM, the timers, the serial port and the interrupt
system continue to function. In the power down mode the
RAM is saved and all other functions are inoperative.
The 80C32 is identical to the 8OC52 except that it has no
on-chip ROM. TEMIC's 80C52/8OC32 are manufactured
using SCMOS process which allows them to run from 0
up to 44 MHz with Vcc = 5 V.
TEMIC's 80C52 and 8OC32 are also available at 16 MHz
with 2.7 V < Vee < 5.5 V.

•
•
•
•

8OC32/80C52-36: 0 to 36 MHz
8OC32-40: 0 to 40 MHz*
8OC32-42: 0 to 42 MHz*
8OC32-44: 0 to 44 MHz*

* 0 to 70'e temperature range.
For other speed and temperature range availability please consult your
sales office.

Features
•
•
•
•
•
•
•

Power control modes
256 bytes of RAM
8 Kbytes of ROM (8OC52)
32 programmable 110 lines
Three 16 bit timer/counters
64 K program memory space
64 K data memory space

•
•
•
•
•
•

Fully static design
0.811 CMOS process
Boolean processor
6 interrupt sources
Programmable serial port
Temperature range: commercial, industrial, automotive,
military

Optional
• Secret ROM: Encryption
• Secret TAG: Identification number

MATRAMHS
Rev. G (14 Jan. 97)

H.4.1

II

TEMIC

80C32/80C52

Semiconductors

Interface
Figure 1. Block Diagram
POO-P07

vee

r

P20-P27

~~~~r------

vs?,
"'"

-1
1

I
I
I

1

1

1/'----.1
1
1

I
I
I
1
1

I
1
1

I
1
Pl0-P17

II.4.2

P30-P37

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

Figure 2. Pin Configuration

vee

T2/P1.0

1

40

T2EX/11

2

39

POO/AO

P1.2

3

38

POi/Ai

P1.3

4

37

PiA

5

36

PO.2/A2 INDEX
CORNER
PO.3/A3

P1.5

6

35

POA/A4

P1.6

7

34

PO.5/A5

P1.7

8

RST

9

P3.0/RXD

10

P3.1(fXD

11

C\J

P3.2/INTO

12

P3.3/INT1

13

P3.4(f0

C\J

u
""
0
!"?
C')

u
0

co

14

33

P06/AS

32

PO.7/A 7

31

EA

30

ALE

29

PSEN

28

P2.7/A15

27

15

26

P2.5/A13

P3.6/WR

16

25

P2A/A12

P37/RD

17

24

P2.3/A11

XTAL2

18

23

P2.2/A10

XTAL1

19

22

P2.1/A9

VSS

20

21

~

N

0:

0:

0

z

0
0

>

~ 0~ ~ 0~'"

0

CL

CL

0

CL

CL

P1.5

POAIA4

P1.6

PO.S/AS

P1.7

PO.6/A6

RST

PO.7/A?

RxO/P3.0

EA

NC

NC
ALE

TxO/P3.1

PSEN

lNTO/P3.2

P2.6/A14

P3.5(f1

" '"

0:: CL

INT1/P3.3

P2.7/A 14

TO/P3.4

P2.6/A13

T1/P3.5

P2.5!A 12

"cO

:'l

-'

I~ I~

x

X

<0

cO
CL

P2.0/A8

CL

;0 ;0

if)
if)

>

0

Z

"-



0-°

r!:0

~ ;;:

CLi'J

OJ



if>

>

0

Z

ro

~
CL~

m

~

0

N

J' ~ ~ ~
CL~

CL~

CL~

Flat Pack

Diagrams are for reference only. Package sizes arc not to scale.

MATRAMHS
Rev. G (14 Jan. 97)

Ir.4.3

II

TEMIC

SOC32/S0C52

Semiconductors

Pin Description
VSS
Circuit ground potential.

vee
Supply voltage during normal, Idle, and Power Down
operation,

Memory that use 16 bit addresses (MOYX @DPTR). In
this application, it uses strong internal pullups when
emitting I's. During accesses to external Data Memory
that use 8 bit addresses (MOYX @Ri), Port 2 emits the
contents of the P2 Special Function Register.
It also receives the high-order address bits and control
signals during program verification in the 80C52. Port 2
can sink/source three LS TTL inputs. It can drive CMOS
inputs without external pullups.

Port 0
Port 0 is an 8 bit open drain bi-directional I/O port. Port 0
pins that have I 's written to them float, and in that state
can be used as high-impedance inputs.
Port 0 is also the multiplexed low-order address and data
bus during accesses to external Program and Data
Memory. In this application it uses strong internal pull ups
when emitting I's. Port 0 also outputs the code bytes
during program verification in the 80C52. External
pull ups are required during program verification. Port 0
can sink eight LS TTL inputs.

Port 3
Port 3 is an 8 bit bi-directional I/O port with internal
pull ups. Port 3 pins that have I's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 3 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the pull ups. It also serves the functions
of various special features of the TEMIC 51 Family, as
listed below.
Port Pin
P3.0
P3.1
P3.2
P3.3
P3.4
P3.S
P3.6
P3.7

Port 1
Port I is an 8 bit bi-directional I/O port with internal
pullups. Port I pins that have I's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port I pins that are externally
being pulled low will source current (IlL, on the data
sheet) because of the internal pullups.
Port I also receives the low-order address byte during
program verification. In the 80C52, Port I can sink/
source three LS TTL inputs. It can drive CMOS inputs
without external pull ups.
2 inputs of PORT I are also used for timer/counter 2 :
PI.O [T2) : External clock input for timer/counter 2. P 1.1
[T2EX) : A trigger input for timer/counter 2, to be
reloaded or captured causing the timer/counter 2
interrupt.

Alternate Function
RXD (serial input port)
TXD (serial output port)
INTO (external interrupt 0)
INTI (external interrupt 1)
TD (Timer 0 external input)
Tl (Timer I external input)
WR (external Data Memory write strohe)
RD (external Data Memory read strobe)

Port 3 can sink/source three LS TTL inputs. It can drive
CMOS inputs without external pull ups.

RST
A high level on this for two machine cycles while the
oscillator is running resets the device. An internal
pull-down resistor permits Power-On reset using only a
capacitor connected to Ycc. As soon as the Reset is
applied (Yin), PORT 1, 2 and 3 are tied to one. This
operation is achieved asynchronously even if the
oscillator does not start-up.

Port 2
Port 2 is an 8 bit bi-directional I/O port with internal
pullups. Port 2 pins that have I's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port 2 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the internal pullups. Port 2 emits the
high-order address byte during fetches from external
Program Memory and during accesses to external Data

Il.4.4

ALE
Address Latch Enable output for latching the low byte of
the address during accesses to external memory. ALE is
activated as though for this purpose at a constant rate of
116 the oscillator frequency except during an external
data memory access at which time one ALE pulse is
skipped. ALE can sink/source 8 LS TTL inputs. It can
drive CMOS inputs without an external pullup.

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

I FFFH). When EA is held low, the CPU executes only out
of external Program Memory. EA must not be floated.
Program Store Enable output is the read strobe to external
Program Memory. PSEN is activated twice each machine
cycle during fetches from external Program Memory.
(However, when executing out of external Program
Memory, two activations of PSEN are skipped during
each access to external Data Memory). PSEN is not
activated during fetches from internal Program Memory.
PSEN can sink/source 8 LS TTL inputs. It can drive
CMOS inputs without an external pullup.

XTALl
Input to the inverting amplifier that forms the oscillator.
Receives the external oscillator signal when an external
osci llator is used.

XTAL2
Output of the inverting amplifier that forms the oscillator.
This pin should be floated when an external oscillator is
used.

When EA is held high, the CPU executes out of internal
Program Memory (unless the Program Counter exceeds

Idle And Power Down Operation
Figure 3 shows the internal Idle and Power Down clock
configuration. As illustrated, Power Down operation
stops the oscillator. Idle mode operation allows the
interrupt, serial port, and timer blocks to continue to
function, while the clock to the CPU is gated off.

These special modes are activated by software via the
Special Function Register, PCON. Its hardware address is
87H. PCON is not bit addressable.

Figure 3.IdIe and Power Down Hardware.

Symbol

Position

Name and Fnnction

SMOD

PCON.7

GFI
GFO
PD

PCON.6
PCON.S
PCON.4
PCON.3
PCON.2
PCON.l

IDL

PCON.O

Double Baud rate bit. When set to
ai, the baud rate is doubled when
the serial port is being used in
either modes 1, 2 or 3.
(Reserved)
(Reserved)
(Reserved)
General-purpose tlag bit.
General-purpose flag hit.
Power Down bit. Setting this bit
activates power down operation.
Idle mode bit. Setting this bit
activates idle mode operation.

If I's are written to PD and IDL at the same time. PD
takes, precedence. The reset value of PCON is
(OOOXOOOO).

Idle Mode
The instruction that sets PCON.O is the last instruction
executed before the Idle mode is activated. Once in the
Idle mode the CPU status is preserved in its entirety: the
Stack Pointer, Program Counter, Program Status Word,
Accumulator, RAM and all other registers maintain their
data during idle. Table I describes the status of the
external pins during Idle mode.

IDL

PCON,' Power Control Register
(LSB)

(MSB)

I

MATRAMHS
Rev. G (14 Jan. 97)

GFI

I

GFO

I

PD

I

IDL

I

II.4.5

B

TEMIC

SOC32/S0C52

Semiconductors

There are three ways to terminate the Idle mode.
Activation of any enabled interrupt will cause PCON.a to
be cleared by hardware, terminating Idle mode. The
interrupt is serviced, and following RETI, the next
instruction to be executed will be the one following the
instruction that wrote I to PCON.a.
The flag bits GFO and GFI may be used to determine
whether the interrupt was received during normal
execution or during the Idle mode. For example, the
instruction that writes to PCON.O can also set or clear one
or both flag bits. When Idle mode is terminated by an
enabled interrupt, the service routine can examine the
status of the flag bits.
The second way of terminating the Idle mode is with a
hardware reset. Since the oscillator is still running, the
hardware reset needs to be active for only 2 machine
cycles (24 oscillator periods) to complete the reset
operation.

Power Down Mode
The instruction that sets PCON.1 is the last executed prior
to entering power down. Once in power down, the
oscillator is stopped. The contents of the onchip RAM and
the Special Function Register is saved during power down
mode. The hardware reset initiates the Special Fucntion
Register. In the Power Down mode, VCC may be lowered
to minimize circuit power consumption. Care must be
taken to ensure the voltage is not reduced until the power
down mode is entered, and that the voltage is restored
before the hardware reset is applied which freezes the
oscillator. Reset should not be released until the oscillator
has restarted and stabilized.
Table I describes the status of the external pins while in
the power down mode. It should be. noted that if the power
down mode is activated while in external program
memory, the port data that is held in the Special Function
Register P2 is restored to Port 2. If the data is a I, the port
pin is held high during the power down mode by the
strong pull up, Tl, shown in Figure 4.

Table 1. Status of the external pins during idle and power down modes.

Idle

Internal

Port Data

Port Data

Port Data

Port Data

Idle

External

Floating

Port Data

Address

Port Data

Power Down

Internal

o

o

Port Data

Port Data

Port Data

Port Data

Power Down

External

o

o

Floating

Port Data

Port Data

Port Data

Stop Clock Mode
Due to static design, the TEMIC 80C32/C52 clock speed
can be reduced until 0 MHz without any data loss in
memory or registers. This mode allows step by step
utilization, and permits to reduce system power
consumption by bringing the clock frequency down to
any value. At 0 MHz, the power consumption is the same
as in the Power Down Mode.

Figure 4.1/0 Buffers in the 80C52 (Ports 1,2, 3).

Q
FROM
PORT
LATCH

110 Ports
The I/O buffers for Ports 1, 2 and 3 are implemented as
shown in figure 4.

II.4.6

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

When the port latch contains a 0, all pFETS in figure 4 are
off while the nFET is turned on. When the port latch
makes a O-to-I transition, the nFET turns off. The strong
pFET, TI, turns on for two oscillator periods, pulling the
output high very rapidly. As the output line is drawn high,
pFET T3 turns on through the inverter to supply the IOH
source current. This inverter and T form a latch which
holds the I and is supported by T2.
When Port 2 is used as an address port, for access to
external program of data memory, any address bit that
contains a I will have his strong pullup turned on for the
entire duration of the external memory access.
When an I/O pin on Ports I, 2, or 3 is used as an input, the
user should be aware that the external circuit must sink
current during the logical 1-10-0 transition. The
maximum sink current is specified as ITL under the D.C.
Specifications.
When
the
input
goes
below
approximately 2 Y, T3 turns off to save ICC current. Note,
when returning to a logical I, T2 is the only internal
pull up that is on. This will result in a slow rise time if the
user's circuit does not force the input line high.

Figure 5. Crystal Oscillator.
XTAL2: 18
XTAL1: 19

~------------~VSS:20

To drive the device from an external clock source,
XTALI should be driven while XTAL2 is left
unconnected as shown in figure 6. There are no
requirements on the duty cycle of the external clock
signal, since the input to the internal clocking circuitry is
through a divide-by-two flip-flop, but minimum and
maximum high and low times specified on the Data Sheet
must be observed.

Figure 6. External Drive Configuration.
NC

XTAL2: 18

EXTERNAL
OSCILLATOR-------iXTAL1 : 19
SIGNAL

Oscillator Characteristics
XTALI and XTAL2 are the input and output respectively,
of an inverting amplifier which is configured for use as an
on-chip oscillator, as shown in figure S. Either a quartz
crystal or ceramic resonator may be used.

r------ivss: 20

Hardware Description
Same as for the 80CS1, plus a third timer/counter:

TimerlEvent Counter 2
Timer 2 is a 16 bit timer/counter like Timers 0 and I, it
can operate either as a timer or as an event counter. This
is selected by bit C/T2 in the Special Function Register
T2CON (Figure I). It has three operating modes :
"capture", "autoload" and "baud rate generator", which
are selected by bits in T2CON as shown in Table 2.
In the capture mode there are two options which are
selected by bit EXEN2 in T2CON; If EXEN2 = 0, then
Timer 2 is a 16 bit timer or counter which upon
overflowing sets bit TF2, the Timer 2 overflow bit, which
can be used to generate an interrupt. If EXEN2 = I, then
Timer 2 still does the above, but with the added feature

MATRAMHS
Rev. G (14 Jan. 97)

that a I-to-O transition at external input T2EX causes the
current value in the Timer 2 registers, TL2 and TH2, to
be captured into registers RCAP2L and RCAP2H,
respectively, (RCAP2L and RCAP2H are new Special
Function Register in the 80CS2). In addition, the
transition at T2EX causes bit EXF2 in T2CON to be set,
and EXF2, like TF2, can generate an interrupt.

Table 2. Timer 2 Operating Modes.
RCLK+
TCLK
0
0
1
X

CP/RL2

TR2

MODE

...

0
1
X
X

1
1
1
0

16 bit auto-reload
16 bit capture
haud rate generator
(oft)

11.4.7

E

TEMIC

SOC32/S0C52

Semiconductors

The capture mode is illustrated in Figure 7.

with the 16 bit value in registers RCAP2L and RCAP2H,
which are preset by software. If EXEN2 = I, then Timer
2 still does the above, but with the added feature that a
I-to-O transition at external input T2EX will also trigger
the 16 bit reload and set EXF2.

Figure 7. Timer 2 in Capture Mode.

The auto-reload mode is illustrated in Figure 8.

Figure 8. Timer in Auto-Reload Mode.

: CONTf-10L

FXFN2

In the auto-reload mode there are again two options,
which are selected by bit EXEN2 in T2CON.If
EXEN2 = 0, then when Timer 2 rolls over it does not only
set TF2 but also causes the Timer 2 register to be reloaded

: CONTROL
EXEN2

(MSB)

(LSB)

The baud rate generator mode is selected by : RCLK = I and/or TCLK = I.

II.4.8

Symbol

Position

TF2

T2CON.7

Timer 2 overtlow flag set by a Timer 2 overflow and must be cleared by software. TF2
will not be set when either RCLK = 1 OR TCLK = I.

EXF2

T2CON.6

Timer 2 external flag set when either a capture or reload is caused by a negative
transition on T2EX and EXEN2 = 1. When Timer 2 interrupt is enabled, EXF2 = 1 will
cause the CPU to vector to the Timer 2 interrupt routine. EXF2 must be cleared by
software.

RCLK

T2CON.5

Receive clock flag. When set, causes the serial POlt to use Timer2 overflow pulses for its
receive clock in modes 1 and 3. RCLK : : : 0 causes Timer I overflow to be used for the
receive clock.

TCLK

T2CONA

Transmit clock flag. When set, causes the serial port to use Timer 2 overflow pulses for
its transmit clock in modes 1 and 3. TCLK:= 0 causes Timer 1 overflows to be used for
the transmit clock.

EXEN2

T2CON.3

Timer 2 external enable flag. When set, allows capture or reload to occur as a result of a
negative transition on T2EX if Timer 2 is not being used to clock the serial port.
EXEN2 = 0 causes Timer 2 to ignore events at T2EX.

TR2

T2CON.2

Start/stop control for Timer 2. A logic I starts the timer.

C/TI

T2CON.I

Timer or counter select. (Timer 2) 0 = Internal timer (OSCI12)
I = External event counter (falling edge triggered).

CP/RL2

T2CON.O

Capture/Reload flag. When set, captures will occur on negative transitions at T2EX if
EXEN 2 := I. When cleared, auLo reloads will occur either with Timer 2 overflows or
negative transition at T2EX when EXEN2 = 1. When either RCLK = 1 or TCLK = I, this
bit is ignored and the timer is forced to auto-reload on Timer 2 overflow.

Name and Significance

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC
Semiconductors

SOC32/S0C52

80C52 with Secret ROM

80C52 with Secret TAG

TEMIC offers 80C52 with the encrypted secret ROM
option to secure the ROM code contained in the 80C52
microcontrollers.

TEMIC offers special 64-bit identifier called "SECRET
TAG" on the microcontroller chip.

The clear reading of the program contained in the ROM
is made impossible due to an encryption through several
random keys implemented during the manufacturing
process.
The keys used to do such encryption are selected
randomwise and are definitely different from one
microcontroller to another.
This encryption is activated during the following phases:
- Every time a byte is addressed during a verify of the
ROM content, a bytc of the encryption array is
selected.
- MOVC instructions executed from external program
memory are disabled when fetching code bytes from
internal memory.
- EA is sampled and latched on reset, thus all state
modification are disabled.

The Secret Tag option is available on both ROMless and
masked microcontrollers.
The Secret Tag feature allows serialization of each
microcontroller for identification of a specific
equipment. A unique number per device is implemented
in the chip during manufacturing process. The serial
number is a 64-bit binary value which is contained and
addressable in the Special Function Registers (SFR) area.
This Secret Tag option can be read-out by a software
routine and thus enables the user to do an individual
identity check per device. This routine is implemented
inside the microcontroller ROM memory in case of
masked version which can be kept secret (and then the
value of the Secret Tag also) by using a ROM Encryption.
For further information, please refer to the application
note (ANM03I) available upon request.

For further information please refer to the application
note (ANM053) available upon request.

MATRAMHS
Rev. G (14 Jan. 97)

lI.4.9

B

TEMIC

SOC32/S0C52

Semiconductors

Electrical Characteristics
* Notice

Absolute Maximum Ratings*
Arnbiant Temperature Under Bias:
C = commercial
...................... O°C to 70°C
I = industrial. . . . . . . . . . . . .
. .... -40°C to 85°C
Storage Temperature
_65°C to + 150°C
Voltage on VCC to VSS ........................ -0.5 V to + 7 V
Voltage on Any Pin to VSS
-0.5 V to Vee + 0.5 V
1W
Power Dissipation
* This value is based on the maximum allowable die temperature and
the thermal resistance of the package

Stresses at or above those listed under" Absolute Maximum Ratings"
nUlY cause permanent damage to the device. This is a stress rating on!:}!
lind functional operation of the device at these or (Iny other conditions
above those indicated in the operational sections (~l this spec{fication is
not implied. Exposure to absolute maximum rating conditions may ({fteet
device reliability.

DC Parameters
TA
TA

=ooe to 70 e ; VSS =0 V ; vee =5 V ± 10% ; F =0 to 44 MHz
=-40 o e + 85°e ; VSS =0 V ; vee =5 V ± 10 % ; F =0 to 36 MHz
0

..

".,,,,.

.;....,: « . •.•. .•. .•.•. ••.. . < . .•. . . •

VIL

Input Low Voltage

···i ... l\1]N . . •

· ·. .······L·.· . .· · ·.· · .

··.·.·>···.·····.···.·

I·····.··••

M~ .••·. · ·•.·• I~l'l' ......

-0.5

0.2 Vee-O.I

V

0.2 Vee + 1.4

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

:",..,.

"'' ' .

VIH

Input High Voltage (Except XTAL and RST)

VIHI

Input High Voltage (for XTAL and RST)

VOL

Output Low Voltage (Port I, 2 and 3)

0.3
0.45
1.0

V
V
V

10L= 100flA
10L = 1.6 rnA (note 2)
10L = 3.5 rnA

VOLI

Output Low Voltage (Port 0, ALE, PSEN)

0.3
0.45
1.0

V
V
V

10L = 200 flA
10L = 3.2 rnA (note 2)
IOL=7.0mA

VOH

Output High Voltage Port I, 2, 3

VOHI

Output High Voltage (P0l1 0, ALE, PSEN)

Vee - 0.3

V

10H=-IOflA

Vee - 0.7

V

10H =-30 flA

Vee - 1.5

V

10H =-60 flA
VCC=5V±10%

Vee - 0.3

V

10H = -200 flA

Vee - 0.7

V

IOH=-3.2 rnA

Vee - 1.5

V

IOH=-7.0mA
VCC=5 V± 10%

ilL

Logical 0 Input Current (Ports I, 2 and 3)

-50

flA

Yin = 0.45 V

ILl

Input leakage Current

±10

flA

0.45 < Yin < Vee

ITL

Logical I to 0 Transition Current (Ports 1,2 and 3)

-650

flA

Yin = 2.0 V

IPD

Power Down Current

50

flA

Vee = 2.0 V to 5.5 V (note I)

200

KOhm

10

pF

1.8
I
10
4

rnA
rnA
rnA
rnA

RRST

RST Pulldown Resistor

CIO

Capacitance of 1/0 Buffer

ICC

Power Supply Current
Freg = I MHz Icc op
Icc idle
Freg = 6 MHz Icc op
Icc idle
Freg;' 12 MHz Icc or = 1.25 Preg (MHz) + 5 mA
Icc idle = 0.36 Freq (MHz) + 2.7 rnA

II.4.IO

50

fe = I MHz, Ta = 25"C
Vee=5.5V

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

* Notice

Absolute Maximum Ratings*
Ambient Temperature Under Bias:
.......... -40°C to + 125°C

A::: Automotive

_65°C to + 150°C

Storage Temperature

Voltage on VCC to VSS ........................ -0.5 V to + 7 V
. -0.5 V to VCC + 0.5 V

Voltage on Any Pin to VSS

Stresses llbove lhos(-' listed Linder" Absolute Maximum Ratings" may
("llU.\C pemlllnenl danwKc to the dn,;c:e. This is (f stress rei/in;.: only and
.tltl1ctiona/ operation qlthe device at these or allY other conditions above
those indicated in the operatiollal sections of rhis specUicaliol1 i..o not
implied. Exposure to absolute maximulJI rating cOl1ditiol1s.tor extended
periods may qffeet device reliability.

IW

Power Dissipation

* This value is based on the maximum allowable die temperature and
the thermal resistance of the package

DC Parameters
TA =-40 o e + 125°e ; VSS
SYM8(jL
VIL

PARAMETER
Input Low Voltage

VIH

Input High Voltage (Except XTAL and RST)

VIHI

Input High Voltage (for XTAL and RST)

VOL

Output Low Voltage (Port I, 2 and 3)

VOLI

Output Low Voltage (Port 0, ALE, PSEN)

VOH

Output High Voltage Port I. 2 and 3

VOHl

II

=0 V ; vee =5 V ± 10 % ; F =0 to 36 MHz

Output High Voltage (Port 0, ALE. PSEN)

MIN

MAX

UNIT

-0.5

0.2 Vee - 0.1

V

TEST CONDITIONS

0.2 Vee + 1.4

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

0.3
0.45
1.0

V
V
V

IOL~

0.3
0.45
1.0

V
V
V

IOL= 200 /lA
10L = 3.2 rnA (note 2)
IOL=7.0rnA

10L~

IOL

~

100/lA
1.6 rnA (note 2)
3.5 rnA

Vee - 0.3

V

10H = -10 /lA

Vee - 0.7

V

IOH =-30 /lA

Vee - 1.5

V

IOH=-60/lA
VCC=5V± 10 %

Vee - 0.3

V

IOH = - 200 J.lA

Vee - 0.7

V

IOH=-3.2mA

Vee - 1.5

V

IOH=-7.0 mA
VCe=5 V± 10 %

ilL

Logical 0 Input Current (Ports 1,2 and 3)

-75

/lA

Yin = 0.45 V

ILl

Input leakage Current

±IO

J.lA

0.45 < Yin < Vee

ITL

Logical I to 0 Transition Current (Ports I, 2 and 3)

-750

/lA

Yin = 2.0 V

IPD

Power Down Current

75

J.lA

Vee = 2.0 V to 5.5 V (note I)

200

KOhrn

10

pF

1.8
I
10
4

rnA
rnA
rnA
rnA

RRST

RST Pulldown Resistor

CIO

Capacitance of 110 Buffer

ICC

Power Supply Current
Freq = I MHz Icc op
Icc idle
Freq = 6 MHz Icc op
Icc idle
Freq" 12 MHz Icc op = 1.25 Freq (MHz) + 5 rnA
Icc idle = 0.36 Freq (MHz) + 2.7 rnA

MATRAMHS
Rev. G (14 Jan, 97)

50

fc = I MHz, Ta = 25'C

Vce=5.5 V

11.4.11

TEMIC

SOC32/S0C52

Semiconductors

* Notice

Absolute Maximum Ratings*

Stresses at or above those listed under" Absolute Maximum Ratings"

Ambient Temperature U ndef Bias:

lIlay c({use permanent dO!1wge to the device. This is l/ stress rating onl.r

M = Military ............................... -55"C to +12S"C
Storage Temperature

-65"C to + 150"C

([ndfuncfional operation (~l the device at these or un}' other conditions
above those indicated in the opermioJ1a/ sections (~f'this spec~ric(/ti()n is

. -0.5 V to + 7 V

not implied. E'K{'osure to absolute maximum rating conditions may affect

Voltage on VCC to VSS .
Voltage on Any Pin to VSS

. -0.5 V to VCC + 0.5 V

Power Dissipation

dC1".;ce reliahility,

IW

* This value is based on the maximum allowable die temperature and
the thermal resistance of the package

DC Parameters
TA = -55°C + 125°C; Vss

= 0 V; Vee = 5 V ± 10 % ; F = 0 to 36 MHz

SYMBOL

PARAMETER

VIL

Input Low Voltage

VIH

Input High Vnltage (Except XTAL and RST)

VIHI

Input High Voltage (for XTAL and RST)

MIN

MAX

UNIT

-0.5

0.2 Vec - 0.1

V

0.2 Vcc+ 1.4

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

TEST CONDITJONS

Output Low Voltage (Port 1,2 and 3)

0.45

V

IOL = 1.6 mA (note 2)

VOLI

Output Low Voltage (Port 0, ALE, PSEN)

0.45

V

IOL = 3.2 mA (note 2)

VOH

Output High Voltage (Port I, 2 and 3)

2.4

V

IOH =-60 ~A
Vee=5V±IO%

0.75 Vee

V

IOH =- 25

~A

~A

VOL

VOHI

Output High Voltage
(Port 0 in External Bus Mode, ALE, PEN)

0.9 Vee

V

IOH=-1O

2.4

V

IOH=-400~A

Vee=5 V± 10%
0.75 Vee

V

IOH=-150~A

0.9 Vee

V

IOH=-40~A

IlL

Logical 0 Input Current (Ports I, 2 and 3)

-75

~A

Yin = 0.45 V

ILl

Input leakage Current

+/-10

~A

0.45 < Yin < Vee

ITL

Logical I to 0 Transition Current (Ports I, 2 and 3)

-750

~A

Yin = 2.0 V

IPD

Power Down Current

75

~A

Vee = 2.0 V to 5.S V (note I)

200

Kfl

10

pF

1.8
I
10
4

rnA
rnA
rnA
rnA

RRST

RST Pull down Resistor

CIO

Capacitance of I/O Buffer

ICC

Power Supply Current
Freg = I MHz lec op
Icc idle
Freg = 6 MHz lee op
Icc idle
Freg" 12 MHz Icc op = 1.25 Freg (MHz) + 5 mA
Icc idle = 0.36 Freg (MHz) + 2.7 rnA

11,4,12

50

fe = I MHz, Ta = 25'C
Vcc=5.5V

MATRAMHS
Rev, G (14 Jan, 97)

TEMIC

SOC32/S0C52

Semiconductors

Absolute Maximum Ratings*

* Notice

Ambient Temperature Under Bias:

Stresses at or above those listed under" Absolute Maximum Ratings"
may ("lIuse permanent damage to the device. This is {/ stress rating only

C::::: Commercial ................................

I = Industrial ............

lIIU/jtlf1cti01W/ operatio/l (l the dCTice (If these OF any other conditions
(//Jove those indico/ed il1 the operational sections (d this specUlcatiol1 is
1101 i1l1/}{ied. E\posure to ahsolute I1ll1ximlfl11 rating cOIulif;OI7S f7wy affect
device reliahility.

-65"C to + 150"C

Storage Temperature
Voltage on VCC to

ooe to 70°C
-40 to 85"C

vss .

..... -0.5 V to + 7 V

Voltage on Any Pin to VSS

.. -0.5 V to VCC + 0.5 V

I w*·'
This value is based on the maximum allowahle die temperature and
the thermal resistance of thc package

Power Dissipation
':,*

B

DC Characteristics
TA = oce to 70 o e; Vee = 2.7 V to 5.5 V ; Vss = 0 V; F = 0 to 16 MHz
TA = -40 o e to 85°e ; Vee = 2.7 V to 5.5 V
SYMBOL

PARAMETER

VIL

Input Low Voltage

MIN

MAX

UNIT

-0.5

0.2 Vee -0.1

V

VIH

Input High Voltage (Except XTAL and RST)

0.2 Vee + 1.4

Vee + 0.5

V

VIH2

Input High Voltage to RST for Reset

0.7 Vee

Vee +0.5

V

VIHI

Input High Voltage to XTALI

0.7 Vee

Vee +0.5

V

TEST CONDITIONS

VPD

Power Down Voltage to Vec in PO Mode

5.5

V

VOL

Outpot Low Voltage (Ports 1,2,3)

0.45

V

10L ~ O.S rnA (note 2)

VOLI

Output Low Voltage Port 0, ALE, PSEN

0.45

V

10L

VOH

Output High Voltage Ports 1. 2, 3

0.9 Vee

V

10H~-lOflA

VOHI

Output High Voltage (Port 0 in External Bus
Mode), ALE, PSEN

0.9 Vee

V

IOH~

ilL

20

Logical 0 Input Current Ports I, 2. 3

-50

flA

Yin

~

~

1.6 rnA (note 2)

-40flA

0.45 V

ILl

Input Leakage Current

±IO

flA

0.45 < Yin < Vee

ITL

Logical 1 to 0 Transition Current
(Ports 1.2,3)

-650

flA

Vin~

VCC

IPD

Power Down Current

RRST
CIO

RST Pulldown Resistor

50

Capacitance of 110 Butfer

50

flA

200

kQ

10

pF

2.0 V

~

2.0 V to 5.5 V (note 1)

fc = I MHz, TA = 25"C

Maximum Icc (rnA)
.:

.··c'

.:.c..·.<

::

OPERATING (NOTE 1)

IDLE (NOTE 1 ) ' ; c

e

FREQUENCYN ee

2.7V

3V

3.3 V

5.5 V

2.7 V

3V

3.3 V

I MHz

O.SmA

ImA

l.l rnA

I.SmA

400flA

500 flA

600 flA

I rnA

6MHz

4mA

SmA

6mA

1.5mA

I.7 rnA

2 rnA

4mA

12MHz

SmA

lOrnA

12mA

2.5 rnA

3mA

3.5mA

16MHz

lOrnA

12mA

14mA

3mA

3.S rnA

4.5 rnA

Freq> 12 MHz (Vee = 5.5 V)

MATRAMHS
Rev. G (14 Jan. 97)

lOrnA

5.5 V

Icc (rnA) ~ 1.25 x Freq (MHz) + 5
Icc Idle (rnA) ~ 0.36 x Freq (MHz) + 2.7

IIA.13

TEMIC

SOC32/S0C52

Semiconductors

Notel: ICC is measured with all output pins
disconnected ; XTALl driven with TCLCH, TCHCL =
5 ns, VIL = VSS + .5 V, VIH = VCC -.5 V ; XTAL2
N.e. ; EA = RST = Port 0 = VCe. ICC would be slighty
higher if a crystal oscillator used.

Figure 9. ICC Test Condition, Idle Mode.
All other pins are disconnected.

Idle ICC is measured with all output pins disconnected;
XTALl driven with TCLCH, TCHCL = 5 ns, VIL =
VSS + 5 V, VIH = VCC -.5 V ; XTAL2 N.C ; Port 0 =
VCC ; EA = RST = VSS.
Power Down ICC is measured with all output pins
disconnected; EA = PORT 0 = VCC ; XTAL2 N.C. ;
RST= VSS.
Note 2 : Capacitance loading on Ports 0 and 2 may cause
spurious noise pulses to be superimposed on the VOLS of
ALE and Ports 1 and 3. The noise is due to external bus
capacitance discharging into the Port 0 and Port 2 pins
when these pins make I to 0 transitions during bus
operations. In the worst cases (capacitive loading 100
pF), the noise pulse on the ALE line may exceed 0.45 V
may exceed 0.45 V with maxi VOL peak 0.6 V. A Schmitt
Trigger use is not necessary.

RST
(NC)
CLOCK
SIGNAL

EA

XTAL2
XTAL1
VSS

Figure 10. ICC Test Condition, Active Mode.
All other pins are disconnected.

VCC

RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

Figure 11. ICC Test Condition, Power Down Mode.
All other pins are disconnected.

RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

Figure 12. Clock Signal Waveform for ICC Tests in Active and Idle Modes. TCLCH = TCHCL

=5 ns.

TCHCL
~------TCLCL.-------+1

11.4.14

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

Explanation of the AC Symbol
Each timing symbol has 5 characters. The first character
is always a "T" (stands for time). The other characters,
depending on their positions, stand for the name of a
signal or the logical status of that signal. The following
is a list of all the characters and what they stand for.
A: Address.
C: Clock.
D : Input data.
H: Logic level HIGH
I : Instruction (program memory contents).
L : Logic level LOW, or ALE.
P: PSEN.

Example:
TAVLL = Time for Address Valid to ALE low.
TLLPL = Time for ALE low to PSEN low.

Q : Output data.
R : READ signal.
T: Time.
V: Valid.
W : WRITE signal.
X : No longer a valid logic level.
Z: Float.

II

AC Parameters
TA = 0 to + 70°C; V 5S = 0 V ; Vcc = 5 V ± 10 % ; F = 0 to 44 MHz
TA = 0 to +70°C; Vss = 0 V; 2.7 V < Vcc < 5.5 V; F = 0 to 16 MHz
TA=-40° (0+ 85°C; Vss=OV; 2.7 V 

··.16~FlZ· 20.MHi!: 25 MHz

i

....•....... "ARAMETER.
..

'

.....

....

30 MHz 36 MHz 40 MHz 4ZMHz 44 MHz

min max min max min max min IlIlIx min max min IlIlIX min
......

max min max

TLHLL

ALE Pulse Width

110

90

70

60

50

40

35

TAVLL

Address valid to ALE

40

30

20

15

10

9

8

7

TLLAX

Address Hold After ALE

35

35

35

35

35

30

25

17

TLLIV

ALE to valid instr in

TLLPL

ALEtoPSEN

45

TPLPH

PSEN pulse Width

165

TPLIV

PSEN to valid instr in

TPXIX

Input instr Hold After PSEN

TPXIZ

Input instr Float After PSEN

TPXAV

PSEN to Address Valid

185

170
40
130

125
0
50

45

35

30
35

60
45

0

54
40

25

35
0

0
20

25
30

65
12

13

65
50

0

65

70
15

75
65

0

40

80
20

80
85

0

50

100
25

100
110

0

55

130
30

30

15
20

10
15

-~

TAVIV

Address to Valid instr in

TPLAZ

PSEN low to Address Float

230

210

170

l30

90

80

75

70

10

10

8

6

5

5

5

5

External Program Memory Read Cycle
ALE

PORT 2 _ _ _ _o f

MATRAMHS
Rev. G (14 Jan. 97)

11.4.15

TEMIC

SOC32/S0C52

Semiconductors

External Data Memory Characteristics (values in ns)

. .·.·>.i.i······.·.·. . . . . . . . •. ·. · . ·. . ·.·.·.·.· . . i . . . . . 16lVl~..
••• i.
SBb~-. ··~AT>l~~~~D··i
.: ........ ...........
1.~iJ
~....

1ll!}~

. .....

min m!}X mill m!}x

36MIIz .40MIIz
........
I.
Initl 1Jl1~"
.... ....,{

2~Mflz

2SMJ:1z 3& MHz

1<

'::"

"'-

-',-.
~,

4~lVl~z ."".Mllz

mi~ lit!}X .lI)in IntU

TRLRH

RD pulse Width

340

270

210

180

120

100

90

TWLWH

WR pulse Width

340

270

210

180

120

100

90

80

TLLAX

Address Hold After ALE

85

85

70

55

35

30

25

25

TRLDV

RD to Valid Data in

TRHDX

Data hold after RD

210

TRHDZ

Data float after RD

TLLDV

ALE to Valid Data In

TAVDV

Address to Valid Data IN

TLLWL

ALE to WR or RD

150

TAVWL

Address to WR or RD

180

TQVWX

Data valid to WR transition

35

35

30

20

15

10

TQVWH

Data Setup to WR transition

380

325

250

215

170

160

TWHQX

Data Hold after WR

40

TRLAZ

RD low to Address Float

TWHLH

RD or WR high to ALE high

240
0

0

135

110

0

90

0

0

80

70

0

0

90

90

80

70

50

45

40

35

435

370

290

235

170

150

140

130

480
250

400
135

170

180

35

90

320
120

130

140

0
35

60

260

90

20

45

60

15

175

170

90

55

50

60

55

150

140

20

6
0

40

15

85

6

10
0

40

95

65

0
20

180

100

70
75

0
25

190

115

115

30

0
35

175
0

80

35

0
13

0

33

13

33

External Data Memory Write Cycle
L

TWHLH

£

"\

ALE

I--- TLLWL---!
.hJ
TAVWL

I-fPORTO

PORT 2

>--<
ADDRESS
OR SFR·P2

~TLLAX+j

AO·A7

~

TWLWH
TQVWX

/

TQVWH

I.e TWHQX~

!

DATA OUT

I

)<

ADDRESSA8·A15 OR SFR·P2

External Data Memory Read Cycle
r----,..

1·..,......- - - - T L L D V - - - -.....~I

TWHLH

~

ALE

PSEN
RD

-------~-----~ I~~---+TRLRH----__·~~~--TRHDX

PORTO

DATA IN

PORT21

II.4.16

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

Serial Port Timing - Shift Register Mode (values in ns)

•. . •. • >.. ~ . . . .
••..~~ ...

..•.

16 MHz 20 MHz 25 MHz 30 MHz 36 MHz 40 MHz 42MlU #MlU
PARAMETER

min max min max min max min max min max min max min max min max

TXLXL

Serial Port Clock Cycle Time

750

600

480

400

330

250

230

227

TQVXH

Output Data Setup to Clock
Rising Edge

563

480

380

300

220

170

150

140

TXHQX

Output Data Hold after Clock

63

90

65

50

45

35

30

25

0

0

0

0

0

0

0

0

Rising Edge

TXHDX

Input Data Hold after Clock

B

Rising Edge

TXHDV

Clock Rising Edge to Input
Data Valid

350

450

563

300

250

200

180

6

7

8

160

Shift Register Timing Waveforms
INSTRUCTION

o

3

2

4

5

CLOCK

OUTPUT DATA
WRITE

~O

INPUT

SBUF

TXHDVI--l

DATA~=====~"

...
CLEAR RI

MATRAMHS
Rev. G (14 Jan. 97)

~~

...
SETIN
TXHDX

...

SET IN

IIA.17

TEMIC

SOC32/S0C52

Semiconductors

External Clock Drive Characteristics (XTALl)
SYMBOL

.....

PARAM£1'ER . .•.•.

FCLCL

Oscillator Frequency

TCLCL

Oscillator period

TCHCX
TCLCX

<

MIN

..

.... i

.

.....•..•..

.....

{lNl! . ...

MAX·.·.···.·.·•. ·•..

MHz

44
22.7

os

High Time

5

os

Low Time

5

os

TCLCH

Rise Time

5

ns

TCHCL

Fall Time

5

os

External Clock Drive Waveforms

TCHCL
~------TCLCL--------+I

AC Testing Input/Output Waveforms

=X

INPUT/OUTPUT
vec-

o,5V

0,45 V

0,2 Vee + 0,9

)C

_.,.;0;,:;,2;;,.V,;,,;c"'c_-.,.;0;:,.,1;,..-_ _ __

AC inputs during testing are dri ven at Vcc - 0.5 for a logic" I" and 0.45 V for a logic "0". Timing measurements are
made at VIH min for a logic" I" and VIL max for a logic "0".

Float Waveforms
FLOAT

foooO.---- FLOAT - - - - - - I

VLOAD

VLOAD + 0,1 V
VLOAD-O,1 V

For timing purposes as port pin is no longer tloating when a 100 mV change from load voltage occurs and begins to
float when a 100 mV change from the loaded VOHIVOL level occurs. IollIoH ~ ± 20 mA.

ILl.! X

MAfRAMHS
Rev. G (14 Jan. 97)

TEMIC

SOC32/S0C52

Semiconductors

Clock Waveforms
STATE 4
INTERNAL
CLOCK

I

STATE 5

STATE 6

STATE 1

STATE 21

STATE 3

STATE 4 1 STATE 5 1
1

P1

I P2

P1

I P21 P1

I P2 1 P1

I P21 P1

I P2

P1

I P2

P1

I

P2

P1

I P2

XTAL2

"

ALE

PSEN

,

L-

I

B

'--_ _~DATA

PO

P2 (EXl)

I

" " THESE SIGNALS ARE NOT
ACTIVATED DURING THE
EXECUTION OF A MOVX INSTRUCTION
,----------,
'-----_--L-_----'

1_

J

Fi~~~L~

1-

_ _ _ _--'IINDICATES ADDRESS TRANSITIONSIL-_ _ _ _ _ _ _ _ _--'

READ CYCLE
RD
OOH IS EMITTED
DURING THIS PERIOD
PO

____

PCL OUT (IF PROGRAM
MEMORY IS EXTERNAL)

~-D-P-L-O-R-R-i~lrT~-,-----~~~~---~1

I..!..I.

OUT

.1

FLOAT SAMPLED

t
+

~

INDICATES DPH OR P2 SFR TO PCH TRANSITION

P2
WRITE CYCLE

L _ _ _ _ _ _ _ _ _ _--'I PCLOUT (EVEN IF PROGRAM

WR

MEMORY IS INTERNAL)

DPLORRi
OUT

PO

~

I

I.

DATA OUT

INDICATES DPH OR P2 SFR TO PCH TRANSITIONS

P2

·L

'I

~I--~CLOUT(IFPROGRAM
I MEMORY IS EXTERNAL)

PORT OPERATION
MOV PORT SRC

__________
O_LD_D_AT_A-.JI NEW DATA

MApO

MOVDESTPO
MOV DEST PORT-(P-1-,P-2-,P-3-)--'
(INCLUDES INTO, INT1, TO, T1)

~

ITI'-----------------------'FTL

____________I~*.~I

SERIAL PORT SHIFT CLOCK
TXD
(MODE 0)

PINS SAMPLED

PO PINS SAMPLED

P1 P2, P3 PI NS SAMPLED

RXD SAMPLED

I

P1. P2, P3
PINS SAMPLED

~rRXD SAMPLED

This diagram indicates when signals arc clocked internally. The time it takes the signals to propagate to the pins,
however, ranges from 25 to 125 ns. This propagation delay is dependent on variables such as temperature and pin
loading. Propagation also varies from output to output and component. Typically though (TA = 25°C fully loaded) RD
and WR propagation delays are approximately 50 ns. The other signals are typically 85 ns. Propagation delays are
incorporated in the AC specifications.

MATRAMHS
Rev. (J (14 Jan. 97)

[[.4.19

TEMIC

SOC32/S0C52

Semiconductors

Ordering Information
S

T

Temperature Range
blank : Commercial
I
: Industrial
A
: Automotive
M
: Military

80C52C

xxx

-36

T
Part Number
80C52 Rom 8 K x 8
80C32 External ROM
80C52C Secret ROM version
80C52T Secret Tag version
80C32E Radiation Tolerant
80C52E Radiation Tolerant

-12
-16
-20
-25
-30
-36
-40
-42
-44
-Ll6

Package Type
P: POlL 40
S: PLCC44
FI: PQFP 44 (Foot print 13.9 mm)
F2: PQFP 44 (Foot print 12.3 mm)
Y: YQFP (1.4 mm)
T: TQFP (1.0 mm)
D: COIL 40
Customer Rom Code
Q: CQFP44
R: LCC44
C: Side Braze 40 (.6)

D

T

: 12 MHz version
: 16 MHz version
: 20 MHz version
: 25 MHz version
: 30 MHz version
: 36 MHz version
: 40 MHz version (1)
: 42 MHz version (I)
: 44 MHz version (1)
: Low Power
(Vcc : 2.7-5.5 V
Freq: 0-16 MHz)
R : Tape and Reel
D: Dry Pack
Flow
/883 MIL compliant
PS83 MIL compliant with PIND test
SB SCC9000 level B
SC SCC9000 level C

(I) Only for 80C31 at commercial range.

II.4.20

MATRAMHS
Rev. G (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

CMOS 0 to 36 MHz Single Chip 8-bit Microcontroller
Description
TEMIC's 80CI54 and 83CI54 are high performance
CMOS single chip ]lc. The 83CI54 retains all the
features of the 80C52 with extended ROM capacity (16
K bytes), 256 bytes of RAM, 32 1/0 lines, a 6-source
2-level interrupts, a full duplex serial port, an on-chip
oscillator and clock circuits, three 16 bit timers with extra
features: 32 bit timer and watchdog functions, Timer 0
and I can be configured by program to implement a 32 bit
timer, The watchdog function can be activated either with
timer 0 or timer 1 or both together (32 bit timer).
In addition, the 83C 154 has 2 software-selectable modes
of reduced activity for further reduction in power

•
•
•
•
•
•

SOC 154 : ROMless version of the 83C 1541l
80CI54/83CI54-12: a to 12 MHz
80CI54/S3CI54-l6: a to 16 MHz
SOCI54/S3CI54-20: a to 20 MHz
SOC l54/83C 154-25 : a to 25 MHz
80Cl 54/83C I 54-30 : a to 30 MHz

consumption. In the idle mode the CPU is frozen while
the RAM is saved, and the timers, the serial port and the
interrupt system continue to function. In the power down
mode the RAM is saved and the timers, serial port and
interrupt continue to function when driven by external
clocks. In addition as for the TEMIC 80C51/80C52, the
stop clock mode is also available.
The 80C 154 is identical to the 83C 154 except that it has
no on-chip ROM. TEMIC's 80C 154 and 83C 154 are
manufactured using SCMOS process which allows them
to run from 0 up to 36 MHz with Vec = 5 V.

• SOC I54/83C I54-36 : a to 36 MHz
• 80C I54/83C I 54-L16 : Low power version
VCC: 2.7-5.5 V Fre'!: 0-16 MHz
For other speed and temperature range availability please consult your
sales office.

Features
• Power control modes
• 256 bytes of RAM
• 16 Kbytes of ROM (83CI54)
• 32 Programmable I/O lines (programmable impedance)
• Three 16 bit timer/counters (including watchdog and 32 bit
timer)
• 64 K program memory space
• 64 K data memory space

•
•
•
•
•
•

Fully static design
0.81l CMOS process
Boolean processor
6 interrupt sources
Programmable serial port
Temperature range: commercial, industrial, automotive,
military

Optional
• Secret ROM: Encryption
• Secret TAG: Identification number

MATRAMHS
Rev.F (14 Jan. 97)

II.5.1

2

TEMIC

80C154/83C154

Semiconductors

Interface
Figure 1. Block Diagram
POO-P07

P20-P27

---l

r
vs?,

vee

"

I
I
I
I

I
I
I
I

I
I
I
I.---~
PSEN
ALE

EA
RST

I'---.I.=-.J

:~

t:;~f'

IIS2

____

I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
-1

P30-P37

MATRAMHS
Rev.F(l4 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

Figure 2. Pin Configuration
x
w
T2/P1.0
T2EX/1.1
P1.2
P1.3

4

P1A
P1.5

6

P1.6

.q>n

P1.7

U

RST

C')

00

P3.0/RXD

10

P3.1(TXD

11

>n

P3.2/1 NTO

12

U

P3.3/1 NT1

13

~

0

00

40

vee

39

PO.O/AO

38

PO.1/A 1

37

PO.2/A2

36

PO.3/A3

35

POA/A4

34

PO.5/A5

v

'"
0: 0:

INDEX
CORNER

N

~

g

0: 0: 0:

0



2;

i?

N

'"

~


fOx fO
x
--'

u
z

0

oj
0..

"


~

:;;: §!

0..°

?l

fO
X

0

Z

00

m

'" 'f"
o..N

0

N

~ o..N
~ o..N
~

o..N

Flat Pack

Diagrams arc for reference only. Package sizes arc not to scale

MATRAMHS
Rcv.F (14 Jan. 97)

11.5.3

II

TEMIC

80C154/83C154

Semiconductors

Pin Description
vss

Port 2

Circuit Ground Potential.

Port 2 is an 8 bit bi-directional 110 port with internal
pullups. Port 2 pins that have 1's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port 2 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the internal pullups. Port 2 emits the
high-order address byte during fetches from external
Program Memory and during accesses to external Data
Memory that use 16 bit addresses (MOYX @DPTR). In
this application, it uses strong internal pull ups when
emitting I's. During accesses to external Data Memory
that use 8 bit addresses (MOYX @Ri), Port 2 emits the
contents of the P2 Special Function Register.
It also receives the high-order address bits and control
signals during program verification in the 83C 154. Port
2 can sink or source three LS TTL inputs. It can drive
CMOS inputs without external pullups.

vee
Supply voltage during normal, Idle, and Power Down
operation.

PortO
Port 0 is an 8 bit open drain bi-directional I/O port. Port 0
pins that have I 's written to them float, and in that state
can be used as high-impedance inputs.
Port 0 is also the multiplexed low-order address and data
bus during accesses to external Program and Data
Memory. In this application it uses strong internal pull ups
when emitting I's. Port 0 also outputs the code bytes
during program verification in the 83C154. External
pull ups are required during program verification. Port 0
can sink eight LS TTL inputs.

Port 1
Port I is an 8 bit bi-directional I/O port with internal
pull ups. Port 1 pins that have 1's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 1 pins that are externally
being pulled low will source current (IlL, on the data
sheet) because of the internal pullups.

Port 3
Port 3 is an 8 bit bi-directional 110 port with internal
pullups. Port 3 pins that have l's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port 3 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the pullups. It also serves the functions
of various special features of the TEMIC 51 Family, as
listed below.
Port Pin

Port I also receives the low-order address byte during
program verification. In the 83C154, Port I can sink or
source three LS TTL inputs. It can drive CMOS inputs
without external pullups.

P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7

2 inputs of PORT I are also used for timer/counter 2 :
P 1.0 [T2] : External clock input for timer/counter 2. PI.I
[T2EX] : A trigger input for timer/counter 2, to be
reloaded or captured causing the timer/counter 2
interrupt.

Alternate Function
RXD (serial input port)
TXD (serial output port)
INTO (external interrupt 0)
INTI (external interrupt I)
TO (Timer 0 external input)
Tl (Timer I external input)
WR (external Data Memory write strobe)
RD (external Data Memory read strobe)

Port 3 can sink or source three LS TTL inputs. It can drive
CMOS inputs without external pullups.

RST
A high level on this for two machine cycles while the
oscillator is running resets the device. An internal
pull-down resistor permits Power-On reset using only a
capacitor connected to YCe. As soon as the result is
applied (Yin), PORT I, 2 and 3 are tied to I. This
operation is achieved asynchronously even if the
oscillator is not start up.

11.5.4

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

ALE

XTALl

Address Latch Enable output for latching the low byte of
the address during accesses to external memory. ALE is
activated as though for this purpose at a constant rate of
1/6 the oscillator frequency except during an external
data memory access at which time one ALE pulse is
skipped. ALE can sink or source 8 LS TTL inputs. It can
drive CMOS inputs without an external pullup.

Input to the inverting amplifier that forms the oscillator.
Receives the external oscillator signal when an external
oscillator is used.

XTAL2
Output of the inverting amplifier that forms the oscillator,
and input to the internal clock generator. This pin should
be floated when an external oscillator is used.

B

Program Store Enable output is the read strobe to external
Program Memory. PSEN is activated twice each machine
cycle during fetches from external Program Memory.
(However, when executing out of external Program
Memory, two activations of PSEN are skipped during
each access to external Data Memory). PSEN is not
activated during fetches from internal Program Memory.
PSEN can sink/source 8 LS TTL inputs. It can drive
CMOS inputs without an external pull up.

When EA is held high, the CPU executed out of internal
Program Memory (unless the Program Counter exceeds
3FFFH). When EA is held low, the CPU executes only out
of external Program Memory. EA must not be floated.

Idle and Power Down Operation
Figure 3 shows the internal Idle and Power Down clock
configuration. As illustrated, Power Down operation
stops the oscillator. The interrupt, serial port, and timer
blocks continue to function only with external clock
(INTO, INTI, TO, TI).

Figure 3. Idle and Power Down Hardware.

Idle Mode operation allows the interrupt, serial port, and
timer blocks to continue to function with internal or
external clocks, while the clock to CPU is gated off. The
special modes are activated by software via the Special
Function Register, PCON. Its hardware address is 87H.
PCON is not bit addressable.

IDL

MATRAMHS
Rev.F (14 Jan. 97)

II.S.S

TEMIC

80C154/83C154

Semiconductors

PCON: Power Control Register
(MSB)

(LSB)

ISMOD I HPD I RPD I

I GFI

I GFO I PD

I IDL

Symbol

Position

Name and Fnnction

SMOD

PCON.7

HPD

PCON.6

Double Baud rate bit. When set to
a I, the baud rate is doubled when
the serial port is being used in
either modes 1,2 or 3.
Hard power Down bit. Setting this
bit allows CPU to enter in Power
Down state on an external event
(I to 0 transition) on bit TI
(p. 3.5) the CPU quit the Hard
Power Down mode when bit T 1
p. 3.5) goes high or when reset is
aClivated.
Recover from Idle or Power Down
bit. When 0 RPD has no elfetc.
When I, RPD permits to exit Irom
idle or Power Down with any non
enabled interrupt source (except
lime 2). In this case the program
start at the next address. When
interrupt is enabled, the
appropriate interrupt routine is
serviced.
General-purpose nag bit.
General-purpose nag bit.
Power Down bit. Setting this bit
activates power down operation.
Idle mode bit. Setting this bit
activates idle mode operation.

RPD

PCON.S

GFI
GFO
PD

PCON.3
PCON.2
PCON.I

IDL

PCON.O

I

If 1's are written to PD and IDL at the same time. PD
takes, precedence. The reset value of PCON is
(OOOXOOOO).

Idle Mode
The instruction that sets PCON.O is the last instruction
executed before the Idle mode is activated. Once in the
Idle mode the CPU status is preserved in its entirety: the
Stack Pointer, Program Counter, Program Status Word,
Accumulator, RAM and all other registers maintain their
data during idle. In the idle mode, the internal clock signal
is gated off to the CPU, but interrupt, timer and serial port
functions are maintained. Table 1 describes the status of
the external pins during Idle mode. There are three ways
to terminate the Idle mode. Activation of any enabled
interrupt will cause PCON.O to be cleared by hardware,
terminating Idle mode. The interrupt is serviced, and
following RET!, the next instruction to be executed will
be the one following the instruction that wrote 1 to
PCON.O.

11.5.6

The flag bits GFO and GFI may be used to determine
whether the interrupt was received during normal
execution or during the Idle mode. For example, the
instruction that writes to PCON.O can also set or clear one
or both flag bits. When Idle mode is terminated by an
enabled interrupt, the service routine can examine the
status of the flag bits.
The second way of terminating the Idle mode is with a
hardware reset. Since the oscillator is still running, the
hardware reset needs to be active for only 2 machine
cycles (24 oscillator periods) to complete the reset
operation.
The third way to terminate the Idle mode is the activation
of any disabled interrupt when recover is programmed
(RPD = 1). This will cause PCON.O to be cleared. No
interrupt is serviced. The next instruction is executed. If
interrupt are disabled and RPD = 0, only a reset can
cancel the Idle mode.

Power Down Mode
The instruction that sets PCON.l is the last executed prior
to entering power down. Once in power down, the
oscillator is stopped. The contents of the onchip RAM and
the Special Function Register is saved during power down
mode. The three ways to terminate the Power Down mode
are the same than the Idle mode. But since the onchip
oscillator is stopped, the external interrupts, timers and
serial port must be sourced by external clocks only, via
INTO, INTI, TO, Tl.
In the Power Down mode, VCC may be lowered to
minimize circuit power consumption. Care must be taken
to ensure the voltage is not reduced until the power down
mode is entered, and that the voltage is restored before the
hardware reset is applied which frees the oscillator. Reset
should not be released until the oscillator has restarted
and stabilized.
When using voltage reduction : interrupt, timers and
serial port functions are guaranteed in the VCC
specification limits.
Table I describes the status of the external pins while in
the power down mode. It should be noted that if the power
down mode is activated while in external program
memory, the port data that is held in the Special Function
Register P2 is restored to Port 2. If the port switches from
o to 1, the port pin is held high during the power down
mode by the strong pull up, TI, shown in figure 4.

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

Table 1. Status of the external pins during idle and power down modes.
MODE

PROGRAM MEMORY

ALE

PSEN

PORTO

PORT!

PORT2

PO.RT~

IdIe

Internal

I

I

Port Data

Port Data

Port Data

Port Data
Port Dala

IdIe

External

I

I

Floating

Port Data

Address

Power Down

Internal

0

0

Port Data

Port Data

Port Data

Port Data

Power Down

External

0

0

Floating

Port Data

Port Data

Port Data

Figure 4. I/O Buffers in the 83C154 (Ports 1, 2, 3).
vee vee

FLOAT

Q

vee

--t:====.J

FROM

iii~~

C>--t--:ft------1IL

FLOAT
FLOAT

-----.J.,.,;>--;;i'uT:;::::;::=:::/

Stop Clock Mode
Due to static design, the TEMIC 83C154 clock speed can
be reduced until 0 MHz without any data loss in memory
or registers. This mode allows step by step utilization, and
permits to reduce system power consumption by bringing
the clock frequency down to any value. At 0 MHz, the
power consumption is the same as in the Power Down
Mode.

I/O Ports
The I/O drives for PI, P2, P3 of the 83CI54 are
impedance programmable. The 110 buffers for Ports I, 2
and 3 are implemented as shown injigure 4.
When the port latch contains 0, all pFETS in figure 4 are
off while the nFET is turned on. When the port latch
makes a O-to-I transition, the nFET turns off. The strong
pullup pFET, TJ, turns on for two oscillator periods,
pulling the output high very rapidly. As the output line is
drawn high, pFET T3 turns on through the inverter to
supply the 10H source current. This inverter and T3 form
a latch which holds the I and is supported by T2. When
Port 2 is used as an address port, for access to external
program of data memory, any address bit that contains a
I will have his strong pull up turned on for the entire
duration of the external memory access.
When an I/O pin on Ports 1,2, or 3 is used as an input, the
user should be aware that the external circuit must sink
current during the logical I-to-O transition. The

MATRAMHS
Rev.F (14 Jan. 97)

maximum sink current is specified as ITL under the D.C.
Specifications.
When
the
input
goes
below
approximately 2 V, T3 turns off to save ICC current. Note,
when returning to a logical I, T2 is the only internal
pull up that is on. This will result in a slow rise time if the
user's circuit does not force the input line high.
The input impedance of Port I, 2, 2 are programmable
through the register IOCON. The ALF bit (IOCONO) set
all of the Port I, 2, 3 floating when a Power Down mode
occurs. The PIHZ, P2HZ, P3HZ bits (lOCONI,
IOCON2, IOCON3) set respectively the Ports PI, P2, P3
in floating state. The IZC (lOCON4) allows to choose
input impedance of all ports (PI, P2, P3). When IZC = 0,
T2 and T3 pull up of I/O ports are active; the internal input
impedance is approximately 10K. When IZC = I only T2
pull-up is active. The T3 pull-up is turned off by IZC. The
internal impedance is approximately 100 K.

Oscillator Characteristics
XTALI and XTAL2 are the input and output respectively,
of an inverting amplifier which is configured for use as an
on-chip oscillator, as shown in figure 5. Either a quartz
crystal or ceramic resonator may be used.
Figure 5. Crystal Oscillator.
XTAL2: 18
XTAL1 : 19

r-------------~VSS:20

To drive the device from an external clock source,
XTALl should be driven while XTAL2 is left
unconnected as shown in figure 6. There are no
requirements on the duty cycle of the external clock
signal, since the input to the internal clocking circuitry is
through a divide-by-two flip-flop, but minimum and
maximum high and low times specified on the Data Sheet
must be observed.

II.S.7

B

TEMIC

80C154/83C154

Semiconductors

Figure 6. External Drive Configuration.
NC

XTAL2: 18

EXTERNAL
OSCILLATOR----lXTAL1: 19
SIGNAL

.------lVSS: 20

Hardware Description
Same as for the 80CSI, plus a third timer/counter:

TimerlEvent Counter 2
Timer 2 is a 16 bit timer/counter like Timers 0 and I, it
can operate either as a timer or as an event counter, This
is selected by bit C/T2 in the Special Function Register
T2CON (Figure I), It has three operating modes :
"capture", "autoload" and "baud rate generator", which
are selected by bits in T2CON as shown in Table 2.

EXEN2 = 0, then when Timer 2 rolls over it does not only
set TF2 but also causes the Timer 2 register to be reloaded
with the 16 bit value in registers RCAP2L and RCAP2H,
which are preset by software. If EXEN2 = I, then Timer
2 still does the above, but with the added feature that a
I-to-O transition at external input T2EX will also trigger
the 16 bit reload and set EXF2.
The auto-reload mode is illustrated in Figure 8.
Figure 7. Timer 2 in Capture Mode.

Table 2.Timer 2 Operating Modes.

RCLK+
TC:LK
0
0
1
X

..

CPIRLZ

TR2
.

()

I
1
I
0

1
X
X

MODE
16 bit auto-reload
16 bit capture
baud rate generator
(off)

: CONTROL

In the capture mode there are two options which are
selected by bit EXEN2 in T2CON; If EXEN2 = 0, then
Timer 2 is a 16 bit timer or counter which upon
overflowing sets bit TF2, the Timer 2 overflow bit, which
can be used to generate an interrupt. If EXEN2 = I, then
Timer 2 still does the above, but with the added feature
that a I-to-O transition at external input T2EX causes the
current value in the Timer 2 registers, TL2 and TH2, to
be captured into registers RCAP2L and RCAP2H,
respectively. In addition, the transition at T2EX causes bit
EXF2 in T2CON to be set, and EXF2, like TF2, can
generate an interrupt.

EXEN2

Figure 8. Timer 2 in Auto-Reload Mode.

The capture mode is illustrated in Figure 7.
In the auto-reload mode there are again two options,
which are selected by bit EXEN2 in T2CON.If

II.S.S

EXEN2

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

(LSB)

(MSB)

TF2

EXF2

RCLK

TCLK

EXEN2

crf2

TR2

CPIRL2

The baud rate generator mode is selected by : RCLK = I and/or TCLK = I.
Name and Significance

Symbol

Position

TF2

T2CON.7

Timer 2 overflow flag set by a Timer 2 overflow and must be dearcd by software. TF2
will not be set when either RCLK = I OR TCLK = I.

EXF2

T2CON.6

Timer 2 external nag set when either a capture or reload is caused by a negative
transition on T2EX and EXEN2 = I. When Timer 2 interrupt is enabled. EXF2 = I will
cause the CPU to vector to the Timer 2 interrupt routine. EXF2 must be cleared by
soflware.

RCLK

T2CON.5

Receive clock nag. When set, causes the serial port to usc Timer2 overflow pulses for its
receive clock in modes I and J. RCLK :::: 0 causes Timer 1 overflow to he used for the
receive clock.

TCLK

T2CON.4

Transmit clock nag. When set, causes the serial port to usc Timer 2 overflow pulses for
its transmit clm:k in modes I and 3. TCLK::: 0 causes Timer I overilows to be used for
the transmit dock.

EXEN2

T2CON.3

Timer 2 external enable flag. When set allows capture or reload to occur as a resull of a
negative transition on T2EX if Timer 2 is not being used to clock the serial port.
EXEN2 ::: 0 causes Timer 2 to ignore events at T2EX.

TR2

T2CON.2

Start/stop control for Timer 2. A logic I starts the timer.

crT2

T2CON.I

Timer or counter select. (Timer 2) a = Internal timer (OSC!l2)
I ::: External event counter (falling edge triggered).

CP/RL2

T2CON.O

Capture/Reload tlag. When set, captures will occur on negative transitions at T2EX if
EXEN 2 = I. When cleared, auto reloads will occur either with Timer 2 overflows or
negative transition at T2EX when EXEN2 = I. When either RCLK = I or TCLK = I. this
bit is ignored and the timer is forced to auto-reload on Timer 2 ovcrllow.

Timer Functions
In fact. timer 0 & I can be connected by a software
instruction to implement a 32 bit timer function. Timer 0
(mode 3) or timer I (mode 0, I, 2) or a 32 bit timer
consisting of timer 0 + timer I can be employed in the
watchdog mode, in which case a CPU reset is generated
upon a TF I flag.
The internal pull-up resistances at ports 1-3 can be set to
a ten times increased value simply by software.

32 Bit Mode and Watching Mode

Figure 9.
Watchdogtimer
RESET

i:~~~ ~g8~g)1~~IT
32-BIT TIMER MODE

BIT7,WDT

32 bit timer [IOCON bit 6 (T32)

=1]

The 83C 154 has two supplementary modes. They are
accessed by bits WDT and T32 of register IOCON. Figure
10 showns how laCON must be programmed in order to
have access to these functions

MATRAMHS
Rev.F (14 Jan. 97)

II.5.9

B

TEMIC

80C154/83C154

Semiconductors

(MSB)

(LSB)

WDT

132

SERR

IZC

P3HZ

P2HZ

PIHZ

ALF

Symbol

Position

132

IOCON.6

-

If 132 ~ I and if ciro ~ 0, T I and TO are programmed as a 32 bit TIMER.
If T32 ~ I and if ciro ~ I, TI and TO arc programmed as a 32 bit COUNTER.

WDT

IOCON.7

-

If WDT ~ I and according to the mode selected by TMOD, an 8 bit or 32 bit
WATCHDOG is configured from TIMERS 0 and 1.

Name and Significance

32 Bit Mode
•

T32 = I enables access to this mode. As shown in
figure II, this 32 bit mode consists in cascading
TIMER 0 for the LSBs and TIMER I for the MSBs

Figure 10.32 Bit Timer/counter.

T32

= I starts the timer/counter and T32 =0 stops it.

It should be noted that as soon as T32 =O. TIMERs 0 and
I assume the configuration specified by register TMOD.

Moreover, if TRO

=I

or if TR I

TIMERs evolves. Consequently, in 32 bit mode, if the
TIMER/COUNTER muste be stopped (T32 = 0), TRO
and TR I must be set to O.

= !, the content of the

32 Bit Timer
•

Figure 12 illustrates the 32 bit TIMER mode.

Figure 11. 32 Bit Timer Configuration.

lose 11----11 121 ---~_T_IM_E_R_0___L_T_IM_E_R_1__'H
+

•

I-

In this mode, T32 = I and CfTO =0, the 32 bit timer
is incremented on each S3P I state of each machine
cycle. An overflow of TIMER 0 (TFO has not been set
to !) increments TIMER ! and the overflow of the
32 bit TIMER is signalled by setting TF! (SSP!) to 1.

11.5.10

•

TF1

I

The following formula should be used to calculate the
required frequency:
f =

OSC
12 x (6s536-(TO, Tl))

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

32 Bit Counter
Figure 13 illustrates the 32 bit COUNTER mode.
Figure 12. 32 Bit Counter Configuration.

I

f EXT
•

TIMER 0

TO

In this mode, T32 = 0 and CfTO = I. Before it can
make an increment, the 83C 154~ must detect two
transitions on its TO input. As shown in figure 14,

TIMER I

TF1

input TO is sampled on each S5P2 state of every
machine cycle or, in other words, every OSC -<- 12.

II

Figure 13. Counter Incrementation Condition.
-TO PIN

READING OF INPUT TO

Ci-1

t

t

Ci
S5P2 ......... S5P2

Ci+n

t

S5P2

r

COUNTER INCREMENTATION

S3P1

•

•

The counter will only evolve if a level I is detected
during state S5P2 of cycle Ci and if a level 0 is
detected during state S5P2 of cycle Ci + n.
Consequently, the minimal period of signal fEXT
admissible by the counter must be greater than or
equal to two machine cycles. The following formula
should be used to calculate the operating frequency.
f

Figure 14. The Different Watchdog Configurations.
TIMERO

Mode3

8 bits

TIMER1

MODE 0,1,2

13-16 bits

TIMERO,1

MODE 32bits 32 bits

fEXT
65536-(TO, T1)

=

fEXT < OSC
24

WDT

Watchdog Mode
•

WDT = I enables access to this mode. As shown in
figure 15, all the modes of TIMERS 0 and I, of which
the overflows act on TFI (TFI = I), activate the
WATCHDOG Mode.

MATRAMHS
Rev.F (14 Jan. 97)

RESET - - - - - - ,

II.S.11

TEMIC

80C154/83C154
•

•

Semiconductors

If clf = 0, the WATCHDOG is a TIMER that is
incremented every machine cycle, If CIT = I, the
WATCHDOG is a counter that is incremented by an
external signal of which the frequency cannot exceed
OSC+ 24.
The overflow of the TIMER/COUNTER is signalled
by raising flag TFI to 1. The reset of the 83CI54 is
executed during the next machine cycle and lasts for
the next 5 machine cycles. The results of this reset are
identical to those of a hardware reset. The internal
RAM is not affected and the special register assume
the values shown in Table 3.

Table 3. Content of the SFRS after a reset triggered
by the watchdog.
REGISTER
PC
ACC
B
PSW
SP
DPTR
PO·P3
IP
IE
TMOD
TCON
T2CON
THO
TLO
THI
TLI
TH2
TL2
RCAP2H
RCAP2L
SCON
SBUF
IOCON
PCON

11.5.12

•

External Counting in Power-down Mode
(PD =PCON.l =1)
•

CONTENT
OOOH
OOH
OOH
OOH
07H

OOOOH
OFFH
OXOOOOOOB
OXOOOOOOB
OOH
OOH
OOH
OOH
DOH
OOH
OOH
OOH
OOH
OOH
OOH
OOH
Indelerminale
OOH
OOOXOOOOB

As there are no precautions for protecting bit WDT
from spurious writing in the IOCON register, special
care must be taken when writing the program. In
particular, the user should use the IOCON register bit
handling instructions:
- SETB and CLR x
in preference to the byte handling instructions:
- MOV IOCON, # XXH, ORL IOCON, #XXH,
- ANL IOCON, #XXH

•

In the power-down mode, the oscillator is turned off
and the 83C154's activity is frozen. However, if an
external clock is connected to one of the two inputs,
TlITO, TIMER/COUNTERS 0 and I can continue to
operate.
In this case, counting becomes asychronous and the
maximum, admissible frequency of the signal is
OSC: 24.
The overflow of either counter TFO or TFI causes an
interrupt to be serviced or forces a reset if the counter
is in the WATCHDOG MODE (T32 = ICON.7 = I).

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC
Semiconductors

80C154/83C154

83C154 with Secret ROM

83C154 with Secret TAG

TEMIC offers 83C 154 with the encrypted secret ROM
option to secure the ROM code contained in the R3C154
microcontrollers.

TEMIC offers special 64-bit identifier called "SECRET
TAG" on the microcontroller chip.

The clear reading of the program contained in the ROM
is made impossible due to an encryption through several
random keys implemented during the manufacturing
process.
The keys used to do such encryption are selected
randomwise and are definitely different from one
microcontroller to another.
This encryption is activated during the following phases:
- Every time a byte is addressed during a verify of the
ROM content, a byte of the encryption array is
selected.
- MOVC instructions executed from external program
memory are disabled when fetching code bytes from
internal memory.
- EA is sampled and latched on reset, thus all state
modification are disabled.

The Secret Tag option is available on both ROMless and
masked microcontrollers.
The Secret Tag feature allows serialization of each
microcontroller for identification of a specific
equipment. A unique number per device is implemented
in the chip during manufacturing process. The serial
number is a 64-bit binary value which is contained and
addressable in the Special Function Registers (SFR) area.
This Secret Tag option can be read-out by a software
routine and thus enables the user to do an individual
identity check per device. This routine is implemented
inside the microcontroller ROM memory in case of
masked version which can be kept secret (and then the
value of the Secret Tag also) by using a ROM Encryption.
For further information, please refer to the application
note (ANM03I) available upon request.

For further information please refer to the application
note (ANM053) available upon request.

MATRAMHS
Rev.F (14 Jan. 97)

11.5.13

TEMIC

80C154/83C154

Semiconductors

Electrical Characteristics
Absolute Maximum Ratings*

* Notice

Ambiant Temperature Under Bias:
C = commercial

Stresses at or above those listed under" Absolute Maximum RatinKS"
/1/(/.\' couse permanent damage to the device. This is II stress rating 011(1,.'
and functional operation (4 the device at these or (lny other conditions
above those indicated in the operatimwl sections (~lth;s specUication is
not implied. Exposure to absolute maximum rating condiliolls may affect
device reliability.

O°C to +70"C
I :::: industrial ..
-40°C to +85"C
Storage Temperature
.. -65"C to + 150'C
Voltage on VCC to VSS .
. . -0.5 V to + 7 V
....... -0.5 V to VCC + 0.5 V
Voltage on Any Pin to VSS
Power Dissipation
I W*'"
This value is hased on the maximum allowable die temperature and
the thermal resistance of the package

DC Parameters
TA = ooe to 70 oe; Vee = 0 V; Vee = 5 V ± 10 % ; F = 0 to 36 MHz
TA = -40 o e + 85°e; Vee = 0 V; Vee = 5 V ± 10 % ; F = 0 to 36 MHz
SYMBOL

PARAMETER

VIL

Input Low Voltage

VIH

Input High Voltage (Except XTAL and RST)

VIHI

Input High Voltage (for XTAL and RST)

VOL

Output Low Voltage (Port I, 2 and 3)

VOLI

VOH

MIN

MAX

UNIl'

-0.5

O.2Vce-O.1

V

0.2 Vee + 1.4

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

0.3
0.45
1.0

V
V
V

IOL
IOL

0.3
0.45
1.0

V
V
V

IOL
IOL
IOL

Vee-0.3

V

[OH~-IOIlA

Vee - 0.7

V

IOH

Vee - 1.5

V

IOH~-60flA

Vee - 0.3

V

IOH

~-200

flA

Vee - 0.7

V

IOH

~-3.2

rnA

Vee - 1.5

V

IOH~-7.0rnA

Output Low Voltage (Port 0, ALE, PSEN)

Output High Voltage Port 1,2 and 3

TEST CONDITIONS

IOL~
~
~

~
~
~

1(J0IlA
1.6 rnA (note 2)
3.5 rnA
200 ~A
3.2 rnA (note 2)
7.0 rnA

~~

30 flA

VCC~5

VOHI

Output High Voltage (Port 0, ALE, PSEN)

VCC~5

ilL

Logical 0 Input Current (Ports 1,2 and 3)

-50

flA

Yin

~

V± 10 %

V± 10 %

0.45 V

III

Input leakage Current

+/-10

flA

0.45 < Yin < Vce

ITL

Logical I to 0 Transition Current
(Ports I, 2 and 3)

- 650

~A

Yin

~

2.0 V

IPD

Power Down Current

Vee

~

2.0 V to 5.5 V (note 1)

RRST

RST Pulldown Resistor

CIO

Capacitance of I/O Buffer

ICC

Power Supply Current
Freg ~ I MHz lee op
Icc idle
Freg ~ 6 MHz Icc op
Icc idle
Freg;' 12 MHz kc op ~ 1.3 Frcg (MHz) + 4.5 rnA
Icc idle ~ 0.36 Prcq (MHz) + 2.7 rnA

11.5.14

50

50

~A

200

KOhrn

10

pF

fe

~

I MHz, Ta

Vee~5.5

1.8
I
10
4

~

25'C

V

rnA
rnA
rnA
rnA

MATRAMHS
Rcv.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

Absolute Maximum Ratings*

* Notice

Ambient Temperature Under Bias:

Stresses (tl Of ahove those fisted ullder " Abso/llfe Maximum RalinRs"
lIIay cause perm({nent dlllllllge /0 the device. This is {/ stress ratin;: only
wullunctiOlw{ opemtiol7 (~r the device (/1 these or lIny other conditions
above thost! indicated ill rhe ol'uatiol1al se£'fions of'this S[u!cUfcatiol1 is
l10t implied. Exposure to absolute maximum mting cOlldiriol1.\' may (!ffec/
device relia/JWly.

A = Automotive
Storage Temperature

-40°C to +125°C

.... -65"e to + 150'e

Voltage on vee to VSS .

. ........ -0.5 V to + 7 V

Voltage on Any Pin to VSS

. . -0.5 V to vee + 0.5 V

Power Dissipation

IW

This value is based on the maximum allowable die temperature and
the thermal resistance of the pm:kage

DC Parameters
TA
;2.,

=-40°C + 12SoC ; V ss =0 V ; Vee =S V ± 10 % ; F =0 to 36 MHz
....
;;.;
.• <
PkR.AMETEit
MIN
...

.:·07

VIL

Input Low Voltage

VIH

Input High Voltage (Except XTAL and RST)

VIHI

Input High Voltage (for XTAL and RST)

VOL

Output Low Voltage (Port 1,2 and 3)

VOLI

VOH

TEST CONDITIONS

UNIT

-0.5

0.2 Vee-D.I

V

0.2 Vee + 1.4

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

0.3
0.45
1.0

V

D.3
0.45
1.0

V

Output Low Voltage (Port 0, ALE, PSEN)

Output High Voltage Port I, 2 and 3

I
MAX

IOL~

IOL
IOL

~

~

IDOIlA
1.6 mA (note 2)
3.5 mA

IOL~200

IOL

~

IlA
3.2 mA (note 2)

IOL~7.0mA

Vee - 0.3

V

IOH

~-10

IlA

Vee - 0.7

V

IOH

~-30

IlA

Vee - 1.5

V

IOH

~-60

IlA

Vee~5V±IO%

VOHI

Output High Voltage (Port 0, ALE, PSEN)

Vee - n.3

V

IOH

Vee - 0.7

V

IOH~-3.2mA

Vee - 1.5

V

IOH~-7.0mA

~-

200 IlA

Vee~5V±IO(!C

ilL

Logical 0 Input Current (Ports 1,2 and 3)

- 50

Il A

Yin

---

ILl

Input leakage Current

ITL

Logical I to 0 Transition Current
(Ports I. 2 and 3)

IPD

Power Down Current

RRST

RST Pulldown Resistor

eIO

Capacitance or 110 BulTer

ICC

Power Supply Current
Freg ~ I MHz Icc op
Icc idle
Freg ~ 6 MHz Icc op
Icc idle
Freg" 12 MHz Icc op ~ 1.3 Freq (MHz) + 4.5 mA
Icc idle ~ 0.36 Freq (MHz) + 2.7 mA

MATRAMHS
Rev.F (14 Jan. 97)

50

~

0.45 V

±IO

Il A

0.45 < Yin < Vee

-750

Il A

Yin

~

2.0 V

75

Il A

Vee

~

2.0 V to 5.5 V (note I)

200

KOhm

10

pF

1.8
I
10
4

mA
mA
mA
mA

fe

~

Vee

I MHz. Ta ~ 25°C
~

5.5 V

II.S.IS

TEMIC

80C154/83C154

Semiconductors

* Notice

Absolute Maximum Ratings*

Stresses at or ahove those listed under" Absolute Maximum Ratinfts"
may cause permanent damage to the device. This is (/ stress ratil1R only
andfuncti01w/ operation (~(the device (It these or allY other conditions
above those indicated in the operational sections qtthis spec{fication is
not implied. Exposure to absolute maximum raring conditions may affect
device reliability.

Ambient Temperature Under Bias:
-55"C to + 125"C

M = Military.
Storage Temperature

.. -65"C to + 150'C

Voltage on VCC to VSS .

. ... -0.5 V to + 7 V
.... -0.5 V to VCC + 0.5 V

Voltage on Any Pin to VSS
Power Dissipation

IW

** This value is based on the

maximum allowable die temperature and
the thermal resistance of the package

DC Parameters
TA =-55°C + 125°C; Vss = 0 V; Vee

SYMBOL

....•...

.....
....•.

=5 V ± 10 % ; F =0 to 36 MHz

.•.•.. PA~ME'I'Elt

.•••.••• • . J

VIL

Input Low Voltage

VIH

Input High Voltage (Except XTAL and RST)

VIHI

Inpu! High Voltage (for XTAL and RST)

MIN

I·····.·M~.

-0.5

0.2 Vee -0.1

V

0.2 Vee + 1.4

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

I.···

r.~~l'l'

l'Jl:S'I' COl\fQITIOl\fB

VOL

Output Low Voltage (Port 1,2 and 3)

0.45

V

IOL = 1.6 rnA (note 2)

VOLI

Output Low Voltage (P0I1 0, ALE, PSEN)

0.45

V

10L = 3.2 rnA (note 2)

VOH

Output High Voltage (Port 1,2,3)

2.4

V

10H =-60 ~A
Vee=5V± 10%

0.75 Vee

V

10H =-25

0.9 Vee

V

10H

2.4

V

IOH = -400 JJA
Vee=5V±10%

0.75 Vee

V

IOH=-150JJA

0.9 Vee

V

IOH=-40~A

VOHI

Output High Voltage
(Port 0 in External Bus Mode, ALE, PEN)

IlL

Logical 0 Input Current (Ports I, 2 and 3)

III

Input leakage Current

ITL

Logical I to 0 Transition Current
(Ports 1,2 and 3)

IPD

Power Down Current

RRST

RST Pulldown Resistor

CIO

Capacitance of 1/0 Buffer

ICC

Power Supply Current
Freg = I MHz lee op
lee idle
Freg = 6 MHz Icc op
lee idle
Freq<: 12 MHz Icc op = 1.3 Freq (MHz) + 4.5 rnA
lee idle = 0.36 Freq (MHz) + 2.7 rnA

11,5,16

50

~A

=-IO~A

-75

!lA

Yin = 0.45 V

±IO

!lA

0.45 < Yin < Vee

-750

JJA

Yin = 2.0 V

75

!lA

Vee = 2.0 V to 5.5 V (note I)

200

KOh
rn

10

pF

1.8
I
10
4

rnA
mA
rnA
rnA

fc = I MHz, Ta = 25'C
Vee=5.5V

MATRAMHS
Rev,F (14 Jan, 97)

TEMIC

80C154/83C154

Semiconductors

Absolute Maximum Ratings*

* Notice

Ambient Temperature Under Bias:

Stresses (//

I ::::: Industrial ..

.. -65°C

Voltage

vce to VSS .

00

to

U/JOI'('

+ 15()()C

-O.S V to

d(//JI(/ge !o IIie tier/ce. This is ({ stress ruting only

cilidjilllclio/iili oj/cmlio/l 0/ rhe c/cl'ice

-411'C to X5'C

Storage Temperature

({/Jore those listed ulltier " A!Jso{l/le Maximum RUlings"

Of

III({Y C{I/(se 1)('1"11/(111011

II"C to +70"C

C::::: Commercial.

1101

lhose illd;c({!cti ill Ihl'

(If

these or (lilY olher condilions

ofJcmlioll(// sec/iulls (~{'!his

spccijj('ulim/

is

il/fjJlicd. I ..".\"j}()SII/"(' to (//J.I'o/we III11Xillllfl1l mfillg (,(Jllt/iliolls moy (!!I(-'C{

device rdi(//)i!ily.

+7V

-U.S V to vce + U.S V

Voltage on Any Pill to VSS

IW

Power Dissipation

This value is hascd on the maximum allowahlc die tCTlIpcratun.: and

the thermal resistance

or the package

II

DC Parameters
TA = ooe to 70°C; Vee = 2.7 V to 5.5 V ; Vss
TA =-40 o e to 85°C; Vee = 2.7 V to 5.5 V
SYMBOL

= 0 V ; F = 0 to

PARAMETER

VIL

Input Low Voltage

VIH

Inpul High Vohage (Except XTAL and RST)

16 MHz

MIN

MAX

UNIT

-0.5

0.2 vce - 0.1

V

0.2 vee
+ 1.4 V

vee + 0.5

V

TEST CONDITIONS

VIHl

Input High Voltage to XTALI

0.7 vee

vee + 0.5

V

VIH2

Input High Voltage to RST for Reset

0.7 vee

vee +0.5

V

VPD

Power Down Voltage to Vcc in PD Mode

2.0

6.0

V

VOL

Output Low Voltage (Pnrts 1,2,3)

0.45

V

IOL = 0.8 mA (note 2)

VOLI

Output Low Voltage Port O. ALE, PSEN

V

IOL = 1.6 mA (note 2)

VOH

Output High Voltage Ports I, 2, 3

0.9 Vee

V

IOH=-IO~A

VOHI

Output High Voltage (Port 0 in External Bus
Mode). ALE. PSEN

0.9 Vee

V

IOH = -40

-50

~A

Yin = 0.45 V

0.45

~A

IlL

Logical 0 Input Current Ports 1, 2. 3

ILl

Input Leakage Current

±IO

~A

0.45 < Yin < vee

ITL

Logical I to 0 Transition Current
(Ports 1,2,3)

-650

~A

Yin = 2.0 V
vee = 2 V to 5.5 V (note I)

IPD

Power Down Current

RRST

50

RST Pulldown Resistor
Capacitance of 110 Buffer

CIO

50

~A

200

Hl

10

pF

fe = I MHz, TA = 25°e

Maximum Icc (rnA)

IF'>
••·•· · · • •· •· ·.•·. . .
FREQUENeY/Vee

..

OPEltAT1NG(NO'tEl)

'

••

.

. ..

IDLE(NO:fEi)

..

2.7 V

3V

3.3 V

5.5 V

2.7 V

3V

3.3 V

lMHz

0.8 mA

I mA

1.1 mA

1.8mA

400~A

500~A

600 ~A

I mA

6 MHz

4mA

SmA

6mA

IOmA

1.5mA

J.7 rnA

2mA

4mA

12MHz

8mA

10mA

12mA

2.5 rnA

3 rnA

3.5mA

16MHz

lOrnA

12 rnA

14 rnA

3 rnA

3.8 rnA

4.5mA

Freq> 12 MHz (Vee = 5.5 V)

MATRAMHS
Rev.F (14 Jan, 97)

5.5 V

Icc (rnA) = 1.3 x Freq (MHz) + 4.5
Icc Idle (rnA) = 0.36 x Froq (MHz) + 2.7

11.5,17

TEMIC

80C154/83C154

Semiconductors

Notel: ICC is measured with all output pins
disconnected;
XTALI
driven
with
TCLCH,
TCHCL = 5 ns, VIL = VSS + .5 V, VIH = VCC -.5 V ;
XTAL2 N.C. ; EA = RST = Port 0 = VCe. ICC would be
slighty higher if a crystal oscillator used.

Figure 15. ICC Test Condition, Idle Mode.
All other pins are disconnected.

Idle ICC is measured with all otput pins disconnected;
XTALI driven with TCLCH, TCHCL = 5 ns, VIL =
VSS + 5 V, VIH = VCC -.5 V ; XTAL2 N.C ; Port
o =VCC; EA= RST= VSS.
Power Down ICC is measured with all output pins
disconnected; EA = PORT 0 = VCC ; XTAL2 N.e. ;
RST=VSS.
Note 2 : Capacitance loading on Ports 0 and 2 may cause
spurious noise pulses to be superimposed on the VOLS of
ALE and Ports I and 3. The noise is due to external bus
capacitance discharging into the Port 0 and Port 2 pins
when these pins make 1 to 0 transitions during bus
operations. In the worst cases (capacitive loading 100
pF), the noise pulse on the ALE line may exceed 0.45 V
may exceed 0,45 V with maxi VOL peak 0.6 V A Schmitt
Trigger use is not necessary.

RST
(NC)
CLOCK
SIGNAL

EA

XTAL2
XTAL1
VSS

Figure 16. ICC Test Condition, Active Mode.
All other pins are disconnected.

VCC

RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

Figure 17. ICC Test Condition, Power Down Mode.
All other pins are disconnected.

RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

Figure 18. Clock Signal Waveform for ICC Tests in Active and Idle Modes. TCLCH = TCHCL = 5 ns.

TCHCL
ioot------TCLCL.-------.!

II.5.18

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

Explanation of the AC Symbol
Example:

Each timing symbol has 5 characters. The first character
is always a "Tn (stands for time). The other characters,
depending on their positions, stand for the name of a
signal or the logical status of that signal. The following
is a list of all the characters and what they stand for.

TAVLL = Time for Address Valid to ALE low.
TLLPL =Time for ALE low to PSEN low.
Q : Output data.

A: Address.
C: Clock.
D : Input data.
H : Logic level HIGH
[ : Instruction (program memory contents).
L : Logic level LOW, or ALE.
P: PSEN.

R : READ signal.
T:Time.
V: Valid.
W : WRITE signal.
X : No longer a valid logic level.
Z: Float.

E

AC Parameters
TA =0 to + 70°C; Vss =0 V ; Vcc = 5 V ± 10 % ; F = 0 to 36 MHz
TA=-55° + 125°C; Vss = 0 V; 2.7 V < Vce < 5.5 V; F= 0 to 16 MHz
TA = _55 0 + 125°C; Vss = 0 V ; Vec = 5 V ± 10 % ; F = 0 to 36 MHz
(Load Capacitance for PORT n, ALE and PSEN

= 100 pF ; Load Capacitance for all other outputs =80 pF)

External Program Memory Characteristics

'.

'"

.....

16MHt

SYMBOL

PARAMETER

20 MHz

25 MHz

30 MHz

36 MHz

MIN MAX MIN MAX MIN MAX MIN MAX MIN MAX

TLHLL

ALE Pulse Width

110

90

70

60

TAVLL

Address valid to ALE

40

30

20

15

10

TLLAX

Address Hold After ALE

35

35

35

35

35

TLLlV

ALE to valid instr in

TLLPL

ALE to PSEN

45

TPLPH

PSEN pulse Width

165

TPLIV

PSEN to valid instr in

TPXIX

Input instr Hold After PSEN

TPXIZ

Input instr Float After PSEN

TPXAV

PSEN to Address Valid

TAVIV

Address to Valid instf in

TPLAZ

PSEN low to Address Float

185

170
40

0

0

35
40

50

75
65

0

0
45

50
55

85

80
20

80

100
110

100
25

30

130
125

130

50

50
0

30
35

25
30

230

210

170

130

90

10

10

8

(,

5

External Program Memory Read Cycle

ALE

ADDRESSAB-A15
PORT 2 _ _ _ _/

MATRAMHS
Rev.F (14 Jan. 97)

II.5.19

TEMIC

80C154/83C154

Semiconductors

External Data Memory Characteristics
.

.......... .....

....

. SYMBOL

•••••••

·.·• · •.•·•••.•.·PA

........

......... 16MIJi

...
..•..........

n

20 MHz.
MIN MAX MIN MAX

;30Mflz ..... .• j~l\l!lz.
MAX MIN MAx MIN MAX

25.MHZ

MINi

TRLRH

RD pulse Width

340

270

210

180

120

TWLWH

WR pulse Width

340

270

210

180

120

TLLAX

Address Hold After ALE

85

85

70

55

TRLDV

RD to Valid in

TRHDX

Data hold after RD

TRHDZ

Data float after RD

90

90

80

70

50

TLLDV

ALE (0 Valid Data In

435

370

350

235

170

TAVDV

Address to Valid Data IN

TLLWL

ALE

(0

240

a

0

150

250

400
135

170

0

0

300
120

110

135

0

480

WR or RD

35

175

210

260

130

90

190

115

70

TAVWL

Address to WR or RD

180

180

140

115

TQVWX

Data valid to WR transition

35

35

30

20

15

TQVWH

Data Setup to WR transition

380

325

250

215

170

TWHQX

Data Hold after WR

40

TRLAZ

RD low to Address Float

TWHLH

RD or WR high to ALE high

35

30

0
35

0

90

35

75

20

15

0

60

25

0

45

100

20

0

40

20

40

External Data Memory Write Cycle
I

TWHLH

~

"-

ALE

_TLLWL---.!.

PORTO

PORT 2

>---<
ADDRESS
ORSFR·P2

.TLLAX~

AO-A?

')(

TWLWH

"h-I

1+--- TAVWL

I><
I

TOVWX

/

TOVWH

~TWHOX.I

t

DATA OUT

ADDRESSA8-A15 OR SFR·P2

External Data Memory Read Cycle
4_------- TLLDV ----------'J..~I

.,_------.... 1-..

TWHLH :.

ALE

PSEN
RD

.yr::::---

---------------r----------~ 14~------+TRLRH--------__
TRHDX

PORTO

DATA IN
TRLAZ

PORT 21

II.5.20

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

Serial Port Timing - Shift Register Mode
16MHz
PARAMETER

SYMBOL

MIN

20 MHz

25 MHz

MAX MIN MAX MIN

30 MHz

MAX MIN

36 MHz

MAX MIN MAX

TXLXL

Serial Port CloL'k Cycle Time

7S0

600

4RO

40()

330

TQVXH

Output Data Setup to Clock Rising

563

480

380

}()(j

220

Edge

TXHQX

Output Data Hold after Clock Rising
Edge

63

90

65

50

45

TXHDX

Inrut Data Hold after Clock Rising
Edge

0

()

0

0

0

TXHDV

Clock Rising Edge to Input Data Valid

}OO

}50

450

563

250

Shift Register Timing Waveforms
INSTRUCTION

o

2

3

4

5

6

7

8

CLOCK

OUTPUT DATA

~O

WRITE
SBUF
TXHDV!--I
INPUT DATA""---""

...
CLEAR RI

MATRAMHS
Rev.F (14 Jan. 97)

1

...
SETIN

TXHDX

...

SET IN

11.5.21

II

TEMIC

80C154/83C154

Semiconductors

External Clock Drive Characteristics (XTALl)

Ip,<§y-,n" •.. . . .•. ••.•.•.•.•.

PA.IlAME1'#.··<·.[···········.········'·lVl~~ii

.· ·. ·f·······•··•.·.•.•·.l\tJAX·> •••••••·•· ·•·• · .· ·......••.••...•.•.... UNIT

FCLCL

Oscillator Frequency

TCLCL

Oscillator period

TCHCX

High Time

ns

TCLCX

Low Time

ns

TCLCH

Rise Time

TCHCL

Fall Time

•.. ••'•. ,

MHz

36
27.8

ns

5

ns
ns

External Clock Drive Waveforms

TCHCL
~------------TCLCL--------------~

=x:

AC Testing Input/Output Waveforms
INPUT/OUTPUT
Vcc -O,5V

0,45 V

0,2 Vcc + 0,9

)C

_..;0;;.;,2;;..V.;.:c;;;;c;..-.....;.;0,:.;.1_ _ _ __

AC inputs during testing are driven at Vcc - 0.5 for a logic "I" and 0.45 V for a logic "0". Timing measurements are
made at VIH min for a logic" I" and VIL max for a logic "0".

Float Waveforms
FLOAT

. - - - - - - - - FLOAT - - - - - . . - I

VLOAD

VLOAD+ 0,1 V
VLOAD - 0,1 V

For timing purposes as port pin is no longer floating when a 100 m V change from load voltage occurs and begins to
float when a 100 mV change from the loaded VOHIVOL level occurs. Iol/IoH ~ ± 20 rnA.

II.5.22

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

80C154/83C154

Semiconductors

Clock Waveforms
STATE 4
INTERNAL
CLOCK

P1

I

I P2

STATE 51

STATE 6

P1 I P2

P1

I P2

I

STATE 1
P1

I

I P2

STATE 2

STATE 3

STATE 4
1

P1

I P21 P1

I P2

I

P1 I P2

STATE 5
P1 I P21

XTAL2

"

ALE
EXTERNAL PROGRAM MEMORY FETCH

I

L-

I

"'" THESE SIGNALS ARE NOT
ACTIVATED DURING THE
EXECUTION OF A MOVX INSTRUCTION

.-------,

PSEN
L -_ _~DATA

PO

SAMPLED
I
FLOAT ---.I

I_
P2(EXT)
READ CYCLE

_ _ _ _---'IINDICATES ADDRESS TRANSITIONSL..I_ _ _ _ _ _ _ _ _ _---'

RD
DOH IS EMITTED
DURING THIS PERIOD
PO

PCL OUT (IF PROGRAM
MEMORY IS EXTERNAL)

_ _ _ _~-D-P-L-O-R-~-'I~I_.-----------~~
I
OUT
FLOAT SAMPLE"=D:-------....J1

U.I..

r

~

..

INDICATES DPH OR P2 SFR TO PCH TRANSITION

P2
WRITE CYCLE
WR

I PCLOUT (EVEN IF PROGRAM
MEMORY IS INTERNAL)

L -_ _ _ _ _ _ _ _ _ _--'

DP~S~ ~ I..

PO

DATA OUT

INDICATES DPH OR P2 SFR TO PCH TRANSITIONS

P2

"i'\i.1~CLOUT:h~OGRAM
I MEMORY IS EXTERNAL)

PORT OPERATION
MOV PORT SRC

_ _ _ _ _ _ _ _ _ _O_L_D_D_A_TA-II NEW DATA

M

MOVDESTpo
MOV DEST PORT-(P-1-P-2-.-P3-)-..J
(INCLUDES INTO. INH TO. T1)
SERIAL PORT SHIFT CLOCK
TXD
(MODE 0)

Ffl

APO PINS SAMPLED

I

PO PINS SAMPLED

~

FfL

P1L...-P-2.-P-3-P-IN-S-SA-M-PL-E-D----------------'I

--------~~
RXD SAMPLED

P1. P2 P3
PINS SAMPLED

ill

RXD SAMPLED

This diagram indicates when signals are clocked internally. The time it takes the signals to propagate to the pins,
however, ranges from 25 to 125 ns. This propagation delay is dependent on variables such as temperature and pin
loading. Propagation also varies from output to output and component. Typically though eTA =25°C fully loaded) RD
and WR propagation delays are approximately 50 ns. The other signals are typically 85 ns. Propagation delays are
incorporated in the AC specifications.

MATRAMHS
Rev.F (14 Jan. 97)

11.5.23

TEMIC

80C154/83C154

Semiconductors

Ordering Information
S

T

83Cl54C

xxx

-36

T

Temperature Range
blank : Commercial
I
: Industrial
A
: Automotive
M
: Military

Part Number
83CI54 Rom 16 K x 8
80CI54 External ROM
83C 154C Secret ROM version
83CI54T Secret Tag version

T
-12
-16
-20
-25
-30
-36
-Ll6

Package Type
P: POlL 40
S: PLCC 44
F I: PQFP 44 (Foot print 13.9 mm)
F2: PQFP 44 (Foot print 12.3 mm)
V: VQFP (1.4 mm)
T: TQFP (1.0 mm)
0: CDlL40
Q: CQFP44
R: LCC 44
Customer Rom Code

11.5.24

D

: 12 MHz version
: 16 MHz version
: 20 MHz version
: 25 MHz version
: 30 MHz version
: 36 MHz version
: Low Power
(Vee: 2.7-5.5 V
Freq: 0-16 MHz)

R : Tape and Reel
D: Dry Pack
Flow
/883: MIL 883 Compliant
P883: MIL 883 Compliant
with PIND test.

MATRAMHS
Rev.F (14 Jan. 97)

TEMIC

83C154D

Semiconductors

CMOS 0 to 30 MHz Single Chip 8-bit Microcontroller
Description
In addition, the 83C 154D has two software selectable

The TEMIC 83C 154D retains all the features of the
TEMIC 80C52 with extended ROM capacity (32 K
bytes), 256 bytes of RAM, 32 I/O lines, a 6-source 2-level
interrupts, a full duplex serial port, an on-chip oscillator
and clock circuits, three 16 bit timers with extra features:
32 bit timer and watch dog functions. Timer 0 and I can
be configured by program to implement a 32 bit timer.
The watchdog function can be activated either with
timer 0, or timer I or both together (32 bit timer).

modes of reduced activity for further reduction of power
consumption. In the Idle Mode, the CPU is frozen while
the RAM is saved, anl the timers, the serial port, and the
interrupt system continue to function. In the Power Down
Mode, the RAM is saved and the timers, serial port and
interrupts continue to function when driven by external
clocks. In addition as for the TEMIC SOC51 /C52, the stop
clock mode is also available.

•
•
•
•

• 83CI54D-30: 0 to 30 MHz
(commercial and industrial only)
• 83CI54D-Ll6: 0 to 16 MHz with 2,7 V < Vee < 5,5 V
(commercial only)

83CI54D-12: 0 to
83CI54D-16: 0 to
83CI54D-20: 0 to
83CI54D-25: 0 to

12 MHz
16 MHz
20 MHz
25 MHz

Features
•
•
•
•
•

Power Control Mode
256 bytes RAM
32 K bytes of ROM
32 programmable I/O lines (programmable impedance)
Three 16 bit timer/counters (including watch dog and 32 bit
timer)
• 64 K program memory space
• Fully static design

0.8 ~ CMOS process
Boolean processor
6 interrupt sources
Programmable serial port
• 64 K data memory space
• Temperature range: commercial, industrial, automotive,
military

•
•
•
•

Optional
• Secret ROM: Encryption
• Secret TAG: Identification number

MATRAMHS
Rev. D (14 Jan. 97)

II.6.1

2

TEMIC

83C154D

Semiconductors

Interface
Figure 1. Block Diagram
P20 P27

vee

r

1

vs?,
7

I
I
I
I
I

I

I~_I

I
I
I
I
I
I
I
I
I
I
I
I

PSEN
ALE

EA
RST

IL-------L=__

:~

e~:r'-

11.6.2

P30-P37

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

83C154D

Semiconductors

Figure 2. Pin Configuration
40

vee

T2EX/U

2

39

PO.O/AO

P1.2

3

38

PO.1/A 1

P1.3

4

37

PO.2/A2

P1A

5

36

PO.3/A3

T2/P1.0

INDEX
CORNER

PO.4/A4
PO.5/A5

35

POA/A4

P16

34

PO.5/A5

P1.7

33

PO.6/A6

PO.7/A?

32

PO.7/A 7

EA

P1.5

6

RST

9

P3.0/RXD

10

P3.1(fXD

11

P3.2/INTO

12

P3.3/INT1

13

Q

~

lI"l

U

«';

00

PO.6/A6

31

EA

30

ALE

29

PSEN

28

P2.7/A15

NC
ALE
PSEN

P3A(fO

14

27

P2.6/A14

P2.7/A14

P35(f1

15

26

P2.5/A13

P2.6/A13

P3.6/WR

16

25

P2A/A12

P2.5/A12

P37/RD

17

24

P2.3/A11

XTAL2

18

23

P22/A10

XTAL1

19

22

P21/A9

VSS

20

21

P2.0/A8

~ ~ ~ ~
~ ~

DIL

LCC

x

w

cL cL

P'5
P'6

cL

~

t ~
rf cL

()

z

0
0

>

0:
0

""

8

Q;;,0

0-

;;:

OJ

~g

""

42 41 40 39 38 37 36 35

•

Po4 JA4
Pos/AS

P17

P06/A6

RST

P07 /A ?
EA

RxD/P30

83Cl54D

NC

NC

TxD/P31

ALE

INTO/P32

PSEN

lNT1/P33

P27 /A15

TO/P34

P26!A14

T1/P35

P2s /A13

rf'

,

rf'

I~ l§l

:::
fO

x

~
X

m
m

>

()

z

'1
O-N

dO

~

0

N

~ O-N
~ O-N
~
.f O-N

Flat Pack

Diagrams are for reference only_ Package sizes are not to scale

MATRAMHS
Rev. D (14 Jan. 97)

11.6.3

II

TEMIC

83C154D

Semiconductors

Pin Description
vss

Port 2

Circuit Ground Potential.

Port 2 is an 8 bit bi-directional I/O port with internal
pull ups. Port 2 pins that have I's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 2 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the internal pull ups. Port 2 emits the
high-order address byte during fetches from external
Program Memory and during accesses to external Data
Memory that use 16 bit addresses (MOVX @DPTR). In
this application, it uses strong internal pull ups when
emitting I's. During accesses to external Data Memory
that use 8 bit addresses (MOVX @Ri). Port 2 emits the
contents of the P2 Special Function Register.
It also receives the high-order address bits and control
signals during program verification in the 83C 154. Port
2 can sink or source three LS TTL inputs. It can drive
CMOS inputs without external pullups.

vee
Supply voltage during normal, Idle, and Power Down
operation.

PortO
Port 0 is an 8 bit open drain bi-directional I/O port. Port 0
pins that have I's written to them tloat, and in that state
can be used as high-impedance inputs.
Port 0 is also the multiplexed low-order address and data
bus during accesses to external Program and Data
Memory. In this application it uses strong internal pullups
when emitting I's. Port 0 also outputs the code bytes
during program verification in the 83C154D. External
pull ups are required during program verification. Port 0
can sink eight LS TTL inputs.

Port 1
Port I is an 8 bit bi-directional I/O port with internal
pullups. Port I pins that have I's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port I pins that are externally
being pulled low will source current (IlL, on the data
sheet) because of the internal pullups.

Port 3
Port 3 is an 8 bit bi-directional I/O port with internal
pullups. Port 3 pins that have I's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 3 pins that are externally
being pulled low will source current (ILL, on the data
sheet) because of the pullups. It also serves the functions
of various special features of the TEMIC 51 Family, as
listed below.
Port Pin

Port I also receives the low-order address byte during
program verification. In the 83C154D, Port I can sink or
source three LS TTL inputs. It can drive CMOS inputs
without external pullups.

P3.0
P3.1
P3.2
P3.3
P3.4
P3.S
P3.6
P3.7

2 inputs of PORT I are also used for timer/counter 2 :
PI.O [T2] : External clock input for timer/counter 2. Pl.I
lT2EX] : A trigger input for timer/counter 2, to be
reloaded or captured causing the timer/counter 2
interrupt.

Alternate Function
RXD (serial input port)
TXD (serial output port)
INTO (external interrupt 0)
INTI (external interrupt I)
TD (Timer 0 external input)
TI (Timer t external input)
WR (external Data Memory write strobe)
RD (external Data Memory read strobe)

Port 3 can sink or source three LS TTL inputs. It can drive
CMOS inputs without external pull ups.

RST
A high level on this for two machine cycles while the
oscillator is running resets the device. An internal
pull-down resistor permits Power-On reset using only a
capacitor connected to vce. As soon as the reset is
applied (Vin), PORT I, 2 and 3 are tied to I. This
operation is achieved asynchronously even if the
oscillator is not start up.

Il.6.4

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

83C154D

Semiconductors

ALE
Address Latch Enable output for latching the low byte of
the address during accesses to external memory. ALE is
activated as though for this purpose at a constant rate of
1/6 the oscillator frequency except during an external
data memory access at which time on ALE pulse is
skipped. ALE can sink or source 8 LS TTL inputs. It can
drive CMOS inputs without an external pullup.

Program Store Enable output is the read strobe to external
Program Memory. PSEN is activated twice each machine
cycle during fetches from external Program Memory.
(However, when executing out of external Program
Memory, two activations of PSEN are skipped during
each access to external Data Memory). PSEN is not
activated during fetches from internal Program Memory.
PSEN can sink/source 8 LS TTL inputs. It can drive
CMOS inputs without an external pull up.

When EA is held high, the CPU executes out of internal
Program Memory (unless the Program Counter exceeds
7 FFFH). When EA is held low, the CPU executes only out
of external Program Memory. EA must not be floated.

XTALl
Input to the inverting amplifier that forms the oscillator.
Receives the external oscillator signal when an external
oscillator is used.

XTAL2
Output of the inverting amplifier that forms the oscillator.
This pin should be floated when an external oscillator is
used.

Idle And Power Down Operation
Figure 3 shows the internal Idle and Power Down clock
configuration.
As illustrated, Power Down operation stops the oscillator.
The interrupt, serial port, and timer blocks continue to
function only with external clock (INTO, INTI, TO, TI).

Idle Mode operation allows the interrupt, serial port, and
timer blocks to continue to function with internal or
external clocks, while the clock to CPU is gated off. The
special modes are activated by software via the Special
Function Register, PCON. Its hardware address is 87H.
PCON is not bit addressable.

Figure 3. Idle and Power Down Hardware.

MATRAMHS
Rev. D (14 Jan. 97)

II.6.S

TEMIC

83C154D

Semiconductors

PCON: Power Control Register
(MSB)
ISMOD I HPD

(LSB)

I

RPD I

I GFI

I GFO

I PD

I IDL

Symbol

Position

Name and Function

SMOD

PCON.7

Double Baud rate bil. When set to
a I, the baud rate is doubled when
the serial port is being used in

HPD

PCON.6

RPD

PCON.5

GFI
GFO
PD

PCONA
PCON.3
PCON.2
PCON.I

IDL

PCON.O

I

either modes I, 2 or 3.
Hard power Down bit. Setting this
bit allows CPU to enter in Power
Down state on an external event
(I to 0 transition) on bit TI
(p. 3.5) the CPU quit the Hard
Power Down mode when hit TI
(p. 3.5) goes high or when reset is
activated.
Recover from Idle or Power Down
bit. When 0 RPD has no effecl.
When I, RPD permits to exit from
idle or Power Down with any non
enabled interrupt source (except
timer 2). In this case the program
start at the next address. When
interrupt is enabled, the
appropriate interrupt routine is
serviced.
(Reserved)
General-purpose '/lag hit.
General-purpose flag hit.
Power Down bit. Setting this bit
activates power down operation.
Idle mode bit. Setting this bit
activate.s power down operation.

If l's are written to PD and IDL at the same time. PD
takes, precedence. The reset value of PCON is
(OOOXOOOO).

Idle Mode
The instruction that sets PCON.O is the last instruction
executed before the Idle mode is activated. Once in the
Idle mode the CPU status is preserved in its entirety: the
Stack Pointer, Program Counter, Program Status Word,
Accumulator, RAM and all other registers maintain their
data during idle. In the idle mode, the internal clock signal
is gated off to the CPU, but interrupt, timer and serial port
functions are maintained. Table I describes the status of
the external pins during Idle mode.
There are three ways to terminate the Idle mode.
Activation of any enabled interrupt will cause PCON.O to
be cleared by hardware, terminating Idle mode. The
interrupt is serviced, and following RETI, the next
instruction to be executed will be the one following the
instruction that wrote I to PCON.O.

II.6.6

The flag bits GFO and GFI may be used to determine
whether the interrupt was received during normal
execution or during the Idle mode. For example, the
instruction that writes to PCON.O can also set or clear one
or both flag bits. When Idle mode is terminated by an
enabled interrupt, the service routine can examine the
status of the flag bits.
The second way of terminating the Idle mode is with a
hardware reset. Since the oscillator is still running, the
hardware reset needs to be active for only 2 machine
cycles (24 oscillator periods) to complete the reset
operation.
The third way to terminate the Idle mode is the activation
of any disabled interrupt when recover is programmed
(RPD = I). This will cause PCON.O to be cleared. No
interrupt is serviced. The next instruction is executed. If
interrupt are disabled and RPD = 0, only a reset can
cancel the Idle mode.

Power Down Mode
The instruction that sets PCON.I is the last executed prior
to entering power down. Once in power down, the
oscillator is stopped. The contents of the onchip RAM and
the Special Function Register is saved during power down
mode. The three ways to terminate the Power Down mode
are the same than the Idle Mode. But since the onchip
oscillator is stopped, the external interrupts, timers and
serial port must be sourced by external clocks only, via
INTO, INTI, TO, Tl.
In the Power Down mode, Vcc may be lowered to
minimize circuit power consumption. Care must be taken
to ensure the voltage is not reduced until the power down
mode is entered, and that the voltage is restored before the
hardware reset is applied which frees the oscillator. Reset
should not be released until the oscillator has restarted
and stabilized.
When using voltage reduction : interrupt, timers and
serial port functions are guaranteed in the Vcc
specification limits.

Tahle I describes the status of the external pins while in
the power down mode. It should be noted that if the power
down mode is activated while in external program
memory, the port datu that is held in the Special Function
Register P2 is restored to Port 2. If the port switches from
o to I, the port pin is held high during the power down
mode by the strong pull up, T I, shown in figure 4.

MATRAMHS
Rev. D (14 Jan. 97)

TEMIe

83C154D

Semiconductors

Table l.Status of the external pins during idle and power down modes.
MODE

PROGRAM MEMORY

ALE

PSEN

PORTO

PORT!

PORT2

PORT3

Idle

Internal

I

I

Port Data

Port Data

Port Data

Port Data

Idle

External

I

I

Floating

Port Data

Addrcs~

Port Datu

Power Down

Internal

0

0

Port Data

Port Data

Port Data

Port Data

Power Down

External

0

0

Floating

Port Data

Port Data

Port Data

Figure 4.1/0 Buffers in the 83C154D (Ports 1, 2, 3).
vee vee

FLOAT

Q

vee

--1=====.1

FROM

~~~

C>-t-::fl-----IC

FLOAT
FLOAT

----L/--..vr::;::::::;=~

Stop Clock Mode
Due to static design, the TEMIC 83C 154D clock speed
can be reduced until 0 MHz without any data loss in
memory or registers. This mode allows step by step
utilization, and permits to reduce system power
consumption by bringing the clock frequency down to
any value. At 0 MHz, the power consumption is the same
as in the Power Down Mode.

I/O Ports
The 1/0 drives for PI. P2, P3 of the 83CI54D are
impedance programmable. The I/O buffers for Ports I, 2
and 3 are implemented as shown in figure 4.
When the port latch contains 0, all pFETS in figure 4 are
off while the nFET is turned on. When the port latch
makes a O-to-I transition, the nFET turns off. The strong
pullup pFET, T I, turns on for two oscillator periods,
pulling the output high very rapidly. As the output line is
drawn high, pFET T3 turns on through the inverter to
supply the IOH source current. This inverter and T3 form
a latch which holds the I and is supported by T2. When
Port 2 is used as an address port, for access to external
program of data memory, any address bit that contains a
I will have his strong pullup turned on for the entire
duration of the external memory access.
When an I/O pin on Ports I, 2, or 3 is used as an input, the
user should be aware that the external circuit must sink
current during the logical I-to-O transition. The

MATRAMHS
Rev. D (14 Jan. 97)

maximum sink current is specified as ITL under the D.C.
Specifications.
When
the
input
goes
below
approximately 2 V, T3 turns off to save ICC current. Note,
when returning to a logical I, T2 is the only internal
pullup that is on. This will result in a slow rise time if the
user's circuit does not force the input line high.
The input impedance of Port I, 2, 3 are programmable
through the register laCON. The ALF bit (IaCONO) set
all of the Port I, 2, 3 floating when a Power Down mode
occurs. The PIHZ, P2HZ, P3HZ bits (laCON I ,
IOCON2, IOCON3) set respectively the Ports PI, P2, P3
in floating state. The IZC (lOCON4) allows to choose
input impedance of all ports (PI, P2, P3). When IZC = 0,
T2 and T3 pullup of 1/0 ports are active; the internal input
impedance is approximately 10 K. When IZC = I only T2
pull-up is active. The T3 pull-up is turned off by IZC. The
internal impedance is approximately 100 K.

Oscillator Characteristics
XTAL I and XTAL2 are the input and output respectively,
of an inverting amplifier which is configured for use as an
on-chip oscillator, as shown in figure 5. Either a quartz
crystal or ceramic resonator may be used.
To drive the device from an external clock source,
XTALI should be driven while XTAL2 is left
unconnected as shown in figure 6. There are no
requirements on the duty cycle of the external clock
signal, since the input to the internal clocking circuitry is
through a divide-by-two flip-flop, but minimum and
maximum high and low times specified on the Data Sheet
must be observed.

Figure 5. Crystal Oscillator.

XTAL2: 18
XTAL1 : 19

~-------------IVSS:20

11.6.7

2

TEMIC

83C154D

Semiconductors

Figure 6. External Drive Configuration.
NC

XTAL2: 18

EXTERNAL
OSCILLATOR
SIGNAL

XTAL1 : 19
VSS: 20
-:-

Hardware Description
Same as for the 80CSI except for the following:

TimerlEvent Counter 2
Timer 2 is a 16 bit timer/counter like Timers 0 and I, it
can operate either as a timer or as an event counter. This
is selected by bit C/T2 in the Special Function Register
T2CON (Figure 1). It has three operating modcs :
"capture", "autoload", and "baud rate generator", which
are selected by bits in T2CON as shown in Table 2.

Figure 7. Timer 2 in Capture Mode.

Table 2. Timer 2 Operating Modes.
_RC~K+

TCLK.
0
0
I
X

crmo
,
-

0
I
X
X

In the auto-reload mode there are again two options,
which are selected by bit EXEN2 in T2CON. If EXEN2 =
0, then when Timer 2 rolls over it not only sets TF2 but
also causes the Timer 2 registers to be reloaded with the
16 bit-value in registers RCAP2L and RCAP2H, which
are preset by software. If EXEN2 = I, then Timer 2 still
does the above, but with the added feature that a I-to-O
transition at external input T2EX will also trigger the 16
bit reload and set EXF2.
The auto-reload mode is illustrated in Figure 8.

i

TR2

MODE

--

I
I
I

0

16 bit auto-reload
16 bit capture
baud capture generator
(oft)

In the capture mode there are two options which are
selected by bit EXEN2 in T2CON. If EXEN2 = 0, then
Timer 2 is a 16 bit timer or counter which upon
overflowing sets bit TF2, the Timer 2 overflow bit, which
can be used to generate an interrupt. If EXEN2 = I, then
Timer 2 still does the above, but with the added feature
that a I-to-O transition at external input T2EX causes the
current value in the Timer 2 registers, TL2 ans TH2, to be
captured into registers RCAP2L and RCAP2H,
respectively. In addition, the transition at T2EX causes bit
EXF2 in T2CON to be set, and EXF2, like TF2, can
generate an interrupt.
The capture mode is illustrated in Figure 7.

: CONTROL
EXEN2

Figure 8. Timer in Auto-Reload Mode.

: CONTROL

EXEN2

11.6.8

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

83C154D

Semiconductors

(lSB)

(MSB)

The baud rate generator mode is selected by : RCLK = I and/or TCLK = I.
Name and Signilicance

Symbol

Position

TF2

T2CON.7

Timer 2 overflow flag :-oct oy a Timer 2 overflow and 11111'-,1 be clcarcu by :-;ufLwarc. TF2
will not be set when either RClK ~ 1 OR TClK ~ I.

EXF2

T2CON.6

Timer 2 external flag set when either a capture or reload is caused hy a negative
transition on T2EX and EXEN2::: 1. When Timer 2 interrupt j:-. cnahlcu., EXF2:;:: 1 will
cau:-,e the CPU to veclOr to the Timer 2 interrupt routine. EXF2 Illu:-.t be cleared hy
software.

RClK

T2CON.5

Receive clock /lag. When set, callses the :-.crial port to usc Timcr2 ovcrllow pul<.;cs 1'01' its
receive clock in moues I and 3. RCLK :::: () cau:-.c<.; Timer I overflow to be used ror the
receive clock.

TClK

T2CONA

Trammit clock flag. When set, causes thc ~crial port to U 12 MHz (Vcc = 5.5 V)

MATRAMHS
Rev. D (14 Jan. 97)

Icc (rnA) = 1.14 x Freq (MHz) + 12.2
Icc Idle (rnA) = 0.36 x Freq (MHz) + 2.7

II.6.17

TEMIC

83C154D

Semiconductors

Note 1:
ICC is measured with all output pins disconnected ;
XTALI driven with TCLCH, TCHCL = 5 ns, VIL = VSS
+ .5 V, VIH = VCC -.5 V ; XTAL2 N.C. ; EA = RST =
Port 0 = VCC. ICC would be slightly higher if a crystal
oscillator used. Idle ICC is measured with all output pins
disconnected; XTAL I driven with TCLCH, TCHCL = 5
ns, VIL = VSS + .5 V, VIH = VCC -.5 V ; XTAL2 N.C ;
Port 0 = VCC ; EA = RST = VSS.
Power Down ICC is measured with all output pins
disconnected; EA = PORT 0 = VCC ; XTAL2 N.C. ;
RST=VSS.

Note 2 :
Capacitance loading on Ports 0 and 2 may cause spurious
noise pulses to be superimposed on the VOLS of ALE and
Ports 1 and 3. The noise is due to external bus capacitance
discharging into the Port 0 and Port 2 pins when these pins
make 1 to 0 transitions during bus operations. In the worst
(capacitive loading 100 pF), the noise pulse on the ALE
line may exceed 0.45 V with maxi VOL peak 0.6 V. A.
Schmitt Trigger use is not necessary.

Figure 14. ICC Test Condition, Idle Mode.
All Other Pins Are Disconnected.

Figure 16. ICC Test Condition, Power Down Mode.
All Other Pins Are Disconnected.

RST EA
(NC)
CLOCK
SIGNAL

RST

XTAL2
XTAL1

(NC)

XTAL2
XTAL1

VSS

VSS

Figure 15. ICC Test Condition, Active Mode.
All Other Pins Are Disconnected.

VCC

RST
(NC)
CLOCK
SIGNAL

XTAL2
XTAL1
VSS

Figure 17. Clock Signal Waveform for ICC Tests in Active And Idle Modes. TCLCH = TCHCL = 5 ns.

TCHCL
!4------TCLCL-------I"'i

11.6.18

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

83C154D

Semiconductors

Explanation of the AC Symbol
Example:

Each timing symbol has 5 characters. The first character
is always a "T" (stands for time). The other characters,
depending on their positions, stand for the name of a
signal or the logical status of that signal. The following
is a list of all the characters and what they stand for.

TAVLL = Time for Address Valid to ALE low.
TLLPL = Time for ALE low to PSEN low.

Q : Output data.

A: Address.
C: Clock.

R : READ signal.
T: Time.
V: Valid.
W : WRITE signal.
X ; No longer a valid logic level.
Z: Float.

o : Input data.
H : Logic level HIGH
I : Instruction (program memory conlents).
L : Logic level LOW, or ALE.
P: PSEN.

AC Parameters
TA = 0 to + 70°C; Vss = 0 V; Vec = 5 V ± 10 % ; F = 0 to 30 MHz
TA = 0° + 70°C ; V ss = 0 V ; 2.7 V < V cc < 5.5 V ; F = 0 to 16 MHz
TA=-55° + 125°C; Vss =OV; Vcc = 5 V± 10 %; F=O to 25 MHz
(Load Capacitance for PORT O. ALE and PSEN

= 100 pF ; Load Capacitance for al1 other outputs = 80 pF)

External Program Memory Characteristics
.. ",:"
SVMJ)O:L

'-,

'

TLHLL

.

PARAMETER

.',

l6MHz
MIN

ALE Pulse Width

110

MAX

20MHt

MIN

MAX

25 MHz
MIN

90

70

MAX

30 MHz
MIN

TAVLL

Address valid to ALE

40

30

20

15

TLLAX

Address Hold After ALE

35

35

35

35

TLLTV

ALE to valid instr in

TLLPL

ALEtoPSEN

45

TPLPH

PSEN pulse Width

165

TPLTV

PSEN to valid instr in

TPXTX

Input instr Hold After PSEN

TPXTZ

Input instr Float After PSEN

TPXAV

PSEN to Address Valid

TAVIV

Address to Valid instr in

TPLAZ

PSEN low to Address Float

170

185
40

0

80
85

0
45

50

65
0

35
40

50

100
25

100
110

0

55

130
30

130
125

MAX

60

30
35

230

210

170

130

10

10

8

6

External Program Memory Read Cycle

ALE

PORT2 _ _ _ _../

MATRAMHS
Rev. D (14 Jan. 97)

II.6.19

TEMIC

83C154D

Semiconductors

External Data Memory Characteristics

External Data Memory Write Cycle
I

TWHLH

~

"

ALE

_TLLWL----l_

PORTO

PORT 2

>--<

_-TAVWL
.TLLAX+j
AO-A7

)<

ADDRESS
OR SFR-P2

IX
I

TWLWH

~
TOVWX

/

TQVWH

IoorTWHQX~

J

DATA OUT

ADDRESS AS-A15 OR SFR-P2

External Data Memory Read Cycle
~

_ _ _ I".If---- TLLDV-----J

TWHLH ,..

ALE

RD

------------i---~~~~J_------_+TRLRH------~~V~~-TRHDX

PORTO

DATA IN
TRLAZ

PORT 21

11.6.20

MATRAMHS
Rev_ D (14 Jan_ 97)

TEMIC

83C154D

Semiconductors

Serial Port Timing - Shift Register Mode
16 MHz

PARAMETER

SYMBOL

MIN

MAX

20 MHz

MIN

25 MHz

MAX

MAX

MIN

30 MHz

MIN

TXLXL

Serial Port Clock Cycle Time

750

600

480

400

TQVXH

Output Data Setup to Clock Rising Euge

563

480

380

300

TXHQX

Output Data Hold after Clock Rising Edge

63

90

65

50

TXHDX

Input Data Hold aftcr Clock Rising Edge

0

0

()

TXHDV

Clock Rising Edge to Input Data Valid

563

MAX

0

450

350

300

Shift Register Timing Waveforms
INSTRUCTION

o

2

3

4

5

6

7

8

CLOCK

OUTPUT DATA

1

WRITE TO SBUF
INPUT DATA_-'-_ _J

...
CLEAR RI

MATRAMHS
Rev. D (14 Jan. 97)

...

SETIN

11.6.21

B

TEMIC

83C154D

Semiconductors

External Clock Drive Characteristics (XTALl)
SYMBOL

PAR~METER

;'

,

MIN ;

UNIT ,',

MAX

"

30

;

",

MHz

FCLCL

Oscillator Frequency

TCLCL

Oscillator period

TCHCX
TCLCX
TCLCH

Rise Time

5

ns

TCHCL

Fall Time

5

ns

333

ns

High Time

5

ns

Low Time

5

ns

External Clock Drive Waveforms

TCHCl

----'TClCX
\4-------TClCl,--------IOot

AC Testing Input/Output, Float Waveforms

=X:

INPUT/OUTPUT
VCC-o,

5V

0,45 V

0,2 Vcc - 0,9

)C

__0..;.,2_V;;;cc,;...-_0;..,1_ _ _ _ __

AC inputs during testing are driven at Vcc - 0,5 for a logic "I" and 0,45 V for a logic "0", Timing measurements are
made at VIH min for a logic" I" and VIL max for a logic "0".

Float Waveforms
FLOAT

~---- FLOAT----~

VLOAD

VLOAD + 0,1 V
VLOAD + 0,1 V

For timing purposes as port pin is no longer floating when a 100 m V change from load voltage occurs and begins to
float when a 100 mV change from the loaded VOHNOL level occurs. IollIoH > ± 20 rnA.

11.6.22

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

83C154D

Semiconductors

Clock Waveforms

I

INTERNAL
CLOCK

STATE 4

I

P1 I P2

STATE

51

P1 I P2

STATE 6
P1

I P2

I

STATE 1
P1

I

I P2

STATE 2
P1

I

I P2

STATE 3
P1

I

I P2

STATE 4

I

P1 I P2

STATE

5I

P1 I P2

XTAL2

'- I

ALE

I

' " THESE SIGNALS ARE NOT
ACTIVATED DURING THE
EXECUTION OF A MOVX INSTRUCTION

,.----...,
PSEN
PO

P2 (EXT)
READ CYCLE

B

'--_ _-::-'DATA
I
SAMPLED
I
_
FLOAT-----+I

I

~

____-,1 INDICATES ADDRESS TRANSITIONSLI_ _ _ _ _ _ _ _ _ _-'

RD
OOH IS EMITTED
DURING THIS PERIOD
PO

______

PCL OUT (IF PROGRAM
MEMORY IS EXTERNAL)

--'r--D~P-LO~R~R~i--,~I~.~----------~~~~------~1
OUT
~I..
FLOAT SAMPLED
.. I

I

~

INDICATES DPH OR P2 SFR TO PCH TRANSITION

P2
WRITE CYCLE

L _ _ _ _ _ _ _ _ _ _.....I PCLOUT (EVEN IF PROGRAM
MEMORY IS INTERNAL)

WR

DP~~f

PO

Ri

I..

DATA OUT

INDICATES DPH OR P2 SFR TO PCH TRANSITIONS

P2

1'i. I~CLOUT:~OGRAM
1MEMORY IS EXTERNAL)

PORT OPERATION
MOV PORT SRC

__________
O_LD_D_AT._A-'I NEW DATA

~
PO PINS SAMPLED

MOVDESTPO
MOV DEST PORT-(P-1-,P-2-,-P3-)---'

PO PINS SAMPLED

~

(INCLUDES INTO, INT1, TO, T1)

ITIL--------------------FfL

SERIAL PORT SHIFT CLOCK

I

TXD
(MODE 0)

P1, P2, P3 PINS SAMPLED

--------1H~
RXD SAMPLED

I

P1, P2, P3
PINS SAMPLED

jll

RXD SAMPLED

This diagram indicates when signals are clocked internally. The time it takes the signals to propagate to the pins,
however, ranges from 25 to 125 ns. This propagation delay is dependent on variables such as temperature and pin
loading. Propagation also varies from output to output and component. Typically though (TA = 25°C fully loaded) RD
and WR propagation delays are approximately 50 ns. The other signals are typically 85 ns, Propagation delays are
incorporated in the AC specifications.

MATRAMHS
Rev. D (14 Jan. 97)

11.6.23

TEMIC

83C154D

Semiconductors

Ordering Information

s

T

-30

T
Part Number
83C154D Rom 32 K x 8
83C154DC Secret ROM version
83C154DT Secret Tag version

Temperature Range
blank : Commercial
I
: Industrial
A
: Automotive
M
: Military

Package Type
P: PDIL40
S: PLCC44
Fl: PQFP 44 (Foot print 13.9 mm)
F2: PQFP 44 (Foot print 12.3 mm)
V: VQFP (1.4 mm)
T: TQFP (1.0 mm)
D: CDIL40
Q: CQFP44
R: LCC44

11.6.24

xxx

83C154DC

D

T
-12
-16
-20
-25
-30
-L16

: 12 MHz version
: 16 MHz version
: 20 MHz version
: 25 MHz version
: 30 MHz version
: Low Power
(Vcc : 2.7-5.5 V
Freq: 0-16 MHz)

T

R : Tape and Reel
D: Dry Pack

Flow
1883: MIL 883 Compliant
P883: MIL 883 Compliant
with PIND test.
Customer Rom Code

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC
Semiconductors

B
CS1 Computer/Communication Products

TSCS051C1 : S-Bit Microcontroller for Digital Computer Mouitors ...•........... 11.7.1
TSCS051C2: S-Bit Microcontroller for Digital Computer Mouitors •.•.••.•••.•... II.S.1

TEMIC

TSC8051Cl

Semiconductors

8-Bit Microcontroller for Digital Computer Monitors

1. Introduction
The TSC8051CI is a stand-alone high performance
CMOS 8-bit embedded microcontroller and is designed
for use in CRT monitors. It is also suitable for automotive
and industrial applications.

In addition, the TSC8051Cl has 2 software selectable
modes of reduced activity for further reduction in power
consumption. In the idle mode the CPU is frozen while
the RAM, the timers, the serial ports, and the interrupt
The TSC8051CI includes the fully static 8-bit "80C51" system continue to function. In the power down mode the
CPU core with 256 bytes of RAM; 8 Kbytes of ROM; two RAM is saved and all other functions are inoperative.
16-bit timers; 12 PWM Channels; a 6 sources and 2-level The TSC8051 C 1 enables the users reducing a lot of
interrupt controller; a full duplex serial port; a full 12CTM* external discrete components while bringing the
interface; a watchdog timer and on-chip oscillator.
maximum of flexibility.

2. Features
•

Boolean processor

•

Watchdog reset

•

Fully static design

•

On chip oscillator for crystal or ceramic resonator

•

8K bytes of ROM

•

2 power saving control modes:
• Idle mode
• Power-down mode

•

Controlled HSYNC & VSYNC outputs

•

Up to 12 programmable PWM channels with 8-bit
resolution

•

Up to 32 programmable 110 lines depending on the
package

•

40 pins DIP, 44 pins PQFP, 44 and 52 pins PLCC
packages

•
•

Commercial and industrial temperature ranges
Operating Frequency: 12 MHz to 16 MHz

•

256 bytes of RAM

•

2 x 16-bit timer/counter

•

Programmable serial port

•

Programmable Multimaster I2C controller

•

6 interrupt sources:
• External interrupts (2)
• Timers interrupt (2)
• Serial port interrupt
• I2C interrupt

* 12C is a trademark of PHILIPS Corporation
MATRAMHS
Rev. D (14 Jan. 97)

11.7.1

II

TEMIC

TSC8051Cl

Semiconductors

3. Block Diagram

TI

TO INTO
VCC

0

.........................

~

L

~

:

~"
2

::

7L

"

PARALLELIJO
PORTS AND
EXTERNAL BUS

v

<~

~

~

""
..

"

PO

..

7-

7'"
PI

DATA
MEMORY
256 x 8 RAM

;.

L

;.

7-

"

7-

8-BIT INTERNAL BUS

7-

~Y'-

PROGRAM
MEMORY
8kx8ROM

;.

7-

;.

~

I

CPU

;. 8OC51 CORE
EXCLUDING
ROM/RAM

"

~
:

t

TWOI6-BIT
T1MERIEVENT
COUNTER

~

.. - .. ---- .... ------.- .... -.-

rnTil

TO

~

~

.~........................... L...... ...l.

+

~

vss

P2

;.
7-

"

SERIAL
UART
PORT

:.

"" ... [0... 0
7-

L

TxD

~ ALTERNATE FUNCTION OF PORTO
~ ALTERNATE FUNCTION OF PORTl

I

SPECIAL
EXTERNAL
INPUTS

L

"

SERIAL]2c
PORT

;.

L

7-

;.

7-

"

7

.; 7-

--------------------

_ _ OM

RxD

,

..... _....

7

;.

CONTROLLED
HSYNC & VSYNC
OUTPUTS

12 x 8-bitPWM
CHANNELS

----

;.

"
L

7'

P3

_ _ MO •

L

~

SCL

0 0 0 .. 0

;.

WATCHDOG
TIMER

...

SDA

~········~r

PWMO

P~8

PW~17

PWMll

o0

0

VSYNC
HSYNC
VOUT
HOUT

~ ALTERNATE FUNCTION OF PORT2

o

ALTERNATE FUNCTION OF PORT3

Figure 1. TSC8051C1 block diagram.

II.7.2

MA1RAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

4. Pin Configurations
u

~"'oo

PI.OIPWMR

vee

PI.IIPWM9

PO.O/ADO

PI.2IPWMIO

PO.I/ADI

PI.3IPWMII

'1:
INDEX
CORNE

PO.2/AD2

PI.4

PO.3/AD3

PI.5

PI.5

PO.4/AD4

PI.6

PI.6

P0.5/AD5

PI.7

PI.7

PO.6/AD6

RST

RST

PO.7/AD7

j::
:8::
:9::
io:

P3.0/RXD

"ii'

NC

"ii'

P3.lrrXD

PWM6':'

i"3'
14:
15:
'ii,:

PWM5'

it"

P3.0/RXD

EA

P3.I/TXD

ALE

P3.2IINTONSYNC

PSEN

P3.2/INTO/VSYNe

PWM7"

P3.3IINTINOUT
P3.4rrOIHSYNC

PWM6"

P3.5fT1/HOUT

PWM5'

P3.6IWRlSCL

PWM4"

P3.7IRD/SDA

PWM3"

XTAL2
XTALI

PWM2"
PWMI ,.

vss

PWMO'

PWMT'

:E;:: ::s::s
::s
;::;:: ;::
e: e:e:: ~

'"

r-~

u
u u
>

0

N

0: 0:

0..0..

Z

0 0 0 ""
ci
0.. 0.. 0.. "-

:6: :5:

.4~3~ :2~ :I:

<14 :~j 42 41: ~q

-:

0:

39

PO.4

38
37

PO.5

36
35.

PLCC44

PO.6
PO.7
EA

34

NC

~3,

ALE

32

PSEN
PWMT
PWM6"
PWM5*

is

*PWMx or P2.x depending on option (see ordering information)

INDEX
CORNER

PO.5
PO.6
PO.7

EA
ALE
PSEN

PLCCS2

P2.7
PWM7
P2.6
PWM6
P2.5

NC

'.i!!:

P3.6IWRISCL

20:

PWM5
PWM4

~j ~:i '2j

..:

'"

I~'"

N

:2.1 :2$ :26

'">
~ ~ '"

...l

:J

><: ><:

r:::

0

N

0..

~

:2i

:~ ~~ :j~ ,jj

N

:E

0..

~

N

N

0..

::s . ..,
N

~ ~

0..

~

'1:

~

,.;
0..

Figure 2. TSC8051Cl pin configurations.

MATRAMHS
Rev. D (14 Jan. 97)

11.7.3

II

TEMIC

TSC8051Cl

Semiconductors

5. Pin Description

vee

Port 2 emits the high-order 8-bit address during fetches
from external Program Memory and during accesses to
external Data Memory that use 16-bit addresses. In this
application it uses strong internal pull-up when emitting
I's.

Power supply voltage.

Port 2 can sink and source 3 LS TTL loads.

RST

PORT 3 (P3.O-P3.7)

A high level on this pin for two machine cycles while the
oscillator is running resets the device. An internal
pulldown resistor permits power-on reset using only a
capacitor connected to VCC.

Port 3 is an 8-bit bidirectional 110 port with internal
pullups. Port 3 pins that have l's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port 3 pins that are
externally being pulled low will source current (IlL on
the data-sheet) because of the internal pullups.

VSS
Circuit ground.

PORT 0 (PO.O-PO.7)
Port 0 is an 8-bit open-drain bidirectional 1/0 port. Port

opins that have I's written to them float, and in that state

Each line on this port has 2 or 3 functions either a general
110 or special control signal, as listed below:

can be used as high-impedance inputs.
Port 0 is also the multiplexed low-order address and data
bus during access to external Program and Data memory.
In this application it uses strong internal pull-up when
emitting I's.

P3.0

RXD: serial input port.

P3.1

TXD: serial output port.

P3.2

INTO: external interrupt O.
VSYNC: vertical synchro input.

P3.3

INTI: external interrupt 1.
VOUT: buffered V-SYNC output.

P3.4

TO: Timer 0 external input.
HSYNC: horizontal synchro input.

P3.5

TI: Timer I external input.
HOUT: buffered H-SYNC output.

P3.6

WR: external data memory write strobe.
SCL: serial port clock line I2C bus.

P3.7

RD: external data memory read strobe.
SDA: serial port data line I2C bus.

Port 0 can sink and source 8 LS TIL loads.

PORT 1 (Pl.O-Pl.7)
Port I is an 8-bit bidirectional 110 port with internal
pullups. Port I pins that have I's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port I pins that are
externally being pulled low will source current (IlL on
the data-sheet) because of the internal pullups.
Port 1 also serves 4 programmable PWM open drain
outputs, as listed below:

Port 3 can sink and source 3 LS TTL loads.

Pl.O

PWM8: Pulse Width Modulation output 8.

Pl.l

PWM9: Pulse Width Modulation output 9.

PI.2

PWMIO: Pulse Width Modulation output 10.

PI.3

PWMII: Pulse Width Modulation

II.

Port 1 can sink and source 3 LS TTL loads.

PORT 2 (P2.O-P2.7)
Port 2 is an 8-bit bidirectional 1/0 port with internal
pullups. Port 2 pins that have l's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 2 pins that are
externally being pulled low will source current (IlL on
the data-sheet) because of the internal pullups.

11.7.4

PWM0-7
These eight Pulse Width Modulation outputs are true
open drain outputs and are floating after reset.

ALE
The Address Latch Enable output signal occurs twice
each machine cycle except during external data memory
access. The negative edge of ALE strobes the address
into external data memory or program memory. ALE
can sink and source 8 LS TIL loads.
If desired, ALE operation can be disabled by setting bit

o of SFR location AFh (MSCON). With the bit set, ALE

is active only during MOVX instruction and external
fetches. Otherwise the pin is pulled low.

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

XTALl
When the External Access input is held high, the CPU
executes out of internal program memory (unless the
Program Counter exceeds IFFFh). When EA is held low
the CPU executes only out of external program memory.
must not be left floating.

Input to the inverting oscillator amplifier and input to the
external clock generator circuits.

XTAL2
Output from the inverting oscillator amplifier. This pin
should be non-connected when external clock is used.

The Program Store Enable output signal remains high
during internal program memory. An active low output
occurs during an external program memory fetch. PSEN
can sink and source 8 LS TTL loads.

MATRAMHS
Rev. D (14 Jan. 97)

E

II.7.S

TEMIC

TSC8051Cl

Semiconductors

6. Basic Functional Description
6.1. Idle And Power Down Operation
Figure 3 shows the internal Idle and Power Down clock
configuration. As illustrated, Power Down operation
stops the oscillator. Idle mode operation allows the
interrupt, serial port, and timer blocks to continue to
operate while the clock to the CPU is gated off.

F~1

XTAL2

XTALI

These special modes are activated by software via the
Special Function Register, its hardware address is 87h.
PCON is not bit addressable.

H----

INTERRUPT
SERIAL PORT
TIMER BLOCKS
CPU

Figure 3, Idle and Power Down Hardware.

PCON: Power Control Register
MSB

SFR 87h

LSB
GFI

SMOD

PD

GFO

lDL

PCON.O

Idle mode bit. Setting this bit activates idle mode operation.

PO

PCON.I

Power Down bit. Setting this bit activates power down operation.

GFO

PCON.2

General-purpose nag bit.

GFI

PCON.3

General-purpose flag bit.

PCON.4

(Reserved).

PCON.S

(Reserved).

SMOD

lDL

PCON.6

(Reserved).

PCON.7

Double Baud rate bit. Setting this bit causes the baud rate to double when the serial port

is being used in either modes 1,2 or 3.

If I 's are written to PD and IDL at the same time, PD takes precedence. The reset value of PCON is OXXXOOOOb.

6.1.1. Idle Mode
The instruction that sets PCON.O is the last instruction
executed before the Idle mode is activated. Once in the
Idle mode the CPU status is preserved in its entirety: the
Stack Pointer, Program Counter, Program Status Word,
Accumulator, RAM, and all other register maintain their
data during Idle Table I describes the status of the
external pins during Idle mode.
There are two ways to terminate the Idle mode.
Activation of any enabled interrupt will cause PCON.O
to be cleared by hardware terminating Idle mode. The
interrupt is serviced, and following RET!, the next
instruction to be executed will be the one following the
instruction that wrote 1 to PCON.O.

11.7.6

The flag bits OFO and OFl may be used to determine
whether the interrupt was received during normal
execution or during the Idle mode. For example, the
instruction that writes to PCON.O can also set or clear
one or both flag bits. When Idle mode is terminated by
an enabled interrupt, the service routine can examine the
status of the flag bits.
The second way of
hardware reset. Since
hardware reset needs
cycles (24 oscillator
operation.

terminating the Idle is with a
the oscillator is still running, the
to be active for only 2 machine
periods) to complete the reset

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

6.1.2. Power Down Mode
The instruction that sets PCON.I is the last executed
prior to entering power down. Once in power down, the
oscillator is stopped. The contents of the onchip RAM
and the Special Function Register are saved during
power down mode. A hardware reset is the only way of
exiting the power down mode. The hardware reset
initiates the Special Function Register. In the Power
Down mode, VCC may be lowered to minimize circuit
power consumption. Care must be taken to ensure the
voltage is not reduced until the power down mode is
entered, and that the voltage is restored before the
hardware reset is applied which frees the oscillator.
Reset should not be released until the oscillator has
restarted and stabilized. Table I describes the status of
the external pins while in the power down mode. It
should be noted that if the power down mode is activated
while in external program memory, the port data that is
held in the Special Function Register P2 is restored to
Port 2. If the data is a I, the port pin is held high during
the power down mode by the strong pull up transistor.

I

Table 1. Status of the external pins during Idle and Power Down modes.

~ • • Mode ',' . program,
I:.>

ALE

Memory

Idle

Internal

I

,,'

,

PSEN

PortO

Port 1

Port 2

Port 3

PWMx

I

Port Data

Port Data

Port Data

Port Data

Floating

Idle

External

I

I

Floating

Port Data

Address

Port Data

Floating

Power Down

Internal

0

0

Port Data

Port Data

Port Data

Port Data

Floating

Power Down

External

0

0

Floating

Port Data

Port Data

Port Data

Floating

6.2. Stop Clock Mode

6.4. 110 Configurations

Due to static design, the TSC8051CI clock speed can be
reduced down to 0 MHz without any data loss in memory
or register. This mode allows step by step code
execution, and permits to reduce system power
consumption by bringing the clock frequency down to
any value. When the clock is stopped, the power
consumption is the same as in the Power Down Mode.

Figure 4. shows a functional diagram of the generic bit
latch and 110 buffer in each of the four ports. The bit
latch, (one bit in the port SFR) is represented as a D type
flip-flop. A 'write to latch' signal from the CPU latches
a bit from the internal bus and a 'read latch' signal from
the CPU places the Q output of the flip-flop on the
internal bus. A 'read pin' signal from the CPU places the
actual pin logical level on the internal bus.
Some instructions that read a port read the actual pin,
and other instructions read the latch (SFR).

6.3. 110 Ports Structure
The TSC8051CI has four 8-bit ports. Each port consist
of a latch (special function register PO to P3), an input
buffer and an output driver. These ports are the same as
in 80C51, with the exception of the additional functions
of port I and port 3 (see Pin Description section).

MATRAMHS
Rev. D (14 Jan. 97)

II.7.7

TEMIC

TSC8051Cl
ADDRIDATA

Semiconductors

VCC

PWMX

INT
BUS

INT.
BUS

WRITE
TO
LATCH

WRITE
TO
LATCH

VCC

READ
PIN

PIN

J PORT I BI11
* Internal pull-up not pre~ent on Pl.O to PI.3 when PWM8 10 PWM II

J PORTO BITJ

are enabled
ADDR
CONTROL

ALTERNATE
VCC
OUTPUT
SlOl
FUNCTION CONTROL'

VCC

INT.
BUS

INT.
BUS

WRITE
TO
LATCH

WRITE
TO
LATCH

READ
PIN

READ
PIN

JPORT2 BIT J
J PORT 3 BI11
of:

Internal pull-up not present on P3.6 and P3.7 when SIOI

i~

enabled.

Figure 4. Port Bit Latches and 110 buffers

6.5. Reset Circuitry
The reset circuitry for the TSC80SlCl is connected to
the reset pin RST. A Schmitt trigger is used at the input
for noise rejection (see Figure S. ).
A reset is accomplished by holding the RST pin high for
at least two machine cycles (24 oscillator periods) while
the oscillator is running. The CPU responds by
executing an internal reset. It also configures the ALE
and PSEN pins as inputs (they are quasi-bidirectional).
A Watchdog timer underflow if enabled, will force a
reset condition to the TSC80S1 Cl by an internal
connection.
The internal reset is executed during the second cycle in
which reset is high and is repeated every cycle until RST
goes low. It leaves the internal registers as follows:

11.7.8

Register

Content

ACC

OOh

B

lJOh

DPTR

OOOOh

EICON

OOh

HWDR

OOh

IE

OXOlJOlJOOb

IP

XXOOOOOOb

MSCON

XXXXXXXOb

MXCRO-I

OOh

PO-P3

FFh

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

0000

Rj!gister

VCC __

Content

~

________

~

1'0

PC

OOOOh

PCON

OXXXOOOOb

PSW

OOh

PWMO-II

OOh

PWMCON

XXXXXXXOb

SICON

OOh

SlOAT

OOh

SlSTA

F8h

SBUF

OOh

SCON

OOh

SOCR

OOh

SP

07h

TCON

OOh

THO, THI

OOh

TLO, TLl

OOh

TMOD

OOh

Figure 6. Power-on Reset Circuit

XTALI and XTAL2 are respectively the input and
output of an inverting amplifier which is configured for
use as an on-chip oscillator. As shown in Figure 7. ,
either a quartz crystal or ceramic resonator may be used.
To drive the device from an external clock source,
XTALI should be driven while XTAL2 is left
unconnected as shown in Figure 8.

The internal RAM is not affected by reset At power-on
reset, the RAM content is indeterminate,

RST~t----l

E

6.6. Oscillator Characteristics

There are no requirements on the duty cycle of the
external clock signal, since the input to the internal
clocking circuitry is through a divide-by-two flip-flop.
The minimum high and low times specified on the data
sheet must be observed however.

Re.\et

Circuitry

XTAL2

On--chip
resistor

XTALI

Watchdog
Reset

1------------------1 vss

Figure 5. On-Chip Reset Configuration.
Figure 7. Crystal Oscillator
An automatic reset can be obtained when vec is turned
on by connecting the RST pin to vce through a lJ.1F
capacitor providing the vee setting time does not
exceed lms and the oscillator start-up time does not
exceed lOms, This power-on reset circuit is shown in
Figure 6, When power comes on, the current drawn by
RST starts to charge the capacitor. The voltage at RST
is the difference between vee and the capacitor
voltage, and decreases from vce as the capacitor
charges, VRST must remain above the lower threshold of
the Schmitt trigger long enough to effect a complete
reset The time required is the oscillator start-up time,
plus 2 machine cycles.

MATRAMHS
Rev. D (14 Jan. 97)

NC
EXTERNAL
OSCILLATOR
SIGNAL

XTAL2
XTALI

-.-l

vss

Figure 8. External Drive Configuration

II.7.9

TSC8051Cl
6.7. Memory organization
The memory organisation of the TSC8051CI is the same
as in the 80C51, with the exception that the TSC8051CI
has 8k bytes ROM, 256 bytes RAM, and additional
SFRs. Details of the differences are given in the
following paragraphs.
In the TSC805ICI, the lowest 8k of the 64k program
memory address space is filled by internal ROM.
Depending on the package used, external access is
available or not. By tying the EA pin high, the processor
fetches instructions from internal program ROM. Bus
expansion for accessing program memory from 8k
upward is automatic since external instruction fetches
occur automatically when the program counter exceeds
I FFFh. If the EA pin is tied low, all program memory
fetches are from external memory. The execution speed
is the same regardless of whether fetches are from
external or internal program memory. If all storage is
on-chip, then byte location 1FFFh should be left vacant
to prevent an undesired pre-fetch from external program
memory address 2000h.
Certain locations in program memory are reserved for
specific purposes. Locations OOOOh to 0002h are
reserved for the initialisation program. Following reset,
the CPU always begins execution at location OOOOh.
Locations 0003h to 0032h are reserved for the six
interrupt request service routines.

II.7.lO

TEMIC
Semiconductors

The internal data memory space is divided into a
256-bytes internal RAM address space and a 128 bytes
special function register address space.
The internal data RAM address space is 0 to FFh. Four
8-bit register banks occupy locations 0 to IFh. 128 bit
locations of the internal data RAM are accessible
through direct addressing. These bits reside in 16 bytes
of internal RAM at location 20h to 2Fh. The stack can
be located anywhere in the internal data RAM address
space by loading the 8-bit stack pointer (SP SFR).
The SFR address space is lOOh to IFFh. All registers
except the program counter and the four 8-bit register
banks reside in this address space. Memory mapping of
the SFRs allows them to be accessed as easily as internal
RAM, and as such, they can be operated on by most
instructions. The mapping in the SFR address space of
the 43 SFRs is shown in Table 2. The SFR names in
italic are TSC805lCl new SFRs and are described in
Peripherals Functional Description section. The SFR
names in bold are bit addressable.

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

Table 2. Mapping of Special Function Register

'oi3o .i, 1"'6/8

00

0'

i7lir°

41C

SID

PWM8

PWM9

PWMIO

PWMll

B

PWM4

PWM5

PWM6

PWM7

PWMO

PWMI

PWM2

PWM3

0100

ACC

EICON

SOCR

HWDR

D8

SlCON

DO

psw

1/9

2/A

31B

I00,00'l7S : 000.

I~
l)tlf
::: 00

00_ 00_
SlSTA

6/E}

SlDAT

MXCRO
PWMCON
MXCRI

·CS
CO

I:

DB

IP

DO

P3

A8°

IE

, AtL,

P2

0 98

SCON

00 9~

PI

88
0'00

MSCON

SBUF

TCON

TMOD

TLO

TLI

PO

SP

DPL

DPH

THO

THI
PCON

6.8. Interrupts

6.8.1. Interrupt Enable Register:

The TSC80S1 C I has six interrupt sources, each of which
can be assigned one of two priority levels. The five
interrupt sources common to the 80CSI are the external
interrupts (INTO and INTI), the timer 0 and timer I
interrupts (ITO and ITI), and the serial I/O interrupt (RI
or TI). In the TSC80SlCI, the standard serial I/O is
called SIOO.

Each interrupt source can be individually enabled or
disabled by setting or clearing a bit in the interrupt
enable register (IE SFR). All interrupts sources can also
be globally enabled or disabled by setting or clearing the
EA bit in IE register.

The SIO I (I2C) interrupt is generated by the SI flag in
the control register (S I CON SFR). This flag is set when
the status register (SISTA SFR) is loaded with a valid
status code.

MATRAMHS
Rev. D (14 Jan. 97)

II.7.11

TEMIC

TSC8051Cl

Semiconductors

IE: Interrupt Enable Register
MSB
ESI

EA

Sywool :'
.. '

.
'

LSB

SFRA8h

c.'

.,

..

.:

~q$itlQn

ETl

ESO

.. :

'.'

.. :.'.

. ... :

..•....

'

EX!

Nam~a"dFtructl~;'; . y

lEO

Enable external interrupt O.

ETO

IE. I

Enable timer 0 interrupt.

EXI

1E.2

Enable external interrupt 1.

ET!

1E.3

Enable timer 1 interrupt.

ESO

lEA

Enable SIOO (UART) interrupt.

ESI

IE.S

Enable SIO I (l2C) interrupt.

-

1E.6

(Reserved).

1E.7

Enahle all

EA

/

'

EXO

EXO

ETO

T.

.:

..

interrupt~.

6.8.2. Interrupt Priority Structure:
Each interrupt source can be assigned one of two priority
levels. Interrupt priority levels are defined by the
interrupt priority register (rp SFR). Setting a bit in the
interrupt priority register selects a high priority
interrupt, clearing it selects a low priority interrupt.
IP: Interrupt Priority Register
MSB
PSI

PSO

PT!

PXl

Position

PXO

IP.O

External interrupt 0 priority level.

PTO

IP.I

Timer 0 interrupt priority level.

PXI

lP.2

External interrupt 1 priority level.

PTI

IP.3

Timer 1 interrupt priority level.

PSO

IPA

SIOO (UART) interrupt priority level.

PSI

IP.5

SIOI (T2C) intel1llpt priority level.

-

IP.6

(Reserved).

-

IP.7

(Unused).

.

PTO

PXO

N!lI1W !lnd FUnction

Symbol

A low priority interrupt service routine may be
interrupted by a high priority interrupt. A high priority
interrupt service routine cannot be interrupted by any
other interrupt source.

11.7.12

LSB

SFR B8h

If two requests of different priority levels occur
simultaneously, the high priority level request is
serviced. If requests of same priority are received
simultaneously, an internal polling sequence determines
which request is serviced. Thus, within each priority
level, there is a second priority structure determined by
the polling sequence, as follows:

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

Order

Source

Priority Within Level

I

INTO

(highest)

2

Timer 0

l'

3

INTI

4

Timer 1

5

SIOO

1

6

SIal

(lowest)

6.8.3. Interrupt Handling:
The interrupt flags are sampled at S5P2 of every
machine cycle. The samples are polled during the
following machine cycle. If one of the flags was in a set
condition at S5P2 of the previous machine cycle, the
polliug cycle will find it and the interrupt system will
generate a LCALL to the appropriate service routine,
provided this hardware-generated LCALL is not
blocked by any of the following conditions:
1. An interrupt of higher or equal priority is
already in progress.
2. The current (polling) cycle is not the final
cycle in the execution of the instruction in progress.

The processor acknowledges an interrupt request by
executing a hardware-generated LCALL to the
appropriate service routine. In some cases it also clears
the flag that generated the interrupt, and in other case it
does not. It clears the timer 0, timer I, and external
interrupt flags. An external interrupt flag (IEO or IE I) is
cleared only if it was transition-activated. All other
interrupt flags are not cleared by hardware and must be
cleared by the software. The LCALL pushes the
contents of the program counter onto the stack (but it
does not save the PSW) and reloads the PC with an
address that depends on the source of the interrupt being
vectored to, as listed below:

3. The instruction in progress is RET! or any
access to the IE or IP SFR.
Any of these three conditions will block the generation
of the LCALL to the interrupt service routine. Note that
if an interrupt is active but not being responded to for one
of the above conditions, if the flag is not still active when
the blocking condition is removed, the denied interrupt
will not be serviced. In other words, the facts that the
interrupt flag was once active but not serviced is not
memorized. Every polling cycle is new.
Source

Vector Address

lEO

0003h

TFO

OOOBh

lEI

OOl3h

TFI

OOIBh

RI+Tl

0023h

SI

002Bh

Execution proceeds from the vector address until the
RETI instruction is encountered. The RET! instruction
clears the 'priority level active' flip-flop that was set
when this interrupt was acknowledged. It then pops two
bytes from the the top of the stack and reloads the
program counter with them. Execution of the interrupted
program continues from where it was interrupted.

MATRAMHS
Rev. D (14 Jan. 97)

11.7.13

B

TEMIC

TSC8051Cl

Semiconductors

7. Peripherals Functional Description
For detailed functionnal description of standard 80C51
peripherals, please refer to C51 Family, Hardware
Description and Programmer's Guides.

The 4-bit timer is decremented every 't' seconds, where:
t = 12 x 131072 x lIfosc. (131.072ms at fosc = 12MHz).
Thus, the interval may vary from 131.072ms to
2097 .152ms in 16 possible steps (see Table 3. ).

7.1. Watchdog Timer

The watchdog timer has to be reloaded (write to HWDR
SFR) within periods that are shorter than the
programmed watchdog interval, otherwise the
watchdog timer will underflow and a system reset will
be generated which will reset the TSC8051 C 1.

The watchdog timer consists of a 4-bit timer with a
17-bit prescaler as shown in Figure 9. The prescaler is
fed with a signal whose frequency is 1112 the oscillator
frequency (lMHz with a 12MHz oscillator).
HWDR: Hardware WatchDog Register

SFRE6h

MSB
WTE

LSB
WT3

S~ol

......•.

...

WTO

Position

.,

.. '.

."

HWDR.O

..

'

WT2

WTI

WTO

•'. Nam~ andFu0

dfun

..':'

Watchdog Timer Interval bit O.

WTl

HWDR.I

Watchdog Timer Interval bit 1.

WT2

HWDR.2

Watchdog Timer Interval bit 2.

WT3

HWDR.3

Watchdog Timer Interval bit 3.

-

HWDRA

Reserved for test purpose, must remain to 0 for normal operation.

-

HWDR.5

(Reserved).

-

HWDR.6

(Reserved) .

HWDR.7

Watchdog Timer Enable bit. Setting this bit activates watchdog operation.

WTE

Table 3. Watchdog timer interval value format.

.wT3 ·. W'I'2

~rf

WTO

.lnt~rvaJ.·

0

tx 16

0

0

0

0

0

0

0

0

tx I

0

HWDR is a write only register. Its value after reset is OOh
which disables the watchdog operation.
HWDR is using TSC8051Cl Special Function Register
address, E6h.
fosc/12

tx 2

Internal
reset

tx 15

Once the watchdog timer enabled setting WTE bit, it
cannot be disabled anymore, except by a system reset.

Figure 9. Watchdog timer block diagram

The watchdog timer is frozen during idle or power down
mode.

11.7.14

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

7.2. Pulse Width Modulated Outputs
The TSC8051CI contains twelve pulse width
modulated output channels (see Figure 10. ). These
channels generate pulses of programmable duty cycle
with an 8-bit resolution.
The 8-bit counter counts modulo 256 by default i.e ..
from 0 to 255 inclusive but can count modulo 254 i.e ..
from 0 to 253 inclusive by programming the bit 0 of the
PWMCON register. The counter clock is supplied by the
oscillator frequency. Thus, the repetition frequency
fpwm is constant and equals to the oscillator frequency
divided by 256 or 254 (fpwm=46.875KHz or
47.244KHz with a 12MHz oscillator). The 8-bit counter
is common to all PWM channels. its value is compared
to the contents of the twelve registers: PWMO to
PWM II. Provided the content of each of these registers
is greater than the counter value, the corresponding
output is set low. If the contents of these registers are
equal to, or less than the counter value the output will be
high.

The pulse-width ratio is therefore defined by the
contents of these registers, and is in the range of 0 (all '0'
written to PWM register) to 255/256 or I (all' I ' written
to PWM register) and may be programmed in
increments of 1/256 or 1/254. When the 8-hit counter
counts modulo 254, it can never reach the value of the
PWM registers when they are loaded with FEh or FFh.

II

PWMx: Pulse Width Modulator x Register
LSB

MSB
D7

D6

D5

D4

When a compare register (PWMO to PWMII) is loaded
with a new value, the associated output is updated
immediately. It does not have to wait until the end of the
current counter period. All the PWM outputs are
open-drain outputs with standard current drive and
standard maximum voltage capability. When they are
disabled, eight of them (PWMO to PWM7) are in high
impedance while the other four (PWM8 to PWMll) are
standard Port outputs with internal pullups.

D3

D2

Dl

DO

Table 4. PWM SFR register addresses

....

Channel

SFR. address

PWMO

ECh

PWMI

EDh

PWM2

EEh

PWM3

EFh

PWMO to PWMII are write only registers. Their value
after reset is OOh.

PWM4

F4h

PWM5

F5h

PWMO to PWMll are using TSC8051Cl Special
Function Registers addresses as detailed in Table 4.

PWM6

F6h

PWM7

F7h

PWMS

FCh

PWM9

FDh

PWMlO

FEh

PWMll

FFh

Two 8-bit control registers: MXCRO and MXCRI are
used to enable or disable PWM outputs.
MXCRO is used for PWMO to PWM7. MXCRI is used
for PWM8 to PWMll, these PWMs are multiplexed
with PORT 1 (see Table 5. )

MATRAMHS
Rev. D (14 Jan. 97)

II.7.15

TEMIC

TSC8051Cl

Semiconductors

MXCRO: PWM Multiplexed Control Register 0

'. cN. . . jnn
. •· • .·. ·~.~.c.d
. .··.~.·.lmu.:
. . ~o... ,i.··.. ·......
:
~ :~ " ~
"

PEx

MXCRO.x

,

PWMx Enable bit. Setting this bit enables PWMx output. Clearing this bit disables
PWMxoutput.

MXCRI: PWM Multiplexed Control Register I
MSB

LSB

SFRD7h
PEll

PElO

PE9

PES

synibol
PEx

MXCRl.x

PWMx+x Enable bit. Setting this bit enables PWMx output. Clearing this bit disables
PWMx output and activates the 1/0 pin (sec Table 5).

MXCRO and MXCRI are read/write registers. Their
value after reset is OOh which corresponds to all PWM
disabled.
PWM will not operate in idle and power down modes
(frozen counter). When idle or power down mode is
entered, the PWMO to PWM7 output pins are floating
and PWM8 to PWM I I pins are set to general purpose PI
port with the value of PI SFR.
MXCRO and MXCRI are using TSC8051CI Special
Function Register addresses, E7h and D7h respectively.

Table 5. PWM alternate pin.

PWM8

PLO

PWM9

Pl.l

PWMIO

P1.2

PWMll

P1.3

PWMCON is used to control the PWM counter.

PWMCON: PWM Control Register
MSB

SFRDFh

LSB
CMOD

CMOD

PWMCON.O

Counter modulo. Setting this bit sets the modulo to 254. Clearing this bit sets the
modulo to 256.

PWMCON is a write only register. Its value after reset
is OOh which sets the PWM counter modulo to 256.
PWMCON is using TSC8051Cl Special Function
Register address, DFh.

11.7.16

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

Note: when packaging P2,X is selected, PWMO to
PWM7 are not available. Please refer to ordering
information.

Internal

7.3. Controlled
Outputs

PWMX

HSYNC

and

VSYNC

SOCR is used to configure P3.3 and P3.5 pins as
buffered HSYNC and VSYNC outputs or as general
purpose I/Os. When either HSYNC or VSYNC is
selected, the output level can be respectively
programmed as P3.4 or P3.2 input level (inverted or
not), or as a low level if not enabled. Figure 12. shows
the programmable HSYNC and VSYNC output block
diagram.

Figure 10. Pulse width modulated outputs block
diagram

Figure II. shows a PWM programming example with
PWM register content 55h and counter modulo 256.

k-- 55h

f/,~~t

i.>

. ....

CR2

CRI

CRO

6MHz

0

0

0

0

0

1

0

1

0

1

I

0

....,....... '... ,...;, ... :;;J:::~':
...... c:v · -/""~
'.

ii:';,; '. .,. •. . ',:.;:,,;,.·.··l·::'··:~:·:

12MHz

rose divided by

23.5

47

256

27

53.5

224

0

31.25

62.5

192

I

37.5

75

160

0

6.25

12.5

960

I

0

1

50

100

120

1

1

0

100

-

60

1

I

I

0.25<62.5

0.5<62.5

Timer 1 overflow
96 x (256 - reload value)
value: 0-254 in mode 2

S I STA contains a status code which reflects the status
of SIOI and the I2C bus. The three least significant bits
are always zero. The five most significant bits contains
the status code. There are 12 possible status code. When
SISTA contains F8h, no relevant state information is
available and no serial interrupt is requested. A valid
status code is available in SISTA one machine cycle
after SI is set by hardware and is still present one
machine cycle after SI has been reset by software.
Table 7. to Table 9. give the status for the operating
modes and miscellaneous states.
SISTA: Synchronous Serial Status Register
MSB

SFRD9h

SC4

SC3

SC2

SCI

o

SCO

SISTA.3

Status Code bit O.

SCI

SISTA.4

Status Code bit I.

SC2

SISTA.5

Status Code bit 2.

SC3

SISTA.6

Status Code bit 3.

SC4

SISTA.7

S 1STA is a read only register. Its value after reset is F8h.

11.7.20

LSB
SCO

o

o

Status Code bit 4.

SlSTA is using TSC8051CI Special Function Register
address, D9h.

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

Table 7. Status for master transmitter mode .

Table 9. Status for miscellaneous states

.. •. . Status. ot12c bus ·a.nd SIOlhardware

Status\:ode

08h

A START condition has been transmitted.

OOh

Bus error.

IOh

A repeated START condition has been
transmitted

F8h

No relevant state information available.

18h

SLA+W has been transmitted; ACK has been

S I DAT contains a byte of serial data to be transmitted or
a byte which has just been received. It is addressable
while it is not in process of shifting a byte. This occurs
when SIOI is in a defined state and the serial interrupt
flag is set. Data in S I DAT remains stable as long as SI
is set. While data is being shifted out, data on the bus is
simultaneously shifted in; SIDAT always contains the
last byte present on the bus.

received.

SLA+ W has been transmitted; NOT ACK has

20h

been received.

28h

Data byte has been transmitted; ACK has been
received.

30h

Data byte has been transmitted; NOT ACK has
been received.

38h

Arbitration lost in SLA+R/W or data bytes.

Table 8. Status for master receiver mode

. ··.Uti·.()U2Cbu~.;ln~$~Ol~ar-<
ADDRESS
OR SFR-P2

TWLWH

T

/

~TQVWX
AO-A7

T\VHQX~

TQVWH

I.--TLLA'::::!i

DATA OUT

i

TAVWL

)<

ADDRESS AS-A 15 OR SFR P2

8.8. External Data Memory Read Cycle
TWHLH~

I+------TLLDV-------.J

ALE

!

TLLWL-__*------+TRLRH------~

PORTO
TRLAZ

PORT 2

ADDRESS
OR SFR-P2

8.9. Serial Port Timing-Shift Register Mode

TXLXL

Serial port clock cycle time

TQVHX
TXHQX

12TCLCL

ns

Output data set-up to clock rising edge

I OTCLCL-I 33

ns

Output data hold after clock rising edge

2TCLCL-1l7

ns

TXHDX

Input data hold after clock rising edge

TXHDV

Clock rising edge to input data valid

1I.7.26

0

ns
IOTCLCL-133

ns

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

8.10. Shift Register Timing Waveforms
4

INSTRUCTION
ALE

CLOCK

OUTPlITDATA

+

WRITE to SBUF
INPUT DATA

+

CLEARRI

8.11. SIOI (I2C) Interface Timing

I···.\ 14 TCLCL

> 4.0fts

Tww

SCL low time

;> 16 TCLCL

> 4.7fts (Ii

THIGH

SCL high time

;> 14 TCLCl.

> 4.0fts

TRC

SCL rise time

,; I fts

Tec

SCL rail time

,; O.3fts

Tsu.DATI

Data set-up time

;> 250ns

III

(I)

_ (2)

< O.3fts

(3)

> 20 TCLCL - TRD
> Ifts

Tsu.DAT2

SDA set-up time (before repeated START condition)

;> 250ns

Tsu, DAT3

SDA set-up time (before STOP condition)

;> 250ns

> 8 TeLCL

THD,DAT

Data hold time

:?: Ons

> 8 TCLCL - Tec

(I)

Tsu; STA

Repeated START set-up time

;> 14 TCLCL

>4.7fts

(I)

TS(J, STO

STOP condition set-up time

;> 14 TCLCL

> 4.0fts

(I)

TBU!'

Bus free time

;> 14 TeLeL

>4.7fts

(I)

TRD

SDA rise time

,; Ifts

TFD

SDA rail time

,; O.3fts

_(2)

< O.3fts

(3)

Notes:

1. At 100 kbitls. At other bit-rates this value is inversely proportional
to the bit-rate of lOa kbitls.
2. Determined by the external bus-line capacitance and the external
bus-line pull-up resistor, this must be < l~s.

MATRAMHS
Rev. D (14 Jan. 97)

3. Spikes on the SDA and SCL lines with a duration of less than 3
TCLCL will be filtered out. Maximum capacitance on bus-lines
SDA and SCL = 400pF.

II.7.27

TEMIC

TSC8051Cl

Semiconductors

8.12. SI01 (12C) Timing Waveforms

SDA
(INPUT/OUTPUT)

SCL

(INPUT/OUTPUT)

8.13. External Clock Drive Characteristics (XTAL1)
Synibol

,.

Para).'lleter

TCLCL

Oscillator Period

TCHCX

' Max·

Min

Units

83,3

ns

High Time

5

os

TeLCX

Low Time

5

TCLCH

Rise Time

5

os

TCHCL

Fall Time

5

os

ns

8.14. External Clock Drive Waveforms
VCC-~O'5V
.,.,. ..
O.7Vcc

OA5V

-

O,2V cc-D, 1

LTCHCX

TCI-ICL

~TCLCX

~TCLCI-l

_ _ _ _ _ TCLCL _ _ _ _ _ _~

1oII~1--

8.15. AC Testing Input/Output Waveforms
Vee -0.5 V
INPUT/OUTPUT
OA5 V

X~O_'2_VC_C_+O_'9
0.2 Vee-O.l

>C-

______

--~

AC inputs during testing are driven at Vee - 0.5 for a
logic "1" and 0.45V for a logic "0". Timing
measurement are made at VIH min for a logic "1" and
VIL max for a logic "0".

II.7.28

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

8.16. Float Waveforms
FLOAT

1 + - - - - - FLOAT
VOH - 0.1 V

VLOAO

.VOL+O.I V

I -V-L-O-A-O-+-O.I V
.VLOAO-O.I V

For timing purposes as port pin is no longer floating
when a 100 mV change from load volt~ge occurs and
begins to float when a 100 mV change from the loaded
VOHIVOL level occurs. IOLIIOH ;,. ± 20mA.

MATRAMHS
Rev. D (14 Jan. 97)

B

II.7.29

TEMIC

TSC8051Cl

Semiconductors

8.17. Clock Waveform
INTERNAL
CLOCK

STATE4

STATE5

STATE6

STATE I

STATE2

STATE3

STATE4

STATES

PI

PI

PI

PI

PI

PI

PI

PI

I P2

I P2

I P2

I P2

I P2

I P2

I P2

I P2

XTAL2
ALE

EXTERNAL PROGRAM MEMORY FETCH
PSEN
PO

P2 (EXT)

INDICATES ADDRESS TRANSITIONS

REAP CYCLE
RD
PCL OUT (IF PROGRAM
MEMORY IS EXTERNAL)

OOH IS EMITTED
r-;===."".;D;;;U:..:R::;ING THIS PERIOD
PO

DPL OR Rt OUT

i

I

1~-+-~----------------~S~MPL.g~Drr-----------~
fi5A'i'Al

\4.......I'-r~*I.._ _ _ _ _ FLOAT

~I

•

L

INDICATES DPH OR P2 SFR TO PCH TRANSlTlON

P2

WRITE CYCLE
WR

PO

DPL OR Rt OUT
I--------------DATA OUT

ioIl
..

INDICATES DPH OR P2 SFR TO PCH TRANSlTlON

P2

PORT OPERATION
MOVPORTSRC

OLD DATA

I NEW DATA

__________.....I~INS SAMPLED
I+L+I
MOV DEST _PO
MOV DEST P_O_R_T_(_P_I._P_2._P_3)______--'~P2, P3 PINS SAMPLED
I+L+I
(INCLUDES INTO. INTI. TO TI)
SERIAL PORT SHIFT CLOCK

~

______________~___
RX~DSAMPLED
TXD (MODE_0)
_

This diagram indicates when signals are clocked
internally. The time it takes the signals to propagate to
the pins, however, ranges from 25 to 125ns. This
propagation delay is dependent on variables such as
temperature and pin loading, Propagation also varies

11.7.30

PO PINS SAMPLEQL-______
PI, P2, P3 PINS SAMPLE~

"O"M'~
from output to output and component. Typically though
(TA=25°C fully loaded) RD and WR propagation delays
are approximately 50ns, The other signals are typically
85ns. Propagation delays are incorporated in the AC
specifications.

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

TSC8051Cl

Semiconductors

9. Ordering Information
12

xxx

StCt

TSC

-A

T

t6

C

T

Part Number
8051 C 1: Romless version
5ICI: 8Kx8 Mask ROM

-12: 12 MHz version
-16: 16 MHz version

Bounding Option
-none: 12 PWM
-A : 4 PWM & P2x
Customer Rom Code
TEMIC Semiconductor
Microcontroller Product Line

...... ··ParfN~mbel'

......

... .....

••••••

... .

...

R

T

Packaging
A: PDIL40
B: PLCC44
C: PQFP44
D: SSOP44
E: PLCC 52
G: CDIL40
H: LCC44
I: CQPJ 44

Temperature Range
C : Commercial 0 0 to 70°C
I : Industrial -40° to 85°C

Examples

I···.··.··..• ·

B

B

Conditioning
R : Tape & Reel
D: Dry Pack
B : Tape & Reel
and Dry Pack

Description
•

•••

....

TSC5IClXXX-12CA

Mask ROM XXX, 12 MHz, POlL 40, 0 to 70°C

TSC8051CI-16CER

ROMless, 16 MHz, PLCC 52, 0 to 70°C, Tape and Reel

ANM059

Application Note: "How to recognize video mode and generate free running
synchronization signals using TSC805J Cl/C2 Microcontroller"

IM-80C5J-RB-400-40

Emulator Base

PC-TSC805ICI-RB-16

Probe card for TSC8051 C I. These products are released by Metalink. Please consult the
local tools distributor or your sales office.

Product Marking:
TEMIC
Customer PIN
Temic PIN
© Intel 80, 82
YYWW Lot Number

MATRAMHS
Rev. D (14 Jan. 97)

II.7.31

TEMIC

TSC8051C2

Semiconductors

8-Bit Microcontroller for Digital Computer Monitors

1. Introduction
The TSC8051 C2 is a stand-alone high performance
CMOS 8-bit embedded microcontroller and is designed
for use in CRT monitors. It is also suitable for automotive
and industrial applications.

In addition, the TSC8051 C2 has 2 software selectable
modes of reduced activity for further reduction in power
consumption. In the idle mode the CPU is frozen while
the RAM, the timers, the serial ports, and the intermpt
The TSC8051 C2 includes the fully static 8-bit "80C51" system continue to function. In the power down mode the
CPU core with 256 bytes of RAM; 4 Kbytes of ROM; two RAM is saved and all other functions are inoperative.
l6-bit timers; 12 PWM Channels; a 5 sources and 2-level The TSC8051 C2 enables the users reducing a lot of
intermpt controller; a full duplex serial port; a watchdog external discrete components while bringing the
timer; power voltage monitor and on-chip oscillator.
maximum of flexibility.

2. Features
•

Boolean processor

•

Fully static design

•

4K bytes of ROM

•

256 bytes of RAM

•

2 x 16-bit timer/counter

•

Programmable serial port

•

•

•

2 power saving control modes:
•
•

Idle mode
Power-down mode

•

SYNC Processor
• Controlled HSYNC & VSYNC outputs
• Controlled HSYNC & VSYNC inputs
• Clamp pulse output

5 intermpt sources:
• External intcrmpts (2)

•

Up to 12 programmable PWM channds with 8-bit
resolution

•

Timers interrupt (2)

•

•

Serial port intermpt

Up to 32 programmable I/O lines depending on the
package

•

40 pins DIP, 44 pins PQFP, 44 and 52 pins PLCC
packages

•

Commercial and industrial temperature rangcs

•

Operating Frequency: 12 MHz to 16 MHz

Watchdog reset

•

Power Fail reset

•

On chip oscillator for crystal or ceramic resonator

MATRAMHS
Rev. A (10 Jan. 97)

11.8.1

Preview

TEMIC

TSC8051C2

Semiconductors

3. Block Diagram

TI

TO INTO

~
----_ ..

-

... _._--

~

TWO I6--BIT
TIMER/EVENT
COUNTER

~
~
~

, ;.

~
~
:

[~L.

:

<

AS-IS

80C51 CORE L
EXCLUDING
ROM/RAM

.L ..... 1. .....

.

, 7'

L

,.

,

;.

L

v

PARALLEL 110
PORTS AND
EXTERNAL BUS

SERIAL
UART
PORT

,

DATA
MEMORY
256x 8 RAM

:
:

<

:
:

L

,.

7'

~

,

7'

POWER
VOLTAGE
MONITOR

~~ : ~ :~ i'j~
PO

PI

P2

~

TxD

~ ALTERNATE FUNCTION OF PORTO

[Q ALTERNATE FUNCTION OF PORT I

~~

.... .. _.- -_ ....

SPECIAL
EXTERNAL
INPUTS

:..

".

WATCHDOG
TIMER

-----

CPO

I.~

I

:

".

, 7'

... ...

I:
PROGRAM
MEMORY
4k x 8 ROM

CPU

VSS

8-BIT INTERNAL BUS

~-~
:

~

TO

~

~

VCC

RxD

L

,.

CLAMP
PULSE

L

,.

~

, 7'
12 x 8-bit PWM
CHANNELS

CONTROLLED
HSYNC & VSYNC
OUTPUTS

........ (Ii... l'l l'l l'lli'j
PWMO

PWM8

PWM7

PWMII

VSYNC
HSYNC
VOUT
HOUT

o

ALTERNATE FUNCTION OF PORT2

~ ALTERNATE FUNCTION OF PORT3

Figure 1. TSC8051C2 block diagram.

MATRAMHS

11.8.2

Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

4. Pin Configurations
u

- 0''''''

0 ~ ~~ ~
(,,!
~~

"" ::: :::::: :::

PI.OIPWM8

VCC

PI.I/PWM9

PO.O/ADO

P1.2/PWMIO

PO.I/ADI

PI.3/PWMII

PO.2/AD2

":

~

~-:

~

0:: 0:: 0:0: 0::

INDEX
CORNER

U 0

u u
Z

>

0

N

ci ci '"
ci

"" "" "" ""

PI,4/CPO

PO.3/ADJ

PI.S

PI.S

P0,4/AD4

PI.6

POS

Pl.6

PO.S/ADS

PI.7

PO.6

PI.7

PO.6/AD6

RST

EA

P3.lrrXD

ALE

P3.2/INTO/VSYNC

PO.7

RST

PO.7/AD7

P3.0/RXD

PDA

EA

PJ.O/RXD
NC

NC

PLCC44

P3.I/TXD

PSEN

P3.3/INT l/VOUT

PWM7"

P3.4/TO/HSYNC

PWM6*

P3.S/TI/HOUT

PWM5

P3.6/WR

PWM4

P3.7/RD

PWMJ

XTAL2

PWM2

XTALI

PWM1"

VSS

PWMO"

ALE

P3.2/1NTO/VSYNC
PWM7"
PWM6"

~.

PWM5*

ii

Cii
Cij'
Cia

PSEN

29'

PWMS'"

~Jl,8~~LrLTLfCJ~~rLrLf>i~~

PWM7'"
PWM6'

*PWMx or P2.x depending on option (see ordering information)
0

0

INDEX
CORNER

u

Z

~

'"

00

~ ~ ~

::: :::
"" :::e: ::: S
~
~ ~

'"

0:: 0:: 0:: 0:: 0::

u
u u
Z

>

C

ci ci

N

cr,

"" "" "" "" ""

7:.6 ' S : 4 3 : 2 I ' 5 ? 'SiSQ494&
NC

.".

ci ci ci

e·,

PI.S
PI.6
P1.7

~7

,:4'

PO.5

,:4'

PO.6

,'4'
,:4'

EA

PO.7

ALE

RST

PSEN

P3.0/RXD
PLCC 52

'J.'

P2.7

P3.2/INTO/vSYNC

,j'

PWM7

P3.3/INT I /VOUT

,j'

P2.6

P3,4/TO/HSYNC

''.f

PWM6

P3.5/T I /HOUT

,j'

P2.S

NC

,j'

PWMS

P3.IITXD

PWM4

P3.6/WR

Figure 2. TSC8051C2 pin configurations.

11.8.3

MATRAMHS
Rev. A (10 Jan. 97)

Preview

B

TEMIC

TSC8051C2

Semiconductors

s. Pin Description
VSS

PORT 2 (P2.0-P2.7)

Circuit ground.

Port 2 is an 8-bit bidirectional 110 port with internal
pullups. Port 2 pins that have I's written to them are
pulled high by the internal pull ups, and in that state can
be used as inputs. As inputs, Port 2 pins that are
externally being pulled low will source current (IlL on
the data-sheet) because of the internal pull ups.

vee
Power supply voltage.

RST
A high level on this pin for two machine cycles while the
oscillator is running resets the device. An internal
pull down resistor permits power-on reset using only a
capacitor connected to VCe.

Port 2 emits the high-order 8-bit address during fetches
from external Program Memory and during accesses to
external Data Memory that use 16-bit addresses. In this
application it uses strong internal pull-up when emitting
I's.
Port 2 can sink and source 3 LS TTL loads.

PORT 0 (PO.O-PO.7)
Port 0 is an 8-bit open-drain bidirectional VO port. Port

opins that have I 's written to them float, and in that state
can be used as high-impedance inputs.

Port 0 is also the multiplexed low-order address and data
bus during access to external Program and Data memory.
In this application it uses strong internal pull-up when
emitting l's.
Port 0 can sink and source 8 LS TTL loads.

PORT 3 (P3.0-P3.7)
Port 3 is an 8-bit bidirectional I/O port with internal
pullups. Port 3 pins that have I's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port 3 pins that are
externally being pulled low will source current (IlL on
the data-sheet) because of the internal pullups.
Each line on this port has 2 or 3 functions either a general
110 or special control signal, as listed below:

PORT 1 (P1.0-P1.7)
Port 1 is an 8-bit bidirectional 1/0 port with internal
pUllups. Port 1 pins that have 1's written to them are
pulled high by the internal pullups, and in that state can
be used as inputs. As inputs, Port 1 pins that are
externally being pulled low will source current (IlL on
the data-sheet) because of the internal pullups.
Port 1 also serves 4 programmable PWM open drain
outputs and programmable open drain CPO, as listed
below:

Pl.O

PWM8: Pulse Width Modulation output 8.

Pl.l

PWM9: Pulse Width Modulation output 9.

Pl.2

PWMlO: Pulse Width Modulation output 10.

PI.3

PWM II: Pulse Width Modulation output II.

PI.4

CPO: Clamp Pulse Output.

Port 1 can sink and source 3 LS TTL loads.

P3.1

TXD: serial output port.

P3.2

INTO: external interrupt O.
VSYNC: vertical synchro input.

P3.3

INTI: external interrupt l.
VOUT: buffered V-SYNC output.

P3.4

TO: Timer 0 external input.
HSYNC: horizontal syncbro input.

P3.5

Tl: Timer 1 external input.
HOUT: buffered H-SYNC output.

P3.6

WR: external data memory write strobe.

P3.7

RD: external data memory read strobe.

Port 3 can sink and source 3 LS TTL loads.

PWM0-7
These eight Pulse Width Modulation outputs are true
open drain outputs and are floating after reset.

11.8.4

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

ALE
The Address Latch Enable output signal occurs twice
each machine cycle except during external data memory
access. The negati ve edge of ALE strobes the address
into external data memory or program memory. ALE
can sink and source 8 LS TTL loads.

The Program Store Enable output signal remains high
during internal program memory. An active low output
occurs during an external program memory fetch. PSEN
can sink and source 8 LS TTL loads.

If desired, ALE operation can be disabled by setting bit
o of SFR location AFh (MSCON). With the bit set, ALE
is active only during MOVX instruction and external
fetches. Otherwise the pin is pulled low.

XTALl
Input to the inverting oscillator amplifier and input to the
external clock generator circuits.

XTAL2
When the External Access input is held high, the CPU
executes out of internal program memory (unless the
Program Counter exceeds lFFFh). When EA is held low
the CPU executes only out of external program memory.
must not be left floating.

Output from the inverting oscillator amplifier. This pin
should be non-connected when external clock is used.

1I.8.5

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

6. Basic Functional Description

~1

6.1. Idle And Power Down Operation
Figure 3 shows the internal Idle and Power Down clock
configuration. As illustrated, Power Down operation
stops the oscillator. Idle mode operation allows the
interrupt, serial port, and timer blocks to continue to
operate while the clock to the CPU is gated off.

XTAL2

XTALI

H----

These special modes are activated by software via the
Special Function Register, its hardware address is 87h.
PCON is not bit addressable.

INTERRUPT
SERIAL PORT
TIMER BLOCKS
CPU

Figure 3. Idle and Power Down Hardware.
PCON: Power Control Register
SFR87h

MSB
SMOD

PFRE

LSB
GFl

GFO

PD

IDL

IDL

PCON.a

PD

PCON.l

Power Down bit. Setting this bit activates power down operation.

GFO

PCON.2

General-purpose Hag bit.

GFl

PCON.3

General-purpose flag bit.

PFRE

PCONA

Power Fail Reset Enable bit. Setting this bit enables the power voltage monitor. The
only way to clear this bit is to apply an external reset.

PCON.5

(Reserved).

PCON.6

(Reserved).

PCON.7

Double Baud rate bit. Setting this bit causes the baud rate to double when the serial port
is being used in either modes 1, 2 or 3.

SMOD

Idle mode bit. Setting this bit activates idle mode operation.

If l's are written to PD and IDL at the same time, PD takes precedence. The reset value of PCON is OXXO OOOOb.
6.1.1. Idle Mode
The instruction that sets PCON.O is the last instruction
executed before the Idle mode is activated. Once in the
Idle mode the CPU status is preserved in its entirety: the
Stack Pointer, Program Counter, Program Status Word,
Accumulator, RAM, and all other register maintain their
data during Idle Table I describes the status of the
external pins during Idle mode.
There are two ways to terminate the Idle mode.
Activation of any enabled interrupt will cause PCON.O
to be cleared by hardware terminating Idle mode. The
interrupt is serviced, and following RET!, the next
instruction to be executed will be the one following the
instruction that wrote I to PCON.O.

The t1ag bits GFO and GFI may be used to determine
whether the interrupt was received during normal
execution or during the Idle mode. For example, the
instruction that writes to PCON.O can also set or clear
one or both t1ag bits. When Idle mode is terminated by
an enabled interrupt, the service routine can examine the
status of the flag bits.
The second way of
hardware reset. Since
hardware reset needs
cycles (24 oscillator
operation.

II.S.6

terminating the Idle is with a
the oscillator is still running, the
to be active for only 2 machine
periods) to complete the reset

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

6.1.2. Power Down Mode

The instruction that sets PCON.I is the last executed
prior to entering power down. Once in power down. the
oscillator is stopped. The contents of the onchip RAM
and the Special Function Register are saved during
power down mode. A hardware reset is the only way of
exiting the power down mode. The hardware reset
initiates the Special Function Register. In the Power
Down mode, VCC may be lowered to minimize circuit
power consumption. Care must be taken to ensure the
voltage is not reduced until the power down mode is
entered, and that the voltage is restored before the
hardware reset is applied which frees the oscillator.
Reset should not be released until the oscillator has
restarted and stabilized. Table I describes the status of
the external pins while in the power down mode. It
should be noted that if the power down mode is activated
while in external program memory, the port data that is
held in the Special Function Register P2 is restored to
Port 2. If the data is a I, the port pin is held high during
the power down mode by the strong pullup transistor.

•

Table 1. Status of the external pins during Idle and Power Down modes.

Idle

Internal

Port Data

Port Data

Port Data

Port Data

Floating

Idle

External

Floating

Port Data

Address

Port Data

Floating

Power Down

Internal

o

o

Port Data

Port Data

Port Data

Port Data

Floating

Power Down

External

o

o

Floating

Port Data

Port Data

Port Data

Floating

6.2. Stop Clock Mode

6.4. 110 Configurations

Due to static design, the TSC8051 C2 clock speed can be
reduced down to 0 MHz without any data loss in memory
or register. This mode allows step by step code
execution, and permits to reduce system power
consumption by bringing the clock frequency down to
any value. When the clock is stopped, the power
consumption is the same as in the Power Down Mode.

Figure 4. shows a functional diagram of the generic bit
latch and I/O buffer in each of the four ports. The bit
latch, (one bit in the port SFR) is represented as a D type
flip-flop. A 'write to latch' signal from the CPU latches
a bit from the internal bus and a 'read latch' signal from
the CPU places the Q output of the flip-flop on the
internal bus. A 'read pin' signal from the CPU places the
actual pin logical level on the internal bus.
Some instructions that read a port read the actual pin,
and other instructions read the latch (SFR).

6.3. 110 Ports Structure
The TSC8051C2 has four 8-bit ports. Each port consist
of a latch (special function register PO to P3), an input
buffer and an output driver. These ports are the same as
in 80C51, with the exception of the additional functions
of port 1 and port 3 (see Pin Description section).

II.8.7

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2
ADDR/DATA

Semiconductors

VCC

PWMX

INT.
BUS

INT.
BUS

WRITE
TO
LATCH

WRITE
TO
LATCH

VCC

I PORT I BIT

I PORT 0 BIT

* Internal pull-up not present on P 1.0 to P 1.4 when PWM8 to PWM [ I
and CPO are enabled

ADDR
CONTROL

ALTERNATE
OUTPUT
FUNCTION

VCC

INT.
BUS

INT.
BUS

WRITE
TO
LATCH

WRITE
TO
LATCH

VCC

IPORT 2 BIT
I PORT 3 BIT
Figure 4. Port Bit Latches and I/O buffers

6.5. Reset Circuitry
The reset circuitry for the TSC8051 C2 is connected to
the reset pin RST. A Schmitt trigger is used at the input
for noise rejection (see Figure 5. ).
A reset is accomplished by holding the RST pin high for
at least two machine cycles (24 oscillator periods) while
the oscillator is running. The CPU responds by
executing an internal reset. It also configures the ALE
and PSEN pins as inputs (they are quasi-bidirectional).
A Watchdog timer underflow or a power Fail condition
if enabled, will force a reset condition to the
TSC8051C2 by an internal connection.
The internal reset is executed during the second cycle in
which reset is high and is repeated every cycle until RST
goes low. It leaves the internal registers as follows:

11.8.8

ACC

OOh

B

OOh

DPTR

OOOOh

EICON

OOh

HWDR

OOh

IE

OXXO OOOOb

IP

XXXO OOOOb

MSCON

XXXXXXXOb

MXCRO-l

OOh

PO-P3

FFh

PC

OOOOh

PCON

OXXO OOOOh

PSW

OOh

PWMO-ll

DOh

PWMCON

XXXXXXXOh

SBUF

DOh

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

Rl!gister

Content

SCON

OOh

SOCR

OOh

SP

07h

TCON

OOh

THO, THI

OOh

TLO. TLI

()Oh

TMOD

OOh

6.6. Oscillator Characteristics
XTAL I and XTAL2 are respectively the input and
output of an inverting amplifier which is configured for
usc as an on-chip oscillator. As shown in Figure 7. ,
either a quartz crystal or ceramic resonator may he used.
To drive the device from an external clock source,
XTALl should he driven while XTAL2 is left
unconnected as shown in Figure 8.

The internal RAM is not affected by reset. At power-on
reset, the RAM content is indeterminate.

There are no requirements on the duty cycle of the
external clock signal, since the input to the internal
clocking circuitry is through a divide-hy-two t1ip-t1op.
The minimum high and low times specified on the data
sheet must be observed however.
XTAL2
XTALI

RST_o__---l
On-chip
resi~tor

1 - - - - - - - - - - 1 vss
RRST
Watchdog

Reset

Figure 7. Crystal Oscillator

L._ _ _ Power Fail
Reset

-----1

XTAL2

--------l

XTALi

NC
EXTERNAL
OSCILLATOR
SIGNAL

Figure 5. On-Chip Reset Configuration.

~"--------1 vss

An automatic reset can be obtained when VCC is turned
on by connecting the RST pin to VCC through a I~F
capacitor providing the VCC setting time does not
exceed I ms and the oscillator start-up time does not
exceed IOms. This power-on reset circuit is shown in
Figure 6. When power comes on, the current drawn by
RST starts to charge the capacitor. The voltage at RST
is the difference between VCC and the capacitor
voltage, and decreases from VCC as the capacitor
charges. VRST must remain above the lower threshold of
the Schmitt trigger long enough to effect a complete
reset. The time required is the oscillator start-up time,
plus 2 machine cycles.
VCC_-+_ _ _ _~

Figure 6. Power-on Reset Circuit

Figure 8. External Drive Configuration

6.7. Memory organization
The memory organisation of the TSC8051C2 is the same
as in the 80C51, with the exception that the TSC8051 C2
has 4k bytes ROM, 256 bytes RAM, and additional
SFRs. Details of the differences are given in the
following paragraphs.

In the TSC8051 C2, the lowest 4k of the 64k program
memory address space is filled by internal ROM.
Depending on the package used, external access is
available or not. By tying the EA pin high, the processor
fetches instructions from internal program ROM. Bus
expansion for accessing program memory from 4k
upward is automatic since external instruction fetches
occur automatically when the program counter exceeds
IFFFh. If the EA pin is tied low, all program memory
fetches are from external memory. The execution speed
is the same regardless of whether fetches are from
external or internal program memory. If all storage is
on-chip, then byte location OFFFh should be left vacant
to prevent an undesired pre-fetch from external program
memory address IOOOh.

11.8.9

MATRAMHS
Rev. A (10 Jan, 97)

Preview

I

TEMIC

TSC8051C2

Semiconductors

Certain locations in program memory are reserved for
specific purposes. Locations OOOOh to 0002h are
reserved for the initialisation program. Following reset,
the CPU always begins execution at location OOOOh.
Locations 0003h to 002Ah are reserved for the five
interrupt request service routines.
The internal data memory space is divided into a
256-bytes internal RAM address space and a 128 bytes
special function register address space.
The internal data RAM address space is 0 to FFh. Four
8-bit register banks occupy locations 0 to lFh. 128 bit
locations of the internal data RAM are accessible
through direct addressing. These bits reside in 16 bytes
of internal RAM at location 20h to 2Fh. The stack can
be located anywhere in the internal data RAM address
space by loading the 8-bit stack pointer (SP SFR).

The SFR address space is 100h to IFFh. All registers
except the program counter and the four 8-bit register
banks reside in this address space. Memory mapping of
the SFRs allows them to be accessed as easily as internal
RAM, and as such, they can be operated on by most
instructions.The mapping in the SFR address space of
the 40 SFRs is shown in Table 2. The SFR names in
italic are TSC8051C2 new SFRs and are described in
Peripherals Functional Description section. The SFR
names in bold are bit addressable.

Table 2. Mapping of Special Function Register

1·····.·.·• Jl:8/·.

......·E;O .•.

ACC

PWMO

PWMJ

PWM2

EfCON

SOCR

HWDR

PWM3
MXCRO
PWMCON

psw

MXCRJ

.i 2 machine
cycles

Figure 11. Power Fail Reset timing diagram

7.3. Pulse Width Modulated Outputs
The TSC8051C2 contains twelve pulse width
modulated output channels (see Figure 10. ). These
channels generate pulses of programmable duty cycle
with an 8-bit resolution.

1I.8.14

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

The 8-bit counter counts modulo 256 by default i.e.,
from 0 to 255 inclusive but can count modulo 254 i.e.,
from 0 to 253 inclusive by programming the bit 0 of the
PWMCON register. The counter clock is supplied by the
oscillator frequency. Thus, the repetition frequency
fpwm is constant and equals to the oscillator frequency
divided by 256 or 254 (fpwm=46.875KHz or
47.244KHz with a 12MHz oscillator). The 8-bit counter
is common to all PWM channels, its value is compared
to the contents of the twelve registers: PWMO to
PWMII. Provided the content of each of these registers
is greater than the counter value, the corresponding
output is set low. If the contents of these registers are
equal to, or less than the counter value the output will be
high.

The pulse-width ratio is therefore defined by the
contents of these registers, and is in the range of 0 (all '0'
written to PWM register) to 255/256 or I (all' I' written
to PWM register) and may be programmed in
increments of 11256 or 1/254. When the 8-bit counter
counts modulo 254, it can never reach the value of the
PWM registers when they are loaded with FEh or FFh.

B

PWMx: Pulse Width Modulator x Register
MSB
D7

LSB
D6

D5

D4

When a compare register (PWMO to PWM II) is loaded
with a new value, the associated output is updated
immediately. It does not have to wait until the end of the
current counter period. All the PWM outputs are
open-drain outputs with standard current drive and
standard maximum voltage capability. When they are
disabled, eight of them (PWMO to PWM7) are in high
impedance while the other four (PWM8 to PWMll) are
standard Port outputs with internal pullups.

D3

D2

Dl

DO

Two 8-bit control registers: MXCRO and MXCR I are
used to enable or disable PWM outputs.
MXCRO is used for PWMO to PWM7. MXCRI is used
for PWM8 to PWM II, these PWMs are multiplexed
with PORT I (see Table 5. )

PWMO to PWMII are write only registers. Their value
after reset is OOh.
PWMO to PWMll are using TSC8051C2 Special
Function Registers addresses as detailed in Table 4.

Table 4. PWM SFR register addresses
Cham'lel.,

SFRaddress

PWMO

ECh

PWMI

EDh

PWM2

EEh

PWM3

EFh

PWM4

F4h

PWM5

F5h

PWM6

F6h

PWM7

F7h

PWM8

FCh

PWM9

FDh

PWMIO

FEh

PWMII

FFh

MATRAMHS
Rev. A (10 Jan. 97)

II.S.15

Preview

TEMIC

TSC8051C2

Semiconductors

MXCRO: PWM Multiplexed Control Register 0
MSB

..

Symbol
PEx

Na~e

position
MXCRO.x

and Function·.

PWMx Enable bit. Setting this bit enables PWMx output. Clearing this bit disables
PWMx output.

MXCRI: PWM Multiplexed Control Register 1
MSB

SFRD7h

LSB
PEll

PElO

PE9

PE8

Symbol

Position

Name aq.d Function

PEx

MXCRI.x

PWMx+8 Enable bit. Setting this bit enables PWMx output. Clearing this bit disables
PWMx output and activates the 110 pin (see Table 5).

MXCRO and MXCR I are read/write registers. Their
value after reset is OOh whieh corresponds to all PWM
disabled.

Table 5. PWM alternate pin.

PWM will not operate in idle and power down modes
(frozen counter). When idle or power down mode is
entered, the PWMO to PWM7 output pins are floating
and PWM8 to PWMll pins are set to general purpose PI
port with the value of PI SFR.
MXCRO and MXCRI are using TSC8051C2 Special
Function Register addresses, E7h and D7h respectively.

Channel

Pin assignll1Cnt

PWM8

Pl.O

PWM9

Pl.I

PWMIO

PI.2

PWMll

P1.3

PWMCON is used to control the PWM counter.

PWMCON: PWM Control Register
MSB

LSB

SFRDFh

CMOD

Symbill
CMOD

..

....
PWMCON.O

...

Counter modulo. Setting this bit sets the modulo to 254. Clearing this bit sets the
modulo to 256.

PWMCON is a write only register. Its value after reset
is OOh which sets the PWM counter modulo to 256.
PWMCON is using TSC8051C2 Special Function
Register address, DFh.

11.8.16

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

Figure 13. shows a PWM programming example with
PWM register content 55h and counter modulo 256.

{j

Internal

SSh

PWMX

-~------11L --

~ABh=1

Figure 13. PWM programming example.
Note: when packaging P2.x is selected, PWMO to
PWM7 are not available. Please refer to ordering
information.

Figure 12. Pulse width modulated outputs block
diagram

7.4. SYNC Processor
7.4.1. HSYNC and VSYNC Outputs
SOCR is used to configure P3.3 and P3.5 pins as
buffered HSYNC and VSYNC outputs or as general
purpose IIOs. When either HSYNC or VSYNC is
selected, the output level can be respectively
programmed as P3.4 or P3.2 input level (inverted or
not), or as a low level if not enabled. Figure 14. shows
the programmable HSYNC and VSYNC output block
diagram.
SOCR: Syncbronisation Output Control Register.

LSB

SFRESh

MSB
VOS

Syinbol

Position

HOE

SOCR.O

HOS

VOP

VOE

HOP

HOE

Name and Function
HSYNC Output Enable bit. Setting this bit enables the HSYNC signal.

HOP

SOCR.1

HSYNC Output Polarity bit. Setting this bit inverts the HSYNC output.

VOE

SOCR.2

VSYNC Output Enable bit. Setting this bit enables the VSYNC signal.

VOP

SOCR.3

VSYNC Output Polarity bit. Setting this bit inverts the VSYNC output.

HOS

SOCR.4

HSYNC Output Selection bit. Setting this bit selects the VSYNC output. clearing it selects
P3.5 SFR bit.

VOS

SOCR.5

VSYNC Output Selection bit. Setting this bit selects the VSYNC output, clearing it selects
P3.3 SFR bit.

CPE

SOCR.6

Clamp Pulse Enable bit. Setting this bit enables the CPO output.

CPP

SOCR.7

Clamp Pulse Polarity bit. Setting this bit selects positive clamp pulses, clearing it selects
negative clamp pulses.

SOCR is a write only register. Its value after reset is OOh
which enables P3.3 and P3.5 general purpose 1/0 pins.

SOCR is using TSC805lC2 Special Function Register
address, E5h.

II.8.17

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

P3.5/HOUT

PIN

P3.3IVOUT

PIN

Figure 14. Buffered HSYNC and VSYNC block
diagram

7.4.2. HSYNC and VSYNC Inputs
EICON is used to control INTOVSYNC input. Thus, an
interrupt on either falling or rising edge and on either
high or low level can be requested. Figure IS. shows the
programmable INTO/vSYNC input block diagram.
EICON is also used to control TO/HSYNC input as short
pulses input capture to be able to count them with timer
O. Pulse duration shorter than 1 clock period is rejected;
depending on the position of the sampling point in the
pulse, pulse duration longer than 1 clock period and
shorter than 1.5 clock period may be rejected or
accepted; and pulse duration longer than 1.5 clock
period is accepted. Moreover selection of negative or
positive pulses can be programmed.
Accepted pulse is lengthened up to I cycle period to be
sampled by the 8051 core (one time per machine cycle:
12 clock periods), this implies that the maximum pulse
frequency is unchanged and equal to foscl24.
Figure 16. shows the programmable TO/HSYNC input
block diagram. The Digital Timer Delay samples
TO/HSYNC pulses and rejects or lengthens them.

EICON: External Input Control Register
MSB

SFRE4h

LSB
TOL

IOL

TOS

IOL

EICON.O

INTOIVSYNC input Level bit. Setting this bit inverts INTOIVSYNC input signal.
Clearing it allows standard use of INTOIVSYNC input.

TOS

ElCON.l

TO/HSYNC input Selection bit. Setting this bit allows short pulse capture. Clearing it
allows standard use of TO/HSYNC input.

TOL

EICON.2

TO/HSYNC input Level bit. Setting this bit allows positive pulse capture. Clearing it

allows negative pulse capture.

EICON is a write only register. Its value after reset is OOh
which allows standard INTO and TO inputs feature.
EICON is using TSC8051C2 Special Function Register
address, E4h.
TOL
INTO

fose

Figure 16. TO/HSYNC input block diagram

lOL

Figure 15. INTO/vSYNC input block diagram

11.8.18

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

7.4.3. Clamp Pulse Output
The TSCS05lC2 provides fully programmable clamp
pulse output to pre-amplifier IC. User can program a
pulse with positive or negative polarity at either the
falling or rising edge of the HSYNC signal depending on
its polarity.

The clamp pulse duration depends on the oscillator
frequency by the following formula:
Tcpo = (I/fosc ) X 7.5 ± (l/foscl/2
(542ns ± 42ns at fose = 12 MHz)

Figure 17. shows the CPO block diagram. CPE bit in
SOCR is used to configure P 1.4 pin as general purpose
I/O or as open drain clamp pulse output, so enables the
CPO. CPP bit in SOCR is used to select the clamp pulse
signal polarity. Depending on the HSYNC polarity
selected by the TOL bit, Clamp pulse is generated on the
falling edge (negative polarity) or on the rising edge
(positive polarity) as shown in Figure IS.

CPO/PIA
PIN

HSYNC

TOL

CPP

CPE

Figure 17. Clamp Pulse Output block diagram

HSYNC
TOL bit=1
CPO
cpp bit::::l

CPO
cpp bit=O

HSYNC
TOL bit=O

CPO
CPPbit=1
CPO
CPPbit=O

Figure 18. Clamp Pulse Output waveform

II.S.19

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

8. Electrical Characteristics
Absolute Maximum Ratings(l)
Operating Temperature:
Voltage on VCC to VSS .............. -O.SV to +7V
Commercial ........................ O°C to 70°C Voltage on Any Pin to VSS .... -O.SV to VCC + O.SV
Industrial ....................... -40°C to +8Soe
Power Dissipation ........................ I W(2l
Storage Temperature ............. -6Soe to + ISO°C
2. This value is based on the maximum allowable die temperate
and the thermal resistance of the package.

Notice:
I. Stresses above those listed under "Absolute Maximum
Ratings" may cause permanent damage to the device. This
is a stress rating only and functional operation of the device
at these or any other conditions above those indicated in the
operational sections of this specification is not implied.

Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.

8.1. DC Characteristics
TA
TA

= ooe to +70°C; VSS = OV; vce = sv ± 10%; F = 0 to 16MHz.
= -40 e to +8SoC; VSS = OV; vee = 5V ± 10%; F = 0 to 16MHz.
0

Symbol

Paral1l,ehlr"

TYp

M~x

Unit

0.2 Vee - 0.1

V

0.2 Vee + 0.9

Vee + 0.5

V

0.7 Vee

Vee + 0.5

V

Min

Test Conditions . '.

Inpnts
VfL

Input Low Voltage

VfH

Input High Voltage except XTALl. RST

VfHl

Input High Voltage, XTALl, RST

-0.5

ilL

Logical 0 Input Current ports I, 2 and 3

-50

flA

Yin = 0.45V

ILl

Input Leakage Current

±IO

~

0.45 < Yin < Vee

-650

flA

Yin = 2.0V

TBD

V

ITL
VLOW

Logical I to 0 Transition Current, ports 1, 2, 3
Power Fail Reset Low Voltage

TBD

3.5(5)

Ontputs
VOL

Output Low Voltage, ports 1,2,3,
PWMO-7(')

0.3
0.45
1.0

V
V
V

10L = 100flAl4)
IOL = 1.6mA(4)
IOL = 3.5mA(4)

VOLl

Output Low Voltage, port 0, ALE, PSEN (6)

0.3
0.45
1.0

V
V
V

IOL = 2OOflA(4)
[01. = 3.2mA(4)
IOL = 7.0mA(4)

VOH

Output High Voltage, ports 1,2,3

Vee - 0.3
Vee - 0.7
Vee - 1.5

V
V
V

IOH=-IOjlA
IOH=-30jlA
IOH=-60jlA
Vec=5V±10%

VOH!

Output High Voltage, port 0, ALE, PSEN

Vee-O.3
Vee - 0.7
Vee - 1.5

V
V
V

IOH=-2OOflA
IOH=-3.2mA
[OH=-7.0mA
Vee=5V± 10%

RRST

RST Pulldown Resistor

CIO

50

Capacitance of I/O Buffer

11.8.20

90

(5)

200

kQ

10

pF

fc = IMHz, TA = 25°C

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

Symbol
ICC

IPD

Parameter
Power Supply Current
Active Moue 12MHI
12MHL
Idle Mode

Min

." Test Conditions

Typ

Max

Unit

TBD
TBD

TBD
TBD

mA

mA

Vee
Vee

5 (51

30

flA

Vee ~ 2.0V to 5.5V(11

(7)

Power Down Current

Notes for DC Electrical Characteristics
1. ICC is measureu with all output pins disconnecleu: XTALI driven
with TCLCH, TCHCL ~ 5 ns (see Figure 20. I, VIL ~ VSS +
0.5V, VIH ~ VCC - O.5V: XTAL2 N.C.: EA ~ RST ~ Port () ~
vee. ICC would be slightly higher if a crystal oscillator used
(sec Figure 19. ).
2. Idle lee is measured with all output pins di"connccted; XTALI
driven with TCLCH, TCHCL ~ 5ns, VIL ~ VSS + O.5V, VIH ~
VCC-O.5V; XTAL2 N.C: Port 0 ~ VCC; EA ~ RST ~ VSS (sec
Figure 20. ).
3. Power Down ICC is measured with all output pin~ di~conncctcd;
EA ~ PORT a ~ VCC: XTAL2 NC.; RST ~ VSS (sec
Figure 21. ).
4. Capacitance loading on Ports 0 and 2 may calise spuriolls noise
pulses to be superimposed on the VOLs of ALE and Ports 1 and
3. The noise is due to external bus capacitance discharging into
the Port a and P0l1 2 pins when these pins make I to a
transitions during bus operation. In the worst cases (capacitive
loading 10OpF), the noise pulse on the ALE line may exceed
OA5V with maxi VOL peak 0.6V A Schmitt Trigger usc is not
necessary.
5. Typicals are based on a limited number of samples and arc not
guarantecd. The values listed are at room tempcrature and Sv.
6. Under steady state (non-transient) conditions, IOL must be
externally limited as follows:
Maximum IOL per port pin:
10 rnA
Maximum IOL per 8-bit port:
porta:
26 rnA
Ports 1, 2 and 3:
15 rnA
Maximum total IOL for all output pins:
71 rnA
If IOL exceeds the test condition, VOL may exceed the related
specification. Pins are not guaranteed to sink current greater than
the listed tcst conditions.
7. For other values. please contact your sales office.
VCC

~

~

5.5VII)
5.5V(21

vee

RST
(NCI
CLOCK SIGNAL

E7\

XTAL2
XTALI
VSS
L -_ _ _- '

All other pins arc di:-.connccted.

Figure 20. ICC Test Condition, Idle Mode.

VeC

RST
(NC)

EA

XTAL2
XTALI
VSS
L -_ _ _- '

All other pins are disconnected.

Figure 21. ICC Test Condition, Power Down Mode.

VCC
PO

VCC
RST
(NC)

EA

XTAL2
XTALI

CLOCK SIGNAL

VSS

-=-

All other pins are disconnected.

Figure 19. ICC Test Condition, Active Mode.

MATRAMHS

11.8.21

Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

Vcc-O.5V

O.7Vcc
O.2Vcc-O.!

0.45V
TCHCL

TCLCH
TCLCH =TCHCL =5ns.

Figure 22. Clock Signal Waveform for ICC Tests in Active and Idle Modes.

8.2. Explanation Of The AC Symbol
Each timing symbol has 5 characters. The first character
is always a "T" (stands for time). The other characters,
depending on their positions, stand for the name of a
signal or the logical status of that signal. The following
is a list of all the characters and what they stand for.

Example:
TAVLL = Time for Address Valid to ALE low.
TLLPL = Time for ALE low to PSEN low.

A: Address.

Q: Output data.

R: READ signal.

C: Clock.

D: Input data.

T:Time.

H: Logic level HIGH.

V: Valid.

I: Instruction (Program memory contents).

W: WRITE signal.

L: Logic level LOW, or ALE.

X: No longer a valid logic level.

P: PSEN.

Z: Float.

8.3. AC Parameters
(Load Capacitance for PORT 0, ALE and PSEN = IOOpf;
Load Capacitance for all other outputs = SO pF.)

TA = 0 to +70°C; VSS = OV VCC = 5V±1O%; 0 to
12MHz
TA = -40°C to +S5°C; VSS = OV; VCC = 5V ± 10%; F
=0 to 12MHz.

8.4. External Program Memory Characteristics
......

..
liyjnboL

.•..

........

:. :.

"

TLHLL

.
.. '.:.:

.•......

.:......

Paraln~U!r':'
.

....

",:
..':':.
'"

....

:

...:

.:

'.:

.:

...

ilto f2MHz

1\{iO

ALE pulse width

2TCLCL-40

'

..>

i.Max
............ : ..•...'.'

.

: I'

'

Unit~
:

."

.1

.

ns

TAVLL

Address Valid to ALE

TCLCL-40

os

TLLAX

Address Hold After ALE

TCLCL-30

ns

TLLIV

ALE to Valid Instruction In

4TCLCL -100

ns

TLLPL

ALEtoPSEN

TCLCL-30

os

TPLPH

PSEN Pulse Width

3TCLCL-45

ns

TPLIV

PSEN to Valid Instruction In

3TCLCL - 105

II.S.22

.

ns

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

!

';'.'••',.,:< Iri','!

oto 12MHz

"
!

ScymbOi,

Parameter

':,'• ,i"

Max

Min

TPXIX

Input Instruction Hold After PSEN

TPXIZ

Input Instructioo Float After PSEN

TPXAV

PSEN to Address Valid

TAVIV

Address to Valid Instruction In

TPLAZ

PSEN Low to Address Float

'i'i.,i,i !~<, ",,'i'O"
os

0

TCLCL-25

ns

TCLCL-8

ns
5TCLCL-I05

ns

10

ns

8.5. External Program
Memory Read Cycle
__________________________ 12TCLCL __________________________
~

II

~

ALE

PSEN

PORTO

PORT 2

INSTRIN

ADDRESS
ORSFR-P2

ADDRESS AS-A 15

8.6. External Data Memory Characteristics

_"7
TRLRH

r{,c;,i',j!J);:j/:1~:·f·.'i• · '· '·
I.'<:,} •• · . ; } ) :
RD Pulse Width

TWLWH

WR Pulse Width

TRLDV

RD to Valid Data 10

TRHDX

Data Hold After RD

:,...:-<

PORTO

PORT 2

TWLWH

ADDRESS
OR SFR-P2

/
.-TQVWX

~TLLA~

TWHQX_~

TQVWH

AO-A7

DATA OUT

.1

TAVWL

)<

ADDRESS A8-A 15 OR SFR P2

8.8. External Data Memory Read Cycle
TWHLH
~----------TLLDV--

ALE

________~

PSEN
---I~-----------+

TRLRH------------+I

RD
TRHDX
PORTO

DATA IN
TRLAZ

PORT 2

ADDRESS
OR SFR-P2

8.9. Serial Port Timing-Shift Register Mode
Oto12MHz
S~nib()1

.......

Parameter
..

I

...

...

Min

.
..

...

..

....

Mai ...

Units

TXLXL

Serial port clock cycle time

12TCLCL

ns

TQVHX

Output data set-up to clock rising edge

IOTCLCL-133

ns

TXHQX

Output data hold after clock rising edgc

2TCLCL-1l7

ns

TXHDX

Input data hold after clock rising edge

0

ns

TXHDV

Clock rising edge to input data valid

1OTCLCL-l 33

ns

MATRAMHS
Rev. A (10 Jan. 97)

11.8.24

Preview

TEMIC

TSC8051C2

Semiconductors

8.10. Shift Register Timing Waveforms
INSTRUCTION
ALE

CLOCK

OUTPUT DATA

•
•

WRITE to SBUF
INPUT DATA

CLEAR RI

8.11. External Clock Drive Characteristics (XTAL1)
.. SymbOI ..

Parameter

....

Max

Min

Units

TCLCL

Oscillator Period

TCHCX

High Time

5

ns

TCLCX

Low Time

5

os

TCLCH

Rise Time

5

ns

TCHCL

Fan Time

5

ns

83.3

os

8.12. External Clock Drive Waveforms
Vcc-O.5V
O.7Vcc
O.45V _ _---.J- O.2Vcc-O.!

TCHCL

8.13. AC Testing Input/Output Waveforms
Vee

-o.S V

INPUT/OUTPUT
0.45 V

~0.2VCC+0.9

X

0.2 Vee-D.l

x=

' - - - -

~

AC inputs during testing are driven at Vcc - 0.5 for a
logic "I" and 0.45V for a logic "0". Timing
measurement are made at VIR min for a logic "1" and
VIL max for a logic "0".

MATRAMRS
Rev. A (10 Jan. 97)

II.S.25

Preview

TEMIC

TSC8051C2

Semiconductors

8.14. Float Waveforms
FLOAT

~----FLOAT

KVOH-O.l V

VLOAD

- - _ / ,jLVOL+O.l V

fLVLOAD+O.l V
i';:VLOAD-O.l V

For timing purposes as port pin is no longer floating
when a 100 mV change from load voltage occurs and
begins to float when a 100 mV change from the loaded
VOHIVOL level occurs. IOLIIOH ~ ± 20mA.

8.15. Clock Waveform
This diagram indicates when signals are clocked
internally. The time it takes the signals to propagate to
the pins, however, ranges from 25 to 125ns. This
propagation delay is dependent on variables such as
temperature and pin loading. Propagation also varies
from output to output and component. Typically though
(TA=25°C fully loaded) RD and WR propagation delays
are approximately 50ns. The other signals are typically
85ns. Propagation delays are incorporated in the AC
specifications.

11.8.26

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semiconductors

INTERNAL
CLOCK

STATE4
PI

1 P2

STATES

STATE6

STATE I

PI

PI

PI

1 P2

1 P2

1 P2

STATE2
PI

1 P2

STATE,

STATE4

PI

PI

1 P2

STATES

1 P2

PI

1 P2

XTAL2
ALE

EXTERNAL PROGRAM MEMORY FETCH
PSEN

I

PO

P2(EXT)

INDICATES ADDRESS TRANSITIONS

READ CYCLE
RD

PCL OUT (IF PROGRAM
MEMORY IS EXTERNAL)

OOH IS EMITTED

Ii

r-;=-ru:=rniD~U:.oR::;ING THIS PERIOD

PO

DPL OR Rt OUT

I

[i5A'fA]

~-+-~----------------~S~MPL.ERDn-----------~

~4~........1 4 r - - - -_ _ FLOAT

P2

t L

.1

INDICATES DPH OR P2 SFR TO PCH TRANSITION

WRJTECYCLE
WR

PO

PCL OUT (EVEN IF PROGRAM
DPL OR Rt OUT
11oI4f--------------DATA OUT

P2

R~:i~::k~,

________3-+1'G,..·f'o....

r-----~~I~N~D~IC~X~TE~S~D~P~H~O~R~P2~S~FR~TO~PC~H~TRAN~~S~ITI~O~N-------------,

PORT OPERATION
MOV PORT SRC

OLD DATA

I NEW DATA

SAMPLED
_ __________...J~INS
MOVDESTPO
~
MOV DEST PORT (PI. P2. P3)
(INCLUDES INTO. INTI. TO TI)

SERIAL PORT SHIFT CLOCK

r;8

W'--_____

PO PINS SAMPLE

P2, P3 PINS SAMPLED

PI, P2, P3 PINS SAMPLE~

=~

~

______________~~_RX~DSAMPLED
TXD (MODE_ 0)
_

11.8.27

MATRAMHS
Rev. A (10 Jan. 97)

Preview

TEMIC

TSC8051C2

Semicondnctors

9. Ordering Information

TSC

xxx

51C2

12
16

-A

T

T

-12: 12 MHz version
-16: 16 MHz version

Part Number
8051 C2: Romless version
51 C2: 4Kx8 Mask ROM

Bounding Option
-none: 12 PWM
-A : 4 PWM & P2x
Customer Rom Code
TEMIC Semiconductor
Microcontroller Product Line

PC-TSC8051CI-RB-16

C

B

R

T

Packaging
A: PDIL40
B: PLCC44
C: PQFP44
D: SSOP44
E: PLCC52
G: CDIL40
H: LCC44
I: CQPJ 44

Temperature Range
C : Commercial 0° to 70°C
I : Industrial-40° to 85°C

Conditioning
R : Tape & Reel
D: Dry Pack
B : Tape & Reel
and Dry Pack

Probe card for TSC8051 Cl. These products are released by Metalink. Please consult the
local tools distributor or your sales office.

Product Marking:
TEMIC
Customer PIN
TemicPIN
© Intel 80, 82
YYWW Lot Number

MATRAMHS
Rev. A (10 Jan. 97)

1I.8.28

Preview

TEMIC
Semiconductors

cst Automotive Products
TSC8051A1 : CMOS Single Chip 8-bit Microcontroller with Analog Interface ..... 11.9.1
TSC8051A2 : CMOS Single Chip 8-bit Microcontroller with Analog Interfaces. . .. 11.10.1
TSC8051All : CMOS Single chip 8-bit Microcontroller with CAN Controller. . . .. 11.11.1
TSC8051A30: CMOS Single chip 8-bit Microcontroller with VAN Controller ..... 11.12.1

TEMIC

TSC8051Al

Semiconductors

CMOS Single chip 8-bit Microcontroller with Analog
Interface
Description
The TSC805lAI is a stand-alone, high performance
CMOS microcontroller designed for use in automotive
and industrial applications.
The TSC80All retains all features of the TSC80C51
with extended EPROM capacity (24K bytes), 256 bytes
of internal RAM, a 14-source 2-level interrupt, a full
duplex serial port, an on-chip oscillator, and two 16 bits
timers.
In addition, the TSC8051AI has an 8-bit 8-channel NO
converter, a serial synchronous port compatible with SPI
and mWire protocols, an advanced 8 channels CCU
(Capture & Compare Unit), an additional on-chip
XRAM of 256 bytes and a high security Watchdog timer

with an embedded oscillator.
The fully static design of the TSC805lAI allows to
reduce system power consumption by bringing the clock
frequency down to any value, even DC, without loss of
data.
The design is done with a specific care to reduce EMC
emission and susceptibility.
This circuit is manufactured using SCMOS process and
is available in commercial, industrial, military and
automotive ranges: it runs from 0 up to 20 MHz in the
automotive temperature range -40°C to +125°C.

Features
•

•
•
•

80C51 core architecture:
• 256 bytes of RAM
• 256 bytes of XRAM
• 24 Kilobytes of EPROM, OTP or ROM
14-source 2-level interrupt
• Two 16-bit timerlcounter
• Full duplex UART compatible with standard
80C51 with its own baud rate generator
6 8-bit 80C51 I/O Ports bit to bit configurable
2 ports with programmable interrupt for keyboard
function
A 8 channels 16-bit CCU with:
• Rising andlor falling edge capture (pulse
measurement capability)
Software timer, high speed output and multiple
PWMshapes

•
•
•
•
•

A 8-bit resolution analog to digital converter with 8
multiple inputs
An high security watch-dog timer with an embedded
oscillator
A master/slave synchronous serial peripheral
interface (SPI or mWire)
Several power reduction modes with enhanced
wake-up capabilities
PQFP64 or PLCC68 packages

MATRAMHS
Rev. B (14 Jan. 97)

II.9.1

Preview

B

TEMIC

TSC8051Al

Semiconductors

Block Diagram

~~

=
=
~ ~
I ______

--

tl
~

i>

_t __________ -
....·..• ft
;':,,\,> ,..
PQJJ1I PL{:C
P.

......<;;!lCW)~.;.(i

AD.7 I POKB.7

(i4

liS

;,'

•.· ...c.

c... c:·....

c

c··c

I'
;C

INTI
TO
T1

-

11

20

PL7

SS

42

54

P5.0

P5KB.0

12

21

PL6

SCK

43

55

P5.1

P5KB.1

13

22

PL5

MOSI

44

56

P5.2

P5KB.2

liltllj!I~I~l1

23

(n.e)

45

57

P5.3

P5KB.3

14

24

PIA

46

58

P5A

P5KB.4

IS

25

PI.3

47

59

P5.5

P5KB.5

16

26

PL2

-

48

60

P5.6

P5KB.6

17

27

P1.1

-

49

61

P5.7

P5KB.7

18

28

PLO

50

62

(n.e)

19

29

P4.7

ANA.7

51

63

RESET

20

30

P4.6

ANA.6

52

64

PSEN

MISO

II

-

21

31

P4.5

ANA.5

53

65

ALE/PROG

22

32

P4A

ANA.4

54

66

EA/Vpp

23

33

ANAVss

55

67

Vss

24

34

ANAVee

1~';:~i:W!;l1

68

(n.e)

25

35

ANAref+

56

1

Vee

t;!lI~i:~~tl

36

Vss

57

2

P2.0

26

37

P4.3

ANA.3

58

3

P2.1

A.9/CeU.I

27

38

P4.2

ANA.2

59

4

P2.2

A.1O I CeU.2

28

39

P4.1

ANA.l

60

5

P2.3

A.II I CCU.3

29

40

P4.0

ANA.O

61

6

P2.4

A.121 CeUA

30

41

P3.0

RXD

62

7

P2.5

A. 13 I CCU.5

31

42

P3.1

TXD

63

8

P2.6

A.14/CCU.6

32

43

P3.2

INTO

64

9

P2.7

A.15 I CCU.7 I ECI

A.8/CeU.0

11.9.5

MATRAMHS
Rev. B (14 Jan. 97)

Preview

TEMIC

TSC8051Al

Semiconductors

General Signal Description
Vss

PORTO

Digital ground

Port 0 can act the part of address/data bus or standard I/O
port.
Its dedicated alternate function is a S-bit keyboard
interface.
In the default configuration, port 0 operates the same as
it does in the SOCSI, with open-drain outputs.

Vee
Digital supply voltage

ANAVss
Analog ground

PORT!

ANAVee

Port I can act the part of standard I/O port.
This port dedicated alternate functions are P.l [4:7] for
synchronous serial link (SPI or mWIRE) interface.
In the default configuration, port 1 operates the same as
it does in the SOCSl, with internal pullups. Port 1 type
CS1 is sometimes called "quasi-bidirectional" due to the
internal pullups.

Analog supply voltage

EA/Vpp
External Access enable must be strapped to Vss in order
to enable any device plugged on port 0 / port 2 to fetch
code from 0 up to 24K. EA must be strapped to Vcc for
internal program execution.
This pin also receives the 12V programming supply
(Vpp input) to program the internal EPROM.

PORT 2

It is the output from the inverting oscillator amplifier.

Port 2 can act the part of address bus or standard I/O port.
Its dedicated alternate function is the CCU (Capture &
Compare Unit) interface.
In the default configuration, port 2 operates the same as
it does in the SOCSI, with internal pull-ups.

RESET

PORT 3

An active level (low) on this pin, while the oscillator is
running, resets the device. An internal pull-up resistor
permits power-on reset only using only an capacitor
connected to Vss.
The active level of the RESET pin is the opposite to the
one of CSI standard.

Port 3 can act the part of standard I/O port.
Its dedicated alternate functions are those of the CSI
standard (RxD, TxD, INTO, INTl, TO, Tl, WR & RD).
In the default configuration, port 3 operates the same as
it does in the CS1, with internal pull-ups. Port 3 type CS1
is sometimes called "quasi-bidirectional" due to the
internal pull-ups.

XTAL2

ALE I PROG
The Address Latch Enable output signal is used to latch
the low order byte of the address during accesses to
external memory. ALE can sink and source S LS TTL
loads.
If desired, ALE buffer can be disable. Then, ALE is
pulled low.
This pin is also used (program pulse input) to program
the internal EPROM.

PORT 4
Port 4 can act the part of standard I/O port.
Its dedicated alternate functions are 8 inputs for ADC
module.
In the default configuration, port 4 operates as a
"quasi-bidirectional" port type CS1 with internal
pUllups.

ANAref+
Program Store Enable is the read strobe to external
program memory, else it remains high. PSEN can sink
and source S LS TTL loads.

Positive voltage for the ADC module.

MATRAMHS
Rev. B (14 Jan. 97)

II.9.6

Preview

TEMIC

TSC8051Al

Semiconductors

PORTS
Port 5 can act the part of standard I/O port.
Its dedicated alternate function is a 8-bit keyboard
interface.
In the default configuration, port 5 operates as a
"quasi-bidirectional" port type C5l with internal
pull-ups.

Electro-Magnetic Compatibility (EMC)
Primary attention is paid to the reduction of
electro-magnetic emission of the TSC805lAl. The
following features reduce the electro-magnetic emission
and additionally improve the electro-magnetic
susceptibility:
• The TSC805lAI provides one analog supply voltage
pin and one analog ground pin. Placed on the middle
of one side of the package, this pair (ANAVcC/
ANAVss) has short bounding wires, thus reducing
the generated noise.
In order to reduce the radiation loop area, the two
pins are adjacent.
• The TSC805lAI provides three groups of digital
supply voltage and digital ground, in pairs of pins
(VssNcc). Placed on the middle of the three other
sides of the package, these groups have short
bounding wires, thus reduces the generated noise.
In order to reduce the radiation loop area, pins are
adjacent inside group.
• External capacitors should be connected across
associated pins (ANAVcC/ANAVss or VccNss).
Lead length should be as short as possible. Ceramic
CMS capacitors are recommended, lOnF + lOOnF.

•
•

Several internal decoupling capacitors improve the
EMC radiation behavior and the EMC immunity.
In order to reduce the spectrum of the TSC805IAI,
many signals has been treated, principally the
periodic signals. The current provided for external
signals, the period of clocks and the raising/falling
edges are the major points which has been nursed.
• For application that never (or temporarily)
requires external memory resources, the ALE
buffer can be disable.
• Once the oscillator is started, the gain is reduce
by 2 (6 dB).
• Peripherals receiving XTAL clock have, each
one, their own prescaler to produce the operating
clock they need.
• The output buffers are especially designed to
control rising and falling edges.

11.9.7

MATRAMHS
Rev. B (14 Jan. 97)

Preview

m

IIriI

TEMIC

TSC8051A2

Semiconductors

CMOS Single Chip 8-bit Microcontroller
with Analog Interfaces
Description
The TSC80Sl A2 is a stand alone, high performance
CMOS microcontroller designed for use in automotive
and industrial applications.
The TSC80S1A2 retains all features of the 80CSI with
extended ROM capacity (l6K bytes), 2S6 bytes of
RAM, a lO-source 2-level interrupt, a full duplex serial
port, an on-chip oscillator and clock and two 16 bits
timers.
In addition, the TSC8051 A2 has an 8-bit 8-channel AID
converter, a serial peripheral interface compatible with
SPI, a high security watchdog and an advanced 8
channel Capture and Compare timer Unit.

The fully static design of the TSC805lA2 allows to
reduce system power consumption by bringing the clock
frequency down to any value, even DC, without loss of
data.
The design is done with a specific care to reduce EMC
emission and suceptibility.
This circuit is manufactured using SCMOS process and
is available in commercial, industrial, military and
automotive ranges; it runs from 0 up to 20 MHz in the
automotive temperature range -40°C to + 12SoC.

Features
•
•
•

•
•

•

256 bytes of RAM
16 K bytes of ROM or OTP
Four 8-bit I/O ports ; each bit can be:
TTL I/O
Push-pull output
CMOS input trigger with or without pull-down
Two 16 bit timer/counter
A programmable window watch-dog with
integrated low power RC oscillator; basic period 20
ms typical, maximum period 128 times 20 ms
A eight channels 16 bits Capture and Compare Unit
with:
input capture
output compare and PWM

•

•
•
•
•
•
•

A 8-bit resolution analog to digital converter with
eight multiplex inputs; conversion time 48 machine
cycles.
One port with programmable interrupt for keyboard
function
Several power reduction modes with enhanced wake
up capabilities
Power fail detection, Power on reset bit
Full duplex UART compatible with standard 80CSI
A serial peripheral interface (SPI+MW)
PQFP, PLCC or SSOP 44 package ; PQFP 64 for
emulation

MATRAMHS
Rev. A (14 Jan. 97)

Il.10.1

Preview

m
IIIriiiI

TEMIC

TSC8051A2

Semiconductors

Block Diagram

XTALI
XTAL2
ALE!
PROG
PSEN

EANpp

Power

RD

Monitor

Key
Board

WR
_ J

(0) -

'"
~

(I): Alternate function of Port 1

(2): Alternate function of Port 2

(3): Alternate function of Port 3

(0): Alternate function of Port 0

Figure 1. TSC8051A2 Block Diagram

11.10.2

MATRAMHS
Rev. A (14 Jan. 97)

Preview

TEMIC

TSC8051A2

Semiconductors

Pin Configuration
a

OJ

0

INDEX
CORNER

'"
~

a

a: 'a:" a: "'a: a:
N

'"'"
~
Z

()
()

~
Z

'" '"

"'"0
""-'0"

N

iii OJ
lE OJ

Cl

'0"

;3 ~
0
"- Ii'

N

OJ

~

0

'"

iil
0
"-

-PO.6IAD6IKB6
PO.7IAD7IKB7
ENVPP
VSS

TSC8051A2

ALEIPROG
PSEN

P2.7IA15ICCU7/ECI
P2.61A14ICCU6
P2.5IA13/CCU5

:26: :27: :28:
:; OJ OJ'" OJ

;18: :-19: :"20: :21: :'22: f23: :24: :25:

!l'Z

'-

'"

Z

I~ Iga:
~ ~
"-

'"

"-

:'I -' !f;"
fOX fOX

~

a

::>

()
()

ro
~

N
"-

..

N

" "
~ "~ 2~ ;;:

()

()
()

()

OJ

~

~

N

"-

Ii'

N

"-

n.lO.3

MATRAMHS
Rev. A (14 Jan. 97)

Preview

TEMIC

TSC8051A2

39
40

41

42

17

23

VCC

VCC

Pl.O

18

24

P2.0/A08/CCUO

Address bus high order or
CCU module I external va

Pl.l

19

25

P2.1/A09/CCUI

Address bus high order or
CCU module I external va

P1.2

20

26

P2.2/AIO/CCU2

Address bus high order or
CCU module 2 external va

P1.3

21

27

P2.3/AllICCU3

Address bus high order or
CCU module 3 external 110

ANAVSS
2

4

43

Semiconductors

VSS Analog

P1.4/MISO

SPI master in ,slave out

22

28

P2.4/A l2/CCU4

Address bus high order or
CCU module 4 external I/O

P1.5/MOSI

SPI master out, slave in

23

29

P2.5/A13/CCU5

Address bus high order or
CCU module 5 external va

P1.6/SCK

SPI serial clock I/O

24

30

P2.6/A14/CCU6

Address bus high order or
CCU module 6 external va

9

P1.7/SS

srI slave select

25

31

P2.7/A15/CCU7/
ECI

Address bus high order or
CCU module 7 external va
or CCU count input

10

RST

Reset

26

32

PSEN

Program store enable

11

P3.0/RXD/ANAO

Serial receive port or
Keyboard

27

33

ALE/PROG

Address latch enable/Program
pulse

12

AVREF+

Analog positive reference

28

34

VSS

13

P3.1ITXD/ANAI

Serial transmit port or
Analog Input 1

29

35

EAIVPP

External access
enable/Programming supply
voltage

14

P3.2IINTO/ANA2

External interrupt 0 or
Analog Input 2

30

36

PO.7/AD7/KB7

Mux. low order address &
data bus or Keyboard

9

15

P3.3/INTl/ANA3

External interrupt 1 or
Analog Input 3

31

37

PO.6/AD6/KB6

Mux. low order address &
data bus or Keyboard

10

16

P3.41T0/ANA4

Timer/counter 0 input or
Analog Input 4

32

38

PO.5/AD5/KB5

Mux. low order address &
data bus or Keyboard

11

17

P3.5lTlIANA5

Timer/counter 1 input or
Analog Input 5

33

39

PO.4/AD4/KB4

Mux. low order address &
data bus or Keyboard

12

18

P3.6/WRlANA6

External data memory write
strobe or Analog Input 6

34

40

PO.3/AD3/KB3

Mux. low order address &
data bus or Keyboard

13

19

P3.7/RD/ANA7

External data memory read
strobe or Analog Input 7

35

41

PO.2/AD2/KB2

Mux. low order address &
data bus or Keyboard

14

20

XTAL2

Crystal output

36

42

PO.lIAD IIKB 1

Mux. low order address &
data bus or Keyboard

15

21

XTALl

Crystal input

37

43

PO.O/ADO/KBO

Mux. low order address &
data bus or Keyboard

16

22

VSS

VSS

38

44

44

6

2

4

6

11.10.4

ANAVCC

VCCAnalog

MATRAMHS
Rev. A (14 Jan. 97)

Preview

TEMIC

TSC8051A2

Semiconductors

Pin Functions

XTALI
XTAL2
ENVpp
ALE/PROG
PSEN
RESET

PORTO

~'"

ADI
AD2
AD3
AD4
ADS
AD6
AD7

ANAVcc
ANAVss
AVREF+

ANA()~RXD
TXD ~
~

ANAl

ANA2

INTO

ANA.1
ANA4
ANA5
ANA6
ANA7

INTI
TO
TJ
WR
RD

~

PORT:!

PORT I

~

+--

El

Low
order
addre~s

& data
bu~

li

KBO
KB!

KB2
KB3
KB4
KB5
KB6
KB7

11

M!SOf
MOSI SPIIrn"YIRE
SCK

interface

SS

PORT 2

~

A8
A9
AIO

High

All
Al2

order
address

AI3
AI4
AIS

hus

~

ccuo
CeUl
CCU2
CeU3
CCU4

ceus
CCU6
CCU7/ECI

" ' - - - - - - 44-pin package

Figure 2. TSC8051A2 Pin Functions

II.lO.S

MATRAMHS
Rev. A (14 Jan. 97)

Preview

TEMIC

TSC8051A2

Semiconductors

General Signal Description
Vss
Digital ground

Program Store Enable is the read strobe to external
program memory, else it remains high. PSEN can sink
and source 8 LS TTL loads.

Vee
Digital supply voltage

PORTO

ANAVss

Port 0 can act the part of address/data bus or standard VO
port. Its dedicated alternate function are the inputs of the
keyboard interrupt. In the default configuration, port 0
operates the same as it does in the 80C51, with
open-drain outputs.

Analog groundl

ANAVee
Analog supply voltage

PORTl
EA/Vpp
External Access enable must be strapped to Vss in order
to enable any device plugged on port 0 / port 2 to fetch
code from 0 up to 16K. EA must be strapped to Vcc for
internal program execution.
This pin also receives the 12V programming supply
(Vpp input) to program the internal EPROM.

XTALl
It is the input to the inverting oscillator amplifier and the
input for external clock generator.

Port 1 cal) act the part of standard I/O port. This port
dedicated alternate functions are P.1 [4:7] for the
synchronous serial link (SPI or mWIRE) interface.
In the default configuration, port 1 operates the same as
it does in the 80C51, with internal pullups. Port 1 type
C51 is sometimes called "quasi-bidirectional" due to the
internal pullups.

PORT 2

It is the output from the inverting oscillator amplifier.

Port 2 can act the part of address bus or standard VO
port.lts dedicated alternate function is the CCU (Capture
& Compare Unit) interface.In the default configuration,
port 2 operates the same as it does in the 80C51, with
internal pull ups.

XTAL2

RESET

PORT 3

The active level of the RESET pin is low. An active level
on this pin, while the oscillator is running, resets the
device. An internal resistor permits power-on reset only
using an external capacitor. The reset pin is
bidirectional; it acts as an output when a rcset is issued
by the watch-dog function.

Port 3 can act the part of standard VO port. This port has
two types of alternate functions:
• The first ones are the same than in C51 (Rxd, TxD,
... , WR,RD),
• The second type of alternate functions are 8 inputs
for the 8-bit AID converter.

ALE I PROG

In the default configuration, port 3 operates the same as
it does in the C51, with internal pullups. Port 3 type C51
is sometimes called "quasi-bidirectional" due to the
internal pUllups.

The Address Latch Enable output signal is used to latch
the low order byte of the address during accesses to
external memory. ALE can sink and source 8 LS TTL
10ads.If desired, ALE buffer can be disable. Then, ALE
is pulled low. This pin is also used (program pulse input)
to program the internal EPROM.

AVREF+
•

Positive reference voltage for the ADC module.

MATRAMHS
Rev. A (14 Jan. 97)

II. 10.6

Preview

TEMIC

TSC8051A2

Semiconductors

Electro-Magnetic Compatibility (EMC)

•

Primary attention is paid to the reduction of
electro-magnetic emission of the TSC8051A2. The
following features reduce the electro-magnetic emission
and additionally improve the electro-magnetic
susceptibility:
• The TSC805lA2 provides one analog supply voltage
pin and one analog ground pin. Placed on the middle
of one side of the package, this pair (ANAVccl
ANAVss) has short bounding wires, thus reducing
the generated noise.
In order to reduce the radiation loop area, the two
pins are adjacent.
• The TSC8051A2 provides one group of digital
supply voltage and digital ground, in pairs of pins
(Vss/Vcc). Placed on the middle of the sides of the
package, this group have short bounding wires, thus
reduces the generated noise. In order to reduce the
radiation loop area, pins are adjacent inside group.

•
•

External capacitors should be connected across
associated pins (ANAVcc/ANAVss or Vcc/Vss).
Lead length should be as short as possible. Ceramic
CMS capacitors are recommended, 10nF + 100nF.
Several internal decoupling capacitors improve the
EMC radiation behaviour and the EMC immunity.
In order to reduce the spectrum of the TSC8051A2,
many signals has been treated, principally the
periodic signals. The current provided for external
signals, the period of clocks and the raisinglfalling
edges are the major points which has been nursed.
For application that never (or temporarily)
requires external memory resources, the ALE
buffer can be disable .
Once the oscillator is stable, the gain is reduce by
2 (6 dB).

Peripherals receiving XTAL clock have, each
one, their own prescaler toproduce the operating
clock they need.
The output buffers are especially designed to
control rising and falling edges.

11.10.7

MATRAMHS
Rev. A (14 Jan. 97)

Preview

B

TEMIC

TSC8051All

Semiconductors

CMOS Single chip 8-bit Microcontroller with CAN
Controller
Description
The TSC8051A11 is a stand-alone, high performance
CMOS microcontroller designed for use in automotive
and industrial applications.
The TSC80A11 retains all features of the TSC80C51
with extended EPROM capacity (24K bytes), 256 bytes
of internal RAM, a 14-source 2-level interrupt, a full
duplex serial port, an on-chip oscillator, and two 16 bits
timers.
In addition, the TSC805lAli has an 8-bit 8-channel
AID converter, a serial synchronous port compatible
with SPI and mWire protocols, an advanced 8 channels
CCU (Capture & Compare Unit), an additional on-chip
XRAM of 256 bytes, a high security Watchdog timer
with an embedded oscillator and a CAN network line
controller.
The CAN controller is fully compliant with the BOSCH
CAN standard rev 2.0 part B. It implements all features

of a full CAN controller able to handle all frames of the
protocol with 14 predefined messages (channels). It
includes 14 sets of channel registers. Each channel has
its own identifier tag, its own identifier mask and up to
8 bytes (mailbox) to store the received and transmitted
message.
The fully static design of the TSC8051A 11 allows to
reduce system power consumption by bringing the clock
frequency down to any value, even DC, without loss of
data.
The design is done with a specific care to reduce EMC
emission and susceptibility.
This circuit is manufactured using SCMOS process and
is available in commercial, industrial, military and
automotive ranges: it runs from 0 up to 20 MHz in the
automotive temperature range AO°C to +125°C.

Features
•

•
•
•

•

80C51 core architecture:
256 bytes of RAM
256 bytes of XRAM
24 Kilobytes of EPROM, OTP or ROM
l4-source 2-level interrupt
Two 16-bit timer/counter
Full duplex UART compatible with standard
80C51 with its own baud rate generator
6 8-bit 80C5l I/O Ports bit to bit configurable
2 ports with programmable interrupt for keyboard
function
A 8 channels 16-bit CCU with:
Rising and/or falling edge capture (pulse
measurement capability)
Software timer, high speed output and multiple
PWM shapes
A 8-bit resolution analog to digital converter with 8
multiple inputs

•
•
•

•
•

An high security watch-dog timer with an embedded
oscillator
A master/slave synchronous serial peripheral
interface (SPI or mWire)
Full CAN controller:
Fully compliant with CAN standard rev 2.0 A
and 2.0B
Optimized
structure
for
communication
management
14 channels with individual tag and mask filters
on 29 identifier-bit
Line wake-up capability
Automatic reply mode
1 Mbitls maximum transfer rate
Integrated line interface circuitry (output drivers,
input comparators, Vcc/2 generator)
Several power reduction modes with enhanced
wake-up capabilities
PQFP64 or PLCC68 packages

MATRAMHS
Rev. D (14 Jan. 97)

II.ll.1

Preview

TEMIC

TSC8051All

Semiconductors

Block Diagram

ti

B

XTALl
XTAL2
ALE!
PROG
PSEN

UART

RAM

EPROM

XRAM

256x8

24Kx8

256x8

C51
CORE

IB-bus

EANpp
RD

Timer 0
Timer 1

INT

Watch

Power

Key

Ctrl

Dog

Monitor

Board

WR
_ J

(1): Alternate function of Port 1

(2): Alternate function of Port 2

(3): Alternate function of Port 3

(4): Alternate function of Port 4

Figure 1. TSC8051All block diagram

II.ll.2

MATRAMHS
Rev. D (14 Jan. 97)

Preview

TEMIC

TSC8051All

Semiconductors

Pin-Out
Pin Functions

XTALI
XTAL2

-WOf
. . . . . . AD.1
. . . . AD.2
. . . . . . AD.3

EANpp
ALE/PROG
PSEN
RESET

CRXO
CRXI
CAN CTXO

CTXl
MISO
MOSI
SPUmWIRE SCK

1

1

SS

UART
External
[nterrupt
Timer
Input
Ext. RAM
Control

-------------------

PortO . . . . . . AD 4
.
. . . . . . AD.5
. . . . . . AD.6
. . . . AD.7

Port 1

Port 2

-----... A.IO
-----. A.II
-----. A.12

- - - . A.13
- - - - . A.14

High
order
address
bus

~A.15

....-- ANA.O
......-- ANA. I

RXD -----.
TXD~

---- ""'Of
---------- -POKB.l
POKB.2
POKB.3
POKBA
POKB.S
POKB.6
POKB.7

B

Port 0
Keyboard

ceu.o

- - - - . A.8
_____ A.9

lN11) _____

11) -----.
_____
INTI

Low
order
address
& data
bus

CeU.l
CeU.2
CeU.3
CeU.4
CCU.5
CCU.6
CeU.7

f C~"

Compare
VmL

Eel

~ANA.2

Port 3

-----

Tl _ _
WR
RD _ _

~ ANA.3
PORT 4 ......-- ANA.4
. . . - - ANA.S
...-ANA.fi
......--ANA.7

Analog
Digital

.......

Converter

ANAVref+

P5KB.O -----...
P5KB.l - - - - .
PSKB.2 - - . .

PortS
Keyboard

~;~::~

=:

ANAVcc
ANAVss
PORT 5

P5KB.5 _________

P5KB.6 -----...
PSKB.7 -----...

Figure 2. TSC80S1All pin functions

MATRAMHS
Rev. D (14 Jan. 97)

ILlI.3

Preview

TEMIC

TSC8051All

Semiconductors

Pin Configuration

PO.O/POKB.O
PO. I/POKB. !
PO.2/POKB.2
POJ/POKB.3
POA/POKBA
PO.5/POKB.S
PO.6/POKB.6
Vee

TSC8051All
PQFP64

v"

PO.7/POKB.7
P1.7/SS
Pl.6/SCK
P1.5IMOSI
PI.4/MISO
P1.3/CTXl

Top View

PI.2!CTXO

9 8 7 6 5 4 3 2

CD

6tl 67 66 65 64 63 62 61

PO.OIPOKB.O
PO.llPOKB.l
PO,2/POKB.2
PO.3/POKB.3
rDA/PQKBA

P0.5IPOKB.5
PO.6/POKB.6

TSC8051All
PLCC68

Vee
Vss
PO.7/POKB.7

Top View

P1.7/SS

P5.6/P5KB.6
P5.5/PSKB.5
P5,4/P5KBA
P5.3/PSKB.3
P5.21P5KB.2
PS.IIPSKB.l
P5.0/PSKB.O
XTAL2
XTALI
Vee
Vss
P3.7/RD
P3.61WR
P3.5/TI
P3AlTO
P3JIINTI

PI.6/SCK

PS.6/P5KB.6
P5.5/P5KB.5
PS.4/P5K8A
P5.3/P5KB.3
PS.2fPSKB,2
P5,1IPSKB.1
P5.0/P5KB.O
XTAL2
XTALI
Vee
Vss
(n.c)

P1.5/MOSI

P3.7/RD

(n.c)

P3.6fWR

P3.S{n

PIA/MISO

Pl.3/CTXl
PL2/CTXO

44
2728 2930 31 32 33 34 35 36 37 38 39 40 41 42 43

P3.4rrO
P3.3IINTl

Figure 3. TSC8051All pin configuration

II.l1.4

MATRAMHS
Rev. D (14 Jan. 97)

Preview

TEMIC

TSC8051All

Semiconductors

._c.
Pin Assignment

Table 2. Pin assignment

,;!..;
,;:c ;~
".
:........;i:i li:)<. ....~~CtiO!l/: •. •. • / .> 1~~tiP~j"""'" . ..) • ii,i.i. . ·)~i~;f~i . ·.i •
1""".;;;;j/h'«J

<',

..~ ..*~"

.

'n....."

TNTI

1

10

PO.O

AD.O I POKB.O

33

44

P3.3

2

II

PO.I

AD.I I POKB.I

34

45

P3.4

TO

3

12

PO.2

AD.2 I POKB.2

35

46

P3.5

T1

4

13

PO.3

AD.3 I POKB.3

36

47

P3.6

WR

5

14

POA

ADA I POKBA

37

48

P3.7

RD

6

15

PO.5

AD.5 I POKB.5

,,

49

(n.c)

7

16

PO.6

AD.6 I POKB.6

38

50

Vss

8

17

Vee

39

51

Vee

9

18

Vss

40

52

XTALl

•........... .. .............

10

19

PO.7

AD.7 I POKB.7

41

53

XTAL2

11

20

P1.7

SS

42

54

P5.0

12

21

P1.6

SCK

43

55

P5.1

P5KB.l

13

22

PI.5

MOST

44

56

PS.2

P5KB.2

,W1HtAl,\'li

23

(n.c)

45

57

P5.3

P5KB.3

14

24

PI.2

MlSO

46

58

P5A

P5KB.4

15

25

P1.3

CTXl

47

59

P5.5

P5KB.5

16

26

PI.2

CTXO

48

60

P5.6

P5KB.6

17

27

Pl.1

CRXI

49

61

P5.7

P5KB.7

18

28

PI.O

CRXO

50

62

(n.c)

19

29

P4.7

ANA.7/Cref

51

63

RESET

II

PSKB.O

20

30

P4.6

ANA.6

52

64

PSEN

21

31

P4.5

ANA.5

53

65

ALE/PROG

22

32

P4.4

ANA.4

54

66

EA/Vpp

23

33

ANAVss

55

67

Vss

24

34

ANAVcc

i,.,i.

68

(n.c)

25

35

ANAref+

56

1

Vcc

:\Wl,\\;'.

36

Vss

57

2

P2.0

26

37

P4.3

ANA.3

58

3

P2.1

A.9/CCU.l

27

38

P4.2

ANA.2

59

4

P2.2

A.l0ICCU.2

28

39

P4.1

ANA. 1

60

5

P2.3

A.11 I CCU.3

29

40

P4.0

ANA.O

61

6

P2A

A.12/CCUA

30

41

P3.0

RXD

62

7

P2.5

A.13 I CCU.5

31

42

P3.1

TXD

63

8

P2.6

A.14/CCU.6

32

43

P3.2

INTO

64

9

P2.7

A.15 I CCU.7 I ECl

A.8/CCU.0

II.l1.5

MATRAMHS
Rev. D (14 Jan. 97)

Preview

TEMIC

TSC80S1All

Semiconductors

General Signal Description
Vss

PORTO

Digital ground

Port 0 can act the part of address/data bus or standard 110
port.
Its dedicated alternate function is a S-bit keyboard
interface.
In the default configuration, port 0 operates the same as
it does in the SOCSl, with open-drain outputs.

Vee
Digital supply voltage

ANAVss

PORT!

Analog ground

ANAVee
Analog supply voltage

EA/Vpp
External Access enable must be strapped to Vss in order
to enable any device plugged on port 0 / port 2 to fetch
code from 0 up to 24K. EA must be strapped to Vcc for
internal program execution.
This pin also receives the 12V programming supply
(Vpp input) to program the internal EPROM.

Port I can act the part of standard I/O port.
This port has two dedicated alternate functions:
P.I[O:3] for CAN (Controller Area Network)
interface.
P.I [4:7] are for synchronous serial link (SPI or
mWIRE) interface, In the default configuration,
port I operates the same as it does in the SOCS1,
with internal pullups. Port I type CSI is
sometimes called "quasi-bidirectional" due to
the internal pullups.

PORT 2
Port 2 can act the part of address bus or standard I/O port.
Its dedicated alternate function is the CCU (Capture &
Compare Unit) interface.

XTAL2
It is the output from the inverting oscillator amplifier.

In the default configuration, port 2 operates the same as
it does in the SOCS1, with internal pull-ups.

RESET
An active level (low) on this pin, while the oscillator is
running, resets the device. An internal pull-up resistor
permits power-on reset only using only an capacitor
connected to Vss.
The active level of the RESET pin is the opposite to the
one of CSI standard.

ALE/PROG

PORT 3
Port 3 can act the part of standard 110 port.
Its dedicated alternate functions are those of the CSI
standard (RxD, TxD, INTO, INTI, TO, TI, WR & RD).
In the default configuration, port 3 operates the same as
it does in the CSI, with internal pull-ups. Port 3 type CSI
is sometimes called "quasi-bidirectional" due to the
internal pull-Ups.

The Address Latch Enable output signal is used to latch
the low order byte of the address during accesses to
external memory. ALE can sink and source S LS TTL
loads.
If desired, ALE buffer can be disable. Then, ALE is
pulled low.
This pin is also used (program pulse input) to program
the internal EPROM.

PORT 4

Program Store Enable is the read strobe to external
program memory, else it remains high. PSEN can sink
and source S LS TTL loads.

ANAref+

Port 4 can act the part of standard 110 port.
This port has two types of alternate functions:
• The first ones are S inputs for ADC module,
• The second type of alternate functions is the
reference voltage, Cref for CAN module.
In the default configuration, port 4 operates as a
"quasi-bidirectional" port type CSI with internal
pullups.

Positive voltage for the ADC module.

11.11.6

MATRAMHS
Rev. D (14 Jan. 97)

Preview

TEMIC

TSC8051All

Semiconductors

PORTS

In the default configuration, port 5 operates as a
"quasi-bidirectional" port type C51 with internal
pull-ups.

Port 5 can act the part of standard 110 port.
Its dedicated alternate function is a 8-bit keyboard
interface.

Electro-Magnetic Compatibility (EMC)
Primary attention is paid to the reduction of
electro-magnetic emission of the TSC80SlAll. The
following features reduce the electro-magnetic emission
and additionally improve the electro-magnetic
susceptibility:
• The TSC80S1All provides one analog supply
voltage pin and one analog ground pin. Placed on the
middle of one side of the package, this pair
(ANAVcc/ ANAVss) has short bounding wires, thus
reducing the generated noise.
In order to reduce the radiation loop area, the two
pins are adjacent.
• The TSC8051All provides three groups of digital
supply voltage and digital ground, in pairs of pins
(VssNcc). Placed on the middle of the three other
sides of the package, these groups have short
bounding wires, thus reduces the generated noise.
In order to reduce the radiation loop area, pins are
adjacent inside group.
• External capacitors should be connected across
associated pins (ANAVcc/ANAVss or VccNss).

•
•

Lead length should be as short as possible. Ceramic
CMS capacitors are recommended, I OnF + 100nF.
Several internal decoupling capacitors improve the
EMC radiation behavior and the EMC immunity.
In order to reduce the spectrum of the TSC8051A 11,
many signals has been treated, principally the
periodic signals. The current provided for external
signals, the period of clocks and the raising/falling
edges are the major points which has been nursed.
For application that never (or temporarily)
requires external memory resources, the ALE
buffer can be disable.
Once the oscillator is started, the gain is reduce
by 2 (6 dB).
Peripherals receiving XTAL clock have, each
one, their own prescaler to produce the operating
clock they need.
The output buffers are especially designed to
control rising and falling edges.

MATRAMHS
Rev. D (14 Jan. 97)

II.11.7

Preview

B

TEMIC

TSC8051A30

Semiconductors

CMOS Single Chip 8-bit Microcontroller with VAN
Controller
Description
The TSC8051A30 is a stand alone, high performance
CMOS microcontroller designed for use in automotive
and industrial applications.
The TSC8051A30 retains all features of the MHS 8OC51
with extended ROM capacity (16K bytes), 256 bytes of
RAM, a 100source 2-level interrupt, a full duplex serial
port, an on-chip oscillator and clock and two 16 bits
timers.
In addition, the TSC8051A30 has an 8-bit 8-channel
AID converter, a serial peripheral interface compatible
with SPI, a high security watchdog, an advanced 8
channel Capture and Compare timer Unit, a VAN
network line controller with a 128 bytes extra RAM used
to store the VAN messages.
The VAN controller is fully compliant with the ISO

standard ISO/I1519-3. It implements all features of the
TSS461C VAN data link controller, including a 128
bytes data dual port RAM to store the received and
transmitted messages.
The fully static design of the TSC8051A30 allows to
reduce system power consumption by bringing the clock
frequency down to any value, even DC, without loss of
data.
The design is done with a specific care to reduce EMC
emission and suceptibility.
This circuit is manufactured using SCMOS process and
is available in commercial, industrial, military and
automotive ranges; it runs from 0 up to 20 MHz in the
automotive temperature range -40°C to + 125°C.

Features
•
•
•

•
•
•

•
•

256 bytes of RAM
16 K bytes of ROM or OTP
Four 8-bit I/O ports ; each bit can be:
• TTLI/O
• Push-pull output
• CMOS input trigger with or without pull-down
Two 16 bit timerlcounter
A programmable window watch-dog with
integrated low power RC oscillator; basic period 20
ms typical, maximum period 128 times 20 ms
A eight channels 16 bits Capture and Compare Unit
with:
• input capture
• output compare and PWM
A 8-bit resolution analog to digital converter with
eight multiplex inputs; conversion time 48 machine
cycles.
One port with programmable interrupt for keyboard
function

•
•
•
•
•

•

Several power reduction modes with enhanced wake
up capabilities
Power fail detection, Power on reset bit
Full duplex UART compatible with standard 8OC51
A serial peripheral interface (SPI+MW)
VAN controller with 128 bytes data RAM
• Fully
Compliant
with
VAN standard
ISO/11519-3.
14 Identifier Registers with all bits individually
maskable
I Mbitsls Maximum Transfer Rate
• 3 Separate line inputs with automatic diagnosis
and selection
• Idle and sleep modes
• Manchester Enhanced or Impulsed Coding
PQFP, PLCC or SSOP 44 package ; PQFP 64 for
emulation

II.12.1

MATRAMHS
Rev. E (14 Jan. 97)

Preview

2

TEMIC

TSC8051A30

Semiconductors

Block Diagram
.;!;

~ ~

!j

~

~ ~

~ ~
-< -< -<

~

;.

;. ;.

~
-<

-------_#- --

tl

O;l

B
U

O~~

'"'"

~ou

::;:'"

. ~~~
~

;. ;. ;. ;.

XTALl
XTAL2

RAM
256x8

EPROM
16Kx8

ALE!
PROG
PSEN

EAlVpp
RD

Power

Key

Monitor

Board

WR

- - - - - - - - - - - - - - - - - (0) -

(1): Alternate function of Port 1

(2): Alternate function of Port 2

(3): Alternate function of Port 3

(0): Alternate function of Port 0

Figure 1. TSC8051A30 Block Diagram

11.12.2

MATRAMHS
Rev. E (14 Jan. 97)

Preview

TEMIC

TSC8051A30

Semiconductors

Pin Configuration
OJ

0

0

0
X
X X
~, a:I a:I a:I
z z z en
en

en z

:!i
INDEX
CORNER

'0:"

~ ~ ~

0:

gz

0: 0: 0:

0

III

()

".. .~
z

'"0

co

OJ

III

OJ

III

¥
'"0OJ
Cl '"
0
1§ ~ ~ ~

'"
0;

IL

'"

0;

IL

0
IL

0
IL

PO.4JAD4IKB4

PO.5IAD5IKB5
PO.61AD6IKB6
PO.7IAD7IKB7
ENVPP
VSS

TSC8051A30

ALEIPROG
PSEN

P2.71A 151CCU71ECI
P2.61A14ICCU6
P2.5IAl31CCU5

:II ~ ~ -'
z z i'! i'!
I~ I~a: x x

~

'"

IL

;:::

~

:;
()
~ (jl

0

::J

()

.

'~"

~
~

'" ...
g g (;l
~ ~ ~
OJ

::J

::J
()

()

~

OJ
IL

~

()

::J

II.l2.3

MATRAMHS
Rev. E (14 Jan. 97)

Preview

TEMIC

TSC8051A30

40

2

41

Semiconductors

PI.ONAN_RXO

VANRXO

18

24

P2.0/A08/CCUO

Address bus high order or
CCU module I external I/O

Pl.lNAN_RXI

VANRXI

19

25

P2.11A09/CCUI

Address bus high order or
CCU module I external I/O

42

4

P1.2NAN_RX2

VANRX2

20

26

P2.21AIO/CCU2

Address bus high order or
CCU module 2 external I/O

43

5

P1.3NAN_TXO

VANTXI

21

27

P2.3/A11/CCU3

Address bus high order or
CCU module 3 external I/O

44

6

P1.4/MISO

SPI master in ,slave out

22

28

P2.4/A I 2/CCU4

Address bus high order or
CCU module 4 external I/O

7

P1.5IMOSI

SPI master out, slave in

23

29

P2.5IA13/CCU5

Address bus high order or
CCU module 5 external I/O

P1.6/SCK

SPI serial clock I/O

24

30

P2.6/A14/CCU6

Address bus high order or
CCU module 6 external I/O

9

P1.7/SS

SPI slave select

25

31

P2.7/A I 5/CCU71
ECI

Address bys high order or
CCU module 7 external I/O
or CCU count input

13

P3. IffXD/ANA I

Serial transmit port or
Analog Input I

29

35

EANPP

External access
enable!Programming supply
voltage

14

P3.2lINTO/ANA2

External interrupt 0 or
Analog Input 2

30

36

PO.7/AD7/KB7

Mux. low order address &
data bus or Keyboard

9

15

P3.3/INTIIANA3

External interrupt 1 or
Analog Input 3

31

37

PO.6/AD6/KB6

Mux. low order address &
data bus or Keyboard

10

16

P3.4ITOIANA4

Timer/counter 0 input or
Analog Input 4

32

38

P0.51AD5/KB5

Mux. low order address &
data bus or Keyboard

11

17

P3.5ff1/ANA5

Timer/counter 1 input or
Analog Input 5

33

39

PO.4/AD4/KB4

Mux. low order address &
data bus or Keyboard

12

18

P3.61WR1ANA6

External data memory write
strobe or Analog Input 6

34

40

PO.3/AD3/KB3

Mux. low order address &
data bus or Keyboard

13

19

P3.7IRD/ANA7

External data memory read
strobe or Analog Input 7

35

41

PO.21AD2/KB2

Mux. low order address &
data bus or Keyboard

14

20

XTAL2

Crystal output

36

42

PO. 1/ADlIKB 1

Mux. low order address &
data bus or Keyboard

IS

21

XTALI

Crystal input

37

43

PO.O/ADO/KBO

Mux. low order address &
data bus or Keyboard

2

7

MATRAMHS
Rev. E (14 Jan. 97)

11.12.4

Preview

TEMIC

TSC8051A30

Semiconductors

Pin Functions

XTALI
XTAL2
EAJVpp
ALEIPROG

I
2

!

' f PORTO

PSEN
RESET

S
6
7

ANAVcc
ANAVss

AVREF+
ANAO
ANAl
ANA2

ANA3
ANA4
ANA5
ANA6
ANA7

~ RXD
TXD --:--+
+----:INTO

INTI
TO

§f

I

2
Of
3
4
PORT 1

56

TJ
WR ~
RD . . . - -

7

I
2

Of
3
4
PORT 2
S
6
7

~~

AD!
AD2

~

i

ADS
AD6
AD?

Low
order
address
& data

bu,

~

KBO
KBI
KB2
KB3
KB4
KBS
KB6
KB7

VRXI

VRX2
VRXO}
VTXO
MISO

VAN

MOSI} S~UmWIRE
mterface

SCK

SS

~A8

A9
AIO

All

Al2

A13
A14
A15

High
order

address
bu,

~

CCUO
CCUI
CCU2
CCU3
CCU4

CCUS
CCU6

CCU7/ECI

" ' - - - - - - - 44-pin package

Figure 2. TSC8051A30 pin functions

II.12.5

MATRAMHS
Rev. E (14 Jan. 97)

Preview

TEMIC

TSC8051A30

Semiconductors

General Signal Description
Vss
Program Store Enable is the read strobe to external
program memory, else it remains high. PSEN can sink
and source 8 LS TTL loads.

Digital ground

Vee
Digital supply voltage

PORTO
Port 0 can act the part of address/data bus or standard 110
port. Its dedicated alternate function are the inputs of the
keyboard interrupt. In the default configuration, port 0
operates the same as it does in the 80CSl, with
open-drain outputs.

ANAVss
Analog groundl

ANAVee
Analog supply voltage

PORTl

EA/Vpp

Port 1 can act the part of standard 110 port. This port has
two dedicated alternate functions:

External Access enable must be strapped to Vss in order
to enable any device plugged on port 0 / port 2 to fetch
code from 0 up to 16K. EA must be strapped to Vcc for
internal program execution.
This pin also receives the 12V programming supply
(Vpp input) to program the internal EPROM.

XTALl
It is the input to the inverting oscillator amplifier and the
input for external clock generator.

XTAL2
It is the output from the inverting oscillator amplifier.

RESET

eP.l[O:3] for VAN (Vehicle Area Network) interface.
ep.l[4:7] are for synchronous serial link (SPI or
mWIRE) interface.
In the default configuration, port 1 operates the same as
it does in the 80C51, with internal pullups. Port 1 type
C51 is sometimes called "quasi-bidirectional" due to the
internal pullups.

PORT 2
Port 2 can act the part of address bus or standard 110
port.lts dedicated alternate function is the CCU (Capture
& Compare Unit) interface.ln the default configuration,
port 2 operates the same as it does in the 80CSl, with
internal pullups.

PORT 3

The active level of the RESET pin is low. An active level
on this pin, while the oscillator is running, resets the
device. An internal resistor permits power-on reset only
using an external capacitor. The reset pin is
bidirectional; it acts as an output when a reset is issued
by the watch-dog function.

ALE I PROG
The Address Latch Enable output signal is used to latch
the low order byte of the address during accesses to
external memory. ALE can sink and source 8 LS TTL
loads.lf desired, ALE buffer can be disable. Then, ALE
is pulled low. This pin is also used (program pulse input)
to program the internal EPROM.

Port 3 can act the part of standard 110 port. This port has
two types of alternate functions:
• The first ones are the same than in C51 (Rxd, TxD,
... , WR,RD),
• The second type of alternate functions are 8 inputs
for the 8-bit AID converter.
In the default configuration, port 3 operates the same as
it does in the CSl, with internal pullups. Port 3 type C51
is sometimes called "quasi-bidirectional" due to the
internal pullups.

AVREF+
•

Positive reference voltage for the ADC module.

11.12.6

MATRAMHS
Rev. E (14 Jan. 97)

Preview

TEMIC

TSC8051A30

Semiconductors

Electro-Magnetic Compatibility (EMC)
Primary attention is paid to the reduction of
electro-magnetic emission of the TSC80S1A30. The
following features reduce the electro-magnetic emission
and additionally improve the electro-magnetic
susceptibility:
• The TSC80SIA30 provides one analog supply
voltage pin and one analog ground pin. Placed on the
middle of one side of the package. this pair
(ANAVcc/ ANAVss) has short bounding wires. thus
reducing the generated noise.
In order to reduce the radiation loop area, the two
pins are adjacent.
• The TSC8051A30 provides one group of digital
supply voltage and digital ground, in pairs of pins
(Vss/Vcc). Placed on the middle of the sides of the
package, this group have short bounding wires, thus
reduces the generated noise. In order to reduce the
radiation loop area, pins are adjacent inside group.
• External capacitors should be connected across
associated pins (ANAVcc/ANAVss or Vcc/Vss).
Lead length should be as short as possible. Ceramic
CMS capacitors are recommended, IOnF + IOOnF.

•
•

Several internal decoupling capacitors improve the
EMC radiation behaviour and the EMC immunity.
In order to reduce the spectrum of the TSC8051 A30,
many signals has been treated, principally the
periodic signals. The current provided for external
signals, the period of clocks and the raising/falling
edges are the major points which has been nursed.
For application that never (or temporarily)
requires external memory resources, the ALE
buffer can be disable.
Once the oscillator is stable, the gain is reduce by
2 (6 dB).

Peripherals receiving XTAL clock have, each
one, their own prescaler toproduce the operating
clock they need.
The output buffers are especially designed to
control rising and falling edges.

II.12.7

MATRAMHS
Rev. E (14 Jan. 97)

Preview

II

TEMIC
Semiconductors

Section III

cst Application Notes
ANM031 : Secret Tag on 80C51 Family Microcontrollers ...........•.•.••••••..• 111.1.1
ANM032 : How to use a Third Overtone Crystal
with a 80C51 Family Microcontroller .••••.•.•..•.....•.........•........•.•. JII.2.1
ANM033 : How to Read Out the Internal Memory Code
of a 80C51 Microcontroller Family .•.••••.•.•.......••..•......•............ 111.3.1
ANM034 : Compatibility between 80Cx2 and 8xC154 Microcontrollers .•.•••.•...• 111.4.1
ANM053 : Encryption on 80C51 Family Microcontrollers •.••.•••.••••..•••••..• 111.5.1
ANM055 : How to Get a Second Asynchronous Serial Interface
on a 80C51 Microcontroller Family ••.•••.••••..•••••••.••.•.•.••••..••••...• 111.6.1
ANM059 : How to Recognize Video Mode and Generate Free Running
Synchronization Signals Using TSC8051C1/C2 Microcontroller ..•..•.....•...... 111.7.1

•

TEMIC

ANM031

Semiconductors

Secret Tag on 80eS1 Family Microcontrollers
Overview
The Secret Tag is a feature which allows serialization of
each microcontroller for identification of a specific
equipment.

permits personalization of any electronic equipment
using a 80C51 architecture.
The coding of the different registers allows TEMIC to
guarantee that each value of the Secret Tag is UNIQUE.

For instance, on a network, each terminal equipment can
be identified by comparing the identifier sent via network
with the identification number stored in the
microcontroller.

For confidentiality on secret tag value, no special
marking is written neither on the die nor on the final
package. This value can be read out by classical
instruction set routine. This routine is implemented inside
the microcontroller ROM memory which can be kept
secret (and then the value of the secret tag also) by using
a ROM ENCRYPTION.

One unique number per device is implemented. This
serial number is a 64-bit binary value, which is contained
and addressable in SFR (Special Function Registers) area.
This value can be used as an identification number, and

Description
The secret tag register is composed of two groups of four
consecutive bytes in the Special Function Register (SFR)
area. One is placed at the FCh to FFh addresses and the
other at the ECh to EFh addresses.

•

These registers are used as follows:
• Lot number (LO-Ll5) : number from 0 to 65535
referring to TEMIC fab lot number.
• Lot Number Extension (EO-E3):  = 0
A
=1
o
= 15
ADDRESS

b7

Customized number (CO-C 11) : fixed number from 0
to 4095 given by the customer.

•

Year (YO-Y3): 1994 is 0,1995 is I, and so on.

•
•
•

Month (MO-M3) : number from 1 to 12.
Wafer Number (WO-W7) : number of Wafer.
Serial Number (SO-SI5) : number from 0 to 65535
incremented step by step.

b6

b4

b5

bl

b2

b3

bO

TAGl

ECh

IL7

I L6

I LS

I L4

1L3

1L2

ILI

ILO

TAG2

EDh

I LIS

1L14

1L13

I LI2

ILll

ILIO

IL9

I L8

TAG3

EEh

I C3

I C2

ICl

I co

IE3

I E2

lEI

I EO

TAG4

EFh

I Cl1

IClO

I C9

I C8

I C7

I C6

I CS

IC4

TAGS

FCh

IY3

I Y2

I Yl

Iyo

1M3

1M2

IMI

IMO

TAG6

FDh

IW7

IW6

Iws

IW4

IW3

IW2

IWI

Iwo

TAG7

FEh

I S7

I S6

Iss

I S4

I S3

I S2

lSI

I SO

TAG8

FFh

I SIS

I S14

IS13

I S12

I Sl1

I S10

I S9

I S8

MATRAMHS
Rev. D (14 Jan. 97)

IILl.1

TEMIC

ANM031

Semiconductors

•
•

Lot Number
Lot Number Extension

= 1025

•
•

Production Year
Production Month

= 1995 (1)

=2

•

Customized Number

=0

•

Serial Number

= 291

= August (8)

80eS1 Routine to Read Out the Secret Tag
The eight secret tag registers are mapped into 80C51 SFR area (Special Function Registers). The routine listed hereafter
reads the Secret Tag Registers and sends it on the serial data link.
Main_Program:
========= UART Initialization ==============
Mov

SCON, #53H ; 8-bit UART Variable/REN

1

TI / RI =1.
Mov

TMOD, #20H ; 8-bit auto-reload mode for
baud rate generator.

Mov

TH1, #OE8H ; 1200bds at 11.059MHZ.

Setb

TR1

Somewhere in the program the routine is
called to transfer the Secret tag registers.
Call

========= Character Sending Routine
Send_Char:
Jnb

TI,$

Clr

TI

Mov

SBUF,A

test if the transmitter is free to
send a new character.
send the new character.

Ret
======== Secret Tag Transfer Routine =========
Secret_Tag_Transfer:
Mov

A,TAG1

Call

Send_Char

Mov

A,TAG2

Call

Send_Char

Mov

A,TAG3

Call

Send_Char

111.1.2

MATRAMHS
Rev. D (14 Jan. 97)

TEMIC

ANM031

Semiconductors

Mov

A,TAG4

Call

Send_Char

Mov

A,TAG5

Call

Send_Char

Mov

A,TAG6

Call

Send_Char

Mov

A,TAG7

Call

Send_Char

Mov

A,TAG8

Call
Ret

Send_Char

II

0

+5 V

"
u

31

lEA

9

RST

11
10

ITXD

;;

C3

IRXD

80eS1
MAX233

12

CI
27pF

~Q'
-=-

12MHzD

19

18

P3.2

XTALI

P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
PO.7
PO.6
PO.5
PO.4
PO.3
PO.2
PO.I
PO.O
P3.3

28
27

Pl.7
Pl.6
Pl.5
PI.4
P1.3
P1.2
Pl.l
PI.O

C2
27pF

Additional Information
For additional information on Microcontrollers, and
Ordering Information, please refer to the product
datasheets available upon request.

MATRAMHS
Rev. D (14 Jan. 97)

111.1.3

TEMIC

ANM032

Semiconductors

How to use a Third Overtone Crystal with a soCst Family
Microcontroller
Description
For cost reason using an overtone crystal is 5 to 6 times
cheaper than a fundamental one. Using this type of crystal
is slightly different comparing to a fundamental one. The
frequency of an overtone crystal is adjusted on the
fundamental one and this one must be trapped by a LC
pass-band filter. The typical schematic is shown below.
CPl and CP2 are the parasitic capacitors due to the
packaging and the PCB lay-out. L1 and Cl is the

iT

=

~Q

passe-band filter used to trap the fundamental frequency.
C2 is a small capacitor to increase a little bit the
open-loop gain given by:
A x B = A x CP2 + C2
CPl
where A is the gain a the operating frequency and B is the
gain of the feed-back. The frequency of the filter is given
below:

1

L=
1

(2

X 3l

II

= 36.:64 = 12.288 MHz

x 12.288

X

1 6
10 )

Where C3 = 33 pF

X

(39

X

10

12)

=43H
. Ii

The standard one is 4.7J..lH and not critical because the
bandwidth is large enough . C2 is chosen to be equal to

lOpf (a larger value break-down the amplifier and the
open loop gain) .

CPl

CP2

T

T
L....---I0 I---.L--r---.

Q = 36.864MHZ

C2

Ll

C3

T
Figure 1. Typical application with a third overtone crystal

MATRAMHS
Rev. D (14 Jan. 97)

III.2.1

TEMIC

ANM033

Semiconductors

How to Read Out the Internal Memory Code of a socst
Microcontroller Family
Overview
A single chip microcontroller is a controller with a ROM
memory storing the program code of the specific
application. The program is masked during the
processing of the integrated circuit. The great advantage
is that no 110 ressource is consumed to interface the
external code memory. 110 line possibilities consequently
are increased.

This application note describes a solution to dump the
internal ROM and is based on a specific TEST MODE
(TEST MODE VER) used to test the microcontroller in
production.
In this note a member of TEMIC's 80CSI family will be
named 80Cxxx .

In order to test or to check this internal ROM, some
solutions can be implemented.

TEST MODE VER to dump the ROM
The TEST MODE VER can be used by setting some
80Cxxx inputs shown in figure I . The PORTs PI and P2
receive respectively the low address lines and the high

address lines. The code program in that condition is read
from PO . The lines of PORTO is open drain and must be
tied with lOkohm pull-up resistors.
+5V

+5V
EA
10 Kohms
ALE
PSEN

PO.7
PO.O

D7-DO

P3.6
P3.7
Reset

RST

Al5-A8

P2.7
P2.0

A7-AO

Pl.7
PI.O

Xta12

T

Xtall

T
Figure 1. Configuration for the TEST MODE VER
To activate and to dump the ROM a specific timing must
be applied, it is shown in figure 2.
Before generating the first Read cycle a delay at least
equal to 24 clock periods has to be waited. This time is
needed to reset correctly the 8OCxxx. At this time the first

MATRAMHS
Rev. B (14 Jan. 97)

address is read by the 80Cxxx from the PORT 1 and 2. To
read the first data it is necessary to wait again 12 clock
periods. This is due to the internal synchronisation and the
internal ROM access time. So the data only appears 36
clock periods after the reset is applied.

111.3.1

11

TEMIC

ANM033

Semiconductors

I1 f \ J V V V \ 1

XTAL2

(\J\J\JV\J\
----------------

~------------~~I
Reset
ALE, PSEN, P27--6

------r-------~~I------------------r-------~~I-------------

------r-------~~---,r-------~
A.x-AO _ _ _ _+-_..:.AD=R::;:O_ _ ~
ADRI
~
lreset> 24 clock periods

D7-DO _ _ _ _

ADR2

tread> 12 clock periods

- - "D~/'i. : :;I:. :;f\X: . . _ ~ ~:____...JX

DATAO

~ ~,--_ _ _D: :;/'i.:. :.T: :;f\~I_ ___

Figure 2. Timings to dump the ROM

Example Dump ROM Application
Figure 3 shows the schematic of this typical application
using a 87C51 (01P version). The main idea is to control
the 80Cxxx by another one in order to generate all the

signals we need and to output the dumped data on a serial
line or to trace the dumped data on PORTO with a logical
analyser.
0
.".

+5V
31

lEA

C3
9

RST

11

ITXD
IRXD

ALE

lEA

80Cxxx
12
TRIG

P3.2

XTALI

18

IPSEN

9

CI
27pF

~

C,.!D
C2
27pF

19

XTALI
P3.7

18

P3.6

~ ~----~~-----~~

Figure 3. Typical application

111.3.2

MATRAMHS
Rev. B (14 Jan. 97)

TEMIC

ANM033

Semiconductors

Flow chart of the program
Figure 4 shows the flow chart of the program .The
program starts with the serial line configuration
(2400bds, 8-bit of data) and the set-up of target 80Cxxx
for the DUMP operation. Then read operation of the ROM

is performed and the read data is transmitted on the serial
line. In the same time, the TRIG signal is active low to
synchronize an external logical analyser.

Serial Line, Dump set-up

Read Operation of the ROM

Transmission of the data
Trigger for the logical Analyse

II

Same Operation for the entire ROM

Figure 4. Flow chart for the dump ROM program

Subroutine of the Initialization Sequence
;=== initialization ==============================
Speed = 2400bds , Format = 8 bits

;=======================================
;---Set-up the Baud Rate Generator--------------SetB

Target under Reset

MOV TMOD,#Baud_Rate_Timer

TIMERl = 20H

MOV TH1,#Speed

Speed = OF3H

Setb TRl
;------Set-up the UART-----------------------MOV SCON,#FORMAT

FORMAT =42H

;===ROM Dump operation Set-Up==============
Size_Rom = 4095 bytes
MOV DPL,#OO

MATRAMHS
Rev. B (14 Jan. 97)

starts with first address

III.3.3

TEMIC

ANM033

Semiconductors

Subroutine of the dump ROM operation
;===ROM Read Operation====================
Dump operation:
MOV PO,DPL

Address of the Read

MOV P2,DPH
CLR

Trig

Analyser TRiggering

MOV A,Pl
Call Serial trans

Serial transmission

SETB Trig
INC DPTR

Next address

MOV A,#Size_ROM_Low
CJNE A,DPL,Dum_operation
MOV A,#Size_ROM_High
CJNE A,DPH,Dump_operation
JMP $
Serial trans :
JNB TI,Serial_trans
CLR TI
MOV SBUF,A
RET

Timings analysis
Two parameters are critical in the dump ROM application
(figure 2) : treset and tread.
Treset parameter is the minimum time required from the
active Reset to the output of the first data. The minimum
value of this parameter is 24 clock periods.
In this application, the first data appears 168 clock
periods after the first address.

To determine when data coming from the ROM can be
read, tread parameter must be taken into account.
The minimum value of this parameter is 12 clock periods
measured when the address is stable and the data can be
read.
In this application, tread will be read 72 clock periods
after the address is driven. So, both of the parameters are
not critical .

Conclusion
This application based on a TEMIC piggy-back is easy
to implement and requires only few components.

Furthermore this basic application can be improved by
adding a software interface developed on a Personal
Computer to compare the dumped ROM and the original
one.

Additional Information
For additional information on Microcontrollers, and
Ordering Information, please refer to the product
datasheets available on request.

III. 3.4

MATRAMHS
Rev. B (14 Jan. 97)

TEMIC

ANM034

Semiconductors

Compatibility between 80Cx2 and 8xC154 Microcontrollers
Description
An application based on 80C52/80C32 can be replaced by
83CI54/80CI54 if some precautions have been taken in
order to not activate special features of the 8XCI54
contained in one common register. This note gives details
about the differences.

Features
The 8XCI54 is an enhanced version of the 80C52/80C32.
The main differences are mainly due to Internal Program
memory, the Power-Down mode, the serial link and the
Programmable port impedance.These differences are
summarized in Table 1.

Table 1. Main Differences Between Microcontrollers

'·:·'n'··.·,·· ,)re;:lt9;t!!S :

.. .' ........... ..... .'.,'.
'

'"

".'

ROM (80C52 & 83C154)

, ·~fC~2I$OCS2

..' ...... ,:; .~.

",

....

:,

'.

" ·81lClS4/S3eis4
",<,'t,::,
"",,,

'~:;i

' I ' -',

8 Kbytes

16 Kbytes

Frame Error Detection

No

Yes

Overrun Error Detection

No

Yes

Recover Mode

No

Yes

Hardware Power-Down Mode

No

Yes

Programmable 1/0 Port Impedance

No

Yes

,',

....

Programmable Port Impedance
The impedance of the port 1,2 and 3 can be programmed
in one of the three impedance modes through the laCON
register ( OF8H) shown in table 2. The impedance can be
normal, high or floating .This mode is not supported by
the 80C32/80C52 and a program written on
80C32/80C52 never accesses to this register.

Table 2. laCON register description

I/OCON (OF8h)
I/O Control register

MATRAMHS
Rev. B (14 Jan. 97)

WDT

T32

SERR

IZC

P3HZ

P2HZ

PlHZ

IZC=1

Set by software to select High impedance for Port I. 2 and 3.
When cleared, Port 1, 2 and 3 have a normal impedance.

PxHZ= I

When set by software. the Port (1. 2 and 3) become a floating input.
When cleared, the impedance is selected by IZC bit.

ALF=1

When set by software, all the Ports (1, 2 and 3) become floating when the
power-down mode is activated

ALF

III. 4. 1

TEMIC

ANM034

Semiconductors

Power Reduction modes There are basically four power
reduction modes in the SxC154:
•
•
•

Idle
Recover
Software

•

Hardware

All these modes are activated with the four bits
PD,HPR,RPD and IDL in the PCON register shown in
table 3.
.
The SOC52/32 has only two power reduction modes: Idle
and software power-down modes. All these modes are
controlled by the two bits PD and IDL in the PCON
register shown in Table 3.

Table 3. PC ON register description
peON (87h) register L..1_S_M_O_D---'_H_P_D_"-_R_P_D_-'-_ _ _-'-_G_F_l_-'-_G_F_O_"'--_P_D_-'-_I_D_l_-,
IZC= I

Set by software to select High impedance for Port I, 2 and 3.
When cleared, Port I, 2 and 3 have a normal impedance.

Power-Down Mode

Hardware Power Down Mode

This software mode is used to reduce to the minimum the
power consumption (50 i!A) . This mode is activated by
software by setting to one the bit PD in the PCON register
and the way to cancel it depends on the controller used:
• SOC32/S0C52: Only a hardware reset can cancel this
mode.
• SXC154: A hardware reset or an external interrupt
(INTO or INTI) can cancel this mode.

This mode allows to control the Power-Down mode by an
external signal through the TI pin (P3.5). When a falling
is applied on this pin and if the HPD bit of the PCON
register is set to one, the controller stops the clock and
goes in power-down mode. A rising edge on TI pin
awakes the controller, restarts the oscillator and the
execution of the program. This mode works
independantly of the software mode. This mode is not
supported by the SOC52/S0C32 part and is an
enhancement of the SXC154.

Idle Mode
This mode is used to reduces the power consumption
down to 25% of the nominal consumption and to maintain
a minimum of CPU activities (TIMER/COUNTER,
UART). This mode is activated by setting to one the bit
IDL in the PCON register.The way to cancel it can be
done either by an hardware reset or by all the interrupt
request sources.

Recover Mode

Overrun and Frame Errors
These errors are detected when a problem has been
detected on the serial link. If it is the case, the SERR bit
in the IOCON register is set to one. The overrun error
occured when a new character is received and overwrites
the last one which has not been read. The frame error
occurs when the length of the data received is not correct
(a stop bit is missing). This mode is supported by the
SOC32/S0C52 .

This mode is used only on the SXCI54 and is enabled by
setting to one the bit RPD in the PCON register. This
mode controls the way to cancel the power reduction
mode (Power-Down and IDLE) and can be either an
hardware reset or external interrupt requests (INTO and
INTI). The RECOVER mode allows two ways of
cancelling mode :RPD = 0 , the power reduction mode is
cancelled by the external interruptions only if they are
enabled (EXO=l, EXI=I in IE register) , RPD = I , the
power reduction mode is cancelled even if the external
interrupts are disabled and if there is an interrupt request.
This mode is not supported by the SOC52/S0C32 part
and is an enhancement of the SXC154.

111.4.2

MATRAMHS
Rev. B (14 Jan. 97)

TEMIC
Semiconductors

ANM034

Conclusions
Replacing a SOC32/S0C52 by a SXCl54 can be done
easily but the programmer must take care of the

RECOVER mode and the HARDWARE power--down
mode, which are not to be set in the program. If no
precautions are taken, the application can be disturbed as
detailed below:
• Hardware mode: If a rising edge is applied on pin TI,
the controller will enter in power-down.
• Recover mode: If the RPD bit is set to one and if the

PD bit is set to one as well, the controller will enter in
power-down mode and will be cancelled as soon as an
interrupt request will be set. If an interrupt is pending,
the power-down will be cancelled immediately. In
that case it looks like the power-down mode has never
been executed.
All other differences will be transparent for the software.

Additional Information
For additional information on Microcontrollers, and
Ordering Information, please refer to the following
datasheets available on request.

II

MATRAMHS
Rev. B (14 Jan. 97)

IlIA. 3

TEMIC

ANM053

Semiconductors

Encryption on 80eS1 Family Microcontrollers
Introduction
TEMIC provides a hardware encryption mechanism in

order to protect the program memory against piracy.
For this purpose, an encryption array is scrambled within
the ROM matrix.
This array is programmed by the factory at the same time
as the program memory, its content being different for
each application, and is totally secure from outside.
The size of the encryption array depends on the size of the
ROM matrix :
• 128 bytes for 80C5l

•
•
•

256 bytes for 80C52
512 bytes for 83C154
1024 bytes for 83C154D

When the internal code is read out at a given address, this
address selects one byte of the ROM memory map and
one byte of the encrypted array following an algorithm.
These two bytes are combined to create an encrypted byte
at the output port.
This will be reproduced for each address.

Design Considerations
When the program verification is performed, or when
MOVC instructions are executed from external memory
for accessing internal memory, each byte of internal ROM
is exclusive-nor'ed with an encryption byte, in order to
provide on Port 0 an encrypted byte.
The algorithm for selecting one encryption byte uses a

combinaison of the internal memory address lines :
•
•
•
•

7 address lines for 80C51
8 address lines for 80C52
9 address lines for 83C154
10 address lines for 83C154D

Readout
encrypted code

ROM
Code

4 Kbytes
8 Kbytes
16 Kbytes
32 Kbytes

MATRAMHS

Rev. D (14 Jan. 97)

Encrypted
Array

Internal
adelress bus

128 Kbytes
256 Kbytes
512 Kbytes
1024 Kbytes

III.5.1

II

TEMIC

ANM053

Semiconductors

Adding Features
The External Access pin (EA) is sampled and latched on
RESET, and any further switching of this pin is not
recognized,
It is always possible to use external memory, but the state
of EA during RESET will ascertain what is enabled.
• EA=O
• Code memory is exclusively external
• MOVC instructions access external ROM and
return non encrypted data.

•

EA= 1
• Code memory is internal for the lower 4K, and
external for the upper bytes for SOC51 (limit is SK
for SOC52, 16K for S3C154 and 32K for
S3CI54D).
• MOVC instructions in external ROM code that
access internal ROM return encrypted data.

This ensures full protection of ROM content, as detailed
in the table below:

Table 1. Use of MOVe intruction to access data in ROM code.

0

<4K

<4K

Internal

Internal

Internal fetches during internal MOVe instruction:
data not encrypted

<4K

>4K

Internal

External

External fetches during internal MOVC
instruction: data not encrypted

>4K

<4K

External

Internal

Internal fetches during external
instruction: data encrypted

>4K

>4K

External

External

External fetches during external MOVe
jnstruction: data not encrypted

X

X

External

External

External fetches during external MOVC
instructions: data not encrypted

Move

* : 4K value is for 80C5!. Replace by 8K for 80C52, by 16K for 83Cl54D and by 32K for 83C154D

Additional Information
For additional information on Microcontrollers, and
Ordering Information, please refer to the product
datasheets available upon request.

III.5.2

MATRAMHS
Rev, D (14 Jan. 97)

TEMIC

ANM055

Semiconductors

How to Get a Second Asynchronous Serial Interface
on a 80eS1 Microcontroller Family
Receiver part:

Description
The SOC51 family has only one asynchronous serial
interface.
However some users would like to have a low cost
solution to get two in their applications.
This solution exists and is described in this application
note.
The goal of this note is to present a very low cost software
solution to realise this second asynchronous serial
interface.

Features
No external hardware added;

On each TIMER 1 overflow interrupt, RxD input is
sampled. Start of transmission is recognised by a
transition of I to 0 on this pin. So a second sample is made
half a bit later to be sure that it is a start bit. Then sampling
is made in the middle of the received bits, nine times to
get the S data bits. The stop bit must have level I.

Transmitter part:
The operation of the transmitter is nearly the same as for
the receiver: start bit is written on TxD output followed
by the 8 data bits and the stop bit and so on. Time of bit
writing is calculated by counting timer interrupts.

Efficiency

Full duplex;
Dissymetrical baud rate in reception and in transmission
available;

Number of
sub-routine:

1200 bauds limitation of the internal serial interface
(hardware).

•
•

Resources used

The measures hereafter have been done with a
11.059MHz crystal, and same baud rate in emission and
in reception, and a hardware serial baud rate of 1200
bauds.

A time reference with interrupt capability is needed and
it can be TIMER 1 even if it is already used as baud rate
generator for the internal serial interface. In this case a 32
time speed transmission is obtained on TIMER 1
overflow (TIMER I is in mode 2 : 8-bit auto-reload, and
serial interface is in mode 1 : S-bit variable baud rate).
Only two I/O pins are needed: one for RxD and one for
TxD (for instance P 1.0 and Pl.1). Few bytes of memory
are used and finally a portion of the CPU time is used to
serve TIMER 1 interrupt. Three functions: initialisation,
transmission and reception, are allowed to use this serial
interface.

Method
Transmission

of

the

machine

cycles

spent

10

interrupt

Minimum: 10 cycles ;
Maximum: 49 cycles (transmission and reception) ;

Percentage of CPU usage:
•
•

41.7% if there is no traffic;
50% with continuous transmission or reception, and
1200 baud rate;

•

57.4% with continuous transmission and reception,
and 1200 baud rate;

•

6S.5% with continuous transmission and reception,
and 9600 baud rate.

The hardware serial baud rate is limited to 1200 bauds,
increasing it induces an increase of TIMER 1 interrupts
frequency, and so an increase of percentage of CPU
usage.

character

OlOOOOOlb 'A'
""~st'ari

~t

I

I

I

I

stop

Sample points

MATRAMHS
Rev. B (14 Jan. 97)

III. 6. 1

II

ANM055

TEMIC
Semiconductors

Demonstration Program
The demonstration program (listed in the following
pages) allows transmission on Pl.l of all characters
received on Pl.O without checking receive error.
The function TXD_S starts transmission of the character
placed in accumulator when the transmitter is ready.
The function RXD_S waits for reception of a character
and return it in accumulator.

Additional Information
For additional information on Microcontrollers, and
Ordering Information, please refer to the product
datasheets.

III. 6. 2

MATRAMHS
Rev. B (14 Jan. 97)

TEMIC
Semiconductors

ANM055

Program Listing
$TITLE (Software serial interface)

Software serial interface
with programmable speed

$NOMOD5l
$INCLUDE (reg5l.inc)
RSEG PROG
NAME UARTSOFT
Constant definition
RxDl
EQU
PI. 0
TxDl
PLI
EQU
Segment definition
PROG
SEGMENT CODE
VARI
SEGMENTDATA
BITVAR SEGMENTBIT
STACK SEGMENTIDATA
RSEG STACK
DS lOH
16 Bytes Stack
vectors definition
Reset vector
CSEG AT OOOOH
jmp MAIN
CSEG AT 00lBH
Timer 1 vector
jmp ITIM1
; bits definition
RSEG BITVAR
TXRDY: DBIT 1
1 if transmitter ready
RXRDY: DBIT 1
1 i f receiver ready
RXERR DBIT 1
1 if receiver error
INCOM: DBIT 1
1 if character received
; vars definition
RSEG VAR1
; Receiver
speed in reception
RXSPD: DS 1
RXCH:
DS 1
character in reception
internal counter
RXCNT: DS 1
receiver status
RXSTAT:DS 1
RXCH2: DS 1
last character received
; Transmitter
speed in transmission
TXSPD: DS 1
character in transmission
TXCH:
DS 1
internal counter
TXCNT: DS 1
TXSTAT:DS 1
transmitter status
software serial interface demonstration program
characters received on P1.0 are transmitted on Pl.l
RSEG PROG
; Main routine
SP,#STACK-1
MAIN:
mov
lcall SEINIT
interfaces init.
lcall RXD_S
LOOP:
lcall TXD S
sjmp LOOP
MATRAMHS
Rev. B (14 Jan. 97)

III.6.3

TEMIC

ANM055

Semiconductors

Initialize serial interfaces
desired speed is 32 for 1200 bauds, 4 for 9600 bauds
Oscillator frequency = 11.059 MHz
SEINIT:mov
mov
mov
mov
mov
mov
mov
setb
setb
setb
clr
mov
ret

TCON,#40H
TMOD,#20H
TH1,#OE8H
SCON,#52H
A,#32
RXSPD,A
TXSPD,A
PT1
TXRDY
RXRDY
RXERR
IE,#10001000B

Transmission of a character on TxD1
TXD_S: jnb
TXRDY, TXD_S
mov
C,P
mov
ACC.7,C
TXCH,A
mov
mov
A,TXSPD
rr
A
TXCNT,A
mov
mov
TXSTAT,#O
clr
TXRDY
ret

Timer 1 enabled
= 0 , mode = 2
1200 bauds
serial port mode 1
1200 bauds

CIT

; high priority It.
;transmitter ready
receiver ready
no error
It. timer 1 enabled

set parity
character to send
1 bit duration
1/2 bit duration
set counter
init. status
start transmission

Reading of the received character on RxD1
RXD_S: jnb
INCOM,RXD_S
mov
A,RXCH2
char. received
clr
INCOM
char. readed
ret

III.6.4

MATRAMHS
Rev. B (14 Jan. 97)

TEMIC

ANM055

Semiconductors

; Interrupt routine
RXRDY,RX1
ITIM1: jnb
; receiver not busy
jb
RxD1,TRANS
clr
RXRDY
push
ACC
mov
A,RXSPD
rr
A
RXCNT,A
mov
mov
RXSTAT,#O
pop
ACC
sjmp
TRANS
djnz
RXCNT, TRANS
RX1:
push
ACC
push
PSW
mov
A,RXSTAT
jnz
RX3
RxD1, ERRFRM
jb
RX2:
inc
RXSTAT
mov
RXCNT,RXSPD
sjmp
RX5
ERRFRM:setb
RXRDY
RXERR
setb
sjmp
RX5
cjne
A,#9,$+3
RX3 :
mov
C,RxD1
A,RXCH
mov
rrc
A
RXCH,A
mov
sjmp
RX2
RxD1 , ERRFRM
RX4:
jnb
RXCH2,RXCH
mov
setb
RXRDY
INCOM
setb
pop
RX5:
PSW
pop
ACC

TRANS:

; transmission part
TXRDY,TX5
jb
TXCNT,TX5
djnz
push
ACC
push
PSW
A,TXSTAT
mov
jnz
TX1
clr
TxD1
TXCNT,TXSPD
mov
TXSTAT
inc
sjmp
TX4

MATRAMHS
Rev. B'(14Jan. 97)

start bit ?

1 bit duration
1/2 bit duration
load counter
init. status

sample point ?

II

start bit OK (0) ?

receiver error
8 bits + stop bit
bit sampling

stop bit OK (1)

jnc

RX4

?

1 char. received

sample point ?

start ?
set start bit

ill.6.S

TEMIC

ANMOSS
TX1:

TX2:

TX3:

TX4:
TX5:

cjne
jnc
mov
rrc
mov
mov
mov
inc
sjmp
cjne
setb
sjmp
setb
mov
inc
pop
pop
reti

A,#9,$+3
TX2
A,TXCH
A
TXCH,A
TxDl,C
TXCNT,TXSPD
TXSTAT
TX4
A,#lO,TX3
TXRDY
TX4
TxDl
TXCNT, TXSPD
TXSTAT
PSW
ACC

Semiconductors

8 bits + stop bit

bit to send in carry
transmission of bit
init. counter

end of character ?

set stop bit

END

III.6.6

MATRAMHS
Rev. B (14 Jan. 97)

TEMIC

ANM059

Semiconductors

How to Recognize Video Mode and Generate Free Running
Synchronization Signals Using TSC8051CI/C2 Microcontrollers
Description
The TSC8051Cl
is an application specific
microcontroller for autosync monitor and digital control
application. It includes the TEMIC static 8-bit 8OC5l
CPU core with 8 Kbytes of ROM and 256 bytes of RAM,
l2x8-bit PWM channels, buffered HSYNC and VSYNC
outputs, a watchdog timer and a multimaster I2C
controller.

This application note describes how to automatically
recognize video mode by measuring the period and
polarity of horizontal and vertical synchronization
signals; it also explains how to generate free running
synchronization signal for burn-in purpose.
In the rest of the application note, the use of words Hsync
and Vsync means horizontal synchronization signal and
vertical synchronization signal respectively.

Typical Autosync Monitor Application
The introduction of the TSC8051Cl in CRT monitors
allows manufacturer and final user to get maximum
flexibility.
• Automatic parameters adjustment during factory
set-up.
• Auto-alignment capabilities.
• Saving of factory default parameters.
• Versatile frequency range up to 100KHz.
• More adjustment parameters are available to the user.

VIDEO
BOARD

Synchronization
Separator

~

•

•

Automatic video mode recognition that allows
automatic monitor adjustment to the values
previously saved by user.
On chip I2C bus controller allows Access bus
implementation and so monitor adjustment by the
PC's Keyboard.

Figure 1 shows a block diagram of a typical autosync
monitor designed with the TSC8051Cl.

Horizontal Deflection
Hshift: beam position
Hamp: picture amplitude

B

FJW: East/West pincushion
Hlin: S correction capacitors
TEST

11

1....!::::--'---I-t0f

Vertical Deflection
Vshift: beam position
Vamp: picture amplitude
Vlin: linearity

11Video Amplifiers
Of Brightness Contrast

*

ILCDPaneij

RlGIB cut-<>ff
RlGIB gain
White balance

KeyboardlDisplay

Figure 1. Autosync monitor block diagram with the TSC8051Cl

MATRAMHS
Rev.B (10 Jan. 97)

111.7.1

m

•

TEMIC

ANM059

Semiconductors

Hardware Description
TSC8051Cl implements some special features to allow
video mode recognition without adding any external
components.
• Special Hsync and Vsync inputs.
• V sync can generate an interrupt on either falling
or rising edge. As 8051 core samples inputs one
time per machine cycle, pulse duration less than
Tosc x 12 (If!s using 12 MHz crystal) are not 100%
detected. To allow Hsync pulses counting
(duration>150ns), pulses are lengthened up to 1
cycle period to be sampled by the 8051 core.
Figure 2 and Figure 3 show the VSYNC and
HSYNC input block diagrams.
• These features are programmable through EICON
SFR (address E4h).

INTOIVSYNC

IOL

Figure 2. INTONSYNC input block diagram

EICON SFR E4h

MSB

TOL

TOS
TaL

IOL

EICON.O

INTOIVSYNC input Level bit. Setting this
bit inverts INTOIVSYNC input signal.
Clearing it allows standard use of
INTOIVSYNC input.

TOS

EICON.l

TOIHSYNC input Selection bit. Setting
this bit allows short pulse capture.

Fosc

TOS

Figure 3. TOIHSYNC input block diagram

Clearing it allows standard use of
TO/HSYNC input.

TOL

EICON.2

TO/HSYNC input Level bit. Setting this

bit allows positive pulse capture. Clearing
it allows

HOP

HOE

HOS

VOP

VOE

vas

•
•

Special Hsync and Vsync outputs.
TSC8051Cl implements programmable Hsync and
Vsync outputs. User can disable and can invert these
outputs to provide good polarity to deflection stages.
• These features are programmable through SOCR SFR
(address E5h).
MSB
SOCRSFRESh

I

I

I vos I HOS I vOP I VOE I HOP

HOE

SOCR.O

HSYNC Output Enable bit. Setting this bit
enables the HSYNC signal.

HOP

SOCR.l

HSYNC Output Polarity bit. Setting this
bit inverts the HSYNC output.

VOE

SOCR.2

VSYNC Output Enable bit. Setting this bit
enables the VSYNC signal.

VOP

SOCR.3

VSYNC Output Polarity bit. Setting this
bit inverts the VSYNC output.

HOS

SOCR.4

HSYNC Output Selection bit. Setting this
bit selects the VSYNC output, clearing it
selects P3.5 SFR bit.

vas

SOCR.5

VSYNC Output Selection bit. Setting this
bit selects the VSYNC output, clearing it
selects P3.3 SFR bit.

III.7.2

Figure 4. HSYNC and VSYNC outputs block
diagram

MATRAMHS
Rev.B (10 Jan. 97)

TEMIC

ANM059

Semiconductors

Video Mode Recognition Description
V sync input is programmed to generate an interrupt each
time a falling edge appears on Vsync.
Vsync period measurement, Vsync polarity detection and
Hsync pulse counting are performed using Timer O.
Figure 5 shows the Timer 0 block diagram in mode I.

TO/HSYNC

__---Jt CIT

Interrupt
=I

TRO------------I

I

GATE

lNTOIVSYNC#

Figure 5. Timer/Counter 0 in mode 1: 16-bit Counter
The measurement cycle is divided in 3 operations (3
Hsync frames):

•
•

Vsync polarity detection:
In the second interrupt of the cycle, timer 0 is
programmed to be used as gated timer with foscll2
clock. GATE bit is set and timer counts only during
Vsync high level. In the third interrupt, TRO bit is reset
to stop counting. At this time, THO and TLO registers
contain a representative value of the V sync high level
duration (in /-!s if l2MHz crystal is used). If this
duration is higher than the Vsync period divided by 2
then, Vsync has a negative polarity else it has a
positive polarity (see Figure 7).

Timer 0 is reset and Vsync interrupt is enabled.
• Vsync frequency measurement:
• In first interrupt of the cycle, timer 0 is programmed
to be used as free running timer with foscl12 clock.
TRO bit is set to start counting (GATE bit is reset). In
the second interrupt, TRO bit is reset to stop counting.
At this time, THO and TLO registers contain a
representative value of the V sync period (in /-!s if
l2MHz crystal is used) (see Figure 6).

Positive polarity

~i:e_p~l

t...

~el_p:ri~d~

J

Period

Negative polarity

~h-Ie~e~p~

Negative polarity

-u----~

t..
t

Period

J

Interrupt points

Figure 6. Vsync frequency measurement

MATRAMHS
Rev.B (10 Jan. 97)

Figure 7. Vsync polarity detection
•
•

Hsync polarity detection:
In the second interrupt of the cycle, during the V sync
high level duration measurement, the Hsync signal is
sampled 16 times, if number of high level samples is
greater than 8 then, Hsync has a negative polarity else

III.7.3

TEMIC

ANM059
it has a positive polarity (see Figure 8). Hsync input
filter is then set to accept negative pulses or positive
pulses respectively.

Semiconductors

,,~~ .. ~

rI

rI

PositivepoJarity

Yll!!£...J
~ ...... - - - - - - - . J
I--11111111111111111111111111111111111 _ _ _ 11111111111111111111111111111111111
Hsync

:..

Counting Period

Negative polarity

~
16 sampling points

Negative polarity

___ -----'L-

11111111111111111111111111111111111 - - - 1IIIIIIIIIIIIIIIIIIIIIIIIilIIIIIIII
Hsync

: ..

Counting Period

.. :

Figure 9. Hsync frequency measurement

16 sampling points

Figure 8. Hsync polarity detection
•
•

Hsync frequency measurement:
In the third interrupt of the cycle, timer 0 is
programmed to be used as external event counter with
Hsync clock. TRO bit is set to start counting. In the
fourth interrupt (last of the measurement cycle), TRO
bit is reset to stop counting. At this time, THO and TLO
registers contain a representative value of the Hsync
period that is the number of Hsync pulses during a
Vsync period (see Figure 9). A flag is set to inform
main program of the end of cycle.

When one cycle is completed, the main program checks
the values and determines whether if the video mode has
changed or not. If yes, the actions to take are listed
hereafter:
• Depending on the Hsync frequency, S correction
capacitors have to be updated.
• Some PWM values are updated.
• Video mute is activated.
• A research is made in EEPROM to find if the same
video mode is already stored.
• If yes recall user set-up (update PWM values) from
EEPROM, else default set-up is applied and the video
mute is released.

Free Running Generation Description
During manufacturing burn-in, monitors are powered,
but no video source is connected to the monitor. To force
deflection stages' activity, free running Hsync and Vsync
are output.
The software solution for free running generation, offers
to the user a maximum of flexibility to program the best
frequencies according to the deflection stages.

Two examples are proposed. In the first one, Vsync is a
60.lHz negative polarity signal with 66!-!s pulses and
Hsync is a 41.7KHz negative polarity signal with 2!-!s
pulses, in the second one Vsync is a 72Hz positive
polarity signal with 58!-!s pulses and Hsync is a 62.5KHz
positive polarity signal with l!-!s pulses.

Software Description
The software proposed hereafter is divided in two main
routines:
• The Vsync Interrupt service routine.
• The HsyncN sync free running generation routine.
mov
mov
cpl
mov
mov
cpl
mov
mov

III.7.4

All the routines are based on a 12MHz oscillator
operation; so 1 machine cycle has exactly l!-!s duration.
In the example, deflection stages are considered having
a negative polarity synchronization input. User can
program positive HsyncNsync outputs, by modifying the
software as follows:

C,Vpol_m
C
; set VOP bit for positive
ACC.3,C
; polarity on Vout
C,Hpol_ffi
C
; set HOP bit for positive
ACC.l,C
polarity on Hout
SOCR,A
; update Vout/Hout polarity

MATRAMHS
Rev.B (10 Jan. 97)

TEMIC

ANM059

Semiconductors

Vsync interrupt service routine has the highest priority.
Due to the sampling clock, the Vsync period has a basic
precision of Ills. Depending on the instruction executed
during the interrupt activation the measured period may
be increased up to 41ls. The validation of a new detected
video mode is effective only when the difference between
the new measured and the previously saved
period/counting is significant. This is achieved by the
Check_diff subroutine.
The reception of a character on serial port activates one
of the two HsyncN sync free running generation routine:
'1' for the first example, '2' for the second one.

The listing includes the file reg51cl.inc that is the
TSC8051Cl register declarations.
After a new video mode recognition, parameters are
stored in the following variables:
Vpol_s
Hpol_s
Vperl_s
Vperh_s
Hcntl s
Hcnth- s

Vsync
Hsync
Vsync
Vsync
Hsyne
Hsync

polarity
polarity
period high order byte
period low order byte
count high order byte
count low order byte

The table hereafter presents different video modes and
their associated parameters.

As the generation of the synchronization signals uses
100% of the CPU time, the only ways to disable
generation are to clear the activation flag during an
interrupt service routine (in the example, the flag is
cleared in Vsync interrupt when a video source is input)
or to apply a reset.

MATRAMHS
Rev.B (10 Jan. 97)

III.7.5

TEMIC

ANM059

Semiconductors

TEMIC 1996.
Demonstration program for video mode recognition
and free running generation with TSC 8051Cl

1

2
3
4
5
6
7

0080
0090
OOAD
OOBO
OODO
OOEO
OOFO
0081
0082
0083
0087
0088
0089
008A
008B
008C
008D
00A8
00B8
0098
0099
00D8
00D9
OODA
OODB
OOAF
00E4
00E5
00E6
OODF
00E7
00D7
OOEC
OOED
OOEE
OOEF
00F4
00F5
00F6
00F7
OOFC
OOFD
OOFE
OOFF

00D7

III.7.6

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

$RB (0,1)
; bank 0 and 1 reserved
$ INCLUDE
(reg51cl.inc)
; register declarations
TEMIC 1996.
Register declarations for TSC 8051Cl microcontroller
Rev. A

DATA
DATA
DATA
DATA

OBOH
090H
OAOH
OBOH

SP
DPL
DPH
PCON
TCON
TMOD
TLO
TLl
THO
THl
IE
IP
SOCON
SOBUF

DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

ODOH
OEOH
OFOH
081H
082H
083H
087H
088H
089H
08AH
OBBH
08CH
08DH
OA8H
OB8H
09BH
099H

SlCON
SlSTA
SlDAT
SlADR

DATA
DATA
DATA
DATA

ODBH
OD9H
ODAH
ODBH

MSCON
EICON
SOCR
HWDR
PWMCON
MXCRo
MXCR1
PWMO
PWM1
PWM2
PWM3
PWM4
PWM5
PWM6
PWM7
PWMB
PWM9
PWM10
PWM11

DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA

OAFh
OE4h
OE5h
OE6h
ODFh
OE7h
OD7h
OECh
OEDh
OEEh
OEFh
OF4h
OF5h
OF6h
OF7h
OFCh
OFDh
OFEh
OFFh

; BIT Registers
; PSW
Cy

BIT

OD7H

Pl
P2
P3
PSW
ACC
B

MATRAMHS
Rev.B (10 Jan. 97)

TEMIC

ANM059

Semiconductors

00D6
ODDS
00D4
00D3
00D2
DODO

008F
008E
008D
008C
008B
008A
0089
0088

OOAF
GOAD
OOAC
OOAB
OOAA
00A9
00A8

OOBD
OOBC
OOBB
OOBA
00B9
00B8

00B7
00B7
00B6
00B6
00B5
00B5
00B4
00B4
00B3
00B3
00B2
00B2
00B1
OOBO

009F
009E
009D
009C
009B
009A
0099
0098

00D85
00D9

64
65
66
67
68
69
70
71
72
73
74
75
76
77

78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
126

MATRAMHS
Rev.B (10 Jan. 97)

AC
FO
RS1
RSO
OV
P

BIT
BIT
BIT
BIT
BIT
BIT

OD6H
OD5H
OD4H
OD3H
OD2H
ODOH

TCON
TF1
TR1
TFO
TRO
IE1
IT1
lEO
ITO

BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT

08FH
08EH
08DH
08CH
08BH
08AH
089H
088H

; IE
EA
ES1
ESO
ET1
EX1
ETO
EXO

BIT
BIT
BIT
BIT
BIT
BIT
BIT

OAFH
OADH
OACH
OABH
OAAH
OA9H
OA8H

; IPO
PS1
PSO
PT1
PXl
PTO
PXO

BIT
BIT
BIT
BIT
BIT
BIT

OBDH
OBCH
OBBH
OBAH
OB9H
OB8H

; P3
RD
SDA
WR
SCL
T1
HOUT
TO
HSYNC
INT1
VOUT
INTO
VSYNC
TXD
RXD

BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT

OB7H
OB7H
OB6H
OB6H
OB5H
OB5H
OB4H
OB4H
OB3H
OB3H
OB2H
OB2H
OB1H
OBOH

; SOCON
SMO
SM1
SM2
REN
TB8
RB8
TI
RI

BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT

09FH
09EH
09DH
09CH
09BH
09AH
099H
098H

; SlCON
CRO
CR1

BIT
BIT

OD8H
OD9H

I

III.7.7

TEMIC

ANM059
OODA
OODB
OODC
OODD
OODE

0080

00D7
0035
OOCF
0002
0006
0008
0002

0020
0021
0022
0023
0024
0025

0030
0031
0032
0033
0034
0035
0036
0037
0038
0039

0000
0000 0106
0003
0003 0200FC

III.7.8

127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189

Semiconductors

AA
SI
STO
STA
ENS1

ODAH
ODBH
ODCH
ODDH
ODEH

BIT
BIT
BIT
BIT
BIT

; CONSTANT DEFINITION
EQU

80h

2s watchdog period

HOUT_VOUT_SET
HOUT_VOUT_CLR
HOUT_VOUT_ENA
HOUT_VOUT_DIS

EQU
EQU
EQU
EQU

00101000b
1l010111b
001l0101b
1l001111b

Hout/Vout~l

Hout/Vout enabled
Hout/Vout disabled

EICON_H_NEG
EICON_H_POS

EQU
EQU

00000010b
OOOOOllOb

negative Hsyne selection
positive Hsyne selection

VSYNC_DIFF
HSYNC_DIFF

EQU
EQU

8
2

7us~Vsync

Hout/Vout~O

1

diff authorised
diff authorised

pulse~Hsync

BIT VARIABLE DEFINITION
BSEG AT 20h
DBIT
1
DBIT
1
DBIT
1
DBIT
1
DBIT
1
DBIT
1

measured Vsync polarity
measured Hsyne polarity
saved Vsync polarity
saved Hsyne polarity
measuring end cycle flag (1)
Free running generation flag (1)

DATA VARIABLE DEFINITION
-----------------------DSEG AT 30h
Isr- state:
1
DS
Vper1_m:
DS
1
Vperh_m:
DS
1
Hcntl_m:
DS
1
Hcnth_m:
DS
1
Vperl_s:
DS
1
Vperh_s:
DS
1
Hcntl s:
DS
1
Hcnth- s:
DS
1

Interrupt state flag
measured period high order byte
measured period low order byte
measured count high order byte
measured count low order byte
saved period high order byte
saved period low order byte
saved count high order byte
saved count low order byte

Stack:

16 bytes stack

Vpol_m:
Hpol_m:
Vpol_s:
Hpol_s:
End_cycle:
Free- run:

DS

10h

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BEGIN CODE
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

USING
CSEG
ORG
ajmp

0

RBO used by default

OOOOh
Reset

reset address

ORG
ljmp

0003h
Vsync_isr

VSYNC (INTO)

interrupt

MATRA MRS
Rev.B (10 Jan. 97)

TEMIC

ANM059

Semiconductors

0006 758138
0009 78FF
OOOB 7600
OOOD D8FC
OOOF
0012
0015
0018

758DE6
758BOO
758921
758841

001B 758700
001E 759852
0021 75A881
0024 75B801
0027 75E680

002A 202410
002D 75E680

0030 3098F7
0033 C298
0035 E599
0037 B43104
003A llB3
003C 012A
003E B432E9
0041 3104
0043 012A
0045
0046
0048
004A
004C
004E

E4
A220
92EO
A222
9400
702A

0050
0052
0054
0056
0058

A221
92EO
A223
9400
7020

005A A831
005C A932

190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251

MATRAMHS
Rev.B (10 Jan. 97)

;~~~~~~~=~==~~==~=~~~=~~=~~==~==~~===~~~===~~=~~==~=======~===~=======

INITIALISATION
;====~======================~========~~~=~=~~=~==~========~===~==~==~=

Reset:

mov

SP,#Stack-1

stack pointer initialisation

mov
mov
djnz

RO,#OFFh
@RO,#OOH
RO,Ram_init

Internal RAM initialisation

Ram_init:

mov
mov
mov
mov

TH1,#OE6h
TL1,#00h
TMOD,#21h
TCON,#41h

T1
at
TO
T1

mov
mov

PCON,#OOh
SOCON,#52h

SMOD~O

mov
mov

IE,#81h
IP,#Olh

lEO enabled
lEO high priority

mov

HWDR,#WDT_PER

watchdog activation

used as baud rate generator
1200 bauds with 12MHz crystal
16b counter, T1 8b autoreload
run, INTO falling edge

8-bit UART, Rx enabled

II

;============~=~=~~======~======~================~~=========~=====~=~====

MAIN PROGRAM
;===~===~=~==~===~=======~=~====~=================================~======

Wait_sync:

jb
mov

End_cycle, Check_mode
HWDR,#WDT_PER ; watchdog refresh

here must be inserted the
man-machine interface control
jnb
clr
mov

RI,Wait_sync
RI
A,SOBUF

example for free running

cjne
acall
ajmp

A,#'l' ,test_car
H_V_sync_gen_l; Free running generation
Wait_sync

cjne
acall

A,#'2' ,Wait_sync
H_V_sync_gen_2
; Free running generation

ajmp
Check_mode:

clr
mov
mov
mov
subb
jnz

C,Vpol_m
ACC.O,C
C,Vpol_s
A, #00
Mode_changed

Vsync polarity changed

mov
mov
mov
subb
jnz

C,Hpol_ffi
ACC.O,C
C,Hpol_s
A, #00
Mode_changed

Hsync polarity changed

mov
mov

RO,Vperl_m
R1,Vperh_m

A

III.7.9

TEMIC

ANM059
005E
0060
0062
0064
0066

AA35
AB36
7C08
11AO
7012

0086
0088
008A
008D

A220
9222
853135
853236

252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285

0068
006A
006C
006E
0070
0072
0074

A833
A934
AA37
AB38
7C02
11AO
7004

0090
0092
0094
0097

A221
9223
853337
853438

286
287
288
289
290

0076 C224
0078 012A
007A

007A 7435
007C A220
007E 92E3
0080 A221
0082 92El
0084 F5E5

009A 31F9

009C C224
009E 012A

III.7.10

291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312

Semiconductors

mov
mov
mov
acall
jnz

R2,Vperl_s
R3,Vperh_s
R4,#VSYNC_DIFF
Check_diff
Mode_changed

mov

RO,Hcntl_m

compare new & old period
Vsync period changed

mov

Rl,Hcnth_ID

mov

R2,Hcntl_s

mov
mov
acall
jnz

R3,Hcnth_s
R4,#HSYNC_DIFF
Check_diU
Mode_changed

clr
ajmp

End_cycle
Wait_sync

a new cycle can start

setb
acall

Video_mute
Cs select

video mute during mode change
S correction capacitors update
depending on Vsync period

mov
mov
mov
mov
mov
mov

A,#HOUT_VOUT_ENA
C,Vpol_m
set VOP bit for negative
ACC.3,C
polarity on Vout
C,Hpol_m
set HOP bit for negative
ACC.1, C
polarity on Hout
SOCR,A
update Vout/Hout polarity

mov
mov
mov
mov

C,Vpol_ffi

compare new & old counting
Vsync period changed

Mode_changed:
user define
user define

mov
mov
mov
mov

Vpol_s,C
save new Vsync polarity
Vperl_s,Vperl_m
Vperh_s, Vperh_m
save new vsync period
C,Hpol_m
Hpol_s,C
save new Hsyne polarity
Hcntl _s,Hcntl_m
Hcnth_s,Hcnth_m
save new Hsyne period

Here must be inserted the research of this video mode in EEPROM
if it is already stored, then recall user's screen parameters
if not, recall factory default screen parameters.
This new mode will be stored in EEPROM after user adjustments

user define

acall

Out results

send results tCl serial port

clr
clr
ajmp

Video_mute
End_cycle
Wait _sync

end of video mute
a new cycle can start

SUBROUTINES

This subroutine checks if the absolute difference of two words
is less than a given byte value

MATRAMHS
Rev.B (10 Jan. 97)

TEMIC

ANM059

Semiconductors

313
314
315
316
317
318
319
320

OOAO
00A1
00A2
00A3

C3
E9
9B
700D

00A5 E8
00A6 9A
00A7 5003
00A9 C3
OOAA EA
OOAB 98
OOAC B50400
OOAF 5001
00B1 E4
00B2

00B3
00B5
00B7
00B9

ESE5
54CF
FSE5
D225

OOBB
OOBE
OOBF
00C1
00C3

53BOD7
00
D2B5
790A
D9FE

00C5
00C7
00C8
OOCA
OOCC

C2BS
00
D2BS
790A
D9FE

OOCE
OODO
00D1
00D3
OODS
00D7

C2B5
00
D2B5
7907
D9FE
D2B3

321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
3S9
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374

MATRAMHS
Rev.B (10 Jan. 97)

Inputs:

RO:
R1:
R2:
R3:
R4:

word 1 low order byte
word 1 high order byte
word 2 low order byte
word 2 high order byte
limit of difference

Outputs:

A:

if A = 0 the difference is less than the limit
else the difference is greater than or equal to
the limit

c1r
mov
subb
jnz

C
A,R1
A,R3
End check

mov
subb
jnc

A,RO
A,R2
Check...:pos

clr
mov
subb

C
A,R2
A,RO

cjne
jnc
clr
ret

A,AR4,$+3
End_check
A

Check...:pos:

A=MSB difference
MSB not equal

A=LSB difference

negative difference
A=LSB difference

This subroutine generates free Running synchronization Signals
Hout
Vout

41.7KHz with 2us negative pulses
60.1Hz with 66us negative pulses

H_V_sync_gen_l:

clr

mov
anI
mov
setb

A,SOCR
A,#HOUT_VOUT_DIS
SOCR,A
select P3.3/P3.5 as Vout/Hout
Free_run
i set flag (cleared in Vsync isr)

anI
nop
setb
mov
djnz

HOUT
R1,#10
R1,$

2us neg pulse on Hout

HOUT
nop
setb
mov
djnz

HOUT
R1, #10
R1,$

2us neg pulse on Hout

clr
nop
setb
mov
djnz
setb

20us tempo

20us tempo

HOUT
ROUT
R1,#7
R1,$
VOUT

2us neg pulse on Hout
14us tempo
66us neg pulse on Vout

III. 7 .11

TEMIC

ANM059
00D9
OODB
OODC
OODD

78E6
00
00
75E680

OOEO
00E2
00E3
00E5
00E7

C2B5
00
D2B5
790A
D9FE

00E9
OOEB
OOEC
OOEE
OOFO

C2B5
00
D2B5
790A
D9FE

00F2
00F4
00F5
00F7
00F9

C2B5
00
D2B5
7906
D9FE

OOFB 302505

OOFE
0100
0101
0103

D8DB
00
01BB
22

0104
0106
0108
010A

E5E5
54CF
F5E5
D225

010C
010F
0111
0112
0114

53BOD7
D2B5
00
7906
D9FE

0116
0118
011A
011B
011D

C2B5
D2B5
00
7906
D9FE

011F
0121
0123
0124

C2B5
D2B5
00
7906

III.7.12

375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399

Semiconductors

H-pulse_1:

mov
nop
nop
mov

RO,#230

clr
nop
setb
mov
djnz

HOUT

clr
nop
setb
mov
djnz

HOUT

clr
nop
setb
mov
djnz
jnb

230 * 3 Hsync pulses

watchdog refresh

HOUT
R1,#10
R1,$

HOUT
R1,#10
R1,$

2us neg pulse on Hout
20us tempo

2us neg pulse on Hout

20us tempo

HOUT
HOUT
R1,#6
R1,$

2us neg pulse on Hout

12us tempo

Free_run, End_gen_l
; Free running enabled

400
djnz
401
402
nop
403
ajmp
404
End_gen_1:
ret
405
406
407;--------------------------------------------------------------------------408
409
This subroutine generates free Running synchronization Signals
410
411
Hout
62.5KHz with 1us positive pulses
412
72Hz with 58us positive pulses
Vout
413
414;--------------------------------------------------------------------------415
416
H_V_sync_gen_2: mov
A,SOCR
A,#HOUT_VOUT_DIS
417
anI
418
SOCR,A
mov
select P3.3/P3.5 as Vout/Hout
419
setb
Free run
; set flag (cleared in Vsync isr)
420
421
V-pulse_2:
orl
422
clr
HOUT
; lus pos pulse on Hout
423
nop
R1,#6
424
mov
djnz
Rl,$
12us tempo
425
426
427
HOUT
setb
428
clr
HOUT
lus pos pulse on Hout
429
nop
430
mov
R1,#6
431
djnz
12us tempo
Rl,$
432
433
setb
HOUT
434
HOUT
clr
lus pos pulse on Hout
435
nap
R1,#6
436
mov

MATRAMHS
Rev.B (10 Jan. 97)

TEMIC

ANM059

Semiconductors

0126 D9FE
0128
012A
012C
012D
012F
0131

C2B5
D2B5
00
7903
D9FE
D2B3

0133
0135
0136
0137

78D8
00
00
75E680

013A
013C
013E
013F
0141

C2B5
D2B5
00
7906
D9FE

0143
0145
0147
0148
014A

C2B5
D2B5
00
7906
D9FE

014C
014E
0150
0151
0153

C2B5
D2B5
00
7906
D9FE

0155
0157
0159
015A
015C

C2B5
D2B5
00
7902
D9FE

015E 302505

0161
0163
0164
0166

D8D2
00
210C
22

0167 C225
0169 302401
016C 32
016D COEO
016F CODO

437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475

H-pul se_2:

djnz

Rl, $

12us tempo

setb
c1r
nop
mov
djnz
clr

HOUT
HOUT

1us pas pulse on Hout

R1,#3
R1,$
VOUT

6us tempo
58us pos pulse on Vout

RO,#216

216 * 4 Hsync pulses

mov
nop
nop
mov
setb
clr
nop
mov
djnz

HWDR,#WDT_PER ;watchdog refresh
HOUT
HOUT

Ius pas pulse on Haut

Rl, #6
Rl, $

12us tempo

setb
clr
nop
mov
djnz

HOUT
HOUT

Ius pcs pulse on Haut

R1,#6
R1,$

12us tempo

setb
clr
nop
mov
djnz

HOUT
HOUT

Ius pas pulse on Haut

Rl, #6
R1,$

12us tempo

HOUT
HOUT

1us pos pulse on Hout

setb
clr
nap
mov
djnz
jnb

Rl,#2
Rl, $

;

II

4us tempo

Free_run, End_gen_2
; Free running enabled

476
477
djnz
RO,H-pulse_2
478
nop
ajmp
V-pulse_2
479
End_gen_2:
480
ret
481
482
483
484
485;--------------------------------------------------------------------------486
487
This routine is the VSYNC interrupt service routine
488
489;--------------------------------------------------------------------------490
USING
1
RBI used in interrupt
491
Vsync_isr:
492
clr
Free run
stop Free running
493
jnb
End_cyc1e,Vsync_beg_isr
; Cycle not yet treated
494
reti
495
Vsync_beg_isr:
496
push
ACC
497
push
PSW

MATRAMHS
Rev.B (10 Jan. 97)

III.7.13

TEMIC

ANM059
0171 75D008
0174 E530
0176
0179
017C
017F
0182
0184
0186

B4000F
758921
758AOO
758COO
D28C
0530
21F3

0188
018B
018C
018D
018E
018F
0191
0194
0197
019A
019D
01AD

B40133
00
00
00
00
C28C
858A31
858C32
758929
758AOO
758COO
D28C

01A2
01A3
01A5
01A7
01A9
01AB
01AE
01BO
01B2

E4
7810
A2B4
3400
D8FA
B40800
9221
4005
75E402

498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530

01B5 21BA
01B7 75E406

531
532

01BA 0530
01BC 21F3
OlBE
01Cl
01C4
01C7
01C9
01CC

B4021B
758925
758ADO
A88C
758COO
D28C

01CE
01DO
01Dl
01D2
01D5
01D6
01D8
01DA

E532
C3
13
B50800
B3
9220
0530
21F3

01DC
01DD
01DE
01DF
OlEO
01El

00
00
00
00
00
00

III.7.14

533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558

Semiconductors

State 0:

mav
mav

P8W,#08h
A,Isr_state

cjne

A,#OO,state_l
TMOD,#21h
TLO,#OOh
THO,#OOh
TRO
Isr_state
Vsync_end_isr

mav
mav
mav
setb

inc
ajmp
State 1:

cjne
nap
nap
nap
nap
clr
mov

setb
clr

A

81 1:

81 2:

mav
mav
addc
djnz
cjne
mav
jc

mav
ajmp

TO

free running 16-bit timer

start measuring Vsync period

nap are inserted for timing
compensation between start
and stop counting
TRO
Vperl_m,TLO
Vperh_m, THO
TMOD,#29h
TLO,#OOh
THO,#OOh
TRO

mav
mav
mav
mav

RBl selection
load 18R state

stop TO
store Vsync period
TO : gated 16-bit timer

start measuring Vsync high level

Hsync polarity detection
RO,#16
16 samples
C,H8YNC
read pin level
A,#OO
store state
RO,81_1
A,#08,81_2
Hpal_m,C
; store Hsyne polarity (0
neg)
Sl 3
EICON,#EICON_H_NEG
i negative Hsyne pulses selection
Sl 4
EICON,#EICON_H_POS
; positive Hsyne pulses selection

Sl 3:

mav

Sl 4:

inc
ajmp

Isr_state
Vsync_end_isr

State 2:

cjne
mov
mov
mov
mov
setb

A,#02,state_3
TMOD,#25h
TLO,#OOh
RO,THO
THO,#OOh
TRO

mov
clr
rrc
cjne
cpl
mov
inc
ajmp

A,Vperh_m
C

Vsync polarity detection

A

A = Vsync period / 20
test only high order byte

82 1:

state 3:

nap
nop
nop
nop
nop
nap

A,ARO,S2_1

TO : 16-bit counter
save MSB
start counting Hsyne pulses

C

Vpal_m,C
Isr_state

store Vsync polarity (0

=

neg)

Vsync_end_isr
nop are inserted for timing
compensation between start
and stop counting

MATRAMHS
Rev.B (10 Jan. 97)

TEMIC

ANM059

Semiconductors

01E2
01E3
01E4
01ES
01E6
01E8
01EB
01EE

00
00
00
00
C28C
858A33
858C34
753000

01Fl D224
01F3 DODO
01F5 DOEO
01F7 32

01F8
01FB
01FD
01FF
0201
0203
0205
0207
0209
020B
020D
020F
0211
0213
0216
0218
021A
021C
021E
0220
0222
0224
0226
0228
022A
022C
022E

900256
512F
E536
5139
E535
5139
7420
514E
742D
A222
5002
742B
514E

90025F
512F
E538
5139
E537
5139
7420
514E
742D
A223
5002
742B
514E
22

559
560
561
562
563
564
565
566

nop
nop
nop
nop
clr
mov
mov
mov

567
568
569
570
571
572
573
574
575
576
577
578

setb
Vsync_end_isr:

TRO
Hcntl_m,TLO
Hcnth_m, THO
Isr_state, #00

pop
pop
reti

PSW
ACC

USING

o

stop TO
store Hsync pulse count
reset ISR state to start a new
cycle
; set flag for the main program

REO used by default

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+
The subroutines hereafter are only used for
demonstration program+

579

+

580

j++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619

MATRAMHS
Rev.B (10 Jan. 97)

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Send measured parameters on serial port
; Vsync period, polarity
; Hsync counting, polarity

+
+

+

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Out_results:

Vpol_neg:

Hpol_neg:

mov
acall
mov
acall
mov
acall
mov
acall
mov
mov
jnc
mov
acall

DPTR, #Vsync_msge
Out_msge
i display Vsync message
A,Vperh_s
Out_byte
A,Vperl_s
Out_byte
display Vsync period
A,#' ,
Out_char
A,#'-'
c,Vpol_s
Vpol_neg
A,#'+'
Out_char
; display Vsync polarity

mov
acall
mov
acall
mov
acall
mov
acall
mov
mov
jnc
mov
acall
ret

DPTR,#Hsync_msge
Out_msge
; display Hsync message
A,Hcnth_s
Out_byte
A,Hcntl_s
Out_byte
display Hsync count
A,#' ,
Out_char
A,#'-'
c,Hpol_s
Hpol_neg
A,#'+'
Out_char
display Hsync polarity

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Send a message on serial port
DPTR is the message address
a NUL character is the end of message

+
+
+

III.7.15

II

TEMIC

ANM059
620
621
622
623
624
625
626
627
628
629
630
631
632
0239 CO EO
633
023B C4
634
023C 5143
635
023E DOEO
636
0240 5143
637
0242 22
638
639
640
641
642
643
0243 540F
644
0245 2490
645
0247 D4
646
0248 3440
647
024A D4
648
024B 514E
649
024D 22
650
651
652
653
654
655
024E 3099FD 656
0251 C299
657
0253 F599
658
0255 22
659
660
661
662
663
0256 OAOD5673 664
025A 796E6320
025E 00
025F OAOD4873 665
0263 796E6320
0267 00
022F
0230
0231
0233
0234
0236
0238

III.7.16

E4
93
6005
A3
514E
412F
22

Semiconductors

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Out_msge:

clr
move
jz
inc
acall
ajmp
ret

A
A,@A+DPTR
Out - end
DPTR
Out - char
Out_msge

last character

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

; Send a hexadecimal byte on serial port
; A is the byte to send

+

+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Out_byte:

PUSH
SWAP
ACALL
POP
ACALL
ret

ACC
A
Out nib
ACC
Out_nib

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+

; Send a hexadecimal nibble on serial port
; A is the nibble to send

+

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Out_nib:

ANL
ADD
DA
ADDC
DA
acall
ret

A,#OFH
A,#90H
A
A,#40H
A
Out - char

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

;Send an ASCII character on serial port
; A is the character to send

+

j+++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++

Out char:

jnb
clr
mov
ret

TI,Out char
TI
SOBUF,A

j+++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++
Messages definition
+

i

;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

DB

OAh, ODh, 'Vsync ',0

DB

OAh,ODh, 'Hsync ',0

MATRAMHS
Rev.B (10 Jan. 97)

TEMIC
Semiconductors

Section IV

Introduction to C251 Architecture

C2S1 OverviewlBenefits vs CS1 .......•.•....•.........•.••...•....••.••..•. IV.1.0
Extended 8-bit TSC802S1Products Overview .•..•.........•••.•...•.••••...•• IV.3.0

II

TEMIC
Semiconductors

C2S1 Overview/Benefits vs CS1

C251 Architecture Overview: .............................................. IV.I.1
Extended 8-bit microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. IV1.1
TSC80251 Derivatives ...................................................... IVl.1
TSC80251 Documentation .................................................. IVl.2
Microcontroller Architecture ................................................. IVl.3
TSC80251: ACIDC Characteristics .......................................... IV.2.1
AC Characteristics ......................................................... IY.2.1
DC Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. IV2.6

II

TEMIC
Semiconductors

C251 Architecture Overview

C251 Architecture Overview
Extended 8-bit microcontroller
In the world of 8-bit microcontrollers, the C51
Architecture has become an industry standard for
embedded applications. For over 15 years, TEMIC has
been a leading provider of this microcontroller family.
This unsurpassed experience is the driving force as
TEMIC takes this proven family to the next level of
performance: the TSC80251 family!
This new C251 Architecture at its lowest performance
level (binary mode), is binary code compatible with the
80C51 microcontrollers, hence, attaining an increase in
performance has never been easier.
Due to a 3-stage pipeline, the CPU-performance is
increased by a factor 5, using existing C51 code without
modifications.

The 24-bit address bus will allow to access up to 16
Mbytes in a single linear memory space. Please see each
individual TSC80251 Product Datasheet for the effective
addressable memory range.
Programming flexibility and C-code efficiency are both
increased through a Register-based Architecture, the
64-Kbyte extended stack space combining with the new
instruction set.
C251 C-compilers are some of the most efficient
available (nearly no overhead), coupled with the final
codesize which could be a factor of 3 down when
compared with the C51 C-compilers.

U sing the new C251 instruction set, the performance will
increase up to 15 times at the same clock rate. This
performance enhancement is based on the 16-bit
instruction bus, allowing for more powerful instructions
and additional internal instruction bus, 8-bit and 16-bit
data busses.

II

TSC80251 Derivatives
TEMIC is rapidly developing a full family of application
specific TSC80251 derivatives. Please see the detailed
Datasheet of each product for further information.

•

Communication:
Cordless phones
Cellular phones
High speed modems
High-end feature phones
ISDN phones
• Line cards
Network termination

•

Computer:
High-end monitors
CD-ROM
Card-reader
Disk drives
Computer telephony

•

Broadcast media:
Set top boxes
Audio/video control
Signal processing

These products are designed to help you getting
high-performance products to market faster.
Due to the high instruction throughput, the TSC80251
derivatives are focussing on all high-end 8-bit to 16-bit
applications.
TSC80251 derivatives are also used in mid-range and
lower-end microcontroller applications, where a very
low operation frequency is needed, without decreasing
the level of CPU-power.
This feature is ideal for today portable applications and
EMC sensitive systems.
Typical applications for this family are:
• Automotive:
Airbag
ABS
Gearbox
Climate control
Car radio
Car navigation

MATRAMHS
Rev. C (14 Jan. 96)

IV. 1.1

C251 Architecture Overview
TEMIC's TSC80251 derivatives are designed around the
C251 core, using standard peripherals dedicated to a
targetted range of applications.
Here is a selection of peripheral blocks:
•

Serial interfaces:
• UART (Universal Asynchronous
Transmitter)
• 12C (Inter-Integrated Circuit)
• SPI (Serial Protocol Interface)
• fJ.Wire (Synchronous Serial Interface)
• CAN (Control Area Network)
• J1850
• USB (Universal Serial Bus)
•

Receiver

GCI

TEMIC
Semiconductors

•

Special interfaces:
• ADC (Analog to Digital Converter)
• DAC (Digital to Analog Converter)
• PCA (Programmable Counter Array)
• PWM (Pulse Width Modulator)
• Smart Sensor Interfaces
• Control functions:
• Watchdog Timer
• Timers/Counters
• Power monitoring and management
• Interrupt handler
• Memories:
• RAM
• ROM
• OTPROM
• EPROM
Most of TEMIC's TSC80251 derivatives are available as
ROMless, OTPROM, EPROM and Mask ROM version.

TSC80251 Documentation
The following documentation and Starter tools are
available to allow the full evaluation of the TEMIC's
TSC80251 derivatives:
• "TSC80251 Design Guides" (for each derivative)
Contains all information about the products (Block
Diagram, Configuration and Memory Mapping,
Ports, Peripheral Description, Electrical and
Mechanical Information, Ordering Information) and
Application Notes.
• "TSC80251 Programmer's Guide"
Contains all information for the programmer
Programming,
(Architecture, Instruction Set,
Development Tools).
• "TSC80251 Product Starter Kit"
This kit enables the product to be evaluated by the

IY.1.2

designer.
Its contents is:
• C-Compiler (limited to 2 Kbytes of code)
• Assembler
• Linker
• Product Simulator
• Optionally TSC80251 Product Evaluation Board
with ROM-Monitor
• Please visit our WWW for updated versions in ZIP
format.
•

World Wide Web
Please contact our WWW for possible updated
information at http://www.temic.de

•

TSC80251 e-mail hotline:C251@temic.fr

MATRAMHS
Rev. C (14 Jan. 96)

TEMIC

C251 Architecture Overview

Semiconductors

Microcontroller Architecture
The TSC802Sl family of 8-bit microcontrollers is a
high-performance upgrade of the widely-used 80CSI
microcontrollers. It extends features and performance
while maintaining binary-code compatibility, so the
impact on existing hardware and software is minimal.
All TSC802Sl microcontrollers share a set of common
features:
• 24-bit linear addressing and up to 16 Mbytes of
memory
• a register-based CPU with registers accessible as
bytes, words, and double words
• a page mode for accelerating external instruction
fetches
• an instruction pipeline
• an enriched instruction set, including 16-bit
arithmetic and logic instructions
• a 64-Kbyte extended stack space
• a minimum instruction-execution time of two clocks

(vs. 12 clocks for 80CS1 microconlrollers)
•

binary-code
compatibility
microcontrollers

with

80CSI

Several benefits are derived from these features:

•

80CSI
preservation of code
written
for
microcontrollers
a significant increase in core execution speed in
comparison with 80CSI microcontrollers at the same
clock rate

•
•

support for larger programs and more data
increased efficiency for code written in C

•

Figure 1. is a functional block diagram of TSC802S1
microcontrollers. The core, which is common to all
TSC802S1 microcontrollers, is described in the next
paragraph. Each derivative in the family has its own
on-chip peripherals, I/O Ports, external bus, size of
on-chip RAM, type and size of on-chip ROM.

Clock

PORTS

EPROM
ROM

II

RAM
Reset

Peripherals

~"

!rl

>'I

=

<.l

u

~

:::
~

0

.s

oil

~

;::

!rl

>'I

..."
~
:E
ob

..Q

..lN

CPU

Figure 1. TSC80251 Product Block Diagram

MATRAMHS
Rev. C (14 Jan. 96)

IV. 1.3

TEMIC

C251 Architecture Overview

Semiconductors

Microcontroller Core
The TSC80251 microcontroller core contains the CPU,
the clock and reset unit, the interrupt handler, the bus
interface and the peripheral interface (See Figure 1. ).
The CPU contains the instruction sequencer, ALU,
register file and data memory interface (See Figure 2. ).
CPU
The TSC80251 fetches instructions from on-chip code
memory two bytes at a time or from external memory in
single bytes. The instructions are sent over the 16-bit
code bus to the execution unit. You can configure the
TSC80251 to operate in page mode for accelerated
instruction fetches from external memory. In page mode,
if an instruction fetch is to the same 256-byte "page" as
the previous fetch, the fetch requires one state (two
clocks) rather than two states (four clocks). For
information regarding the page or non-page mode
selection, see Product Datasheet.

The TSC8025I register file has forty registers, which can
be accessed as bytes, words and double words. As in the
C51 Architecture, registers 0-7 consist of four banks of
eight registers each, where the active bank is selected by
the program status word (PSW) for fast context switches
(See "Programming" chapter).
The TSC8025I is a single-pipeline machine. When the
pipeline is full and code is executing from on-chip code
memory, an instruction is completed every state time.
When the pipeline is full and code is executing from
external memory (with no wait states and no extension of
the ALE signal) an instruction is completed every two
state times.
address

code

Instruction Sequencer

. ._ _ _ Interrupt
Handler

SRCI

8

SRC2

8

14--::8".e;..... . .

24

data
address

Figure 2. Central Processor Unit Block Diagram

IV. 1.4

MATRAMHS
Rev. C (14 Jan. 96)

TEMIC

C251 Architecture Overview

Semiconductors

Clock and Reset Unit
The timing source for the TSC80251 microcontroller can
be an external oscillator or an internal oscillator with an
external crystal/resonator. The basic unit of time in
TSC80251 is the state time (or state), which is two
oscillator periods. The state time is divided into phase 1
and phase 2 (See Figure 3. ).
Phase I
PI

Phase 2
P2

XTALl

I:
State I
PI

I P2

State 2
PI I

P2

Tosc

~

~I

2 Tosc = State Time

State 3
PI

State 4

I P2

PI

I P2

State 5
PI

I P2

State 6
PI

I P2

Figure 3. Clocking Definitions
The TSC80251 peripherals operate on a peripheral cycle,
which is six state times. (This peripheral cycle is not a
characteristic of the C251 Architecture.) A one-clock
interval in a peripheral cycle is denoted by its state and
phase.

The reset unit places the TSC80251 into a known state. A
chip reset is initiated by asserting the RST pin or allowing
the Watchdog Timer to time out when the TSC80251 has
one.

Interrupt Handler
The interrupt handler can receive interrupt requests from
many sources: maskable sources and TRAP instruction.
When the interrupt handler grants an interrupt request, the
CPU discontinues the normal flow of instructions and
branches to a routine that services the source that
requested the interrupt. You can enable or disable the
interrupts individually (except for TRAP which cannot be
disabled) and you can assign one of four priority levels to
each interrupt.

MATRAMHS
Rev. C (14 Jan. 96)

IV.1.5

II

TEMIC

TSC80251

Semiconductors

A C/DC Characteristics
AC Characteristics
Table

1. AC

Characteristics (Capacitive Loading

12 MHz
Symbol

Parameter

Min

Max

= 50 pF)

16 MHz
Min

. Max

Fosc
,Min

Max

Units.

Tose

IIFose

83

63

TLHLL

ALE Pulse Width

73

53

Tose -10

ns (2)
ns (2)

ns

TAVLL

Address Valid to ALE Low

63

43

Tose- 20

TLLAX

Address hold after ALE Low

63

43

Tose- 20

ns

TRLRH
(I)

RD# or PSEN# Pulse Width

65

45

Tose- 18

ns (3)

TWLWH

WR# Pulse Width

65

45

Tose- 18

ns (3)

TLLRL
(I)

ALE Low to RD# or PSEN# Low

73

53

Tosc- 10

ns

TRHRL

ALE High to RD# or PSEN# High

73

53

Tose 10

ns

TLHAX

ALE high to Address hold

147

2Tose - 20

ns (2)

Tose- 50

ns (3)

0

ns

TRLDV(I)

RD# or PSEN# Low to Valid
Data/Instruction.

TRHDX (1)

Data!Instruct. hold After RD# or
PSEN#high

105
13

33

0

0

TRLAZ(I)

RD#IPSEN# Low to Address Float

2

2

2

ns

TRHDZ(1)

Data/Instruct. Float After RD# or
PSEN#high

63

43

Tose- 20

ns

TRHLHI
(I)

RD#IPSEN# high to ALE high
(Instruction)

68

48

Tose - 15

ns (1)

TRHLH2
(I)

RD#/PSEN# high to ALE high

235

173

3Tose- 15

ns (I)

TWHLH

WR# high to ALE high

TAVDVI

Address (PO) Valid to Valid
Data/Instruction In

190

128

3Tose - 60

ns
(2,3,4)

TAVDV2

Address (P2) Valid to Valid
Data/Instruction In

273

190

4Tose - 60

ns
(2,3,4,)

TAVDV3

Address (PO) Valid to Valid
Instruction In

128

88

2Tose - 38

ns

TAVRL

(Data)

Address Valid to RD#IPSEN# Low

235

173

ns

3Tose - 15

143

!OI

2Tose - 24

ns (2)

TAVWLl

Address (PO) Valid to WR# Low

143

101

2Tose - 24

ns (2)

TAVWL2

Address (P2) Valid to WR# Low

220

158

3Tose - 30

ns (2)

TWHQX

Data hold after WR# high

63

43

Tose- 20

ns

TQVWH

Data Valid to WR# high

58

38

Tose- 25

ns (3)

TWHAX

WR# high to Address hold

147

105

2Tose - 20

ns

TXLXL

Serial Port Clock Cycle Time

1000

750

12 Tose

ns

MATRAMHS
Rev, C (14 Jan.

IV.2,)

96)

II

TEMIC

TSC80251

Semiconductors

TQVSH

Output Data Setup to Clock Rising
Edge

870

620

12 TOSC - 133

ns

TXHQX

Output Data hold after Clock Rising
Edge

720

510

10 Tosc - 117

ns

TXHDX

Input Data Hold after Clock Rising
Edge

0

0

o

ns

TXHDV

Clock Rising Edge to Input Data
Valid

700

500

10 TosC - 133

ns

Notes:
I. Specifications for PSEN# are identical to those for RD#.
2. If a wait state is added by extending ALE, add 2TOSC.
3. If a wait state is added by extending RD#IPSEN#IWR#, add 2Tosc.
4. If wait states are added as described in both Note 2 and Note 3, add a total of 4Tosc.

ALE
PSEN#

PO

P2

'-.r
--<'-------~
A15:8

* The value of this parameter depends on wait states. See the table of AC characteristics.
Figure 1. External Instruction Bus Cycle in Non-Page Mode

IY.2.2

MATRAMHS
Rev. C (14 Jan. 96)

TEMIC

TSC80251

Semiconductors

ALE
PSEN#

PO

P2

I..

--<~

__________

V

A_15_:8________~~

* The value of this parameter depends on wait states. See the table of AC characteristics.
Figure 2. External Data Read Cycle in Non-Page Mode

II

ALE
WR#

PO

P2

*The value of this parameter depends on wait states. See the table of AC characteristics.
Figure 3. External Write Data Bus Cycle in Non-Page Mode

MATRAMHS
Rev. C (14 Jan. 96)

IV.2.3

TEMIC

TSC80251

Semiconductors

ALE

PSEN#

P2

....I----TAVDV'*
TAVDV2*

PO

A7:0

Pagehit**

Page Miss **

* The value of this parameter depends on wait states. See the table of AC characteristics.

** A page hit (i.e., a code fetch to the same 256-byte "page" as the previous code fetch) requires one state
(2Toscl; a page miss requires two states (4Toscl.

Figure 4. External Instrnction Bus Cycle in Page Mode

ALE

RD#PSEN#

T
P2

D7:0

I~

PO

--<~

_____________

A_7:0__________

~>-<~

___

* The value of this parameter depends on wait states. See the table of AC characteristics.
Figure 5. External Read Data Bus Cycle in Page Mode

IV.2.4

MATRAMHS
Rev. C (14 Jan. 96)

TEMIC

TSC80251

Semiconductors

ALE

WR#

P2

PO

A7:0

* The value of this parameter depends on wait states. See the table of AC characteristics.
Figure 6. External Write Data Bus Cycle in Page Mode

TXLXL

----u----u----u----u----u----u----u

TXD __

II

TXHQX
TQVXH

RXD
(Out)

RXD
(Tn)

* TT and RI are set during S IPI of the peripheral cycle following the shift of the eight bit.
Figure 7. Serial Port Waveform - Shift Register Mode

Notation for timing parameters name
A = Address
D = Data
Q = Data out
S = Supply (VPP )

MATRAMHS
Rev. C (14 Jan. 96)

E = Enable
V = Valid

G=PROG#
X = No Longer Valid

H = high

L=Low

z= Floating

IY.2.5

TEMIC

TSC80251

Semiconductors

DC Characteristics
Table 2. Absolute Maximum Ratings
• Ambient Temperature Under Bias
Commercial
Industrial

o to +70°C
--40 to +85°C
oto +125°C

Automotive
• Storage Temperature. ,

-65 to + 150°C

.......... .

• Voltage on EA#NPP Pin to VSS ..

o to +13.0 V

• Voltage on any other Pin to VSS

-0.5 to +6.5 V

• IOLper 1/0 Pin

ISmA

• Power Dissipation

1.5W

Note:
Stresses at or above those listed under "Absolute Maximum Ratings"
may cause permanent damage to the device. This is a stress rating only

and functional operation of the device at these or any other conditions

above those indicated in the operational sections of this specification is

not implied. Exposure to absolute maximum rating conditions may
affect device reliability.

Table 3. DC Characteristics

Parameter values applied to all devices unless otherwise indicated.
Commercial

Industrial

Automotive

TA = 0 to 70°C
VSS =OV
VDD=5V± 10%

TA = --40 to +85°C
VSS =OV
VDD=SV±IO%

TA = --40 to + 125°C
VSS =OV
VDD=SV± 10%

VIL

Input Low Voltage
(except EA#)

-D.5

0.2VDD-0.l

V

VILl

Input Low Voltage
(EA#)

0

0.2VDD- 0.3

V

VIH

Input high Voltage
(except XTALl, RST)

0.2VDD +0.9

VDD + 0.5

V

VIHl

Input high Voltage
(XTALl)

0.7VDD

VDD + 0.5

V

VOL

Output Low Voltage
(Ports I, 2, 3)

0.3
0.45
1.0

V

VRST+

Reset threshold on

3.7

V

VRST-

Reset threshold off

3.3

V

VRET

VDD data retention limit

2

V

VOLI

Output Low Voltage
(Ports 0, ALE, PSEN#)

VOH

Output high Voltage
(Ports I, 2, 3, ALE, PSEN#)

IY.2.6

0.3
0.45
1.0
VDD-O.3
VDD-0.7
VDD-1.5

IOL= 100 IlA
IOL= 1.6 rnA
IOL= 3.S rnA
(1,2)

V

IOL= 200 IlA
10[,= 3.2mA
IOL=7.0mA
(1,2)

V

IOH = -10 IlA
IOH= -30 IlA
IOH = -60 IlA
(3)

MATRAMHS
Rev. C (14 Jan. 96)

TEMIC

TSC80251

Semiconductors

VOH]

Output high Voltage
(Pbrt 0 in External Address)

VDD-O.3
VDD-0.7
VDD-1.5

V

IOH=-200 I1A
IOH =-3.2 rnA
IOH=-7.0 rnA

VOH2

Output high Voltage
(Port 2 in External Address during
Page Mode)

VDD-0.3
VDD-0.7
VDD-1.5

V

IOH= -200 I1A
IOH=-3.2 rnA
IOH = -7.0 rnA

IlL

- 50
- 75

I1A

Input Leakage Current
(Port 0)

±lO

I1A

0.45
Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.3
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.2.1-c043 52.372728, 2009/01/18-15:56:37
Create Date                     : 2014:09:16 10:03:03-08:00
Modify Date                     : 2014:09:16 09:29:35-07:00
Metadata Date                   : 2014:09:16 09:29:35-07:00
Producer                        : Adobe Acrobat 9.55 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:7f4cdf6a-cb30-d743-a8f6-0281dfc616d8
Instance ID                     : uuid:e5654d5d-0cfd-8a4d-bb38-b0ae83c39648
Page Layout                     : SinglePage
Page Mode                       : UseNone
Page Count                      : 448
EXIF Metadata provided by EXIF.tools

Navigation menu