128
EE6612Microprocessors and Microcontrollers Laboratory Manual LAB MANUAL VI Semester - Electrical and Electronics Engineering (2013 Regulation) www.allsyllabus.com www.allsyllabus.com vtu.allsyllabus.com

Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

  • Upload
    hatuyen

  • View
    243

  • Download
    7

Embed Size (px)

Citation preview

Page 1: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612–Microprocessors and Microcontrollers Laboratory Manual

LAB MANUAL

VI Semester - Electrical and Electronics Engineering

(2013 Regulation)

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 2: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

SYLLABUS

EE6612- MICROPROCESSORS AND MICRO CONTROLLERS LABORATORY

OBJECTIVES:

To provide training on programming of microprocessors and microcontrollers andunderstand the interface requirements.

LIST OF EXPERIMENTS:

1. Simple arithmetic operations: addition / subtraction / multiplication / division.2. Programming with control instructions:

(i) Ascending / Descending order, Maximum / Minimum of numbers(ii) Programs using Rotate instructions(iii)Hex / ASCII / BCD code conversions.

3. Interface Experiments: with 8085(i) A/D Interfacing. & D/A Interfacing.

4. Traffic light controller.5. I/O Port / Serial communication6. Programming Practices with Simulators/Emulators/open source7. Read a key,interface display8. Demonstration of basic instructions with 8051 Micro controller execution, including:

(i) Conditional jumps, looping(ii) Calling subroutines.

