Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
List of Experiments
CYCLE-I
CYCLE-II
8. To study the 8255 and transfer the Data block on the I/O ports.
Theory:
Architecture Of Microprocessor(8085):
Block Diagram Description-
The microprocessor include the ALU, Timing and control unit Accumulator, Instruction
Register, and Decoder, register Array, Interrupt control serial I/O control and stack
pointer.
1) The Arithmetic and Logical unit(ALU) –
The ALU perform the function it include the accumulator, the transforming register
and arithmetic and logical circuit. And the different flags that the temporary register
are used to load the data during and the arithmetic and logical operations and result is
stored in the accumulator and the flags are the set ands reset according to the result of
the operations.
2) Accumulator:-
The accumulator is an the 8 bit register that is the part of the arithmetic and the
logical unit(ALU) This register is used to stored the 8bit data and perform the
arithmetic and the operation and the logical operations. the result of an the operations
is stored in the accumulator the accumulator is also identical as the register A.
3) Temporary Register(TR)-
The Register W and the Z are the Temporary .each are the 8 bit register having the 8
bit flip-flop. These register cannot be used by the programmer These are the used
only by the microprocessor for the temporary storage of the perennial data .These
register are thus called as the temporary Registers.
4) Flag Register:-
The Flag are affected by the arithmetic and the logical operations in the ALU. The
Flag register is an the 8 bit register having the 8 flip flop. The five bit positions out of
8 are used to stored the output of the five flip-flop. The flag are stored the 8 bit
register in that the programmer can examine the flag by the accessing the register
through an the interactions of the five status flag are.
a)Carry Flag(CF)-
If in the arithmetic operation the result in the carry then the carry flag is set other wise
it is an reset in mode. It also carry they barrow form the subtraction .
b)Auxiliary Carry Flag(AC)-
In the AC flag an the BCD operation when the carry is generate by the digit D3 and
pass on the D4 the AC flag is set.
c)Parity Flag(PF)-
In the parity flag after an the arithmetic and the logical operations if the result is an
even number of the 1’s the flag is set and the or it is e reset if the number of the 1’s is
odd .
d)Zero Flag(ZF)-
The zero flag is set if the ALU operations result in the zero and the flag is reset if the
result is not zero.
e) Sign Flag(SF)-
After the execution of an the arithmetic or the logical operations if the bit D7 is the
result calculating the accumulator is 1.The sign flag is set. This flag is the used with
the signed number as well as the number will then be viewed as a negative number if
it is 0,then the number will be the considerer positive.
Temporary register is used to hold the data during the arithmetic and the logical
operations .The various arithmetic operations are performed are-
1) Additions and the substations of the binary number.
2) Additions of the BCD.
3) Increment and the Decrement of the binary number.
4) Comparison of the two 8 bit number.
The logical operation perform by the ALU are-
1) ANDing, ORing, X-ORing Inverting of the 8 bit number
2) Rotating the 8 bit data.-
As ALU is 8 bit data in the microprocessor8085.it can perform the arithmetic and
the logical operations of the 8-bit number.
Program Counter(PC)-
This is the 16 bit register deals with the sequencing of the excitations of the
instructions it is the function is to point to the memory address from the which is the
next byte is to be the fetched. When a byte is being fetched then the program counter
is incremented by the one to point to the next memory locations.
Stack Pointer(SP)-
This is also the 16 bit register used as memory pointer initially it will be the called
stack pointer register .It point to the memory location to the read write memory called
the stack. The beginning of the stack is defined by the loading a 16 bit address in the
stack pointer.
Sample Program :
Aim: (b) Addition of two 16-bit/32bit numbers.
Problem :
1. Write a program to perform addition of A95CH and A333H. Store the result in B-C-
D registers.
2. Write a program to perform the addition of two 32-bit numbers which are present in
memory location from address C900H and C904H. Store the result at F000H.
Program:
Logic:
16-bit addition:
1. Take the 16-bit no. directly given with the problem.
2. Perform addition of these two numbers using ADD instruction.
3. Store the result in corresponding registers.
32-bit addition:
1. Take the numbers from memory in registers.
2. Using memory related instructions, perform addition.
3. Store the result in corresponding given memory location.
Result:
Viva Questions:
1. What is the function of ALU?
2. What is the function of instruction register?
3. What is the function of interrupt control unit?
4. What is the function of serial input output control?
5. What is the function of increment and decrement register?
6. What is the function of accumulator?
7. What is the function of stack pointer?
8. What is the function of program counter?
9. What is the function of flag register?
10. Explain the term ROM?
11. Explain the term R/WR?
12. What is the nibble?
13. What is an instruction?
14. What is Mnemonic?
Experiment No-02
Problem:
Write a program to transfer 10 bytes from memory bank1 to memory bank2. The starting
address of bank1 and bank2 are F000H and C500H..
Program:
Logic:
1. Initialize counter of 10 bytes.
2. Take the data of 1st location of bank1 in accumulator and transfer it to the 1st
location of bank2.
3. Repeat the same procedure for other numbers till counter become to zero.
Result:
Viva Questions:
1. What is the function of instruction decoder unit?
2. What is the function of timing and control unit?
3. What is the function of temporary register?
4. What is the function of address buffer?
5. What is the function of data buffer?
Experiment No-03
Aim: Find the smallest number.
Problem Statement:
A block of 10 bytes is present in memory from address A000H. Find the smallest byte
and store it at A090H.
Program:
Logic:
1. Initialize counter of 10 bytes.
2. Using CMP instruction compare the data of 1st and 2nd location.
3. Keep on comparing the other numbers and find the smallest number. Store it in
accumulator and at A090H.
Result:
Viva Questions:
1. Explain the term LSI?
2. How many bytes make a word of 32 bit?
3. What is difference between machine language and the assembly language of
the microprocessor?
4. What is an assembler?
5. Explain the term BUS?
Experiment No-04
Problem:
A block of 10 byte is present in memory from address E980H. Find the even, odd and
zero numbers and store them at F000H and F900H
Program:
Logic:
1. Take the first data of memory location in accumulator.
2. Use Rotate instruction RRC ie rotate right without carry.
3. Check the carry flag. If CF=1, the number is even and if CF=0, the number is odd
and check zero flag, if it is 1 that means the number is zero.
4. Store the result in corresponding memory locations.
Result:
Viva Questions:
1. What is program?
2. What is a complier?
3. Why data bus is bi-directional?
4. Specifies the function of address bus and the direction of address bus?
5. How many memory location can be addressed by a microprocessor with the
14 address lines?
Experiment No-05
Aim: Arrange the data block in the ascending /descending order.
Problem :
A block of 10 bytes is present in memory from address D000H. Arrange these 10 bytes
in ascending (increasing) order from address E000H.
Program:
Logic:
Result:
Viva Questions:
1. What are the different addressing mode?
2. What is the immediate addressing mode?
3. What is the register direct addressing mode?
4. What is the direct addressing mode?
5. What is the register indifferent addressing mode?
Experiment No-06
Problem Statement:
A block of 10 BCD bytes is present in memory from address D000H. Add all these BCD
bytes and store 16-bit BCD result into memory after the end of this data block.
Program:
Logic:
1. Initialize the block of 10 bytes in memory from address D000H and also
initialize counter.
2. Using ADD instruction, add the accumulator data and memory data. Using
DAA instruction adjust accumulator data.
3. Store the 16-bit BCD result into two memory locations after the end of data
blocks.
Result:
Viva Questions:
1. What is a microprocessor?
2. What is the difference between microprocessor and cpu?
3. What is difference between microprocessor and microcomputer?
4. Explain the term SSI?
5. Explain the term MSI?
Experiment No-07
Problem :
Write a program to perform multiplication of 8-bit binary no. 25H and 37H. Store 16-bit
result into memory from address F998H.
Program:
Logic:
In up 8085, multiplication is perform by using repetitive addition.
Result:
Viva Questions:
1. What is the implicit addressing mode?
2. How many address line present in microprocessor?
3. How many data line present in microprocessor?
4. How many control line present in microprocessor?
5. How microprocessor fetch the instruction?
Experiment No. 8
Aim : To study the architecture of 8255 PPI and to glow the alternate LEDS of port B.
Interfacing Diagram :
PA0-PA7
A15 CS
PC7-PC4
Up IC 8255
8085
A1 A1 PC3-PC0
A0 A0
MEMW WR
Pin Diagram:
Architecture Description:
The internal block diagram of 8255 PPI is given in the figure. 8255 is a 40 pin INTEL IC
which consist of input and output ports.
1. The 8255 PPI consists of 8 bit ports A and B.
2. It consists of two 4 bit ports, port C upper and port C lower. If they are used
together then it becomes one 8bit port C.
3. 8255 PPI consists of 8 bit control word register (CWR). By transforming 8bit
number into CWR using program, we can define different ports of 8255 PPI either
at input or as output. Hence 8255 PPI is called programmable IC.
Modes of Operation of 8255 PPI:
BSR[Bit Set Reset Mode]: BSR mode is used to set (1)/reset(0) any one out of 8 pins of
only port C (PC7 to PC0).To reset/set any one pin of port C we have to transfer 8 bit
control word from up to CWR of 8255 in the format given below.
0 X X X A2 A1 A0 S/R
For BSR mode D7 will be always zero. A2 A1 A0 will give 8 bit address of port C pin to
be selected. If D0=0/1 then the selected port C pin is set/reset respectively.
To define the different modes and operations of 8255 in parallel IO mode, we have to
transfer 8 bit number into CWR of 8255 in the format given above. For parallel IO mode
D7 will be always 1. MA1, MA0 bits are used to define modes of portA. MB bit is used
to define mode of port B.
PA, PCup, PB, PC low bits are used to define the operation of port A, port Cup, port B,
port C low resp. If PA=1/0, then port A gets defined as input/output port respectively.
Logic:
1. Define the control word according to the problem.
2. Store the data in accumulator, which will be transferred on IO ports.
3. OUT accumulator data.
Result:
Viva Questions:
1. What is function of WR signal?
2. What is function of ALE signal?
Experiment No. 9
Problem:
To generate the square wave of period 1sec on sod pin.
Program:
Logic:
1. Load accumulator with 40H.
2. Set interrupt mask ie SIM.
3. Load accumulator with C0H.
4. Set interrupt mask ie SIM.
5. Call delay.
6. Load accumulator with 40H.
7. Set interrupt mask ie SIM.
8. Repeat the procedure from 3.
Result:
Viva Questions:
1. What is function of RESET IN signal?
2. What is function of RESET OUT signal?
3. What is function of INTR signal?
4. What is function of SID signal?
5. What is function of SOD signal?
6. What is addressing mode of JPO.
Experiment No. 10
Problem:
Write a program to convert hexadecimal number into its ASCII equivalent. The no. is
stored at 7500H and store the result from 7501H.
Program:
Logic:
1. Load accumulator with the data of memory location.
2. Compare with 10
3. If there is a carry, go to next otherwise add offset 7 for letters.
4. Add offset for ASCII
5. Store the result.
Result:
Viva Questions:
1. What is addressing mode of SIM.
2. What is addressing mode of DAA.
3. What is addressing mode of EI.
4. What is addressing mode of DI.
5. What is addressing mode of CMA.
6. What is addressing mode of NOP.
Experiment No. 11
Problem :
Interface DAC with up 8085 and write a program to generate triangular wave.
Circuit Diagram :
cs
2.5K +5V
D0-D7
PA7-PA0 B1-B8 5K
PC7
I/P2
8255 2.5K
PC0
DAC 0808 741
V0
Vcc +5V
GND
0.1uF
0.01uF
-12V
Program:
Result:
Viva Questions:
! "#$
! %! &"#$ ! '
6. ! &
Experiment No. 12
Circuit Diagram:
cs
Vref
Vref
20
+5V
D0-D7 Vcc
PA7-PA0 O7-O0
A0 A0 EOC
PC7
I/P2
A1
A1 SOC
ADC 0808
PC0
RESET 8255
diff
RD OE GND
ALE
WR
+5V A B C
PB0
PB1
PB2
Program:
Result:
Viva Questions:
1. What is function of ORA M.
2. What is function of ORI 8bit data.
3. What is function of XRA R.
4. What is function of XRA M.
5. What is function of XRI 8 bit data.
6. What is function of CMA.