Microprocessor and Interfaces
MicroprocessorandInterfaces
Microprocessorarchitecture
Architecture
Architecture
Programmable
Programmabledigitaldevice
digital device
Manipulatesdataandcommunicatewith
peripherals
Operatesonpredesignedsetofinstructions
Architecturereferstothelogicdesignofthe
microprocessor
Programming a microprocessor
Programmingamicroprocessor
Microprocessor
Microprocessorcanbeprogrammedto
can be programmed to
performfunctionsongivendatabywriting
specific instructions into its memory
specificinstructionsintoitsmemory
Readsoneinstructionatatime,matchesitwith
its instruction set, and performs the data
itsinstructionset,andperformsthedata
manipulationspecified
Resultisstoredbackintomemoryordisplayedon
esu s s o ed bac
o e o y o d sp ayed o
anoutputdevice
Microprocessor functions
Microprocessorfunctions
Classification
Classificationoffunctionsperformedbya
of functions performed by a
microprocessor
Microprocessorinitiatedoperations
Microprocessor initiated operations
Internaloperations
Peripheral(Externallyinitiated)operations
Peripheral (Externally initiated) operations
Microprocessor initiated operations
Microprocessorinitiatedoperations
Memoryread
Memory
read
Memorywrite
I/Oread(getdatafromainputdevice)
/O
d(
d
f
i
d i )
I/Owrite(senddatatoaoutputdevice)
Alltheseoperationsrequirecommunication
All
these operations require communication
withaperipheralormemorylocation
MPU Peripheralcommunication
MPU
Peripheral communication
Communication
Communicationprocessbetween
process between
microprocessorandperipheraldevicesconsist
of the following three steps
ofthefollowingthreesteps
Identifyperipheralormemorylocation(usingits
address)
Transferinformation(data/instructioninbinary
form)
o )
Providetimingandsynchronizationdetails
8085 bus system
8085bussystem
The
The8085usesthreeseparatebusses
8085 uses three separate busses
(communicationlines)toperformits
operations
Addressbus
Databus
Data bus
Controlbus
Address bus
Addressbus
16bitswide(A
6 b ts de ( 0,,A1, ,
,A155)
8085canaccesslocationswithnumbersfrom0to
65536,Atotalof64Kaddresses
Unidirectional
Informationflowsoutofthemicroprocessorandinto
the memory or peripherals
thememoryorperipherals
When8085wantstoaccessaperipheralora
memory location it places the 16bit
memorylocation,itplacesthe16
bitaddresson
address on
theaddressbusandthensendstheappropriate
controlsignals
Data bus
Databus
8bitswide(D
8 bits wide (D0,D
D1,,D
D7)
Bidirectional
Informationflowsbothwaysbetweenthe
I f
ti fl
b th
b t
th
microprocessorandmemoryorI/O
8085
8085usesthedatabustotransferthebinary
th d t b t t
f th bi
information(data)
8085canmanipulate8bitsofdataatatime
Widthofdatabus==nbitmicroprocessor
Control bus
Controlbus
Made
Madeupofanumberofsinglebitcontrol
up of a number of single bit control
signals
Synchronizationsignals
Synchronization signals
Timingsignals
Memoryread/writesignal
Memory read/write signal
I/Oread/writesignal
Example: memory read
Example:memoryread
Microprocessorplacesthe16bitaddressofthe
c op ocesso p aces t e 6 b t add ess o t e
memorylocationontheaddressbus
p
g
Microprocessoractivatesacontrolsignalcalled
memoryreadwhichenablesthememorychip
Thememorydecodestheaddressandidentifies
therightlocation
Thememoryplacesthecontentsonthedatabus
Themicroprocessorreadsthevalueofthedata
busafteracertainamountoftime
Internal data operations
Internaldataoperations
Storingdata
Storing
data
Arithmeticandlogicoperation
Testforconditions
f
di i
Sequencingtheexecutionofprogram
Storingdatatemporarilyinstack
8085 programmable registers
8085programmableregisters
Register description
Registerdescription
Accumulator(A)
Accumulator (A)
Usedforstoringtheresultofanyoperation
Flags
UsedbyALUtoconveysomeinformation(zero,carry,
etc.))
B,C,D,E,H,L
Generalpurposeregisterstostoreintermediatedata
General purpose registers to store intermediate data
H,L
Alsousedasmemorypointer
Also used as memory pointer
Program Counter (PC)
ProgramCounter(PC)
Used
Usedtocontrolsequencingoftheinstruction
to control sequencing of the instruction
execution
holdstheaddressofthenextinstruction
holds the address of the next instruction
16bitswide
Stack pointer (SP)
Stackpointer(SP)
16
16bitregisterusedtopointtomemory
bit register used to point to memory
Thememorythisregisterpointstoisaspecial
area called the stack
areacalledthestack
Stackisusedtoholddatathatwillbe
retrievedsoon
i d
stackisusuallyaccessedinaLastInFirstOut
(LIFO)fashion
y
UsedforintermediatedatatransferbyALU
Example program
Exampleprogram
2000
06
MVIB, 76h
2001
78
2002
3E
2003
F2
2004
80
ADDB
2005
76
HLT
MVIA,F2h
Externally initiated operations
Externallyinitiatedoperations
Reset
Alloperationsarestoppedandtheprogram
counter is reset to 0000h
counterisresetto0000
h
Interrupt
Microprocessorsoperationsareinterruptedand
Microprocessors operations are interrupted and
theitexecuteswhatiscalledaserviceroutine
Routine
Routine handles
handles theinterrupt,(performthe
the interrupt (perform the
necessaryoperations),thenthemicroprocessor
returnstoitspreviousoperationsandcontinues
p
p
Externally initiated operations
Externallyinitiatedoperations
Ready
8085hasapincalledRDY.Thispinisusedby
external devices to stop the 8085 until they catch
externaldevicestostopthe8085untiltheycatch
up.
AslongastheRDYpinislow,the8085willbeina
As long as the RDY pin is low, the 8085 will be in a
waitstate
Externally initiated operations
Externallyinitiatedoperations
Hold
Hold
8085hasapincalledHOLD.Thispinisusedby
external devices to gain control of the busses
externaldevicestogaincontrolofthebusses.
WhentheHOLDsignalisactivatedbyanexternal
device, the 8085 stops executing instructions and
device,the8085stopsexecutinginstructionsand
stopsusingthebusses.
Thisallowsexternaldevicestocontrolthe
informationonthebusses,exampleDMA