9. Programming I/O Port 8051(i) study on interface with A/D & D/A(ii(ii) study on interface with DC & AC motor .

10. Mini project development with processors.

TOTAL: 45 PERIODS

OUTCOMES:

Ability to understand and analyse, linear and digital electronic circuits. To understand and apply computing platform and software for engineering problems.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 3: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

LIST OF EXPERIMENTS

CYCLE I8-bit Microprocessor

1. Simple arithmetic operations:

(a) Addition (b) subtraction (c) multiplication (d) division.

2. Ascending / Descending order, Maximum / Minimum of numbers :

(a) Ascending order (b) Descending order (c) Maximum of numbers (d) Minimum of numbers.

3. Rotate instructions:

(a) Odd and Even Number (b) Positive and Negative Number

4.Code conversion.

(a) ASCII to hexadecimal number (b) hexadecimal to ASCII(c) hexadecimal to decimal

number (d) decimal to hexadecimal number and (e) hexadecimal to binary number

CYCLE II8085 Interfacing Program

5. Interface Experiments:

(a) A/D Interfacing. (b) D/A Interfacing

6. Traffic light controller: I/O port - 8255

7. Serial Communication: 8251

8. Read a key, interface display: 8279

CYCLE III8-bit Microcontroller

9. Demonstration of basic instructions with 8051 Micro controller execution, including:

(a)Addition (b) subtraction (c) multiplication (d) division.

10. (a) Conditional jumps, looping : Sum of elements in an array

(b) Calling subroutines : Check whether given number is Odd or Even using call option

11. Programming I/O Port :

(a) A/D Interfacing. (b) D/A Interfacing

12. 8085 Programming Practices with Simulators/ Jubin Open source Software

13. Interface with DC & AC motor

14. Mini project development with processors

ADDITIONAL EXPERIMENTS

15.Interfacing 8253 Timer With 8085

16. Stepper Motor Interfacing With 8051

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 4: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

S.no Date List Of Experiments Signature

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 5: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 6: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

8085 MICROPROCESSOR

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 7: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex. No: 1 SIMPLE ARITHMETIC OPERATIONS

AIM:

To write an assembly language program to add, subtract, multiply and divide the givendata stored at two consecutive locations using 8085 microprocessor.

a. 8 BIT DATAADDITION:

ALGORITHM:

1. Initialize memory pointer to data location.2. Get the first number from memory in accumulator.3. Get the second number and add it to the accumulator.4. Store the answer at another memory location.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 8: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOW CHART:

NO

YES

START

[HL] 4500H

[A] [M]

[A] [A]+[M]

[HL] [HL]+1

STOP

[HL] [HL]+1

[M] [A]

[C] 00H

[M] [C]

[HL] [HL]+1

Is there aCarry ?

[C] [C]+1

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 9: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS OPCODE LABEL MNEMONICS OPERAND COMMENT4100 START MVI C, 00 Clear C reg.41014102 LXI H, 4500 Initialize HL reg. to

4500410341044105 MOV A, M Transfer first data to

accumulator4106 INX H Increment HL reg. to

point next memoryLocation.

4107 ADD M Add first number toacc. Content.

4108 JNC L1 Jump to location ifresult does not yieldcarry.

4109410A

410B INR C Increment C reg.410C L1 INX H Increment HL reg. to

point next memoryLocation.

410D MOV M, A Transfer the result fromacc. to memory.

410E INX H Increment HL reg. topoint next memoryLocation.

410F MOV M, C Move carry to memory4110 HLT Stop the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 10: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

b. 8 BIT DATA SUBTRACTION

ALGORITHM:

1. Initialize memory pointer to data location.2. Get the first number from memory in accumulator.3. Get the second number and subtract from the accumulator.4. If the result yields a borrow, the content of the acc. is complemented and 01H is added

to it (2’s complement). A register is cleared and the content of that reg. is incrementedin case there is a borrow. If there is no borrow the content of the acc. is directly taken asthe result.

5. Store the answer at next memory location.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 11: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOW CHART:

NO

YES

START

[HL] 4500H

[A] [M]

Is there aBorrow?

[A] [A]-[M]

[HL] [HL]+1

[C] 00H

[C] [C]+1

STOP

[HL] [HL]+1

[M] [A]

[M] [C]

[HL] [HL]+1

Complement [A]Add 01H to [A]

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 12: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS OPCODE LABEL MNEMONICS OPERAND COMMENT4100 START MVI C, 00 Clear C reg.4101

4102 LXI H, 4500 Initialize HL reg. to45004103

41044105 MOV A, M Transfer first data to

accumulator4106 INX H Increment HL reg. to

point next mem.Location.

4107 SUB M Subtract first numberfrom acc. Content.

4108 JNC L1 Jump to location ifresult does not yieldborrow.

4109410A

410B INR C Increment C reg.410C CMA Complement the Acc.

content410D ADI 01H Add 01H to content of

acc.410E410F L1 INX H Increment HL reg. to

point next mem.Location.

4110 MOV M, A Transfer the result fromacc. to memory.

4111 INX H Increment HL reg. topoint next mem.Location.

4112 MOV M, C Move carry to mem.4113 HLT Stop the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 13: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

c. 8 BIT DATA MULTIPLICATION:

ALGORITHM:

LOGIC: Multiplication can be done by repeated addition.

1. Initialize memory pointer to data location.2. Move multiplicand to a register.3. Move the multiplier to another register.4. Clear the accumulator.5. Add multiplicand to accumulator6. Decrement multiplier7. Repeat step 5 till multiplier comes to zero.8. The result, which is in the accumulator, is stored in a memory location.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 14: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOW CHART:

NO

YES

NO

YES

[HL] 4500

B M

A 00

C 00

Is thereany carry

C C+1

B B-1

[A] [A] +[M]

[HL] [HL]+1

IS B=0

A

START

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 15: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

A

STOP

[HL] [HL]+1

[M] [A]

[M] [C]

[HL] [HL]+1

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 16: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS OPCODE LABEL MNEMONICS OPERAND COMMENT4100 START LXI H, 4500 Initialize HL reg. to

4500

Transfer first data toreg. B

410141024103 MOV B, M

4104 INX H Increment HL reg. topoint next mem.Location.

4105 MVI A, 00H Clear the acc.41064107 MVI C, 00H Clear C reg for carry4108

4109 L1 ADD M Add multiplicandmultiplier times.

410A JNC NEXT Jump to NEXT if thereis no carry410B

410C

410D INR C Increment C reg

410E NEXT DCR B Decrement B reg410F JNZ L1 Jump to L1 if B is not

zero.411041114112 INX H Increment HL reg. to

point next mem.Location.

4113 MOV M, A Transfer the result fromacc. to memory.

4114 INX H Increment HL reg. topoint next mem.Location.

4115 MOV M, C Transfer the result fromC reg. to memory.

4116 HLT Stop the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 17: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

d. 8 BIT DIVISION:

ALGORITHM:

LOGIC: Division is done using the method Repeated subtraction.1. Load Divisor and Dividend2. Subtract divisor from dividend3. Count the number of times of subtraction which equals the quotient4. Stop subtraction when the dividend is less than the divisor .The dividend now becomes

the remainder. Otherwise go to step 2.5. Stop the program execution.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 18: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

YES

Yes

No

B 00

M A-M

[B] [B] +1

IS A<0

A A+ M

B B-1

[HL] 4500

A M

[HL] [HL]+1

START

STOP

[HL] [HL]+1

[M] [A]

[M] [B]

[HL] [HL]+1

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 19: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS OPCODE LABEL MNEMONICS OPERAND COMMENTS4100 MVI B,00 Clear B reg for quotient41014102 LXI H,4500 Initialize HL reg. to

4500H410341044105 MOV A,M Transfer dividend to

acc.4106 INX H Increment HL reg. to

point next mem.Location.

4107 LOOP SUB M Subtract divisor fromdividend

4108 INR B Increment B reg4109 JNC LOOP Jump to LOOP if

result does not yieldborrow

410A410B410C ADD M Add divisor to acc.410D DCR B Decrement B reg410E INX H Increment HL reg. to

point next mem.Location.

410F MOV M,A Transfer the remainderfrom acc. to memory.

4110 INX H Increment HL reg. topoint next mem.Location.

4111 MOV M,B Transfer the quotientfrom B reg. to memory.

4112 HLT Stop the programwww.a

llsyll

abus

.com

www.allsyllabus.com

vtu.allsyllabus.com

Page 20: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

OBSERVATION:

ADDITION:

S.NO INPUT OUTPUTADDRESS DATA ADDRESS DATA

1 4500 45024501 4503

2 4500 45024501 4503

SUBTRACTION:

S.NO INPUT OUTPUTADDRESS DATA ADDRESS DATA

1 4500 45024501 4503

2 4500 45024501 4503

MULTIPLICATION:

S.NO INPUT OUTPUTADDRESS DATA ADDRESS DATA

1 4500 45024501 4503

2 4500 45024501 4503

DIVISION:

S.NO INPUT OUTPUTADDRESS DATA ADDRESS DATA

1 4500 45024501 4503

2 4500 45024501 4503

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 21: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

RESULT:

Thus the addition, subtraction, multiplication and division of two numbers wasperformed using the 8085 microprocessor.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 22: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex. No: 2 Ascending / Descending order, Maximum / Minimum of numbers

AIM:

To write an assembly language program to arrange an array of data in ascending anddescending order and to find the smallest and largest data among the array.

a. ASCENDING ORDER

ALGORITHM:

1. Get the numbers to be sorted from the memory locations.2. Compare the first two numbers and if the first number is larger than second then I

interchange the number.3. If the first number is smaller, go to step 44. Repeat steps 2 and 3 until the numbers are in required order

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 23: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

Yes

No

[HL] 4200H[C] [HL]

[C] [C] -1

[HL]4201H

[HL [HL] + 1

Is[A] < [HL]?

[B] [HL]

[HL] [A]

[HL] [HL] - 1

[HL] [B]

[HL] [HL] + 1

[D] [D] – 01 H

A

[D] [C]

START

[A] [HL]

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 24: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Yes

Yes

No

No

IS[D] = 0?

A

[C] [C]-1

IS[C] = 0?

STOP

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 25: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS OPCODE

LABEL MNEMONICS OPERAND

COMMENTS

4100 LXI H,4200 Set pointer for array410141024103 MOV C,M Load the Count4104 DCR C Decrement Count4105 LOOP 3 MOV D,C Transfer data from C to

D4106 LXI H,4201 Load data from 4201410741084109 LOOP2 MOV A,M Copy content of M to A410A INX H Increment HL reg. to

point next memorylocation

410B CMP M Compare M & A410C JC LOOP1 If A is lesser than M

then go to loop1410D410E410F MOV B,M Transfer data from M to

D reg4110 MOV M,A Transfer data from acc

to M4111 DCX H Decrement HL pair4112 MOV M,B Transfer data from B to

M4113 INX H Increment HL pair4114 LOOP1 DCR D Decrement Dreg4115 JNZ LOOP2 If D is not zero go to

loop2411641174118 DCR C Decrement Creg4119 JNZ LOOP3 If C is not Zero go to

loop3411A411B411C HLT Stop the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 26: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

b. DESCENDING ORDER

ALGORITHM:

1. Get the numbers to be sorted from the memory locations.2. Compare the first two numbers and if the first number is smaller than second then I

interchange the number.3. If the first number is larger, go to step 44. Repeat steps 2 and 3 until the numbers are in required order

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 27: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

No

Yes

[HL] 4200H[C] [HL]

[C] [C] -1

[HL]4201H

[HL [HL] + 1

Is[A] < [HL]?

[B] [HL]

[HL] [A]

[HL] [HL] - 1

[HL] [B]

[HL] [HL] + 1

[D] [D] – 01 H

A

[D] [C]

START

[A] [HL]

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 28: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Yes

Yes

No

No

IS[D] = 0?

A

[C] [C]-1

IS[C] = 0?

STOP

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 29: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS OPCODE

LABEL MNEMONICS OPERAND

COMMENTS

4100 LXI H,4200 Set pointer for array410141024103 MOV C,M Load the Count4104 DCR C Decrement Count4105 LOOP 3 MOV D,C Transfer data from C to

D4106 LXI H,4201 Load data from 4201410741084109 LOOP2 MOV A,M Copy content of M to A410A INX H Increment HL reg. to

point next memorylocation

410B CMP M Compare M & A410C JNC LOOP1 If A is lesser than M

then go to loop1410D410E410F MOV B,M Transfer data from M to

D reg4110 MOV M,A Transfer data from acc

to M4111 DCX H Decrement HL pair4112 MOV M,B Transfer data from B to

M4113 INX H Increment HL pair4114 LOOP1 DCR D Decrement D reg4115 JNZ LOOP2 If D is not zero go to

loop2411641174118 DCR C Decrement C reg4119 JNZ LOOP3 If C is not Zero go to

loop3411A411B411C HLT Stop the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 30: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

c.LARGEST ELEMENT IN AN ARRAY

ALGORITHM:

1. Place all the elements of an array in the consecutive memory locations.

2. Fetch the first element from the memory location and load it in the accumulator.

3. Initialize a counter (register) with the total number of elements in an array.

4. Decrement the counter by 1.

5. Increment the memory pointer to point to the next element.

6. Compare the accumulator content with the memory content (next

element).

7. If the accumulator content is smaller, then move the memory content

(largest element) to the accumulator. Else continue.

8. Decrement the counter by 1.

9. Repeat steps 5 to 8 until the counter reaches zero

10. Store the result (accumulator content) in the specified memory location.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 31: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOW CHART:

NO

YES

NO

YES

[B]M

[HL] [4200H]

[A] [HL]

[HL [HL] + 1

IS[A] < [HL]?

[A] [HL]

[4300] [A]

START

[B] [B]-1

IS[B] = 0?

STOP

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 32: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4101 LXI H,4200 Initialize HL reg. to4200H4102

41034104 MOV B,M Initialize B reg with no. of

comparisons(n-1)4105 INX H4106 MOV A,M Transfer first data to acc.4107 LOOP1 INX H Increment HL reg. to point

next memory location4108 CMP M Compare M & A4109 JNC LOOP If A is greater than M then go

to loop410A410B410C MOV A,M Transfer data from M to A reg410D LOOP DCR B Decrement B reg410E JNZ LOOP1 If B is not Zero go to loop1410F41104111 STA 4300 Store the result in a memory

location.411241134114 HLT Stop the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 33: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

d.SMALLEST ELEMENT IN AN ARRAY

ALGORITHM:

1. Place all the elements of an array in the consecutive memory locations.

2. Fetch the first element from the memory location and load it in the accumulator.

3. Initialize a counter (register) with the total number of elements in an array.

4. Decrement the counter by 1.

5. Increment the memory pointer to point to the next element.

6. Compare the accumulator content with the memory content (next

element).

7. If the accumulator content is smaller, then move the memory content

(largest element) to the accumulator. Else continue.

8. Decrement the counter by 1.

9. Repeat steps 5 to 8 until the counter reaches zero

10. Store the result (accumulator content) in the specified memory location.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 34: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOW CHART:

YES

NO

NO

YES

[B]M

[HL] [4200H]

[A] [HL]

[HL [HL] + 1

IS[A] < [HL]?

[A] [HL]

[4300] [A]

START

[B] [B]-1

IS[B] = 0?

STOP

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 35: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4101 LXI H,4200 Initialize HL reg. to4200H4102

41034104 MOV B,M Initialize B reg with no. of

comparisons(n-1)4105 INX H4106 MOV A,M Transfer first data to acc.4107 LOOP1 INX H Increment HL reg. to point

next memory location4108 CMP M Compare M & A4109 JC LOOP If A is lesser than M then go

to loop410A410B410C MOV A,M Transfer data from M to A reg410D LOOP DCR B Decrement B reg410E JNZ LOOP1 If B is not Zero go to loop1410F41104111 STA 4300 Store the result in a memory

location.411241134114 HLT Stop the program

OBSERVATION:

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 36: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

A. ASCENDING ORDER

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200(Array Size) 054201 42014202 42024203 42034204 42044205 4205

B. DESCENDING ORDER

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200(Array Size) 054201 42014202 42024203 42034204 42044205 4205

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 37: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

C. SMALLEST ELEMENT

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200(Array Size) 0542014202 4300420342044205

D. LARGEST ELEMENT

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200(ArraySize)

05

42014202 4300420342044205

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 38: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

RESULT:

Thus the sorting operations of arranging an array in ascending, descending order andthe largest and smallest element werefound using the 8085 microprocessor.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 39: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex. No: 3 FIND THE NUMBER OF EVEN AND ODD NUMBER IN ABLOCK OF DATA

AIM:

To find the number of even and odd number, and number of positive and negative

numbers in a block of data.

a. Odd and Even Number

ALGORITHM:

1. Start.

2. Load the given data.

3. Clear the data in accumulator.

4. Move the content of accumulator to D and B register.

5. Increment HL register pair and move the content of memory to accumulator.

6. Rotate the obtain data in the form of RAR.

7. If carry occur increment B else increment D.

8. Decrement C, if C ≠0 go to step 5. Else increment HL pair.

9. Move the content of D to memory and increment HL pair and move the content B to

memory.

10. Stop.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 40: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Yes

No

NoYes

[A] 00H

[HL] [4200H][C] [HL]

[B] [A][D] [A]

[HL [HL] + 1[A] [HL]

Is CY=1

START

[C] [C]-1

Is[C] = 0?

STOP

Rotate the A rightthrough carry

[B] [B]+1, for odd [D] [D]+1, for even

[HL] [HL]+1, [HL] D

[HL] [HL]+1, [HL] B

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 41: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 LXI H,4200 Load the number of data410141024103 MOV C, M Move M to C4104 XRA A Exclusive OR Reg A4105 MOV D, A Move A to D4106 MOV B, A Move A to B4107 L3 INX H H Increment H4108 MOV A,M Move M to A4109

RARRotate right throughcarry

410A JNC L1 Jump no carry410B410C410D INR D Increment D410E JMP L2 Jump to L2410F41104111 L1 INR B Increment B4112 L2 DCR C Decrement C4113 JNZ L3 Jump non Zero411441154116 INX H Increment H4117 LOOP MOV M, D Move D to M4118 INX H H Increment H4119 MOV M, B Move B to M411A HLT Halt the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 42: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

b. Positiveand Negative Number

ALGORITHM:

1. Start.

2. Load the given data.

3. Clear the data in accumulator.

4. Move the content of accumulator to D and B register.

5. Increment HL register pair and move the content of memory to accumulator.

6. Rotate the obtain data in the form of RAL.

7. If carry occur increment B else increment D.

8. Decrement C, if C ≠0 go to step 5. Else increment HL pair.

9. Move the content of D to memory and increment HL pair and move the content B to

memory.

10. Stop.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 43: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Yes

No

NoYes

[A] 00H

[HL] [4200H][C] [HL]

[B] [A][D] [A]

[HL [HL] + 1[A] [HL]

Is CY=1

START

[C] [C]-1

Is[C] = 0?

STOP

Rotate the A leftthrough carry

[B] [B]+1, negative [D] [D]+1, positiveeven

[HL] [HL]+1, [HL] D

[HL] [HL]+1, [HL] B

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 44: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 LXI H,4200 Load the number of data410141024103 MOV C, M Move M to C4104 XRA A Exclusive OR reg A4105 MOV D, A Move A to D4106 MOV B, A Move A to B4107 L3 INX H H Increment H4108 MOV A,M Move M to A4109 RAL Rotate left through carry410A JNC L1 Jump no carry410B410C410D INR D Increment D410E JMP L2 Jump to L2410F41104111 L1 INR B Increment B4112 L2 DCR C Decrement C4113 JNZ L3 Jump non Zero411441154116 INX H Increment H4117 LOOP MOV M, D Move D to M4118 INX H H Increment H4119 MOV M, B Move B to M411A HLT Halt the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 45: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Observation

a. Odd and even number

INPUT: OUTPUT:

4200 = 04 4205=03 (Odd numbers)

4201= 01 4206=01 (Even numbers)

4202 = 05

4203 = 03

4204 = 04

b. Positive and negative number

INPUT: OUTPUT:

4200 = 04 4205=01 (Negative numbers)

4201= 01 4206=03 (Positive numbers)

4202 = F5

4203 = 03

4204 = 74

RESULT:

Thus the number of even and odd number, and positive and negative number has beenfound from the given numberof list.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 46: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex. No: 4CODE CONVERSIONS

AIM:

To write an assembly language program to perform the conversions of ASCII tohexadecimal number, hexadecimal to ASCII, hexadecimal to decimal number, decimal numberto hexadecimal number and hexadecimal to binary number.

a.ASCII TO HEXADECIMAL

ALGORITHM:

1. Start the program2. Load the data from address 4200 to A3. Move data from accumulator to C4. Move data from M to HL pair to accumulator5. Subtract the data 30 from A6. Decrement content of register7. Stop the program if C is zero8. Jump to Step 59. End the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 47: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

YES

NO

Start

Set the ASCII value

Checkfor

Carry?

Decrement the register content

Subtract 30 from A

Subtract 07 from A

Store the hex value

Stop

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 48: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 LDA 4200 Load data 4200 to A410141024103 MOV C,A Move data from A to C4104 LXI H,4201 Load address 4201 in HL410541064107 LXI D,4301 Load address 4301 in DF41084109410A LOOP 1 MOV A,M Move data from M to A410B SUI 30 Subtract 30 from A410C410D STAX D Store data from

accumulator to DE410E DCR C Decrement from C

register410F JZ LOOP Stop program if C is 0411041114112 INX H Increment HL register

pair4113 INX D Increment DE register

pair4114 JMP LOOP 1 Jump to 410A411541164117 LOOP HLT Stopwww.a

llsyll

abus

.com

www.allsyllabus.com

vtu.allsyllabus.com

Page 49: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

b.HEXADECIMAL TO ASCII

ALGORITHM:

1. Start the program2. Load the data from address 4200 to A3. Move data from accumulator to C4. Move data from M to HL pair to accumulator5. Add the data 30 to A6. Decrement content of register7. Stop the program if C is zero8. Jump to Step 59. End the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 50: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

YES

NO

Set the ASCII value

Checkfor

Carry?

Decrement the register content

Add 30 to A

Store the decimal value

Stop

Start

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 51: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 LDA 4200 Load data 4200 to A410141024103 MOV C,A Move data from A to C4104 LXI H,4201 Load address 4201 in HL410541064107 LXI D,4301 Load address 4301 in DF41084109410A LOOP 1 MOV A,M Move data from M to A410B ADI 30 Subtract 30 from A410C410D STAX D Store data from

accumulator to DE410E DCR C Decrement from C

register410F JZ LOOP Stop program if C is 0411041114112 INX H Increment HL register

pair4113 INX D Increment DE register

pair4114 JMP LOOP 1 Jump to 410A411541164117 LOOP HLT Stopwww.a

llsyll

abus

.com

www.allsyllabus.com

vtu.allsyllabus.com

Page 52: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

c.HEXADECIMAL TO BINARY

ALGORITHM:

1. Start the program2. Move the content of memory to accumulator3. Move data 0B o register B4. Increment the content of HL register pair5. Rotate the accumulator right6. Jump to the specified address if carry generated7. Move 00 to memory8. Jump to specified address if there is no zero9. Move 01 to memory10. Jump to specified address if there is no zero11. End the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 53: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

YES

NO

NO

YES

Load address in HL pair

Check forCarry?

Initialize counter B to 08

Move data from M to A

Stop

Start

Increments HL register pair

Rotate accumulator right

Decrement B register

Move data from 01 to M

Move data from 00 to M

If B=0?

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 54: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND COMMENTS

4100 LXI H,4200 Load address in HL pair410141024103 MOV A,M Move content of M to A4104 MVI B, 08 Move 0B to register pair41054106 L3 INX H Increment the content of

HL pair4107 RRC Rotate accumulator right4108 JC L1 Jump to specified address

if carry4109410A410B MVI M, 00 Move 00 to M410C410D JMP L2 Decrement B register410E411F4110 L1 MVI M, 01 Move 01 to M41114112 L2 DCR B Decrement B by 14113 JNZ L3 Jump to the specified

address if no zero411441154116 HLT Stop the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 55: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

d. BCD TO HEXADECIMAL

ALGORITHM:

1. Start the Program2. Load the address in HL pair3. Move the content of M to C Reg4. AMove the content of M Reg to Accumulator5. Extract Lower nibble of A Reg& copy to E Reg6. Copy Value of CReg to A Reg7. Move Values of Higher nibble to Lower nibble8. Copy Value of A Reg to D Reg9. Clear A Reg10. ADD 0A with ‘D’ no of times11. 4300 A (o/p- Hexadecimal)12. A=A+E13. Stop

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 56: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

Start

HL 4200(Load BCD value)C MA M

Extract Lower nibble of A Reg& copy to E Reg

Copy Value of CReg to A Reg

Copy Value of A Reg to D Reg

ADD 0A with ‘D’ no of times

Move values of Higher nibble to Lower nibble

Clear AReg

4300 A (o/p- Hexadecimal)

Stop

A=A+E

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 57: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND COMMENTS

4100 LXI H, 4200 Load address in HL pair410141024103 MOV C,M Move content of M to C4104 MOV A,C Move content of C to A4105 ANI 0F And the data byte of

OFHwith the content ofaaccumulator

41064107 MOV E,A Move content of A to E4108 MOV A,C Add B content with A4109 ANI F0 And the data byte

FOHwith the content of410A410B RRC Rotate right through

carry the accumulator410C RRC Rotate right through

carry the accumulator410D RRC Rotate right through

carry the accumulator410E RRC Rotate right through

carry the accumulator410F MOV D,A Move content of D to A4110 MVI A,00 Move immediate

00Hto theaccumulator

411A411B L1 ADI 0A Add immediate data

OAHto the accumulator411C411D DCR D Decrement the D

register411E JNZ L1 Jump if no zero to

4112H

411F41204121 ADD E Add the content of E

register to Accumulator

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 58: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

4122 STA 4300 Store the accumulatorcontent at 4300h

412341244125 HLT Halt the execution

e. HEXADECIMAL TO DECIMAL

ALGORITHM:

1. Start the program2. Load the address in HL pair3. Move the content from HL to A4. Subtract 64 from A5. Increment BC pair6. Jump to address 42077. Subtract 0A from A8. Increment HL pair9. Rotate accumulator left10. Increment HL pair11. End the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 59: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

FLOWCHART:

YES

NO

NO

YES

Load address in HL pair

CheckCarry?

Clear accumulator

Initialize D register

Stop

Start

Move HL to C register

Add 01 with A

Store A in 4150 H

Move D to accumulator

Store A in 4151 H

Adjust A to BCD

Increment C register

Increment D register

CheckCarry?

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 60: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE LABEL MNEMONICS

OPERAND

COMMENTS

4100 LXI H, 4150 Load data from 4150 to HL pair410141024103 LXI B, 0000 Load data from address to BC410441054106 MOV A, M Move the content from HL to A4107 L4 SUI 64 Subtract 64 from A41084109 JC L1 Stop if A has carry410A410B410C INR B Increment BC410D JMP L4 Jump to specified address410E410F4110 L1 ADI 64 Add 64 to A41114112 L3 SUI 0A Subtract 0A from A41134114 JC L2 Stop if A has carry411541164117 INR C Increment HL4118 JMP L3 Stop if A has no carry4119411A411B L2 ADI 0A Add 0A to A411C411D INX H Increment HL411E MOV M, B Move B to M411F MOV B, A Move A to B4120 MOV A, C Move B to A4121 RLC Rotate accumulator4122 RLC Rotate accumulator4123 RLC Rotate accumulator4124 RLC Rotate accumulator4125 ADD B Add B to A

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 61: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

4126 INX H Increment H by 14127 MOV M, A Move content of A to M4128 HLT Stop the program

OBSERVATION:

a. ASCII TO HEXADECIMAL

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200(Array Size) 02 43014201 43024202

b. HEXADECIMAL TO ASCII

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200(ArraySize)

02 4301

4201 43024202

c. HEXADECIMAL TO BINARY

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

42004201 42054202 42064203 42074204 4208

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 62: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

d. BCD TO HEXADECIMAL

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

415041524151

e. HEXADECIMAL TO DECIMAL

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4150 41514152

RESULT:

Thus the assembly language programs for various code conversions are executed using

8085 microprocessor.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 63: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

EX.No:5INTERFACING A/D AND D/A CONVERTER WITH 8085

AIM:To write an assembly language program to convert an analog signal into a digital signal

and a digital signal into an analog signal using an ADC interfacing and DAC interfacingrespectively.

a. ADC INTERFACING WITH 8085

APPARATUS REQUIRED:

SL.NO ITEM SPECIFICATION QUANTITY1 Microprocessor kit 8085,Vi Microsystems 12 Power supply +5 V dc 13 ADC Interface board Vi Microsystems 1

PROBLEM STATEMENT:

To program starts from memory location 4100H. The program is executed for variousvalues of analog voltage which are set with the help of a potentiometer. The LED display isverified with the digital value that is stored in the memory location 4150H.

THEORY:An ADC usually has two additional control lines: the SOC input to tell the ADC when

to start the conversion and the EOC output to announce when the conversion is complete. Thefollowing program initiates the conversion process, checks the EOC pin of ADC 0419 as towhether the conversion is over and then inputs the data to the processor. It also instructs theprocessor to store the converted digital data at RAM 4200H.

ALGORITHM:1. Select the channel and latch the address.2. Send the start conversion pulse.3. Read EOC signal.4. If EOC =1 continue else go to step (3)5. Read the digital output.6. Store it in a memory location.

PROGRAM:

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 64: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

ADDRESS OPCODE

LABEL MNEMON ICS OPERAND

COMMENTS

4100 MVI A, 10 Select channel 0 and tomake accumulator low

41014102 OUT 0C8HC8 Output the data41034104 MVI A, 18A, 18 Make accumulator high41054106 OUT 0C8HC8 Display the data41074108 MVI A, 01 Make 01 to accumulator4109410A OUT 0D0HD0 Display the data410B410C NOP410D NOP410E NOP410F MVI A, 00 Make 00 to accumulator4110

4111 OUT D0 Load D0 in output port41124113 LOOP IN D8

4114

4115 ANI 0101 Do and operation directly41164117 CPI 0101 Compare with accumulator41184119 JNZ LOOP Jump to specified address411A411B411C IN C0411D411E STA 4150 Store the data411F41204121 HLT End the program

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 65: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

ADC- CIRCUIT:

SOC JUMPER SELECTION:

J2:SOC Jumper selectionJ5: Channel selection

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 66: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

OBSERVATION

ANALOG VOLTAGE DIGITAL DATA ONLED DISPLAY

HEX CODE INLOCATION 4150

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 67: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

b. DAC INTERFACING WITH 8085

APPARATUS REQUIRED:

SL.NO ITEM SPECIFICATION QUANTITY1 Microprocessor kit 8085,Vi Microsystems 12 Power supply +5 V dc 13 DAC Interface board Vi Microsystems 1

SOFTWARE EXAMPLES

The following examples illustrate how to control the DAC using 8085 and generate sinewave, saw tooth wave by means of software.

(a) SQUARE WAVE GENERATION:

The basic idea behind the generation of waveforms is the continuous generation ofAnalog output of DAC. With 00(HEX) as input to DAC2, the analog output is -5V.Similarly, with FF (Hex) as input, the output is +5V. Outputting digital data 00 and FF atregular intervals, to DAC2, results in a square wave of amplitude I5 Volts

ALGORITHM:

1. Load the initial value (00) to Accumulator and move it to DAC.2. Call the delay program3. Load the final value (FF) to accumulator and move it to DAC.4. Call the delay program.5. Repeat steps 2 to 5.

PROGRAM:

ADDRESS OPCODE

LABEL MNEMON ICS OPERAND COMMENT

4100 START MVI A, 00 Move 00 to A register41014102 OUT C8 Load C8 to output port41034104 CALL DELAY Call delay program4107 MVI A, FF Load FF to B register4109 OUT C8410B CALL DELAY410E JMP START START Jump to start of address4111 DELAY MVI B, 05 Move 05 to B register

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 68: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

4113 L1 MVI C, FF Move FF to C register4115 L2 DCR C Decrement C4116 JNZ L2 Jump to L2 if no zero4119 DCR B Decrement B register

411A JNZ L1 Jump to L1 if no zero411D RET

Execute the program and using a CRO, verify that the waveform at the DAC2 output is asquare-wave. Modify the frequency of the square-wave, by varying the time delay.

(b) SAW TOOTH GENERATION:

ALGORITHM:

1. Load the initial value (00) to Accumulator2. Move the accumulator content to DAC.3. Increment the accumulator content by 1.4. Repeat steps 3 and 4.

Output digital data from 00 to FF constant steps of 01 to DAC1 repeat this sequence again andagain. As a result a saw – tooth wave will be generated at DAC1 output.

PROGRAM:

ADDRESS OPCODE

LABEL MNEMON ICS OPERAND

COMMENT

4100 START MVI A, 00 Load 00 to accumulator4102 L1 OUT C0 Load CO in output port4104 INR A Increment A register4105 JNZ L1 Jump to L1 if no zero4108 JMP START Go to START

unconditionally

(c) TRIANGULAR WAVE GENERATION:

ALGORITHM:

1. Load the initial value (00) to Accumulator.2. Move the accumulator content to DAC3. Increment the accumulator content by 1.4. If accumulator content is zero proceed to next step. Else go to step 3.5. Load value (FF) to accumulator.6. Move the accumulator content to DAC.7. Decrement the accumulator content by 1.8. If accumulator content is zero go to step 2. Else go to step 2.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 69: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

The following program will generate a triangular wave at DAC2 output.PROGRAM:

ADDRESS OPCODE

LABEL

MNEMON ICS OPERAND

COMMENT

4100 START MVI L, 00 Move 00 to L register4102 L1 MOV A, L Load L to a register4103 OUT C8 Load c8 to output port4105 INR L Increment L register4106 JNZ L1 Jump to L1 if no zero4109 MVI L, FF Load FF to L register410B L2 MOV A, L Move L to a register410C OUT C8 Load C8 to output port410E DCR L Decrement L register410F JNZ L2 Jump to L2 if no zero4112 JMP START Go to START unconditionally

DAC - CIRCUIT:

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 70: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

WAEFORMS:

OBSERVATION:

WAVE FORMS AMPLITUDE TIME PERIODSquare waveformSaw tooth waveformTriangular waveformwww.a

llsyll

abus

.com

www.allsyllabus.com

vtu.allsyllabus.com

Page 71: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Result:Thus the conversion of an analog signal into a digital signal and a digital signal into an

analog signal was done using interfacing of ADC and DAC respectively with 8085.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 72: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

EX.No:6 TRAFFIC LIGHT CONTROLLERSWITH 8085

AIMTo write an assembly language program to simulate the traffic light at an intersection

using a traffic light interface.

APPARATUS REQUIRED:

SL.NO ITEM SPECIFICATION QUANTITY1 Microprocessor kit 4185,Vi Microsystems 12 Power supply +5 V dc 13 Traffic light interface kit Vi Microsystems 1

ALGORITHM:1. Initialize the ports.2. Initialize the memory content, with some address to the data.3. Read data for each sequence from the memory and display it through the ports.4. After completing all the sequences, repeat from step2.

A SAMPLE SEQUENCE:1. (a) Vehicles from south can go to straight or left.(b) Vehicles from west can cross the road.(c) Each pedestrian can cross the road.(d) Vehicles from east no movement.(e) Vehicles from north can go only straight.

2. All ambers are ON, indicating the change of sequence.

3. (a) Vehicles from east can go straight and left.(b) Vehicles from south can go only left.(c) North pedestrian can cross the road.(d) Vehicles from north, no movement.(e) Vehicles from west can go only straight.

4. All ambers are ON, indicating the change of sequence.

5. (a) Vehicles from north can go straight and left.(b) Vehicles from east can go only left.(c) West pedestrian can cross the road.(d) Vehicles from west, no movement.(e) Vehicles from south can go only straight.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 73: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

6. All ambers are ON, indicating the change of sequence.

7. (a) Vehicles from west can go straight and left.(b) Vehicles from north can go only left.(c) South pedestrian can cross the road.(d) Vehicles from south, no movement.(e) Vehicles from east can go only straight.

8. All ambers are ON, indicating the change of sequence.

9. (a) All vehicles from all directions no movement.(b) All pedestrian can cross the road.

BIT ALLOCATION:

BIT LED BIT LED BIT LED

PA0 SOUTH LEFT PB0 NORTH LEFT PC0 WEST STRAIGHTPA1 SOUTH RIGHT PB1 NORTH RIGHT PC1 NORTH STRAIGHTPA2 SOUTH AMBER PB2 NORTH AMBER PC2 EAST STRAIGHTPA3 SOUTH RED PB3 NORTH RED PC3 SOUTH STRAIGHTPA4 EAST LEFT PB4 WEST LEFT PC4 NORTH PDPA5 EAST RIGHT PB5 WEST RIGHT PC5 WEST PDPA6 EAST AMBER PB6 WEST AMBER PC6 SOUTH PDPA7 EAST RED PB7 WEST RED PC7 EAST PD

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 74: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PATH REPRESENTATION:

CONTROL ----- 0F(FOR 8255 PPI)PORT A----- 0CPORT B ----- 0DPORT C ----- 0E

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 75: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS

OPCODE LABEL MNEMONICS

OPERAND COMMENT

4100 21 00 45 START LXI H,DATA Initialize HL reg.to Data

4103 0E 04 MVI A,41 A,41C,04 Initialize C reg with no ofcomparisons

4105 7E MOV A,M Move M content toaccumulator

4106 D3 0F OUT CNT Load address 417B to HLregister

4108 23 INX H Increment H register

4109 7E LOOP 1: MOV A,M Move M content toaccumulator

410A D3 0C OUT APRT Output contents ofaccumulator to OF port

410C 23 INX H Increment H register410D 7E MOV A,M Move M content to

accumulator410E D3 0D OUT BPRT Move M content to

accumulator4110 CD 1B 41 CALL DELAY Call DELAY address4113 23 INX H Increment H register4114 0D DCR C Decrement C register4115 C2 09 41 JNZ LOOP 1 Jump to LOOP 1 if no zero4118 C3 00 41 JMP START Jump to start411B C5 DELAY: PUSH B Push the register B

411C 0E 05 MVI C,05 Move 05 H immediately toaccumulator.

411E 7E LOOP3: LXI D,FFFF Load FF FF in DE registerpair

4121 D3 41 LOOP2 DCX D Decrement D register4122 CD 66 41 MOV A,D Move D content to

accumulator4123 EB ORA E OR content of E with

accumulator4124 13 JNZ LOOP2 Jump To L2 IF no zero4127 23 DCR C Decrement C register4128 CD 42 41 JNZ LOOP3 Jump to LOOP 2 if no zero412B EB POP B POP the register B

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 76: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

412C 7E RET Return to subroutine

4500 80 1A A1 64 DATA DB 80, 1A, A1,64

4504 A4 81 5A 64 A4,81,5A,644508 54 8A B1 A8 DB 54,8A,B1,A8450C B4 88 DA 68 B4,88,DA,684510 D8 1A E8 46 DB D8,1A,E8,464514 E8 83 78 86

74E8,83,78,86,74

RESULT:

Thus an assembly language program to simulate the traffic light at an intersection using a

traffic light interfaces was written and implemented.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 77: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

EX.No:7INTERFACING 8251 WITH 8085

AIM:

To write a program to initiate 8251 and to check the transmission and receptionof character.

APPARATUS REQUIRED:1. 8085 Microprocessor kit

2. 8251 Interface board

3. DC regulated power supply

THEORY:

The 8251 is used as a peripheral device for serial communication and isprogrammed by the CPU to operate using virtually any serial data transmission technique.The USART accepts data characters from the CPU in parallel format and the converts themin a continuous serial data stream of transmission. Simultaneously, it can receive serial datastreams and convert them into parallel data characters for the CPU. The CPU can read thestatus of USART at any time. These include data transmissions errors and control signals.

Prior to starting data transmission or reception, the 8251 must be loaded with aset of control words generated by the CPU.These control signals define the completefunctional definition of the 8251 and must immediately follow a RESET operation. Controlwords should be written in to the control register of 8251. Words should be written in to thecontrol register of 8251.words should be written in to the control register of8251.Thesecontrol words are split into two formats.1. MODE INSTRUCTION WORD2. COMMAND INSTRUCTION WORD.

1. MODE INSTRUCTION WORD

This format defines the BAUD rate, character length, parity and stop bits required towork with asynchronous data communication. By selecting the appropriate BAUDfactor synchronous mode, the 8251 can be operated in synchronous mode.

Initializing 8251 using the Mode instructions to the following conditions.

8 bit dataNo parityBaud rate factor (16X)1 stop bit

Gives a mode command word of 01001110=4E(X)

ALGORITHM

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 78: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

1. Initialize timer (8253) IC2. Move the Mode command word (4EH) to A reg.3. Output it port address C24. Move the command instruction word (37H) to A reg.5. Output it to port address C26. Move the data to be transfer to A reg.7. Output it to port address C0.8. Reset the system9. Get the data through input port address C0.10. Store the value in memory11. Reset the system

PROGRAM:

ADDRESS OPCODE

LA

BEL

MNEMONICS

OPERAND

COMMENT

4100 MVI A, 36 Move 36 to A

4102 OUT CE Output contents of accumulator toCE port

4104 MVI A, 0A Move 0A to accumulator4106 OUT C8 Output contents of accumulator to

C8 port4108 MVI A, 00 Move 00 to accumulator410A OUT C8 Output contents of accumulator to

C8 port410C MVI A, 4E Move 4E to accumulator

410E OUT C2 Output contents of accumulator toC2 port

4110 MVI A, 37 Move 37 to accumulator

4112 OUT C2 Output contents of accumulator toC2 port

4114 MVI A, 41 Move 41 to accumulator4116 OUT C0 Output contents of accumulator to

C0 port4118 RST14119 IN C0 Input the contents from port C0 to

accumulator411B STA 4150 Store the output from accumulator

to 4150411E RST1

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 79: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

SYNCHRONOUS MODE:

S2 S1 EP PEN L2 L1 B2 B1

0 1 0 1

0 0 1 1

5BIT

6BIT

7BIT

8BIT

EVEN PARITY GENERATION0-Odd1-Even

PARITY ENABLE1-Enable0-Disable

EXTERNAL SYNC DETECT1-Sysdetect is an input0-Sysdetect is an output

SINGLE CHARACTER SYNC1-Single sync character0-Double sync character

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 80: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

ASYNCHRONOUS MODE:

S2 S1 EP PEN L2 L1 B2 B1

0 1 0 1

0 0 1 1

Synchmode

(1 X) (16 X) (64 X)

0 1 0 1

0 0 1 1

5BIT

6BIT

7BIT

8BIT

0 1 0 1

0 0 1 1

Invalid 61BIT 1.5BIT 2 BIT

EVEN PARITY GENERATION0-Odd1-Even

PARITY ENABLE1-Enable0-Disable

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 81: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

OBSERVATION:

MEMORY LOCATION INPUT DATA OUTPUT DATA

RESULT:

Thus the program to initiate 8251 was written and the transmission and reception ofcharacter was checked by interfacing 8251 with 8085.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 82: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex No. 8 INTERFACING 8279 WITH 8085

AIM:To interface 8279 Programmable Keyboard Display Controller to 8085 Microprocessor.

APPARATUS REQUIRED:

1.8085 Microprocessor toolkit.2. 8279 Interface board3. Regulated D.C. power supply.

PROGRAM:

ADDRESS OPCODE

LABEL MNEMON ICS OPERAND

COMMENT

4100 START LXIH, 4130H

H, 4130 Store the 16 bit address inHL pair

4103 MVI D, 0FHD, 0F Move 0F to D register

4105 MVI A, 10 Move 10 to A

4107 OUT C2 Output the contents of A toC2 output port

C2H

4109 MVI A, 90HA, CC Move CC to A

410B OUT C2 Output the contents of A toC2 output port

410D MVI A, 90HA, 90 Move 90 to A

410F OUTC2H

C2 Output the contents of A toC2 output port

4111 LOOP MOV A, M Move content of M to A

4112 OUT C0HC0 Output the contents of M toA

4114 CALL DELAY Call the delay address

4117 INX H Increment H register

4118 DCRD

D Decrement D register

4119 JNZ LOOP Jump to specified address

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 83: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

411C JMP START STARTSTART Jump to START address

411F DELAY MVI B, A0 Move a to B register

4121 LOOP2 MVI C, FF Move FF to C register

4123 LOOP1 DCR C Decrement C register

4124 JNZ LOOP 1 Jump to LOOP 1 if no zero

4127 DCR B Decrement B register

4128 JNZ LOOP 2 Jump to LOOP 2 if no zero

412B RET

Pointer equal to 4130 .FF repeated eight times

4130 FF4131 FF4132 FF4133 FF4134 FF4135 FF4136 FF4137 FF4138 984139 68413ª 7C413B C8413C 1C413D 29413E FF413F FF

SEGMENT DEFINITION:

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 84: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

DATA BUS D7 D6 D5 D4 D3 D2 D1 D0

SEGMETS d c b a dp g f e

OBSERVATION:

LETTER 7SEGMENT

DATA BUSHEXADECIMAL

D7 D6 D5 D4 D3 D2 D1 D0

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 85: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Accept a Key and display the same ( Two key lock out)

ADDRESS OPCODE

LABEL MNEMON ICS OPERAND

COMMENT

4100 MVI B, 08

4102 MVI A, 00

4104 OUT C2 Set mode and display

4106 MVI A, 0CC Clear Display

4108 OUT C2

410A MVI A, 90 Write display

410C OUT C2

410E MVI A, 0FF

4110 BACK OUT C0 Clear the display ram

4112 DCR B

4113 JNZ BACK

4116 LOP IN C2 Pressing of a key

4118 ANI 07

411A JZ LOP

411D MVI A, 40 Set to read FIFO ram

411F OUT C2

4121 IN C0

4123 ANI 0F get the corresponding codefrom lookup table

4125 MOV L, A

4126 MVI H, 42

4128 MOV A,M

4129 OUT C0

412B JMP LOP

4200 0C 9F 4A 0B4204 99 29 28 8F4208 08 09 88 38420C 6C 1A 68 E8

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 86: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Accept a Key and display the same ( N Key rollover)

ADDRESS OPCODE

LABEL MNEMON ICS OPERAND

COMMENT

4100 MVI B, 08

4102 MVI A, 02

4104 OUT C2 Set mode and display

4106 MVI A, 0CC Clear Display

4108 OUT C2

410A MVI A, 90 Write display

410C OUT C2

410E MVI A, 0FF

4110 BACK OUT C0 Clear the display ram

4112 DCR B

4113 JNZ BACK

4116 LOP IN C2 Pressing of a key

4118 ANI 07

411A JZ LOP

411D MVI A, 40 Set to read FIFO ram

411F OUT C2

4121 IN C0

4123 ANI 0F get the corresponding codefrom lookup table

4125 MOV L, A

4126 MVI H, 42

4128 MOV A,M

4129 OUT C0

412B JMP LOP

4200 0C 9F 4A 0B4204 99 29 28 8F4208 08 09 88 38420C 6C 1A 68 E8

RESULT:Thus 8279 controller was interfaced with 8085 and program for read a key and display androlling display were executed successfully.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 87: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

MICROCONTROLLER

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 88: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex.No: 98051 –BASIC SIMPLE PROGRAM

AIM:

To write an assembly language program to add, subtract, multiply and divide the givendata stored at two consecutive locations using 8051 microcontroller.

a. ADDITION OF TWO 8 BIT NUMBERS

Algorithm:

1. Set DPTR as pointer for data.2. Move first data from external memory to accumulator and save it in R1 register.3. Increment DPTR.4. Move second data from external memory to accumulator5. Clear R0 register to account for carry.6. Add the content of R1 register to accumulator.7. Check for carry. If carry is not set go to step 8. Otherwise go to next step.8. Increment R0 register.9. Increment DPTR and save the sum in external memory.10. Increment DPTR, move carry to accumulator and save it in external memory.11. Stop

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 89: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

LOAD THE ADDRESS IN DPTR

MOVE THE 1ST DATA TO A – REG ANDSAVE IT IN R1 REG

INCREMENT DPTR AND MOVE THE 2ND DATA TO A – REG

CLEAR R0 REGISTER

ADD A – REG WITH R1 REG TO GET SUM

IfCY=1

INCREMENT R0 REG

INCREMENT DPTR AND SAVE A – REGCONTENT IN MEMORY

INCREMENT DPTR

Start

Stop

MOVE R0 TO A – REG AND THEN SAVE A – REGCONTENT IN MEMORY

Yes

No

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 90: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Label Program Comments

AHEAD:

HERE:

MOV DPTR,#4500

MOVX A,@DPTR

MOV R1,A

INC DPTR

MOVX A,@DPTR

MOV R0,#00

ADD A,R1

JNC AHEAD

INC R0

INC DPTR

MOVX @DPTR, A

INC DPTR

MOV A,R0

MOVX @DPTR, A

SJMP HERE

Load address of 1st data in DPTR

Move the 1st data to A

Save the first data in R1

Increment DPTR to point 2nd data

Load the 2nd data in A

Clear R0 for the account of carry

Get the sum in A reg

Check carry flag

If carry is set increment R0

Increment DPTR

Save the sum in external memory

Increment DPTR

Move carry to A reg

Save the carry in external memory

Remain idle in infinite loop

Observation:

Input:

4500: [Addend]4501: [Augend]

Output:

4502: [Sum]4503: [Carry]

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 91: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

LOAD THE ADDRESS IN DPTR

MOVE THE MINUEND TO A – REG ANDSAVE IT IN R1 REG

INCREMENT DPTR AND MOVETHE SUBTRAHEND TO A – REG

CLEAR R0 REGISTER AND CARRY FLAG

EXCHANGE R1 WITH A - REG

IfCy=1

COMPLEMENT A ANDTHEN INCREMENT

INCREMENT DPTR AND SAVE A – REGCONTENT (DIFFERENCE) IN MEMORY

INCREMENT DPTR

Start

Stop

MOVE R0 TO A – REG AND THEN SAVE A – REGCONTENT (SIGN) IN MEMORY

SUBTRACT R1 FROM A - REG

INCREMENT R0 REG

Yes

No

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 92: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

b. SUBTRACTION OF TWO 8 BIT NUMBERS

Algorithm:

1. Set DPTR as pointer for data.2. Move the minuend from external memory to accumulator and save it in R1 register.3. Increment DPTR.4. Move subtrahend from external memory to accumulator5. Exchange the contents of R1 and A such that minuend is in A and subtrahend is in

R16. Clear R0 register to account for sign.7. Clear carry flag.8. Subtract the content of R1 register from accumulator.9. Check for carry. If carry is not set go to step 12. Otherwise go to next step.10. Complement the content of A – reg and increment by 1 to get 2’s complement of

result in A – reg11. Increment R0 register.12. Increment DPTR and save the result in external memory.13. Increment DPTR, move R0 (sign bit) to accumulator and then save it in external

memory.14. Stop

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 93: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Label Program Comments

AHEAD:

HERE:

MOV DPTR,#4500

MOVX A,@DPTR

MOV R1,A

INC DPTR

MOVX A,@DPTR

XCH A,R1

MOV R0,#00

CLR C

SUBB A,R1

JNC AHEAD

CPL A

INC A

INC R0

INC DPTR

MOVX @DPTR,A

INC DPTR

MOV A,R0

MOVX @DPTR,A

SJMP HERE

Load address of minuend in DPTR

Move the minuend to A

Save the minuend in R1

Increment DPTR to point subtrahend

Load the subtrahend in A

Get minuend in A and Subtrahend in R1

Clear R0 for the account of Sign

Clear carry

Subtract R1 from A

Check Carry flag. If carry is set then

Get 2’s complement of result in A

Set R0 to indicate negative sign

Increment DPTR

Save the result in external memory

Increment DPTR

Move sign bit to A reg

Save the sign in external memory

Remain idle in infinite loop

Observation:Input:4500: [Minuend]4501: [Subtrahend]

Output:4502: [Difference]4503: [Sign Bit]

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 94: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

LOAD THE ADDRESS IN DPTR

MOVE THE 1ST DATA TO A – REG ANDSAVE IT IN B REG

INCREMENT DPTR AND MOVETHE 2ND DATA TO A – REG

MULTIPLY A AND B

INCREMENT DPTR

INCREMENT DPTR

MOVE B (HIGHER BYTE OF PRODUCT) TO A –REG AND THEN SAVE A – REG CONTENT IN

MEMORY

SAVE A – REG CONTENT (LOWER BYTE OFPRODUCT) IN MEMORY

Start

Stopwww.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 95: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

c. MULTIPLICATION OF TWO 8 BIT NUMBERS

Algorithm:

1. Load address of data in DPTR2. Move the first data from external memory to A and save in B.3. Increment DPTR and move second data from external memory to B.4. Perform multiplication to get the product in A and B.5. Increment DPTR and save A ( lower byte of product) in memory6. Increment DPTR , move B ( lower byte of product) to A and save it in memory7. Stop

Label Program Comments

HERE:

MOV DPTR,#4500

MOVX A,@DPTR

MOV B,A

INC DPTR

MOVX A,@DPTR

MUL AB

INC DPTR

MOVX @DPTR,A

INC DPTR

MOV A,B

MOVX @DPTR,A

SJMP HERE

Load address of 1st data in DPTR

Move the 1st data to A

Save the 1st data in B

Increment DPTR to point 2nd data

Load the 2nd data in A

Get the product in A and B

Increment DPTR

Save the lower byte of result in external memory

Increment DPTR

Move the higher byte of product to A reg

Save it in external memory

Remain idle in infinite loopwww.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 96: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Observation

Input:

4500: 22 [1st data]4501: 43 [2nd data]

Output:

4502: E6 [Lower byte of product]4503: 08 [Higher byte of product]

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 97: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

LOAD THE ADDRESS IN DPTR

LOAD THE DIVIDEND TO A – REG ANDSAVE IT IN R0 REG

INCREMENT DPTR

LOAD THE DIVISOR IN A – REG AND SAVE IT IN B - REG

INCREMENT DPTR

INCREMENT DPTR

MOVE B (REMAINDER) TO A – REG AND THENSAVE A – REG CONTENT IN MEMORY

SAVE A – REG CONTENT (QUOTIENT) INMEMORY

MOVE THE DIVIDEND FROM R0 TO A - REG

DIVIDE A – REG CONTENT BY B – REG

Start

Stop

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 98: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

d. DIVISION OF TWO 8 BIT NUMBERS

Algorithm:

1. Load address of data in DPTR2. Move the dividend from external memory to A and save it in R0 register.3. Increment DPTR and move the divisor from external memory to A and save it in B

reg.4. Move the dividend from R0 to A.5. Perform division to get quotient in A and remainder in B.6. Increment DPTR and save quotient (content of A - reg) in memory7. Increment DPTR.8. Move the remainder (Content of B – reg) to A and save in memory.9. Stop

Label Program Comments

HERE:

MOV DPTR,#4500

MOVX A,@DPTR

MOV R0,A

INC DPTR

MOVX A,@DPTR

MOV B,A

MOV A,R0

DIV AB

INC DPTR

MOVX @DPTR,A

INC DPTR

MOV A,B

MOVX @DPTR,A

SJMP HERE

Load address of dividend in DPTR

Move the dividend to A

Save the dividend in R0

Increment DPTR to point divisor

Load the divisor in A

Move the divisor to B

Move the dividend to A

Divide the content of A by B

Increment DPTR

Save the quotient in external memory

Increment DPTR

Move the remainder to A reg

Save it in external memory

Remain idle in infinite loop

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 99: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Observation:

Input:

4500: [Dividend]4501: [Divisor]

Output:

4502: [Quotient]4503: [Remainder]

Result:

Thus the addition, subtraction, multiplication and division of two numbers wereperformed using the 8051 microcontroller.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 100: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex N0. 10a SUM OF ELEMENTS IN AN ARRAY

AIM:

To find the sum of elements in an array.

ALGORITHM:

1. Load the array in the consecutive memory location and initialize the

memory pointer with the starting address.

2. Load the total number of elements in a separate register as a counter.

3. Clear the accumulator.

4. Load the other register with the value of the memory pointer.

5. Add the register with the accumulator.

6. Check for carry, if exist, increment the carry register by 1. otherwise,

continue

7. Decrement the counter and if it reaches 0, stop. Otherwise increment the

memory pointer by 1 and go to step 4.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 101: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Yes

Yes

[A] [DPTR][R0] [A]

[DPTR] [4200H],Clear B, R1 and CY

[A] [DPTR+1]

[A] [A] +[B][A] [B]

Is Cy=1

[R1] [R1]+1

[4500] [A] [B][4501][A] [R1]

START

[R0] [R0]-1

IS[R0] = 0?

STOP

No

No

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 102: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

Label Program Comments

AGAIN

NC

HERE

MOV DPTR, #4200

MOVX A, @DPTR

MOV R0, A

MOV B, #00

MOV R1, B

CLR C

INC DPTR

MOVX A, @DPTR

ADD A, B

MOV B, A

JNC NC

INC R1

DJNZ R0,AGAIN

MOV DPTR, #4500

MOV A, B

MOVX @DPTR, A

INC DPTR

MOV A, R1

MOVX @DPTR, A

SJMP HERE

Load 4200 to DPTR, get array size

Copy array size value to A

Move contents of A to R0

Clear B, R1 & Carry Flag

Get value from datapointer

Sum of two numbers

If no carry jump to NC

Else increment R1

Decrement size of array, if not zero fetch data from

DPTR and add to the resultant value

Store the result in 4500 memory locations

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 103: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

OBSERVATION:

INPUT OUTPUT

4200(Array Size) 05 4500

4201

4202

45014203

4204

4205

RESULT:

The sum of elements in an array is calculated.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 104: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Exp. No 10(b)8051 –Check Odd or Even using Call Option

AIM:

To check whether given number is Odd or Even using call function.

ALGORITHM:

1. Start

2. Move the data to DPTR

3. Move the data to accumulator

4. Call check function whether given number is odd or even

5. Increment DPTR

6. Resultant value stored in DPTR-4201

7. Halt

Check Function

8. Rotate right through carry

9. If carry copy 00 to B reg (odd number)

10. Else copy EE to B reg (even number)

11. return

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 105: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

[DPTR] [4200H][A] [DPTR]

[DPTR] [DPTR] +1[A] [B]

[DPTR] [A]

START

STOP

Check Even &odd

NoYesIs CY=1

Rotate the A rightthrough carry

[B] 00H, for odd [B] EEH, for even

Check Even &odd

Return

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 106: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

Label Program Comments

HERE

CHECK_EV_OD

L1

LAST

MOV DPTR, #4200

MOVX A, @DPTR

ACALL CHECK_EV_OD

INC DPTR

MOV A,B

MOVX @DPTR, A

SJMP HERE

RRC A

JC L1

MOV B,#0EEH

SJMP LAST

MOV B,#00H

RET

Load 4200 to DPTR, get a number

Copy value to A

Call check function whether given number is

odd or even

Resultant value stored in DPTR-4201

Rotate right through carry

If carry copy 00 to B reg (odd number)

Else copy EE to B reg (even number)

OBSERVATION:

INPUT OUTPUT

4200 4201

RESULT:

Thus the given number is either even or odd has been found using 8051 microcontroller.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 107: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

11INTERFACING A/D & D/A CONVERTER WITH 8051

a. ADC INTERFACING WITH 8051

APPARATUS REQUIRED:

SL.NO ITEM SPECIFICATION QUANTITY1 Microcontroller kit 8051,Vi Microsystems 12 Power supply +5 V dc 13 ADC Interface board Vi Microsystems 1

PROBLEM STATEMENT:

To program starts from memory location 4100H. The program is executed for variousvalues of analog voltage which are set with the help of a potentiometer. The LED display isverified with the digital value that is stored in the memory location 4150H.

THEORY:An ADC usually has two additional control lines: the SOC input to tell the ADC when

to start the conversion and the EOC output to announce when the conversion is complete. Thefollowing program initiates the conversion process, checks the EOC pin of ADC 0419 as towhether the conversion is over and then inputs the data to the processor. It also instructs theprocessor to store the converted digital data at RAM 4200H.

ALGORITHM:1. Select the channel and latch the address.2. Send the start conversion pulse.3. Read EOC signal.4. If EOC =1 continue else go to step (3)5. Read the digital output.6. Store it in a memory location.www.a

llsyll

abus

.com

www.allsyllabus.com

vtu.allsyllabus.com

Page 108: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

Label Program Comments

WAIT

HERE

MOV DPTR, #FFC8

MOV A,#10

MOVX @DPTR, A

MOV A,#18

MOVX @DPTR, A

MOV DPTR, #FFD0

MOV A,#01

MOVX @DPTR, A

MOV A,#00

MOVX @DPTR, A

MOV DPTR, #FFD8

MOVX A,@DPTR

JNB E0,WAIT

MOV DPTR,#FFC0

MOVX A,@DPTR

MOV DPTR,#4150

MOVX @DPTR, A

SJMP HERE

Select Channel 0 and make ALE Low

make ALE High

SOC signal High

SOC signal low

Check for EOC

Read ADC data

Store the data in memory location

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 109: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

ADC- CIRCUIT:

SOC JUMPER SELECTION:

J2: SOC Jumper selection

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 110: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

J5: Channel selection

OBSERVATION

ANALOG VOLTAGE DIGITAL DATA ONLED DISPLAY

HEX CODE INLOCATION 4150

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 111: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

(b)INTERFACING D/A CONVERTER WITH 8051

APPARATUS REQUIRED:

SL.NO ITEM SPECIFICATION QUANTITY1 Microprocessor kit 4185,Vi Microsystems 12 Power supply +5 V dc 13 DAC Interface board Vi Microsystems 1

THEORY:

SOFTWARE EXAMPLES

After going through the software examples you can learn how to control theDAC using 8051 and generate sine wave, saw tooth wave etc by means of software.

ALGORITHM:

(a) SQUARE WAVE GENERATION:1. Load the initial value (00) to Accumulator and move it to DAC.2. Call the delay program3. Load the final value (FF) to accumulator and move it to DAC.4. Call the delay program.5. Repeat steps 2 to 5.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 112: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

DAC - CIRCUIT:

WAVEFORMS:

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 113: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

OBSERVATION:

WAVE FORMS AMPLITUDE TIME PERIODSquare waveformSaw tooth waveformTriangular waveform

PROGRAM:The basic idea behind the generation of waveforms is the continuous generation of

Analog output of DAC.With 00(HEX) as input to DAC2, the analog output is -5V. Similarly, with FF (Hex) as

input, the output is +5V. Outputting digital data 00 and FF at regular intervals, to DAC2,results in a square wave of amplitude I5 Volts.

ADDRESS LABEL MNEMON ICS OPCODE OPERAND COMMENTMOV DPTR,#FFC8

START MOV A,#00MOVX @DPTR,ALCALL DELAYMOV A,# FFMOVX @DPTR,ALCALL DELAYLJMP START

DELAY MOV R1,#05LOO[P MOV R2,#FF

DJNZ R2,HEREDJNZ R1,LOOPRETSJMP START

Execute the program and using a CRO, verify that the waveform at the DAC2 output isa square-wave. Modify the frequency of the square-wave, by varying the time delay.

(b) SAW TOOTH GENERATION1. Load the initial value (00) to Accumulator2. Move the accumulator content to DAC.3. Increment the accumulator content by 1.4. Repeat steps 3 and 4.

Output digital data from 00 to FF constant steps of 01 to DAC1 repeat this sequence again andagain. As a result a saw – tooth wave will be generated at DAC1 output.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 114: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM:

ADDRESS LABEL MNEMON ICS OPCODE OPERAND COMMENTMOV DPTR,#FFC0MOV A,#00

LOOP MOVX @DPTR,AINC ASJMP LOOP

(c) TRIANGULAR WAVE GENERATION1. Load the initial value (00) to Accumulator.2. Move the accumulator content to DAC3. Increment the accumulator content by 1.4. If accumulator content is zero proceed to next step. Else go to step 3.5. Load value (FF) to accumulator.6. Move the accumulator content to DAC.7. Decrement the accumulator content by 1.8. If accumulator content is zero go to step 2. Else go to step 2.

The following program will generate a triangular wave at DAC2 output. The program isself explanatory.

ADDRESS LABEL MNEMON ICS OPCODE OPERAND COMMENTMOV DPTR,#FFC8

START MOV A,#00LOOP1 MOVX @DPTR,A

INC AJNZ LOOP1MOV A,#FF

LOOP2 MOVX @DPTR,ADEC AJNZ LOOP2LJMP START

OBSERVATION:

WAVE FORMS AMPLITUDE TIME PERIODSquare waveformSaw tooth waveformTriangular waveform

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 115: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Result:Thus the square, triangular and saw tooth wave form were generated by interfacing

DAC with 8051 trainer kit

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 116: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex.No:14 INTERFACING 8253 TIMER WITH 8085

AIM:To interface 8253 Interface board to 8085 microprocessor to demonstrate the generation of

square wave.

APPARATUS REQUIRED:1. 8085 microprocessor kit

2. 8253 Interface board

3. DC regulated power supply

4. CRO.

.PROGRAM:

Address Opcodes Label Mnemonic Operands Comments4100 3E 36 START: MVI A, 36 Channel 0 in mode 34102 D3 CE OUT CE Send Mode Control word4104 3E 0A MVI A, 0A LSB of count4106 D3 C8 OUT C8 Write count to register4108 3E 00 MVI A, 00 MSB of count410A D3 C8 OUT C8 Write count to register410C 76 HLT

Set the jumper, so that the clock 0 of 8253 is given a square wave of frequency 1.5MHz. This program divides this PCLK by 10 and thus the output at channel 0 is 150 KHz.

Vary the frequency by varying the count. Here the maximum count is FFFF H. So, thesquare wave will remain high for 7FFF H counts and remain low for 7FFF H counts. Thuswith the input clock frequency of 1.5 MHz, which corresponds to a period of 0.067microseconds, the resulting square wave has an ON time of 0.02184 microseconds and an OFFtime of 0.02184 microseconds.

To increase the time period of square wave, set the jumpers such that CLK2 of 8253 isconnected to OUT 0. Using the above-mentioned program, output a square wave of frequency150 KHz at channel 0. Now this is the clock to channel 2.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 117: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

CONTROL WORD:

SC1 SC2 RW1 RW0 M2 M1 M0 BCD

SC-SELECT COUNTER:

SC1 SC0 SELECT COUNTER

0 0 Select counter 0

0 1 Select counter 1

1 0 Select counter 2

1 1 Read back command

M-MODE:

M2 M1 M0 MODE0 0 0 Mode 00 0 1 Mode 1X 1 0 Mode 2X 1 1 Mode 31 0 0 Mode 4

1 0 1 Mode 5

READ/WRITE:

RW1 RW0

0 0 Counter latch command

0 1 R/W least significant bit only

1 0 R/W most significant bit only

1 1 R/W least sig first and most sig byte

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 118: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

BCD:

0 Binary counter 16-bit

1 Binary coded decimal counter

Result:Thus the 8253 has been interfaced to 8085 p and with different modes of 8253 have

been studied.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 119: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex.No:15STEPPER MOTOR INTERFACING WITH 8051

AIM:To interface a stepper motor with 8051 microcontroller and operate it.

THEORY:A motor in which the rotor is able to assume only discrete stationary angular position is

a stepper motor. The rotary motion occurs in a step-wise manner from one equilibrium positionto the next. Stepper Motors are used very wisely in position control systems like printers, diskdrives, process control machine tools, etc.

The basic two-phase stepper motor consists of two pairs of stator poles. Each of thefour poles has its own winding. The excitation of any one winding generates a North Pole. ASouth Pole gets induced at the diametrically opposite side. The rotor magnetic system has twoend faces. It is a permanent magnet with one face as South Pole and the other as North Pole.

The Stepper Motor windings A1, A2, B1, B2 are cyclically excited with a DC currentto run the motor in clockwise direction. By reversing the phase sequence as A1, B2, A2, B1,anticlockwise stepping can be obtained.

2-PHASE SWITCHING SCHEME:In this scheme, any two adjacent stator windings are energized. The switching scheme

is shown in the table given below. This scheme produces more torque.

ANTICLOCKWISE CLOCKWISE

STEP A1 A2 B1 B2 DATA STEP A1 A2 B1 B2 DATA1 1 0 0 1 9h 1 1 0 1 0 Ah2 0 1 0 1 5h 2 0 1 1 0 6h3 0 1 1 0 6h 3 0 1 0 1 5h4 1 0 1 0 Ah 4 1 0 0 1 9h

ADDRESS DECODING LOGIC:The 74138 chip is used for generating the address decoding logic to generate the device

select pulses, CS1 & CS2 for selecting the IC 74175.The 74175 latches the data bus to thestepper motor driving circuitry.

Stepper Motor requires logic signals of relatively high power. Therefore, the interfacecircuitry that generates the driving pulses use silicon Darlington pair transistors. The inputs forthe interface circuit are TTL pulses generated under software control using the MicrocontrollerKit. The TTL levels of pulse sequence from the data bus are translated to high voltage outputpulses using a buffer 7407 with open collector.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 120: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

BLOCK DIAGRAM:

REPRESENTATION:

8051MICROCONTROLLER 8255

DRIVER CIRCUIT STEPPER MOTOR

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 121: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROGRAM :

LabelMNEMONICS OPERAND Comments

ORG 4100h

START MOV DPTR, #TABLE Load the start address ofswitching scheme dataTABLE into Data Pointer(DPTR)

MOV R0, #04 Load the count in R0LOOP: MOVX A, @DPTR Load the number in

TABLE into APUSH DPH Push DPTR value to

StackPUSH DPLMOV DPTR, #0FFC0h Load the Motor port

address into DPTRMOVX @DPTR, A Send the value in A to

stepper Motor portaddress

MOV R4, #0FFh Delay loop to cause aspecific amount of timedelay before next dataitem is sent to the Motor

DELAY: MOV R5, #0FFhDELAY1: DJNZ R5, DELAY1

DJNZ R4, DELAYPOP DPL POP back DPTR value

from StackPOP DPHINC DPTR Increment DPTR to point

to next item in the tableDJNZ R0, LOOP Decrement R0, if not zero

repeat the loopSJMP START Short jump to Start of the

program to make themotor rotate continuously

TABLE: DB 09 05 06 0Ah Values as per two-phaseswitching scheme

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 122: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

PROCEDURE:1. Enter the above program starting from location 4100.and execute the same.2. The stepper motor rotates.3. Varying the count at R4 and R5 can vary the speed.4. Entering the data in the look-up TABLE in the reverse order can vary direction ofrotation.

RESULT:Thus a stepper motor was interfaced with 8051 and run in forward and reverse

directions at various speeds.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 123: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Ex No. 12 8085 Programming Practices with Simulators/ Jubin Open source Software

Aim

To write an assembly language program to multiply the given data stored at two consecutivelocations using 8085 microprocessor simulator.

Motivation

Understanding of Intel 8085 microprocessor is fundamental to getting insight into the Von-Neumann Architecture. It was first introduced in 1976, since then many generations ofcomputer architecture have come up, some still persists while others are lost in history. Thismicroprocessor still survives because it is still popular in university and training institutes toget students acquainted with basic computer architecture. For this purpose 8085 trainer kitare available on the market.With this academic learning purpose in mind 8085 simulator software is designed. It helpsin get started easily with example codes, and to learn the architecture playfully. It alsoprovides a trainer kit as an appealing functional alternative to real hardware. The users canwrite assembly code easily and get results quickly without even having the actual hardware.Jubin 8085 simualor is open source software which is available athttps://8085simulator.codeplex.com/downloads/get/86234

Features

1. Assembler Editor

• Can load Programs written in other simulator

• Auto-correct and auto-indent features

• Supports assembler directives

• Number parameters can be given in binary, decimal and hexadecimal format

• Supports writing of comments

• Supports labeling of instructions, even in macros

• Has error checking facility

• Syntax Highlighting

2. Disassembler Editor

• Supports loading of Intel specific hex file format

• It can successfully reverse trace the original program from the assembly code, inmost of the cases

• Syntax Highlighting and Auto Spacing

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 124: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

3. Assembler Workspace

• Contains the Address field, Label, Mnemonics, Hex-code, Mnemonic Size, M-Cycles and T-states

• Static Timing diagram of all instruction sets are supported

• Dynamic Timing diagram during step by step simulation

• It has error checking facility also

4. Memory Editor

• Can directly update data in a specified memory location

• It has 3 types of interface, user can choose from it according to his need.

– Show entire memorycontent

– Show only loaded memory location– Store directly to specified memory location

• Allows user to choose memory range

5. I/O Editor

• It is necessary for peripheral interfacing.

• Enables direct editing of content

6. Interrupt Editor

• All possible interrupts are supported. Interrupts are triggered by pressing theappropriate column (INTR, TRAP, RST 7.5, RST 6.5, RST 5.5) on the interrupttable. The simulation can be reset any time by pressing the clear memory in thesettings tab.

7. Debugger

• Support of breakpoints

• Step by step execution/debugging of program.

• It supports both forward and backward traversal of programs.

• Allows continuation of program from the breakpoint.

8. Simulator

• There are 3 level of speed for simulation:

– Step-by-step −→ Automatic line by line execution with each linehighlighting. The time to halt at each line is be decided by the user.

– Normal −→ Full execution with reflecting intermittent states periodically.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 125: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

– Ultimate −→ Full execution with reflecting final state directly.

• There are 2 modes of simulator engine:

– Run all at a Time −→ It takes the current settings from the simulation speedlevel and starts execution accordingly.

– Step by Step −→ It is manual mode of control of FORWARD andBACKWARD traversal of instruction set. It also displays the in-line commentif available for currently executed instruc- tion.

• Allows setting of starting address for the simulator

• Users can choose the mnemonic where program execution should terminate

9. Helper

• Help on the mnemonics is integrated

• CODE WIZARD is a tool added to enable users with very little knowledge ofassembly code could also 8085 assembly programs.

• Already loaded with plenty SAMPLE programs

• Dynamic loading of user code if placed in user_code folder

• It also includes a user manual

10. Printing

• Assembler Content

• Workspace Content

11. Register Bank −→ Each register content is accompanied with its equivalent binary value

• Accumulator, Reg B, Reg C, Reg D, Reg E, Reg H, Reg L, Memory (M)

• Flag Register

• Stack Pointer (SP)

• Memory Pointer (HL)

• Program Status Word (PSW)

• Program Counter (PC)

• Clock Cycle Counter

• Instruction Counter\

• Special blocks for monitoring Flag register and the usage of SIM and RIMinstruction

12. Crash Recovery

• Can recover programs lost due to sudden shutdown or crash of application

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 126: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

13. 8085 TRAINER KIT

• It simulates the kit as if the user is working in the lab. It basically uses the samesimulation engine at the back-end

14. TOOLS

• Insert DELAY Subroutine TOOL

– It is a powerful wizard to generate delay subroutine with user defined delayusing any sets of register for a particular operating frequency of 8085microprocessor.

• Interrupt Service Subroutine TOOL

– It is a handy way to set memory values at corresponding vector interruptaddress

• Number Conversion Tool

– It is a portable interconversion tool for Hexadecimal, decimal and binarynumbers. So, that user do not need to open separate calculator for it.

Directives

AssemblerDirectives Example

Description

ORG (Origin)# ORG C000H The next block of instruction should be stored

in memory locations starting at C000H

BEGIN (Start) # BEGIN 2000H To start simulation from address 2000H

END (Stop) # END End of Assembly. It places themnemonic defined at "Settings → StopSimulation at Mnemonic"

EQU (Equal) # OUTBUF EQU3945H

The value of the label OUTBUFis 3945H. This may be used asmemory location.

DB (Define Byte) # DATA: DB F5H,12H Initializes an area byte by byte,in successivememory locations until all values are stored. LabelDATA stores the initial address.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 127: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

DW (Define Word) # LABEL: DW 2050H Initializes an area two bytes at a time.

DS (Define Storage) # STACK: DS 4 Reserves a specified number of memorylocations and set the initial address to labelSTACK.

Debugging Mode

The debug mode allows the user to view and/or manipulate the program’s internal state for thepurpose of debugging. The software allows step wise or block wise line monitor with bothforward and backward traversal facility.PROGRAM#ORG 2000#BEGIN 2000

LXI H, 4200MOV B,MINX HMVI C,00MVI A,00

L2: ADD MJNC L1INR C

L1: DCR BJNZ L2INX HMOV M,AINX HMOV M,CHLT

#ORG 4200#DB 23,42

ClickASSEMBLE, Run all at a Time and then Memory

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com

Page 128: Microprocessors and Microcontrollers Laboratory Manual …vtu.allsyllabus.com/Lab_Manuals/EC/sem6/EE6612-Miro... ·  · 2017-03-09VI Semester - Electrical and Electronics Engineering

EE6612 – Microprocessors and Microcontrollers Laboratory

Observation

Input Output4200 42024201 4203

ResultThus the multiplication of two numbers was performed using the 8085 microprocessor

simulator.

www.alls

yllab

us.co

m

www.allsyllabus.com

vtu.allsyllabus.com