0% found this document useful (0 votes)
25 views

Msi CDF

This document provides information about a course on microprocessor systems and interfacing. It discusses the following key points: - The course will cover topics like addressing modes, assembly language programming, memory interfacing, I/O devices, and microcontrollers. - Attendance at lectures is important, with a minimum 80% required to take the final exam. Students should arrive on time and be courteous in class. - The course contents include programming models, memory systems, interfacing RAM/ROM, I/O devices, stacks, and microcontrollers. - Students are advised to ask questions, communicate early if unsure, and follow email protocols when contacting instructors.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Msi CDF

This document provides information about a course on microprocessor systems and interfacing. It discusses the following key points: - The course will cover topics like addressing modes, assembly language programming, memory interfacing, I/O devices, and microcontrollers. - Attendance at lectures is important, with a minimum 80% required to take the final exam. Students should arrive on time and be courteous in class. - The course contents include programming models, memory systems, interfacing RAM/ROM, I/O devices, stacks, and microcontrollers. - Students are advised to ask questions, communicate early if unsure, and follow email protocols when contacting instructors.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Microprocessor Systems and

Interfacing
EEE 342

Moazzam Ali sahi


[email protected]
Course Description File (CDF)

Friday, September 18, 2020 2


Lectures

◼ Lecture notes posted on the site

◼ Please be courteous in class


❑ Arrive on time
❑ Turn off cell phones / sound on laptop
❑ Keep quiet …
❑ Drinking or eating is strictly prohibited

◼ Attendance is important
❑ There are just things that you cannot learn from reading notes
❑ 80% is must to appear in final exam and pass the course

Friday, September 18, 2020 3


Few Recommendations
◼ “Eighty percent of success is showing up.”
❑ Come to lectures, discussions, lab

◼ If you are not sure: ask!


❑ Talk to us after class, send email, come to office hours
❑ Early communication solves problems easiest
❑ Don’t wait until it’s too late

◼ Email protocol
❑ Write your full name and registration ID.
◼ We need to know who you are.
❑ Do not forget to write subject of email
❑ Be professional

Friday, September 18, 2020 4


Course Contents
◼ Introduction to Programmers model of 8086
◼ Addressing Modes & Assembly Language
Programming for 8086 Architecture.
◼ Memory types and Memory system
requirements
◼ Interfacing RAM/ROM with 8088 CPU
◼ I/O Devices and their interfacing
◼ Stack and Stack Programming
◼ Interfacing RAM/ROM with 8086 CPU
◼ I/Os & PPIs interfacing
◼ Introduction to Microcontrollers PIC, STM
Friday, September 18, 2020 5
Number System and Conversions

◼ Outline
❑ Binary numbers
❑ Number-Base conversions
❑ Octal and hexadecimal numbers
❑ Complements and signed binary numbers
❑ Binary codes
❑ Storage and registers
❑ Binary logic

Friday, September 18, 2020 6


Digital Computer Systems
◼ Digital systems consider discrete amounts of data.

◼ Examples
❑ 26 letters in the alphabet
❑ 10 decimal digits

◼ Larger quantities can be built from discrete values


❑ Words made of letters
❑ Numbers made of decimal digits (e.g. 239875.32)

Friday, September 18, 2020 7


Digital Computer Systems

◼ Questions to ask
❑ How the numbers are represented in digital systems?
❑ How computer performs basic arithmetic operations?

◼ Computers operate on binary values (0 and 1)

◼ Easy to represent binary values electrically


❑ Voltages and currents
❑ Advantages
◼ Can be implemented using circuits
◼ Create the building blocks of modern computers

Friday, September 18, 2020 8


Understanding Decimal Numbers
◼ Decimal numbers are made of decimal digits:
(0,1,2,3,4,5,6,7,8,9)
◼ But how many items does a decimal number represent?
❑ 8653 = 8x103 + 6x102 + 5x101 + 3x100
◼ What about fractions?
❑ 97654.35 = 9x104 + 7x103 + 6x102 + 5x101 + 4x100 + 3x10-1 + 5x10-2
❑ In formal notation -> (97654.35)10
◼ Why do we use 10 digits, anyway?

