PCEL4303 MICROPROCESSOR & MICRO
CONTROLLERS
MODULE - I (10 hours)
Microprocessor Architecture: Microprocessor and Microcomputer
Architecture, Pins &
Signals, Register Organization, Timing & Control Module, 8085 Instruction
Timing & Execution.
Assembly Language Programming of 8085: Instruction set of 8085, Memory &
I/O
Addressing, Assembly language programming, Stack & Subroutines.
Interfacing EPROM & RAM Memories: 2764 & 6264, 8085 Interrupts
(Book 1: Ch.1,2,3,4 & 7)
• MODULE – II (15 hours)
8086 Microprocessor: Architectures, Pin Diagrams and Timing Diagrams: Register
Organisation, Architecture, Signal Description, Physical Memory Organisations, Bus
Operation, I/O Addressing Capability, Special Processor Activities, Minimum Mode
System and Timings, Maximum Mode System and Timings
8086 Instruction Set and Assembler Directives: Machine Language Instruction
Formats, Addressing Modes, Instruction Set, Assembler Directives and Operators
Assembly Language Programming with 8086: Machine Level Programs, Machine
Coding the Programs ,Programming with an Assembler
Special Architectural Features and Related Programming: Stack, Interrupts and
Interrupt Service Routines, Interrupt Cycle,Non Maskable Interrupt, Maskable
Interrupt,
Interrupt Programming, Passing Parameters to Procedures, Handling Programs of
Size
More than 64k,MACROS, Timings and Delays
Basic Peripherals and Their Interfacing with 8086: Semiconductor Memory
Interfacing, Dynamic RAM Interfacing, Interfacing I/O Ports, PIO 8255]
Modes of Operation of 8255
Interfacing Analog to Digital Data Converters, Interfacing Digital to
Analog to Converters, Stepper Motor Interfacing ,
Special Purpose Programmable Peripheral Devices and Their Interfacing
Programmable Interval Timer 8253, Programmable Interrupt Controller
8259A, The
Keyboard/Display Controller 8279, Programmable Communication
Interface
8251USART
DMA, Floppy Disk and CRT Controllers
DMA Controller 8257,DMA Transfers and Operations, Programmable DMA
Interface
8237, Floppy Disk Controller 8272, CRT Controller 8275
80386 Microprocessor: Introduction, Architecture, Pins & Signals, Memory
System, Registers,
Memory Management, Paging Technique, Protected Mode Operation.
(Book-2: Ch.1.1 to 1.9, ch.2.1 to 2.4,ch.3.1 to 3.3, ch.4.1 to 4.10,ch.5.1 to
5.8,ch.6.1 to 6.4,
ch.7.1 to 7.5, ch.10.1 to 10.3, 10.7,10.9)
• MODULE –III (15 HOURS)
8051 Microcontrollers: Microcontrollers and embedded processors, Overview of
the 8051 family
8051 Hardware Connection: Pin description of the 8051
8051 Assembly Language Programming: Inside the 8051, Assembly, Programming
Assembling and Running an 8051 Program, The Program Counter and ROM Space
in the 8051
8051 data types and Directives, PSW Register, register Banks and Stack Jump, loop,
and Call Instructions: Loop and Jump Instructions, Call Instructions,
Time Delay for Various 8051 chips
8051 I/O Port Programming: I/O Programming, I/O Bit Manipulation
Programming,
8051 Addressing Modes: Immediate and register Addressing Modes, Accessing
memory using various Addressing Modes, Bit Addresses for I/O and RAM
Arithmetic & Logic Instructions and Programs: Arithmetic Instructions, Signed
number concepts and Arithmetic Operations, Logic and Compare Instructions,
Rotate Instruction and data Serialization, BCD, ASCII, and other Application
Programs
8051 Serial Port Programming in Assembly: Basic of Serial communication, 8051
connection to RS232, 8051 Serial port Programming in Assembly, Programming the
second Serial port
Interrupts Programming in Assembly: 8051 Interrupts, Programming timer Interrupts,
Programming external hardware Interrupts, Programming the Serial Communication
interrupt, Interrupt Priority in the 8051
ADC, DAC, and Sensor Interfacing: Parallel and Serial ADC, DAC Interfacing
Sensor Interfacing and Signal Conditioning
Interfacing to External Memory: Semiconductor Memory, Memory Address Decoding,
Interfacing with External ROM, 8051 Data Memory space, Accessing External data
Memory
8051 Interfacing with the 8255: 8255 Interfacing, Pogramming for the 8255
Motor Control: RELAY, PWM, DC, and Stepper Motors: Relays and Opto-isolations,
Stepper Motor Interfacing, DC Motor Interfacing and PWM
(Book-3: Ch.1.1,1.2,ch.2.1 to 2.7,ch.3.1 to 3.3,ch.4.1,4.2,ch.5.1 to 5.3,ch.6.1 to
6.5,ch.10.1 to 10.4,ch.11.1 to 11.5,ch.13.1 to 13.3,ch.14.1 to 14.4,ch.15.1,15.2,ch.17.1
to 17.3)
TEXT BOOKS
1. Ghosh & Sridhar,0000 to 8085–Introduction to Microprocessor for
Scientists & Engineers, PHI
2. A.K. Roy & K.M. Bhurchandi, Advanced Microprocessor and Peripherals
(Architecture,
Programming & Interfacing)– TMH Publication
3. Mazidi & Mazidi, The 8051 Microcontroller & Embedded Systems–
Pearson / PHI publication
. REFERENCE:
1. M. Rafiqzzaman, Microprocessor – Theory & Applications. (Intel &
Motorola ), PHI
2. The 8086 Microprocessor: Programming & Interfacing the PC by Keneeth J.
Ayela
3. Douglas V.Hall, “Microprocessors and Interfacing: Programming and
Hardware”, TMH
4. R.S. Gaonkar, Microprocessor architecture, programming & application
with 8085, Penram International Publishing. (India) Pvt. Ltd.
5. W.A.Triebel and Avtar Singh, The 8088 and 8086 Microprocessors, Pearson
Education
6. Barry B. B The Intel Microprocessor – (Architecture, Programming &
Interfacing) by Pearson
Microprocessor and Microcomputer
Architecture
Block diagram of a micro computer
Microcomputer
• A microcomputer is a small, relatively
inexpensive computer with a microprocessor as its (CPU).
• It includes a microprocessor, memory, and input/output
(I/O) facilities.
• Microcomputers became popular in the 1970s and 80s with
the advent of increasingly powerful microprocessors. The
predecessors to these computers, mainframe
and minicomputers, were comparatively much larger and
more expensive (though indeed present-day mainframes
such as the IBM System z machines use one or more
custom microprocessors as their CPUs).
• Many microcomputers (when equipped with a keyboard
and screen for input and output) are also personal
computers (in the generic sense).
• The abbreviation micro was common during the 1970s and
1980s, but it has now fallen out of common usage.
Difference between microprocessor and
microcomputer?
• A microprocessor is a computer chip which executes
instructions. It is part of a computer.
• A microcomputer is, well, a computer. It has a
microprocessor, memory, I/O, etc
• There are three difference between microprocessor and
microcomputer:
1. Microprocessor is one component of the microcomputer.
2. Microcomputer is a complete computer similar to any other
computer.
3. The term peripheral is used for input/output devices.
• Peripheral: able to be attached to and used with a
computer, though not an integral part of it.
Difference between microprocessor &
microcontroller
• Microcontroller is defined as a
device that includes micro processor, memory, & input /
output signal lines on a single chip.
• In Microprocessor we have to connect external RAM, ROM,
I/o, Timers and interrupts by externally, where as in
Microcontroller RAM, ROM,I/O, Timers serial
communication all are in built in microcontroller
• Microprocessor is used in Higher end Industrial projects
where as Microcontroller can be used for lower end
projects because processor can be connected by external
memory where as in controller it is fixed memory in
some case we can add external memory also
Microprocessor
• The microprocessor is a programmable device
that takes in numbers, performs on them
arithmetic or logical operations according to
the program stored in memory and then
produces other numbers as a result.
Microprocessor architecture
Inside The Microprocessor
The microprocessor is made up of 3 main units.
1 The Arithmetic/Logic Unit (ALU)
2 The Control Unit.
3 An array of registers for holding data while it is
being manipulated.
Memory
Def-Memory stores information such as instructions and data
in binary format (0 and 1). It provides this information to the
microprocessor whenever it is needed.
THEY ARE
1 The registers inside the microprocessor
2 Read Only Memory (ROM)used to store information
that does not change.
3 Random Access Memory (RAM) (also known as
Read/Write Memory).used to store information
supplied by the user. Such as programs and data.
8085 Architecture
• 8-bit general purpose μp
• Capable of addressing 64 k of memory
• Has 40 pins
• Requires +5 v power supply
• Can operate with 3 MHz clock
• 8085 upward compatible
System Bus –wires connecting memory & I/O to
microprocessor
1 Address Bus
-Unidirectional
-Identifying peripheral or memory location
2 Data Bus
– Bidirectional
– Transferring data
3 Control Bus
– Synchronization signals
– Timing signals
– Control signal
Intel 8085 Microprocessor
• Microprocessor consists of:
• Control unit: control microprocessor operations.
• ALU: performs data processing function.
• Registers: provide storage internal to CPU.
• Interrupts
• Internal data bus
The ALU
1. In addition to the arithmetic & logic circuits, the ALU includes
the accumulator, which is part of every arithmetic & logic
operation.
2. Also, the ALU includes a temporary register used for holding
data temporarily during the execution of the operation. This
temporary register is not accessible by the programmer.
Registers
1.General Purpose Registers B, C, D, E, H& L(8 bit registers)
– Can be used singly
– Or can be used as 16 bit register pairsBC, DE, HL
– H & L can be used as a data pointer (holds memory
address)
2. Special Purpose Registers
3. Accumulator(8 bit register)Store 8 bit data
• Store the result of an operation
• Store 8 bit data during I/O transfer
• Auxillary Carry FlagIs
set if there is a carry out of bit 3
• Parity Flag
Is set if parity is even
Is cleared if parity is odd
• The Program Counter (PC)
• This is a register that is used to control the sequencing of the
execution of instructions.
• This register always holds the address of the next instruction.
• Since it holds an address, it must be 16 bits wide
The Stack pointer
• The stack pointer is also a 16-bit register that is used to
point into memory.
• The memory this register points to is a special area
called the stack.
• The stack is an area of memory used to hold data that
will be retreived soon.
• The stack is usually accessed in a Last In First Out (LIFO)
fashion
Instruction Register & Decoder
• Instruction is stored in IR after fetched by
processor
• Decoder decodes instruction in IR
Internal Clock generator
• 3.125 MHz internally
• 6.25 MHz externally
The Address and Data Busses
• The address bus has 8 signal lines A8 –A15which are
unidirectional.
– The other 8 address bits are multiplexed(time
shared) with the 8 data bits.So, the bits AD0 –
AD7are bi-directional and serve as A0 –A7and D0 –
D7at the same time.
– During the execution of the instruction, these lines carry
the address bits during the early part, then during the late
parts of the execution, they carry the 8 data bits.
• In order to separate the address from the data, we can
use a latch to save the value before the function of the
bits changes.
De multiplexing AD7-AD0
• From the above description, it becomes obvious that the
AD7–AD0lines are serving a dual purpose and that they
need to be de multiplexed to get all the information.
• The high order bits of the address remain on the bus for
three clock periods.
• However, the low order bits remain for only one clock
period and they would be lost if they are not saved
externally.
• Also, notice that the low order bits of the address
disappear when they are needed most.
• To make sure we have the entire address for the full three
clock cycles, we will use an external latch to save the value
of AD7–AD0 when it is carrying the address bits. We use
the ALE signal to enable this latch.
De multiplexing the Bus AD7–AD0
• The high order address is placed on the address bus
and hold for 3 clk periods,
• The low order address is lost after the first clk period,
this address needs to be hold however we need to use
latch
• The address AD7 –AD0 is connected as inputs to the
latch 74LS373.
• The ALE signal is connected to the enable (G) pin of the
latch and the OC –Output control –of the latch is
grounded