Arithmetic Circuits Fundamentals Of Logic Design

Download Report

Transcript Arithmetic Circuits Fundamentals Of Logic Design

Introduction to
Microprocessors
Number Systems and
Conversions
Chapter 1: Introduction to 68HC11
The 68HC11 Microcontroller
No. 1-1 9/6/00
Introduction to
Microprocessors
Number Systems and
Conversions
What is a computer?
Software
Hardware
Computer Hardware Organization
Control
unit
common bus
Arithmetic
logic
unit
memory
Registers
program
data
storage
storage
output
input
unit
unit
Figure 1.1 Computer hardware organization
No. 1-2 9/6/00
The processor
Introduction to
Microprocessors
Number Systems and
Conversions
Registers -- storage locations in the processor
Arithmetic logic unit
Control unit
program counter keeps track of the address of the next instruction to be executed
status register flags the instruction execution result
The microprocessor
A processor implemented on a very large scale integration (VLSI) chip
Peripheral chips are needed to construct a product
The Microcontroller
The processor and peripheral functions implemented on one VLSI chip
No. 1-3 9/6/00
Introduction to
Microprocessors
Number Systems and
Conversions
Features of the 68HC11A8 microcontroller
-
8-bit CPU
-
256 bytes SRAM
-
512 bytes EEPROM
-
8 KB ROM
-
3 input capture channels
-
5 output compare functions
-
one 8-bit pulse accumulator
-
one serial communication interface (SCI)
-
one serial peripheral interface (SPI)
-
real-time interrupt (RTI) circuit
-
8-channel 8-bit A/D converter
-
computer operate properly (COP) watchdog system
No. 1-4 9/6/00
PULSE ACCUMULATOR
O
C
1
RAM-256 bytes
PERIODIC INTERRUPT
EEP ROM-512 bytes
COP WATCHDOG
PE7
PE6
PE5
PE4
PE3
PE2
PE1
PE0
SS
SCK
MOSI
SP I
P ORT
E
MISO
A/D
CONVERTER
TxD
SCI
RxD
Introduction to
PA7
Microprocessors
PA6
NumberPA5Systems and
PA4
P ORT
Conversions
PA3
A
PA2
PA1
PA0
DATA DIRECTION
ROM-8KB
PAI
OC2
OC3
OC4
OC5
IC1
IC2
IC3
PORT
D
PD1
PD0
VREF H
VREF L
M68HC11 CP U
RESET
ADDRESS DATA BUS
XIRQ
INTERRUP TS
IRQ
HANDSHAKE I/O
(VPPB ULK)
DATA DIRECTION C
XTAL
EXTAL
PD5
PD4
PD3
PD2
OSCILLATOR
P ORT B
P ORT C
PARALLEL
I/O
E
MODA
LIR
MODB
(V STBY)
VD D
VSS
MODE
SELECT
P OWER
P P P P P P P P
B B B B B B B B
7 6 5 4 3 2 1 0
P P P P P P P P S S
C C C C C C C C T T
7 6 5 4 3 2 1 0 R R
B A
AA AA AA AA A A AA AA AA
1 1 1 1 1 1 9 8 D D DD DD DD
5 4 3 2 1 0
7 6 5 4 3 2 1 0
R/W AS
SINGLE
CHIP
EXPAND
Figure 1.2 68HC11A8 block diagram (redrawn with permission of Motorola)
No. 1-5 9/6/00
Introduction to
Microprocessors
Number Systems and
Conversions
Examples of microcontroller applications
-
Displays
Printers
Keyboards
Modems
Charge card phones
Refrigerators
Washing machines
Microwave ovens
Automobile engine fuel injection
Fax machines
Motor speed control
etc.
No. 1-6 9/6/00
Semiconductor memory
Introduction to
Microprocessors
Number Systems and
Conversions
- Random-access memory (RAM): same amount of time
-
is required to access any location on the same chip
Read-only memory (ROM): can only be read but not
written by the processor
Random-access memory
- Dynamic random-access memory (DRAM): periodic
-
refresh is required to maintain the contents of a DRAM chip
Static random-access memory (SRAM): no periodic
refresh is required
Read-only memory
- Mask-programmed read-only memory (MROM):
programmed when being manufactured
- Programmable read-only memory (PROM): the memory
chip can be programmed by the end user
No. 1-7 9/6/00
-
Erasable programmable ROM (EPROM)
Introduction to
Microprocessors
Number Systems and
Conversions
1. electrically programmable many times
2. erased by ultraviolet light (through a window)
3. erasable in bulk (whole chip in one erasure operation)
-
Electrically erasable programmable ROM (EEPROM)
1. electrically programmable many times
2. electrically erasable many times
3. can be erased one location, one row, or whole chip in one operation
-
Flash memory
1. electrically programmable many times
2. electrically erasable many times
3. can only be erased in bulk
No. 1-8 9/6/00
Computer software
-
Introduction to
Microprocessors
Number Systems and
Conversions
Computer programs are known as software
A program is a sequence of instructions
Machine instruction
-
A sequence of binary digits which can be executed by the processor
Hard to understand for human being
Assembly language
-
Defined by assembly instructions
An assembly instruction is a mnemonic representation of a machine
instruction
Assembly programs must be translated before it can be executed -translated by an assembler
No. 1-9 9/6/00
High-level language
-
Introduction to
Microprocessors
Number Systems and
Conversions
Syntax of a high-level language is similar to English
A translator is required to translate the program written in a
high-level language -- done by a compiler
Source code
-
A program written in assembly or high-level language
Object code
-
The output of an assembler or compiler
No. 1-10 9/6/00
Introduction to
Microprocessors
Number Systems and
Conversions
7
Accumulator A
0 7
Accumulator B
0 A:B
15
Double Accumulator D
0 D
15
Index Register IX
0 IX
15
Index Register IY
0 IY
15
Stack pointer
0 SP
15
P rogram Counter
0 PC
S
X
H
I
N
Z
V
C CCR
Carry
Overflow
Zero
Negative
I interrupt mask
Half-Carry (from bit 3)
X Interrupt Mask
Stop Disable
Figure 1.3 MC68HC11 P rogrammer's model
No. 1-11 9/6/00
Introduction to
Microprocessors
Number Systems and
Conversions
Memory Addressing
Memory consists of addressable locations
A memory location has 2 components: address and contents
address
contents
Data transfer between CPU and memory involves address
bus and data bus
address bus lines
CPU
memory
data bus lines
Figure 1.5 Data transfer between CPU and memory
No. 1-12 9/6/00
Introduction to
Microprocessors
Number Systems and
Conversions
NUMBER SYSTEMS,
CONVERSIONS
and
CODES
No. 1-13 9/6/00
Goals
Upon Completion
Introduction to
Microprocessors
Number Systems and
Conversions
• Understand Positional Number Systems
• Convert from one base to another
• Add, Subtract using Binary Numbers
No. 1-14 9/6/00
Chapter Overview
Introduction to
Microprocessors
Number Systems and
Conversions
• Binary Number Representation
Sign & Magnitude
Ones Complement
Twos Complement
• Codes
• Binary Addition
Using Ones and Twos Complement
Using BCD Nines and Tens Complement
• Binary Subtraction
No. 1-15 9/6/00
Binary Weights
Introduction to
Microprocessors
Number Systems and
Conversions
• In Base 10 the weights in positional notation are:
a0 is units weight
a1 is 10 units weight
a2 is 100 units weight or 10 * a1 weight
...
• In Base 2 the weights in positional notation are:
a0 is units weight
a1 is 2 units weight
a2 is 4 units weight or 2 * a1 weight
...
No. 1-16 9/6/00
Positional Notation
Introduction to
Microprocessors
Number Systems and
Conversions
BASE 10
953.7810 = 9 x 102 + 5 x 101 + 3 x 100 + 7 x 10-1 + 8 x 10-2
BASE 2
1011.112 = 1x23 + 0x22 + 1x21 + 1x20 + 1x2-1 + 1x2-2
= 8
+
0
+
2
+
1
+
1/2
+ 1/4
= 11 3/4
= 11.75
No. 1-17 9/6/00
Conversion
Introduction to
Microprocessors
Number Systems and
Conversions
EXAMPLE (repeated division)
Convert 5310 to binary
2  53
2  26
divided by 2 leaves
26 2’s with 1 leftover which forms least significant bit
remainder = 1 = a0
2  13
remainder = 0 = a1
26
remainder = 1 = a2
23
remainder = 0 = a3
21
remainder = 1 = a4
0
remainder = 1 = a5 most significant digit
53 base 10 equals 110101
No. 1-18 9/6/00
32 + 16 + 4 + 1 = 53
Introduction to
Microprocessors
Number Systems and
Conversions
EXAMPLE
(fractional portion requires repeated multiplication)
Convert .62510 to binary
.625 X 2 = 1.250
.250 X 2 = 0.500
.500 x 2 = 1.000
a-1 = 1 remainder = .250 after 1.0 subtraction ms digit
a-2 = 0 remainder = .500
a-3 = 1 remainder = .000
Finished - No further multiplication possible!
.1012 = .5 + 0 + .125 =.62510
No. 1-19 9/6/00
Introduction to
Microprocessors
Number Systems and
Conversions
• EXAMPLE
Convert 0.710 to binary
.700 X 2 = 1.400
.400 X 2 = 0.800
.800 X 2 = 1.600
.600 X 2 = 1.200
.200 X 2 = 0.400
.400 X 2 = 0.800
a-1 = 1 remainder = .400
a-2 = 0 remainder = .800
a-3 = 1 remainder = .600
a-4 = 1 remainder = .200
a-5 = 0 remainder = .400
a-6 = 0 remainder = .800
Process starts to repeat
0.710 = 0.10110011001100.........(base 2)
No. 1-20 9/6/00
HEXADECIMAL NUMBERS
Code
Introduction to
Microprocessors
Number Systems and
Conversions
WRITING one’s and zero’s can be error prone when dealing with large
numbers. IBM came up with the following method of dealing with these
numbers. BASE 16 with digits 0 - 15 in base 10 are represented by the
following notation in Hexadecimal.
016 = 00002 = 010
116 = 00012 = 110
216 = 00102 = 210
316 = 00112 = 310
416 = 01002 = 410
516 = 01012 = 510
616 = 01102 = 610
716 = 01112 = 710
816 = 10002 = 810
916 = 10012 = 910
A16 = 10102 = 1010
B16 = 10112 = 1110
C16 = 11002 = 1210
D16 = 11012 = 1310
E16 = 11102 = 1410
F16 = 11112 = 1510
No. 1-21 9/6/00