Friday, September 18, 2020 9


Understanding Binary Numbers
◼ Binary numbers are made of binary digits (bits)
❑ 0 and 1

◼ How many items does a binary number represent?


❑ (1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = (11)10

◼ What about fractions?


❑ (110.10)2 = 1x22 + 1x21 + 0x20 + 1x2-1 + 0x2-2

◼ Groups of eight bits are called a byte


❑ (11001001) 2

◼ Groups of four bits are called a nibble


❑ (1101) 2

Friday, September 18, 2020 10


Understanding Octal Numbers
◼ Octal numbers are made of octal digits
❑ 0,1,2,3,4,5,6,7

◼ How many items does an octal number represent?


❑ (4536)8 = 4x83 + 5x82 + 3x81 + 6x80 = (1362)10

◼ What about fractions?


❑ (465.27)8 = 4x82 + 6x81 + 5x80 + 2x8-1 + 7x8-2

◼ Octal numbers don’t use digits 8 or 9

◼ Why would someone use octal number, anyway?

Friday, September 18, 2020 11


Understanding Hexadecimal Numbers
◼ Hexadecimal numbers are made of 16 digits
❑ (0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F)

◼ How many items does an hex number represent?


❑ (3A9F)16 = 3x163 + 10x162 + 9x161 + 15x160 = 1499910

◼ What about fractions?


❑ (2D3.5)16 = 2x162 + 13x161 + 3x160 + 5x16-1 = 723.312510

◼ Note that each hexadecimal digit can be represented with


four bits.
❑ (1110) 2 = (E)16

Friday, September 18, 2020 12


Exercise (Convert to decimal)
◼ (1011.101)2
◼ Answer = 11.625

◼ (24.6)8
◼ Answer = 20.75

◼ (IBC2)16
◼ Answer = 7106
Friday, September 18, 2020 13
Putting It All Together

Friday, September 18, 2020 14


Convert an Integer from Decimal to
Another Base
◼ For each digit position
❑ Divide decimal number by the base (e.g. 2)
❑ The remainder is the lowest-order digit
❑ Repeat first two steps until no divisor remains

Example for (13)10


Integer Remainder Coefficient
Quotient
13/2 = 6 + ½ a0 = 1
6/2 = 3 + 0 a1 = 0
3/2 = 1 + ½ a2 = 1
1/2 = 0 + ½ a3 = 1

Answer (13)10 = (a3 a2 a1 a0)2 = (1101)2

Friday, September 18, 2020 15


Exercise (Convert decimal to other bases)
◼ 291 to binary
◼ Answer = (100100011)2

◼ 291 to octal
◼ Answer = (443)8

◼ 291 to hexadecimal
◼ Answer = (123)16

Friday, September 18, 2020 16


Convert a Fraction from Decimal to
Another Base
◼ For each digit position
❑ Multiply decimal number by the base (e.g. 2)
❑ The integer is the highest-order digit
❑ Repeat first two steps until fraction becomes zero

Example for (0.625)10


Integer Fraction Coefficient

0.625 x 2 = 1 + 0.25 a-1 = 1


0.250 x 2 = 0 + 0.50 a-2 = 0
0.500 x 2 = 1 + 0 a-3 = 1

Answer (0.625)10 = (0.a-1 a-2 a-3 )2 = (0.101)2

Friday, September 18, 2020 17


Exercise (Convert fraction to decimal)
◼ (0.513)10 to octal
◼ Answer = (0.406517…)8

◼ 0.513 x 8 = 4.104
◼ 0.104 x 8 = 0.832
◼ 0.832 x 8 = 6.656
◼ 0.656 x 8 = 5.248
◼ 0.248 x 8 = 1.984
◼ 0.984 x 8 = 7.872
Friday, September 18, 2020 18
Binary Addition

◼ Binary addition is very simple.


◼ An example of adding two binary numbers

11 1 1 1
1 carries
1
1 1 1 0 1
+ 1 0 1 1 1
---------------------
1 0 1 0 1 0 0

Friday, September 18, 2020 19


Binary Subtraction
▪ We can also perform subtraction (with borrows in
place of carries)
▪ Example: subtract (10111)2 from (1001101)2
1 10 borrows
0 10 10 0 0 10

1
0 1 1 0 10
- 1 0 1 1 1
------------------------
1 1 0 1 1 0

Friday, September 18, 2020 20


Binary Multiplication
◼ Binary multiplication is much the same as decimal
multiplication
❑ The multiplication operations are much simpler

10 1 1 1
X 1 0 1 0
-----------------------
0 0 0 0 0
1 0 1 1 1
0 0 0 0 0
1 0 1 1 1
-----------------------
1 1 1 0 0 1 1 0
Friday, September 18, 2020 21
Converting Between Base 16 and Base 2

3A9F16 = 0011 1010 1001 11112


3 A 9 F

▪ Conversion is easy
❑ Determine 4-bit value for each hex digit
▪ Note that there are 24 = 16 different values of four
bits
▪ Easier to read and write in hexadecimal
▪ Representations are equivalent

Friday, September 18, 2020 22


Converting Between Base 16 and Base 8
3A9F16 = 0011 1010 1001 11112
3 A 9 F

352378 = 011 101 010 011 1112


3 5 2 3 7

1. Convert from Base 16 to Base 2


2. Regroup bits into groups of three starting from right
3. Ignore leading zeros
4. Each group of three bits forms an octal digit

Friday, September 18, 2020 23


Exercise
◼ Convert base 16 to base 8 without
intermediate stage of base 10

◼ (B98D)16

◼ Answer = (134615)8

Friday, September 18, 2020 24


Converting Between Base 8 and Base 16

◼ (673.124)8 = (110 111 011 . 001 010 100 )2

= (1 1011 1011 . 0010 1010 0 )

= (1 B B . 2 A)

Friday, September 18, 2020 25


Complements
◼ Used in computers to simplify the subtraction
operation
◼ For each base-r system
❑ Diminished radix complement or r-1’s complement
❑ Radix complement or r’s complement
◼ For example for base-2 system
❑ 1’s complement
❑ 2’s complement
◼ For base-10 system
❑ 9’s complement
❑ 10’s complement
Friday, September 18, 2020 26
Diminished Radix Complement (r-1’s
complement)
◼ Given a number ‘N’ in base ‘r’ with ‘n’ digits, r-1’s
complement is defined as (rn-1) – N
◼ For example if N = (546700)10 then r = 10 and
n=6
❑ (rn-1) = 106 – 1 = 999999
❑ 9’s complement of N = (rn-1) – N = 999999 – 546700 =
453299
❑ Similarly for N = (012398)10, 9’s complement of N is
999999 – 012398 = 987601

Friday, September 18, 2020 27


Diminished Radix Complement (r-1’s
complement)
◼ For a binary number, r = 2 and r-1 or 1’s
complement can be found just like base-10 numbers
◼ For example if N = (1010)2 then r = 2 and n = 4
❑ (rn-1) = 24 – 1 = (15)10 = (1111)2
❑ 1’s complement of N = (rn-1) – N = 1111 – 1010 =
(0101)2
◼ Shortcut: Invert all the bits of N in order to take its
1’s complement
❑ 1’s complement of 1011000 → 0100111

❑ 1’s complement of 0101101 → 1010010

Friday, September 18, 2020 28


Radix Complement (r’s complement)

◼ Given a number ‘N’ in base ‘r’ with ‘n’ digits, r’s


complement is defined as rn – N for N ≠ 0 and 0
for N = 0
❑ r’s complement can also be obtained by adding 1 to
r-1’s complement
◼ For example if N = (546700)10
❑ 9’s complement of N = (rn-1) – N = 999999 – 546700 =
453299
❑ 10’s complement of N = 9’s complement + 1 = rn– N =
453300

Friday, September 18, 2020 29


Radix Complement (r’s complement)

◼ For a binary number, r = 2 and r or 2’s complement


can be found just like base-10 numbers
◼ For example if N = (1010)2 then r = 2 and n = 4
❑ 1’s complement of N = (rn-1) – N = 1111 – 1010 =
(0101)2
❑ 2’s complement of N = 1’s complement of N + 1 =
0110

Friday, September 18, 2020 30


2’s Complement Shortcuts
◼ Algorithm 1
❑ Complement each bit and then add 1 to the result
❑ Example: Find the 2’s complement of (01100101)2
and of its 2’s complement

N = 01100101 [N] = 10011011


10011010 01100100
+ 1 + 1
--------------- ---------------
10011011 01100101

Friday, September 18, 2020 31


2’s Complement Shortcuts

◼ Algorithm 2
❑ Starting with the least significant bit, copy all of the bits
up to and including the first 1 bit and then
complementing the remaining bits
❑ Example: Find the 2’s complement of (01100101)2

N =01100101
[N] = 1 0 0 1 1 0 1 1

Friday, September 18, 2020 32


Signed Numbers and their representation
▪ Plus and minus sign used for decimal numbers: 25 (or
+25), -16, etc.
▪ For computers, desirable to represent everything as
bits
▪ Three types of signed binary number representations
▪ signed magnitude, 1’s complement, 2’s complement
▪ In each case: left-most bit indicates sign: positive (0) or
negative (1)
signed magnitude
000011002 = 1210 100011002 = -1210

Sign bit Magnitude Sign bit Magnitude

Friday, September 18, 2020 33


1’s Complement Representation
▪ Invert all bits
❑ 00110011 → 11001100
❑ 10101010 → 01010101
▪ For an n bit number N, the 1’s complement is (2n-
1) – N
▪ To find negative of 1’s complement number take
the 1’s complement

000011002 = 1210 111100112 = -1210

Sign bit Magnitude Sign bit Magnitude

Friday, September 18, 2020 34


2’s Complement Representation
▪ Invert all bits and add 1
❑ 00110011 → 11001101
❑ 10101010 → 01010110
▪ For an n bit number N the 2’s complement is (2n-1)
–N+1
▪ To find negative of 2’s complement number take
the 2’s complement

000011002 = 1210 111101002 = -1210

Sign bit Magnitude Sign bit Magnitude

Friday, September 18, 2020 35


1’s Complement Addition

◼ Add +(1100)2 and +(0001)2


❑ (12)10 = +(1100)2 = 011002
❑ (1)10 = +(0001)2 = 000012

0 1 1 0 0
Add + 0 0 0 0 1
--------------
0 0 1 1 0 1
Step 1: Add binary numbers Add carry 0
Step 2: Add carry to low-order bit
--------------
Final 0 1 1 0 1
Result

Friday, September 18, 2020 36


1’s Complement Subtraction

◼ Subtract +(0001)2 from +(1100)2


❑ (12)10 = +(1100)2 = 011002 0 1 1 0 0
❑ (-1)10 = -(0001)2 = 111102 - 0 0 0 0 1
--------------
1’s comp
0 1 1 0 0
Add + 1 1 1 1 0
--------------
1 0 1 0 1 0
Step 1: Take 1’s complement of 2nd operand Add carry 1
Step 2: Add binary numbers --------------
Step 3: Add carry to low order bit Final
Result 0 1 0 1 1
Friday, September 18, 2020 37
2’s Complement Addition

◼ Add +(1100)2 and +(0001)2.


❑ (12)10 = +(1100)2 = 011002
❑ (1)10 = +(0001)2 = 000012

0 1 1 0 0
Add + 0 0 0 0 1
--------------
Step 1: Add binary numbers Final 0 0 1 1 0 1
Step 2: Ignore carry bit Result

Ignore

Friday, September 18, 2020 38


2’s Complement Subtraction

◼ Subtract +(0001)2 from +(1100)2


❑ (12)10 = +(1100)2 = 011002 0 1 1 0 0
❑ (-1)10 = -(0001)2 = 111112 - 0 0 0 0 1
--------------
2’s comp
0 1 1 0 0
Add + 1 1 1 1 1
--------------
Step 1: Take 2’s complement of 2nd operand Final
Step 2: Add binary numbers Result 1 0 1 0 1 1
Step 3: Ignore carry bit

Ignore
Carry
Friday, September 18, 2020 39
2’s Complement Subtraction: Example 2
◼ Let’s compute (13)10 – (5)10
❑ (13)10 = +(1101)2 = (01101)2
❑ (-5)10 = -(0101)2 = (11011)2
◼ Adding these two 5-bit codes
0 1 1 0 1
carry + 1 1 0 1 1
--------------
1 0 1 0 0 0

◼ Discarding the carry bit, the sign bit is seen to be


zero, indicating a correct result. Indeed,
(01000)2 = +(1000)2 = +(8)10

Friday, September 18, 2020 40


2’s Complement Subtraction: Example 3
◼ Let’s compute (5)10 – (12)10
❑ (-12)10 = -(1100)2 = (10100)2
❑ (5)10 = +(0101)2 = (00101)2
◼ Adding these two 5-bit codes
0 0 1 0 1
+ 1 0 1 0 0
--------------
1 1 0 0 1
◼ Here, there is no carry bit and the sign bit is 1
❑ This indicates a negative result, which is what we
expect. (11001)2 = -(7)10

Friday, September 18, 2020 41


Subtraction using r’s complements

◼ Subtraction of two n-digit unsigned numbers


M-N in base r is performed as follows
❑ Add M to r’s complement of N
❑ If M ≥ N sum will produce an end carry which can
be discarded
❑ If M < N sum does not produce end carry. Take r’s
complement of the result to know exact result

Friday, September 18, 2020 42


Subtraction using r’s complements

◼ Let M = (52532)10, N = (3250)10, M – N = ?


M= 52532
N= 03250
10’s complement of N = 96750
M–N= 52532
+96750
__________
149282
Discard end carry and the result is
Answer = (49282)10

Friday, September 18, 2020 43


Subtraction using r’s complements

◼ Let M = (3250)10, N = (72532)10, M – N = ?


M= 03250
N= 72532
10’s complement of N = 27468
M–N= 03250
+27468
__________
30718
No end carry in this case
Answer = - (10’s complement of M - N) = - 69282
Same rules can be applied to base-2 numbers

Friday, September 18, 2020 44


Subtraction using r-1’s complements

◼ Subtraction of two n-digit unsigned numbers


M-N in base r is performed as follows
❑ Add M to r-1’s complement of N
❑ If M ≥ N sum will produce an end carry which will
be added to least significant digit of the sum
❑ If M < N sum does not produce end carry. Take r-
1’s complement of the result to know exact
answer

Friday, September 18, 2020 45


Subtraction using r-1’s complements

◼ Let M = (1010100)2, N = (1000011)2, M – N = ?


M= 1010100
N= 1000011
1’s complement of N = 0111100
M–N= 1010100
+0111100
__________
10010000
Add end carry around
Answer = (0010001)2

Friday, September 18, 2020 46


Subtraction using r-1’s complements

◼ Let M = (1000011)2, N = (1010100)2, M – N = ?


M= 1000011
N= 1010100
1’s complement of N = 0101011
M–N= 1000011
+0101011
__________
1101110
No end carry in this case
Answer = - (1’s complement of M - N) = -(0010001)

Friday, September 18, 2020 47

You might also like