microprocessor and microcontroller lab manual!

145
freshupdates.in SYLLABUS EE2356 - MICROPROCESSOR AND MICRO CONTROLLER LABORATORY AIM 1. To understand programming using instruction sets of processors. 2. To study various digital & linear 8-bit Microprocessor 1. Simple arithmetic operations: Multi precision addition / subtraction / multiplication / division. 2. Programming with control instructions: Increment / Decrement, Ascending / Descending order, Maximum / Minimum of numbers, Rotate instructions - Hex / ASCII / BCD code conversions. 3. Interface Experiments: • A/D Interfacing. • D/A Interfacing. • Traffic light controller. 4. Interface Experiments: Simple experiments using 8251, 8279, 8254. 8-bit Microcontroller 5. Demonstration of basic instructions with 8051 Micro controller execution, including: • Conditional jumps, looping • Calling subroutines. • Stack parameter testing 6. Parallel port programming with 8051 using port 1 facility: - Stepper motor and D / A converter. 7. Study of Basic Digital IC’s (Verification of truth table for AND, OR, EXOR, NOT, NOR, NAND, JK FF, RS FF,D FF) 8. Implementation of Boolean Functions, Adder / Subtractor circuits. 9. Combination Logic; Adder, Subtractor, Code converters, Encoder and Decoder 10. Sequential Logic; Study of Flip-Flop,Counters(synchronous and asynchronous),Shift Registers

Upload: prabhaharan-ellaiyan

Post on 29-Aug-2014

284 views

Category:

Education


6 download

DESCRIPTION

Engineering Micro Processor and Micro Controller Lab Manuals! Google--> Prabhaharan429

TRANSCRIPT

Page 1: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

SYLLABUSEE2356 - MICROPROCESSOR AND MICRO CONTROLLER LABORATORY

AIM1. To understand programming using instruction sets of processors.2. To study various digital & linear

8-bit Microprocessor

1. Simple arithmetic operations:Multi precision addition / subtraction / multiplication / division.

2. Programming with control instructions:Increment / Decrement, Ascending / Descending order, Maximum / Minimum of numbers,Rotate instructions - Hex / ASCII / BCD code conversions.

3. Interface Experiments:• A/D Interfacing.• D/A Interfacing.• Traffic light controller.4. Interface Experiments: Simple experiments using 8251, 8279, 8254.

8-bit Microcontroller

5. Demonstration of basic instructions with 8051 Micro controller execution, including:• Conditional jumps, looping• Calling subroutines.• Stack parameter testing6. Parallel port programming with 8051 using port 1 facility:

- Stepper motor and D / A converter.

7. Study of Basic Digital IC’s(Verification of truth table for AND, OR, EXOR, NOT, NOR, NAND, JK FF, RS FF,D FF)8. Implementation of Boolean Functions, Adder / Subtractor circuits.9. Combination Logic; Adder, Subtractor, Code converters, Encoder and Decoder10. Sequential Logic; Study of Flip-Flop,Counters(synchronous and asynchronous),ShiftRegisters

Page 2: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

LIST OF EXPERIMENTS

Ex. No Page No.

8 – BIT MICROPROCESSOR (8085)

1

1(a) 8- bit Addition1(b) 8 – bit Subtraction1(c) 8- bit Multiplication1(d) 8- bit Division

2

2(a) Ascending order2(b) Descending order2( c) Largest of a given numbers2(d) Smallest of a given numbers

3

3(a) Code Conversion: ASCII to Hexadecimal3(b) Code Conversion: Hexadecimal to ASCII3(c) Code Conversion: Hexadecimal to Binary3(d) Code Conversion: Hexadecimal to BCD

44(a) Interfacing: ADC with 80854(b)Interfacing: DAC with 8085

5 Interfacing: Traffic Light Controller with 8085

66(a)Interfacing: 8251 with 80856(b) Interfacing: 8279 with 80856(c) Interfacing: 8253 with 8085

MICROCONTROLLER(8051)

77(a) Sum of elements in an array7(b) Sum using Stack7( c) Sum using call option

88(a) Interfacing: Stepper Motor with 80518(b) Interfacing: DAC with 8051

STUDY OF BASIC DIGITAL IC’S9 Verification of truth table for AND, OR, EXOR,

NOT, NOR, NAND, JK FF, RS FF,D FF10 Implementation of Boolean Functions, Adder /

Subtractor circuits11 Code converters, Encoder and Decoder12 Study of Flipflops13 Counters(synchronous and asynchronous), Shift

registers14 Differentiator, Integrator15 Timer IC applications

Page 3: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

Page 4: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

1

8085 MICROPROCESSOR

Page 5: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

2

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 DATA ADDITION:

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.

Page 6: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

3

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

Page 7: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

4

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

Page 8: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

5

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.

Page 9: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

6

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]

Page 10: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

7

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

Page 11: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

8

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.

Page 12: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

9

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

Page 13: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

10

A

STOP

[HL] [HL]+1

[M] [A]

[M] [C]

[HL] [HL]+1

Page 14: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

11

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

Page 15: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

12

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.

Page 16: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

13

FLOWCHART:

NO

YES

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

Page 17: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

14

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 program

OBSERVATION:

Page 18: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

15

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

Page 19: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

16

RESULT:

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

Page 20: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

17

Ex.No: 2 SORTING OF AN ARRAY

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

Page 21: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

18

FLOWCHART:

YES

NO

[B] 04H

[HL] [8100H]

[A] [HL]

[HL [HL] + 1

IS[A] < [HL]?

[D] [HL]

[HL] [A]

[HL] [HL] - 1

[HL] [D]

[HL] [HL] + 1

[C] [C] – 01 H

A

[C] 04H

START

Page 22: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

19

NO

YES

NO

YES

IS[C] = 0?

A

[B] [B]-1

IS[B] = 0?

STOP

Page 23: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

20

PROGRAM:

ADDRESS OPCODE

LABEL MNEMONICS OPERAND

COMMENTS

4100 MVI B,04 Initialize B reg withnumber of comparisons(n-1)

4101

4102 LOOP 3 LXI H,4200 Initialize HL reg. to4200H4103

41044105 MVI C,04 Initialize C reg with no.

of comparisons(n-1)41064107 LOOP2 MOV A,M Transfer first data to

acc.4108 INX H Increment HL reg. to

point next memorylocation

4109 CMP M Compare M & A410A JC LOOP1 If A is less than M then

go to loop1410B410C410D MOV D,M Transfer data from M to

D reg410E MOV M,A Transfer data from acc

to M410F DCX H Decrement HL pair4110 MOV M,D Transfer data from D to

M4111 INX H Increment HL pair4112 LOOP1 DCR C Decrement C reg4113 JNZ LOOP2 If C is not zero go to

loop2411441154116 DCR B Decrement B reg4117 JNZ LOOP3 If B is not Zero go to

loop341184119411A HLT Stop the program

Page 24: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

21

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

Page 25: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

22

FLOWCHART:

NO

YES

[B] 04H

[HL] [8100H]

[A] [HL]

[HL [HL] + 1

IS[A] < [HL]?

[D] [HL]

[HL] [A]

[HL] [HL] - 1

[HL] [D]

[HL] [HL] + 1

[C] [C] – 01 H

A

[C] 04H

START

Page 26: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

23

NO

YES

NO

YES

IS[C] = 0?

A

[B] [B]-1

IS[B] = 0?

STOP

Page 27: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

24

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 MVI B,04 Initialize B reg with numberof comparisons (n-1)4101

4102 LOOP 3 LXI H,4200 Initialize HL reg. to4200H4103

41044105 MVI C,04 Initialize C reg with no. of

comparisons(n-1)41064107 LOOP2 MOV A,M Transfer first data to acc.4108 INX H Increment HL reg. to point

next memory location4109 CMP M Compare M & A410A JNC LOOP1 If A is greater than M then go

to loop1410B410C410D MOV D,M Transfer data from M to D reg410E MOV M,A Transfer data from acc to M410F DCX H Decrement HL pair4110 MOV M,D Transfer data from D to M4111 INX H Increment HL pair4112 LOOP1 DCR C Decrement C reg4113 JNZ LOOP2 If C is not zero go to loop2411441154116 DCR B Decrement B reg4117 JNZ LOOP3 If B is not Zero go to loop341184119411A HLT Stop the program

Page 28: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

25

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.

Page 29: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

26

FLOW CHART:

NO

YES

NO

YES

[B] 04H

[HL] [8100H]

[A] [HL]

[HL [HL] + 1

IS[A] < [HL]?

[A] [HL]

[8105] [A]

START

[B] [B]-1

IS[B] = 0?

STOP

Page 30: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

27

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4101 LXI H,4200 Initialize HL reg. to4200H4102

41034104 MVI B,04 Initialize B reg with no. of

comparisons(n-1)41054106 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 4205 Store the result in a memory

location.411241134114 HLT Stop the program

Page 31: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

28

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.

Page 32: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

29

FLOW CHART:

YES

NO

NO

YES

[B] 04H

[HL] [8100H]

[A] [HL]

[HL [HL] + 1

IS[A] < [HL]?

[A] [HL]

[8105] [A]

START

[B] [B]-1

IS[B] = 0?

STOP

Page 33: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

30

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4101 LXI H,4200 Initialize HL reg. to4200H4102

41034104 MVI B,04 Initialize B reg with no. of

comparisons(n-1)41054106 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 4205 Store the result in a memory

location.411241134114 HLT Stop the program

Page 34: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

31

OBSERVATION:

A. ASCENDING ORDER

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200 42004201 42014202 42024203 42034204 4204

B. DESCENDING ORDER

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4200 42004201 42014202 42024203 42034204 4204

C. SMALLEST ELEMENT

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

420042014202 420542034204

D. LARGEST ELEMENT

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

420042014202 420542034204

Page 35: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

32

RESULT:

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

Page 36: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

33

Ex.No: 3 CODE CONVERSIONS

AIM:

To write an assembly language program to perform the conversions of ASCII tohexadecimal number, hexadecimal to ASCII, hexadecimal to decimal number, binary tohexadecimal 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

Page 37: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

34

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

Page 38: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

35

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 LDA H,4200 Load data 4200 to A410141024103 MOV C,A 4F 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 Stop

Page 39: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

36

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

Page 40: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

37

FLOWCHART:

YES

NO

Set the ASCII value

Checkfor

Carry?

Decrement the register content

Add 30 to A

Store the decimal value

Stop

Start

Page 41: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

38

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 LDA H,4200 Load data 4200 to A410141024103 MOV C,A 4F 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 Stop

Page 42: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

39

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

Page 43: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

40

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

Increment HL register pair

Rotate accumulator right

Decrement B register

Move data from 01 to M

Move data from 00 to M

If B=0?

Page 44: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

41

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 M410C JMP L2 Decrement B register410D410E410F L1 MVI M 01 Move 01 to M41104111 L2 DCR B Decrement B by 14112 JNZ L3 Jump to the specified

address if no zero411341144115 HLT Stop the program

Page 45: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

42

D. BINARY TO HEXADECIMAL

ALGORITHM:

1. Start the program2. Load the address in HL pair3. Move the content of memory to accumulator4. Add the content of accumulator with previous content of accumulator5. Move the content of B to accumulator6. Add the content of accumulator with previous content of accumulator7. Repeat step 68. Add B with accumulator content9. Increment H by 110. Move content of M to A11. End the program

Page 46: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

43

FLOWCHART:

Load address in HL pair

Add content of A to register B

Move data from M to A

Start

Add content of A with itself

Add content of A to register B

Increment HL reg pair content

Add content of M with accumulator

Increment HL reg pair

Move content of M to accumulator

Stop

Page 47: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

44

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND COMMENTS

4100 LXI H,4150 Load address in HL pair410141024103 MOV M,A Move content of A to M4104 ADD A Add A content with

previous content of A4105 MOV B,A Move the content from

A to B4106 ADD A Add A content with

previous content of A4107 ADD B Add B content with A4108 INX H Increment H by 14109 ADD M Add M content with A410A INX H Increment H by 1410B MOV M,A Move content of A to M410C HLT Stop the program

Page 48: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

45

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

Page 49: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

46

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?

Page 50: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

47

PROGRAM:

ADDRESS

OPCODE

LABEL MNEMONICS

OPERAND

COMMENTS

4100 LXI H 4150 Load data from 4150 to HL pair41014102 LXI B 0000 Load data from address to BC4103410441054106 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 L2 JNC L3 Stop if A has no carry4119411A411B ADI 0A Add 0A to A411D INX H Increment HL411E MOV M,B Move B to M411F MOV B,A Move A to B4120 MOV A,B Move B to A4121 RLC Rotate accumulator4122 RLC Rotate accumulator4123 RLC Rotate accumulator4124 RLC Rotate accumulator4125 ADD B Add B to A4126 INX H Increment H by 14127 MOV M,A Move content of A to M4128 HLT Stop the program

Page 51: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

48

OBSERVATION:

A. ASCII TO HEXADECIMAL

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4201 4301

B. HEXADECIMAL TO ASCII

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

4201 4301

C. HEXADECIMAL TO BINARY

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

42004200 42044201 42054202 42064203 4207

D. BINARY TO HEXADECIMAL

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

415041524151

E. HEXADECIMAL TO DECIMAL

INPUT OUTPUTMEMORY

LOCATIONDATA MEMORY

LOCATIONDATA

415041524151

Page 52: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

49

RESULT:

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

8085 microprocessor.

Page 53: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

50

EX.No:4 4(a) INTERFACING 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.

Page 54: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

51

PROGRAM:

ADDRESS LABEL MNEMON ICS OPCODE

OPERAND

COMMENTS

4100 MVI A 10 Select channel 0 and tomake accumulator low

41014102 OUT 0C8HC8 Output the data41034104 MVI A A, 1818 Make accumulator high41054106 OUT 0C8HC8 Display the data41074108 MVI A 01 Make 01 to accumulator4109410A OUT 0D0HD0 Display the data410B410C XRA A XOR with accumulator410D XRA A XOR with accumulator410E XRA A XOR with accumulator410F MVI A 00 Make 00 to accumulator4110

4111 OUT D0 Load D0 in output port41124113 LOOP IN D8

4114

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

Page 55: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

52

ADC- CIRCUIT:

SOC JUMPER SELECTION:

J2 : SOC Jumper selectionJ5 : Channel selection

Page 56: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

53

OBSERVATION

ANALOG VOLTAGE DIGITAL DATA ONLED DISPLAY

HEX CODE INLOCATION 4150

Page 57: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

54

4(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 generatesine wave, 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 LABEL MNEMON ICS OPCODE

OPERAND COMMENT

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

Page 58: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

55

4116 L2 DCR C Decrement C4117 JNZ L2 L2 Jump to L2 if no zero411A DCR B Decrement B register

411B JNZ L1 L1 Jump to L1 if no zero411E 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 LABEL MNEMON ICS OPCODE

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 L1 Jump to L1 if no zero4108 JMP START 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.

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

Page 59: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

56

PROGRAM:

ADDRESS LABEL MNEMON ICS OPCODE

OPERAND

COMMENT

START MVI L 00 Move 00 to L registerL1 MOV A,L Load L to a register

OUT C8 Load c8 to output portINR L Increment L registerJNZ L1 L1 Jump to L1 if no zeroMVI L FF Load FF to L register

L2 MOV A,L Move L to a registerOUT C8 Load C8 to output portDCR L Decrement L registerJNZ L2 L2 Jump to L2 if no zeroJMP START START Go to START unconditionally

Page 60: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

57

DAC - CIRCUIT:

WAEFORMS:

Page 61: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

58

OBSERVATION:

WAVE FORMS AMPLITUDE TIME PERIODSquare waveformSaw tooth waveformTriangular waveform

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.

Page 62: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

59

EX.No:5 TRAFFIC LIGHT CONTROLLER WITH 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.

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

Page 63: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

60

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

Page 64: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

61

PATH REPRESENTATION:

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

Page 65: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

62

PROGRAM :

ADDRESS LABEL MNEMON ICS OPCODE

OPERAND

COMMENT

4100 MVI A, 41 3E 41 Move 80 immediately toaccumulator

A,41 A,41

4102 OUT CONTROL D3 0F Output contents ofaccumulator to OF port

4104 LXI H,DATA_SQ Load address 417B to HLregister

4107 LXI D,DATA_E 11 41,87 Load address 4187 to DEregister

410A CALL OUT CD 42,41 Call out address410D XCHG EB Exchange contents of HL

with DE pair410E MOV A,M 7E Move M content to

accumulator410F OUT PORT A D3 0C Load port A into output port4111 CALL DELAY1 CD 66,41 Call delay address4114 XCHG EB Exchange content of HL

with DE pair4115 INX D 13 Increment the content of D4116 INX H 23 Increment the content of H4117 CALL OUT CD 42,41 Call out the address

411A XCHG EB Exchange content of HLwith DE pair

411B MOV A,M 7E Move M content toaccumulator

411C OUT PORT B D3 0D Load port B into output port411E CALL DELAY1 CD 66,41 Call DELAY address4121 XCHG EB Exchange content of HL

with DE pair4122 INX D 13 Increment D register4123 INX H 23 Increment H register4124 CALL OUT CD 42,41 Call specified address4127 XCHG EB Exchange content of HL

with DE pair4128 MOV A,M 7E Move M content to

accumulator

Page 66: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

63

4129 OUT PORT C D3 0E Load port C into output port412B CALL DELAY1 CD 66,41 Call DELAY address412E XCHG EB Exchange content of HL

with DE pair412F INX D 13 Increment D register4130 INX H 23 Increment H register4131 CALL OUT CD 42,41 Call specified address4134 XCHG EB Exchange content of HL

with DE pair4135 MOV A,M 7E Move M content to

accumulator4136 OUT PORT C D3 0E Load port C into output port4138 INX H 23 Increment H register4139 MOV A,M 7E Move M content to

accumulator413A OUT PORT A D3 0C Load port A into output port413C CALL DELAY1 CD 66,41 Call DELAY address413F JMP REPEAT C3 04,41 Jump to specified address4142 MOV A,M 7E Move M content to

accumulator4143 OUT PORT C D3 0E Load port C into output port4145 INX H 23 Increment H register4146 MOV A,M 7E Move M content to

accumulator4147 OUT PORT B D3 0D Load port B into output port4149 INX H 23 Increment H register414A MOV A,M 7E Move M content to

accumulator414B OUT PORT A D3 0C Load port A into output port414D CALL DELAY CD 51,41 Call DELAY address4150 RET C9 Return to accumulator4151 PUSH H E5 Push the register H4152 LXI H,001F 21 1F,00 Load 00 1F in HL register

pair4155 LXI B,FFFF 01 FF,FF Load FF FF in DE register

pair4158 DCX B 0B Decrement B register4159 MOV A,B 78 Move B content to

accumulator415A ORA C B1 OR content of C with

accumulator415B JNZ LOOP C2 58,41 Jump to LOOP if no zero415E DCX H 2B Decrement H register

415F MOV A,L 7D Move L content toaccumulator

Page 67: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

64

4160 ORA H B4 OR content of H withaccumulator

4161 JNZ L1 C2 55,41 Jump to L1 if no zero4164 POP H E1 Pop the register H4165 RET C9 Return from subroutine

4166 PUSH H E5 Push the register H4167 LXI H,001F 21 1F,00 Load 00 1F in HL register

pair416A LXI B,FFFF 01 FF,FF Load FF FF in DE register

pair416D DCX B 0B Decrement B register416E MOV A,B 78 Move B content to

accumulator416F ORA C B1 OR content of C with

accumulator4170 JNZ LOOP2 C2 6D,41 Jump to LOOP2 if no zero4173 DCX H 2B Decrement H register4174 MOV A,L 7D Move L content to

accumulator4175 ORA H B4 OR content of H with

accumulator4176 JNZ L2 C2 6A,41 Jump to L2 if no zero4179 POP H E1 Pop the register H417A RET C9 Return to subroutine417B DATA

SEQ DB12 27 44 10 2B92 10 9D 84 482E 8448 4B 20 49 04

RESULT:

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

traffic light interfaces was written and implemented.

Page 68: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

65

EX.No:6 6(a) INTERFACING 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)

Page 69: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

66

ALGORITHM1. 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

LABEL

MNEMONICS

OPCODE

OPERAN

D

COMMENT

4100 MVI A 36 Move 36 to A

4102 OUT CE Output contents of accumulator to CEport

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 LXI H 4200 Store 4200 address in HL register pair

410F MVI A 4E Move 4E to accumulator

4111 OUT C2 Output contents of accumulator to C2port

4113 MVI A 37 Move 37 to accumulator4115 OUT C2 Output contents of accumulator to C2

port4117 MVI A 41 Move 41 to accumulator

4119 OUT C0 Output contents of accumulator to C0port

411B RST1

4200 IN C0 Input the contents from port C0 toaccumulator

4202 STA 4150 Store the output from accumulator to4150

4205 RST1

Page 70: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

67

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

Page 71: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

68

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

Page 72: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

69

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.

Page 73: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

70

6(b) 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.

Page 74: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

71

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

BCD:

0 Binary counter 16-bit

1 Binary coded decimal counter

Page 75: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

72

Result:Thus the 8253 has been interfaced to 4185 p and six different modes of 8253 have

been studied.

Page 76: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

73

6(c) 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 LABEL MNEMON ICS OPCODE

OPERAND

COMMENT

4100 START LXI HH, 4130H

4130 Store the 16 bit addressin HL pair

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

4105 MVI A 10 Move 10 to A

4107 OUT C2 Output the contents ofA to C2 output port

C2H

4109 MVI A A, 90HCC Move CC to A

410B OUT C2 Output the contents ofA to C2 output port

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

410F OUTC2H

C2 Output the contents ofA to C2 output port

4111 LOOP MOV A, M Move content of M toA

4112 OUT C0HC0 Output the contents ofM to A

4114 CALL DELAYDELAY

DELAY Call the delay address

4117 INX H Increment H register

4118 DCR DD

Decrement D register

Page 77: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

74

4119 JNZ LOOP LOOP Jump to specifiedaddress

411C JMP START STARTSTART Jump to STARTaddress

411F DELAY MVI B A0 Move a to B register

4121 LOOP1 MVI C FF Move FF to C register

4123 LOOP2 DCR C Decrement C register

4124 JNZ LOOP 1 LOOP 1 Jump to LOOP 1 if nozero

4127 DCR B Decrement B register

4128 JNZ LOOP 2 LOOP 2 Jump to LOOP 2 if nozero

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

Page 78: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

75

SEGMENT DEFINITION:

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

RESULT:

Thus 8279 controller was interfaced with 8085 and program for rolling display was executedsuccessfully.

Page 79: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

76

MICROCONTROLLER

Page 80: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

77

Ex.No:7 7(a) 8051 - 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.

Page 81: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

78

PROGRAM:

ADDRESS OPCODE LABEL MNEMONICS OPERAND COMMENT4100 MOV DPTR, #4200

4103 MOVX A, @DPTR

4104 MOV R0, A

4105 MOV B, #00

4108 MOV R1, B

410A ADD CLR C C3

410B INC DPTR A3

410C MOVX A, @DPTR

410D ADD A, B

410F MOV B, A

4111 JNC NC

4113 INC R1

4114 NC INC DPTR

4116 MOV DPTR, #4500

4119 MOV A, R1

411A MOVX @DPTR, A

411B INC DPTR

411C MOV A, B

411E MOVX @DPTR, A

411F SJMP HLT

Page 82: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

79

OBSERVATION:

INPUT OUTPUT

4200 4500

4201

4202

45014203

RESULT:

The sum of elements in an array is calculated.

Page 83: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

80

7(b) 8051 - SUM USING STACK

AIM:

To find the sum of elements in an array using stack.

ALGORITHM:

1. Start

2. Move the data to stack pointer

3. Move the data to accumulator

4. Move the data to reg B

5. Move the data to DPL

6. Push the value of A to stack

7. Push the value of B to stack

8. Push the value of DPL to stack

9. Halt

Page 84: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

81

PROGRAM:

ADDRESS OPCODE LABEL MNEMONICS OPERAND COMMENT4100 MOV SP, #67 67

4103 MOV A, #88 88

4105 MOV B, #66 66

4108 MOV DPL, #43 43

410B PUSH A

410D PUSH B

410F PUSH DPL

4111 SJMP

RESULT:

The sum of elements in an array is calculated.

Page 85: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

82

7(c) 8051 - SUM USING CALL OPTION

AIM:

To find the sum of elements in an array using call option.

ALGORITHM:

1. Start

2. Move the data to DPTR

3. Move the data to accumulator

4. Adjacent call 4200

5. Add A & R0

6. Move the 16 bit data from A to DPTR

7. Move the data to accumulator

8. Move the data to R0

9. Return to 4107

Page 86: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

83

PROGRAM:

ADDRESS OPCODE

LABEL MNEMONICS OPERAND COMMENT

4100 MOV DPTR,# 4300 43,00

4103 MOV A, # 00 00

4105 ACALL 4200 42,00

4108 ADD A, R0

410B MOVX @DPTR,A 80

410D SJMP

410F MOVA,#02 02

4111 MOV R0, #01 01

RET

OBSERVATION:

INPUT OUTPUT

4200 4300

4202

RESULT:

The sum of elements in an array using call option is calculated is calculated.

Page 87: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

84

Ex.No:8 8(a) STEPPER 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 is translated to high voltage outputpulses using a buffer 7407 with open collector.

Page 88: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

85

BLOCK DIAGRAM:

REPRESENTATION:

8051MICROCONTROLLER 8255

DRIVER CIRCUIT STEPPER MOTOR

Page 89: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

86

PROGRAM :

Address OPCODES LabelMNEMONICS OPERAND Comments

ORG 4100h

4100 START MOV DPTR, #TABLE Load the start addressof switching schemedata TABLE into DataPointer (DPTR)

4103 MOV R0, #04 Load the count in R04105 LOOP: MOVX A, @DPTR Load the number in

TABLE into A4106 PUSH DPH Push DPTR value to

Stack4108 PUSH DPL410A MOV DPTR, #0FFC0h Load the Motor port

address into DPTR410D MOVX @DPTR, A Send the value in A to

stepper Motor portaddress

410E MOV R4, #0FFh Delay loop to cause aspecific amount oftime delay before nextdata item is sent to theMotor

4110 DELAY:

MOV R5, #0FFh

4112 DELAY1:

DJNZ R5, DELAY1

4114 DJNZ R4, DELAY4116 POP DPL POP back DPTR value

from Stack4118 POP DPH411A INC DPTR Increment DPTR to

point to next item inthe table

411B DJNZ R0, LOOP Decrement R0, if notzero repeat the loop

411D SJMP START Short jump to Start ofthe program to makethe motor rotatecontinuously

411F TABLE:

DB 09 05 06 0Ah Values as per two-phase switchingscheme

Page 90: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

87

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.

Page 91: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

88

8 (b) INTERFACING D/A CONVERTER WITH 8051

AIM:To interface DAC with 8051 to demonstrate the generation of square, saw tooth and

triangular wave.

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.

Page 92: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

89

DAC - CIRCUIT:

WAVEFORMS:

Page 93: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

90

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.

Page 94: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

91

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

Page 95: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

92

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

DAC with 8051 trainer kit.

Page 96: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

93

Ex. No: 9 STUDY OF BASIC DIGITAL ICS

AIM:

To verify the truth table of basic digital ICs of AND, OR, NOT, NAND, NOR, EX-ORgates.

APPARATUS REQUIRED:

S.No Name of the Apparatus Range Quantity

1. Digital IC trainer kit 1

2. AND gate IC 7408 1

3. OR gate IC 7432 1

4. NOT gate IC 7404 1

5. NAND gate IC 7400 1

6. NOR gate IC 7402 1

7. EX-OR gate IC 7486 1

8. Connecting wires As required

THEORY:

a. AND gate:

An AND gate is the physical realization of logical multiplication operation. It isan electronic circuit which generates an output signal of ‘1’ only if all the input signalsare ‘1’.

b. OR gate:

An OR gate is the physical realization of the logical addition operation. It is anelectronic circuit which generates an output signal of ‘1’ if any of the input signal is ‘1’.

c. NOT gate:

A NOT gate is the physical realization of the complementation operation. It isan electronic circuit which generates an output signal which is the reverse of the inputsignal. A NOT gate is also known as an inverter because it inverts the input.

Page 97: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

94

d. NAND gate:

A NAND gate is a complemented AND gate. The output of the NAND gatewill be ‘0’ if all the input signals are ‘1’ and will be ‘1’ if any one of the input signal is‘0’.

e. NOR gate:

A NOR gate is a complemented OR gate. The output of the OR gate will be ‘1’if all the inputs are ‘0’ and will be ‘0’ if any one of the input signal is ‘1’.

f. EX-OR gate:

An Ex-OR gate performs the following Boolean function,

A B = ( A . B’ ) + ( A’ . B )

It is similar to OR gate but excludes the combination of both A and B beingequal to one. The exclusive OR is a function that give an output signal ‘0’ when thetwo input signals are equal either ‘0’ or ‘1’.

PROCEDURE:

1. Connections are given as per the circuit diagram1. For all the ICs 7th pin is grounded and 14th pin is given +5 V supply.2. Apply the inputs and verify the truth table for all gates.

AND GATE

LOGIC DIAGRAM:

Page 98: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

95

PIN DIAGRAM OF IC 7408:

CIRCUIT DIAGRAM:

TRUTH TABLE:

S.NoINPUT OUTPUT

A B Y = A . B1. 0 0 02. 0 1 03. 1 0 04. 1 1 1

OR GATE

LOGIC DIAGRAM:

Page 99: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

96

PIN DIAGRAM OF IC 7432 :

CIRCUIT DIAGRAM:

TRUTH TABLE:

S.NoINPUT OUTPUT

A B Y = A + B1. 0 0 02. 0 1 13. 1 0 14. 1 1 1

NOT GATE

LOGIC DIAGRAM:

Page 100: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

97

PIN DIAGRAM OF IC 7404 :

CIRCUIT DIAGRAM:

TRUTH TABLE:

S.NoINPUT OUTPUT

A Y = A’1. 0 12. 1 0

NAND GATE

LOGIC DIAGRAM:

Page 101: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

98

PIN DIAGRAM OF IC 7400 :

CIRCUIT DIARAM:

TRUTH TABLE:

S.NoINPUT OUTPUT

A B Y = (A. B)’1. 0 0 12. 0 1 13. 1 0 14. 1 1 0

Page 102: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

99

NOR GATE

LOGIC DIAGRAM:

PIN DIAGRAM OF IC 7402 :

CIRCUIT DIAGRAM:

TRUTH TABLE:

S.NoINPUT OUTPUT

A B Y = (A + B)’1. 0 0 12. 0 1 03. 1 0 04. 1 1 0

Page 103: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

100

EX-OR GATE

LOGIC DIAGRAM

PIN DIAGRAM OF IC 7486:

CIRCUIT DIAGRAM:

TRUTH TABLE:

S.NoINPUT OUTPUT

A B Y = A B1. 0 0 02. 0 1 13. 1 0 14. 1 1 0

Page 104: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

101

RESULT:

The truth tables of all the basic digital ICs were verified..

Page 105: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

102

EX.NO.10 DESIGN AND IMPLEMENTATION OF ADDER/SUBTRACTOR

AIM:

To design and construct half adder, full adder, half subtractor and full subtractor

circuits and verify the truth table using logic gates.

APPARATUS REQUIRED:

S. No Name Specification Quantity

1. IC 7432, 7408, 7486, 7483 1

2. Digital IC Trainer Kit 1

3. Patch chords -

THEORY:

The most basic arithmetic operation is the addition of two binary digits. There are fourpossible elementary operations, namely,

0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 102

The first three operations produce a sum of whose length is one digit, but when the lastoperation is performed the sum is two digits. The higher significant bit of this result is called acarry and lower significant bit is called the sum.

HALF ADDER:

A combinational circuit which performs the addition of two bits is called half adder.The input variables designate the augend and the addend bit, whereas the output variablesproduce the sum and carry bits.

FULL ADDER:

A combinational circuit which performs the arithmetic sum of three input bits is calledfull adder. The three input bits include two significant bits and a previous carry bit. A fulladder circuit can be implemented with two half adders and one OR gate.

Page 106: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

103

HALF ADDER

TRUTH TABLE:

S.NoINPUT OUTPUT

A B S C1. 0 0 0 02. 0 1 1 03. 1 0 1 04. 1 1 0 1

DESIGN:

From the truth table the expression for sum and carry bits of the output can beobtained as, Sum, S = A B ; Carry, C = A . B

CIRCUIT DIAGRAM:

FULL ADDER

TRUTH TABLE:

S.NoINPUT OUTPUT

A B C SUM CARRY1. 0 0 0 0 02. 0 0 1 1 03. 0 1 0 1 04. 0 1 1 0 15. 1 0 0 1 06. 1 0 1 0 17. 1 1 0 0 18. 1 1 1 1 1

Page 107: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

104

DESIGN:

From the truth table the expression for sum and carry bits of the output can be obtainedas,SUM = A’B’C + A’BC’ + AB’C’ + ABC;CARRY = A’BC + AB’C + ABC’ +ABCUsing Karnaugh maps the reduced expression for the output bits can be obtained as,

SUM

SUM = A’B’C + A’BC’ + AB’C’ + ABC = A B C

CARRY

CARRY = AB + AC + BC

CIRCUIT DIAGRAM:

Page 108: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

105

HALF SUBTRACTOR:

A combinational circuit which performs the subtraction of two bits is called halfsubtractor. The input variables designate the minuend and the subtrahend bit, whereas theoutput variables produce the difference and borrow bits.

FULL SUBTRACTOR:

A combinational circuit which performs the subtraction of three input bits is called fullsubtractor. The three input bits include two significant bits and a previous borrow bit. A fullsubtractor circuit can be implemented with two half subtractors and one OR gate.

HALF SUBTRACTOR

TRUTH TABLE:

S.NoINPUT OUTPUT

A B DIFF BORR1. 0 0 0 02. 0 1 1 13. 1 0 1 04. 1 1 0 0

DESIGN:

From the truth table the expression for difference and borrow bits of the output can beobtained as, Difference, DIFF = A B; Borrow, BORR = A’ . B

CIRCUIT DIAGRAM:

Page 109: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

106

FULL SUBTRACTORTRUTH TABLE:

S.NoINPUT OUTPUT

A B C DIFF BORR1. 0 0 0 0 02. 0 0 1 1 13. 0 1 0 1 14. 0 1 1 0 15. 1 0 0 1 06. 1 0 1 0 07. 1 1 0 0 08. 1 1 1 1 1

DESIGN:

From the truth table the expression for difference and borrow bits of the output can beobtained as,

Difference, DIFF= A’B’C + A’BC’ + AB’C’ + ABCBorrow, BORR = A’BC + AB’C + ABC’ +ABC

Using Karnaugh maps the reduced expression for the output bits can be obtained as,

DIFFERENCE

DIFF = A’B’C + A’BC’ + AB’C’ + ABC = A B C

BORROW

BORR = A’B + A’C + BC

Page 110: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

107

CIRCUIT DIAGRAM:

PROCEDURE:

The connections are given as per the circuit diagram. Two 4 – bit numbers added or subtracted depend upon the control input and the

output is obtained. Apply the inputs and verify the truth table for thehalf adder or s subtractor and

full adder or subtractor circuits.

RESULT:

Thus the half adder, full adder, half subtractor and full subtractor circuits were designedand their truth table were verified.

Page 111: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

108

EX.NO.11 11(a) CODE CONVERTER

AIM:

To construct and verify the performance of binary to gray and gray to binary.

APPARATUS REQUIRED:

S. No Name Specification Quantity

1. IC 7404, 7486 1

2. Digital IC Trainer Kit 1

3. Patch chords -

THEORY:

BINARY TO GRAY:

The MSB of the binary code alone remains unchanged in the Gray code. The remaining

bits in the gray are obtained by EX-OR ing the corresponding gray code bit and previous bit in

the binary code. The gray code is often used in digital systems because it has the advantage

that only one bit in the numerical representation changes between successive numbers.

GRAY TO BINARY:

The MSB of the Gray code remains unchanged in the binary code the remaining bits are

obtained by EX – OR ing the corresponding gray code bit and the previous output binary bit.

PROCEDURE:

Connections are given as per the logic diagram.

The given truth tables are verified.

Page 112: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

109

BINARY TO GRAY:

GRAY TO BINARY

Page 113: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

110

TRUTH TABLE

Decimal Binary code Gray codeD C B A G3 G2 G1 GO

0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 12 0 0 1 0 0 0 1 13 0 0 1 1 0 0 1 04 0 1 0 0 0 1 1 05 0 1 0 1 0 1 1 16 0 1 1 0 0 1 0 17 0 1 1 1 0 1 0 08 1 0 0 0 1 1 0 09 1 0 0 1 1 1 0 1

10 1 0 1 0 1 1 1 111 1 0 1 1 1 1 1 0

12 1 1 0 0 1 0 1 013 1 1 0 1 1 0 1 114 1 1 1 0 1 0 0 115 1 1 1 1 1 0 0 0

RESULT:

The design of the three bit Binary to Gray code converter & Gray to Binary code

converter circuits was done and its truth table was verified.

Page 114: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

111

11(b) ENCODER

AIM:

To design and implement encoder using IC 74148 (8-3 encoder)

APPARATUS REQUIRED:

S. No Name Specification Quantity

1. IC 74148 1

2. Digital IC Trainer Kit 1

3. Patch chords -

THEORY:

An encoder is digital circuit that has 2n input lines and n output lines. The output lines

generate a binary code corresponding to the input values 8 – 3 encoder circuit has 8 inputs, one

for each of the octal digits and three outputs that generate the corresponding binary number.

Enable inputs E1 should be connected to ground and Eo should be connected to VCC

PROCEDURE:

Connections are given as per the logic diagram.

The truth table is verified by varying the inputs.

PIN DIAGRAM

OUTPUT2N INPUT

NENCODER

1

2

1

2

N2N-1

2N

Page 115: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

112

TRUTH TABLE

E1

INPUTS OUTPUTSA0 A1 A2 A3 A4 A5 A6 A7 D2 D1 D0

0 0 1 1 1 1 1 1 1 0 0 00 1 0 1 1 1 1 1 1 0 0 10 1 1 0 1 1 1 1 1 0 1 00 1 1 1 0 1 1 1 1 0 1 10 1 1 1 1 0 1 1 1 1 0 00 1 1 1 1 1 0 1 1 1 0 10 1 1 1 1 1 1 0 1 1 1 00 1 1 1 1 1 1 1 0 1 1 11 1 1 1 1 1 1 1 1 1 1 1

Page 116: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

113

11(c) DECODERAIM:

To design and implement decoder using IC 74155 (3-8 decoder).

APPARATUS REQUIRED:

S. No Name Specification Quantity

1. IC 74155 1

2. Digital IC Trainer Kit 1

3. Patch chords -

THEORY:

A decoder is a combinational circuit that converts binary information from n input lines

to 2n unique output lines.

In 3-8 line decoder the three inputs are decoded into right outputs in which each output

representing one of the minterm of 3 input variables. IC 74155 can be connected as a dual 2*4

decoder or a single 3*8 decoder desired input in C1 and C2 must be connected together and used

as the C input. G1 and G2 should be connected and used as the G (enable) input. G is the

enable input and must be equal to 0 for proper operation.

PROCEDURE:

Connections are given as per the logic diagram.

The truth table is verified by varying the inputs.

CIRCUIT DIAGRAM:

OUTPUTN

1

2

1

2

N

N INPUT DECODER

2N2N-1

Page 117: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

114

TRUTH TABLE

INPUTS OUTPUTS

G C B A 2Y0 2Y1 2Y2 2Y3 1Y0 1Y1 1Y2 1Y3

1 X X X 1 1 1 1 1 1 1 10 0 0 0 0 1 1 1 1 1 1 10 0 0 1 1 0 1 1 1 1 1 10 0 1 0 1 1 0 1 1 1 1 10 0 1 1 1 1 1 0 1 1 1 10 1 0 0 1 1 1 1 0 1 1 10 1 0 1 1 1 1 1 1 0 1 10 1 1 0 1 1 1 1 1 1 0 10 1 1 1 1 1 1 1 1 1 1 0

RESULT:

Thus the encoder and decoder circuits were designed and implemented.

Page 118: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

115

EX.NO.12 STUDY OF FLIP FLOPS

AIM:

To verify the characteristic table of RS, D, JK, and T Flip flops .

APPARATUS REQUIRED:

S.No Name of the Apparatus Range Quantity1. Digital IC trainer kit 12. NOR gate IC 74023. NOT gate IC 74044. AND gate ( three input ) IC 74115. NAND gate IC 74006. Connecting wires As required

THEORY:

A Flip Flop is a sequential device that samples its input signals and changes its outputstates only at times determined by clocking signal. Flip Flops may vary in the number ofinputs they possess and the manner in which the inputs affect the binary states.

RS FLIP FLOP:

The clocked RS flip flop consists of NAND gates and the output changes its state withrespect to the input on application of clock pulse. When the clock pulse is high the S and Rinputs reach the second level NAND gates in their complementary form. The Flip Flop isreset when the R input high and S input is low. The Flip Flop is set when the S input is highand R input is low. When both the inputs are high the output is in an indeterminate state.

D FLIP FLOP:

To eliminate the undesirable condition of indeterminate state in the SR Flip Flop whenboth inputs are high at the same time, in the D Flip Flop the inputs are never made equal at thesame time. This is obtained by making the two inputs complement of each other.

JK FLIP FLOP:

The indeterminate state in the SR Flip-Flop is defined in the JK Flip Flop. JK inputsbehave like S and R inputs to set and reset the Flip Flop. The output Q is ANDed with K inputand the clock pulse, similarly the output Q’ is ANDed with J input and the Clock pulse.When the clock pulse is zero both the AND gates are disabled and the Q and Q’ output retaintheir previous values. When the clock pulse is high, the J and K inputs reach the NOR gates.When both the inputs are high the output toggles continuously. This is called Race aroundcondition and this must be avoided.T FLIP FLOP:

Page 119: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

116

This is a modification of JK Flip Flop, obtained by connecting both inputs J and Kinputs together. T Flip Flop is also called Toggle Flip Flop.

RS FLIP FLOP

LOGIC SYMBOL:

CIRCUIT DIAGRAM:

CHARACTERISTIC TABLE:

CLOCKPULSE

INPUT PRESENTSTATE (Q)

NEXTSTATE(Q+1)

STATUSS R

1 0 0 0 02 0 0 1 13 0 1 0 04 0 1 1 05 1 0 0 16 1 0 1 17 1 1 0 X8 1 1 1 X

D FLIP FLOP

Page 120: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

117

LOGIC SYMBOL:

CIRCUIT DIAGRAM:

CHARACTERISTIC TABLE:

CLOCKPULSE

INPUTD

PRESENTSTATE (Q)

NEXTSTATE(Q+1)

STATUS

1 0 0 0

2 0 1 0

3 1 0 1

4 1 1 1

Page 121: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

118

JK FLIP FLOP

LOGIC SYMBOL:

CIRCUIT DIAGRAM:

CHARACTERISTIC TABLE:

CLOCKPULSE

INPUT PRESENTSTATE (Q)

NEXTSTATE(Q+1)

STATUSJ K

1 0 0 0 02 0 0 1 13 0 1 0 04 0 1 1 05 1 0 0 16 1 0 1 17 1 1 0 18 1 1 1 0

Page 122: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

119

T FLIP FLOP

LOGIC SYMBOL:

CIRCUIT DIAGRAM:

CHARACTERISTIC TABLE:

CLOCKPULSE

INPUTT

PRESENTSTATE (Q)

NEXTSTATE(Q+1)

STATUS

1 0 0 02 0 1 03 1 0 14 1 1 0

Page 123: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

120

PROCEDURE:

1. Connections are given as per the circuit diagrams.2. For all the ICs 7th pin is grounded and 14th pin is given +5 V supply.3. Apply the inputs and observe the status of all the flip flops.

RESULT:

The Characteristic tables of RS, D, JK, T flip flops were verified.

Page 124: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

121

EX.NO.13 13(a)ASYNCHRONOUS COUNTER

AIM:

To implement and verify the truth table of an asynchronous decade counter.

APPARATUS REQUIRED:

S.No Name of the Apparatus Range Quantity1. Digital IC trainer kit 12. JK Flip Flop IC 7473 24. NAND gate IC 7400 15. Connecting wires As required

THEORY:

Asynchronous decade counter is also called as ripple counter. In a ripple counter theflip flop output transition serves as a source for triggering other flip flops. In other words theclock pulse inputs of all the flip flops are triggered not by the incoming pulses but rather by thetransition that occurs in other flip flops. The term asynchronous refers to the events that do notoccur at the same time. With respect to the counter operation, asynchronous means that theflip flop within the counter are not made to change states at exactly the same time, they do notbecause the clock pulses are not connected directly to the clock input of each flip flop in thecounter.

PIN DIAGRAM OF IC 7473:

Page 125: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

122

CIRCUIT DIAGRAM:

TRUTH TABLE:

S.NoCLOCKPULSE

OUTPUTD(MSB) C B A(LSB)

1 - 0 0 0 02 1 0 0 0 13 2 0 0 1 04 3 0 0 1 15 4 0 1 0 06 5 0 1 0 17 6 0 1 1 08 7 0 1 1 19 8 1 0 0 0

10 9 1 0 1 011 10 0 0 0 0

PROCEDURE:

1. Connections are given as per the circuit diagrams.2. Apply the input and verify the truth table of the counter.

Page 126: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

123

RESULT:

The truth table of the Asynchronous counter was hence verified.

Page 127: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

124

EX.NO.13 13(b) SHIFT REGISTERS

AIM:To implement the following shift register using flip flop

(i) SIPO

(ii) SISO

(iii) PISO

(iv) PIPO

APPARATUS REQUIRED:

S. No Name Specification Quantity

1. IC 7474 1

2. Digital IC Trainer Kit 1

3. Patch chords -

THEORY:

A register is used to move digital data. A shift register is a memory in which

information is shifted from one position in to another position at a line when one clock pulse is

applied. The data can be shifted either left or right direction towards right or towards left.

A shift register can be used in four ways depending upon the input in which the data are

entered in to and takes out of it. The four configuration are given as

Serial input – Serial output

Parallel input – Serial output

Serial input – Parallel output

Parallel input – Parallel output

RS or JK flip flop are used to construct shift register have D flip flop is used for

constructing shift register.

PROCEDURE:

Give the connections as per the circuit

Set or Reset at the pin 2 which it’s the MSB of serial data.

Apply a single clock Set or Reset second digital input at pin 2.

Repeat step 2 until all 4-bit data are taken away.

Page 128: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

125

SHIFT REGISTER:

IC 7474

CLR1 D1 CLK PR1 Q1 Q1GND

+5VCC CLKD2CLR2PR2 Q2 Q2

_

_

1 2 3 4 5 6 7

891011121314

SIPO LEFT SHIFT

IC 7474 IC 7474 IC 7474IC 7474

Q3

Q2 Q1 Q0

+5VCC

D IN

CLK

+5VCC

1

2

3

45

1

2

3

45

9

10

1113

12 910

11

12

13

SIPO RIGHT SHIFT

Page 129: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

126

SISO

IC 7474 IC 7474 IC 7474IC 7474

+5VCC

D IN

CLK

+5VCC

1

2

3

45

1

2

3

45

9

10

1113

12 910

11

12

13

DOUT

PIPO

SISOData input = 1100

Clock Serial input Serial output0 0 04 1 18 1 1

12 0 016 0 0

Q2 Q1

Q0

DQ2

C B A

Page 130: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

127

PIPO

Clock Parallel input Parallel output

A B C D QA QB QC QD

0 0 0 0 0 0 0 0 0

1 1 1 0 1 1 1 0 1

SIPOLeft shift

No of clk pulse Serial input Din Parallel output

Q3 Q2 Q1 Q0

0 0 0 0 0 0

1 1 0 0 0 1

2 1 0 0 1 1

3 0 0 1 1 0

4 1 1 1 0 1

5 0 1 0 1 0

6 0 0 1 0 0

7 0 1 0 0 0

8 0 0 0 0 0

Right Shift

No of clock pulse Serial input Din Parallel output

Q3 Q2 Q1 Q0

0 0 0 0 0 0

1 1 1 0 0 0

2 1 0 1 0 0

3 0 1 0 1 0

4 1 1 1 0 1

5 0 0 1 1 0

6 0 0 0 1 1

7 0 0 0 0 1

8 0 0 0 0 0

Page 131: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

128

RESULT:

Thus the SISO, SIPO, PISO, PIPO shift registers were designed and implemented.

Page 132: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

129

EX.NO.14 14(a) DIFFERENTIATOR

AIM:To design a Differentiator circuit for the given specifications using Op-Amp IC 741.

APPARATUS REQUIRED:

S.No Name of the Apparatus Range Quantity1. Function Generator 3 MHz 12. CRO 30 MHz 13. Dual RPS 0 – 30 V 14. Op-Amp IC 741 15. Bread Board 16. Resistors7. Capacitors8. Connecting wires and probes As required

THEORY:The differentiator circuit performs the mathematical operation of differentiation; that is,

the output waveform is the derivative of the input waveform. The differentiator may beconstructed from a basic inverting amplifier if an input resistor R1 is replaced by a capacitor C1.

The expression for the output voltage is given as, Vo = - Rf C1 (dVi /dt)Here the negative sign indicates that the output voltage is 180 0 out of phase with the

input signal. A resistor Rcomp = Rf is normally connected to the non-inverting input terminal ofthe op-amp to compensate for the input bias current. A workable differentiator can bedesigned by implementing the following steps:

1. Select fa equal to the highest frequency of the input signal to be differentiated. Then,assuming a value of C1 < 1 µF, calculate the value of Rf.

2. Choose fb = 20 fa and calculate the values of R1 and Cf so that R1C1 = Rf Cf.3. The differentiator is most commonly used in waveshaping circuits to detect high

frequency components in an input signal and also as a rate–of–change detector in FMmodulators.

PIN DIAGRAM:

Page 133: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

130

CIRCUIT DIAGRAM OF DIFFERENTIATOR:

DESIGN:Given fa = ---------------We know the frequency at which the gain is 0 dB, fa = 1 / (2π Rf C1)Let us assume C1 = 0.1 µF; thenRf = _________Since fb = 20 fa, fb = ---------------We know that the gain limiting frequency fb = 1 / (2π R1 C1)Hence R1 = _________Also since R1C1 = Rf Cf ; Cf = _________

PROCEDURE:1. Connections are given as per the circuit diagram.2. + Vcc and - Vcc supply is given to the power supply terminal of the Op-Amp IC.3. By adjusting the amplitude and frequency knobs of the function generator, appropriate

input voltage is applied to the inverting input terminal of the Op-Amp.4. The output voltage is obtained in the CRO and the input and output voltage waveforms

are plotted in a graph sheet.

Page 134: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

131

OBSERVATIONS:Input - Sine wave

S.No. Amplitude( No. of div x Volts per div )

Time period( No. of div x Time per div )

InputOutput

Input – Square waveS.No. Amplitude

( No. of div x Volts per div )Time period( No. of div x Time per div )

InputOutput

DIFFERENTIATOR:

INPUT SIGNAL:

OUTPUT SIGNAL:

Time Period

Am

plit

ude

Am

plit

ude

Time Period

Page 135: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

132

RESULT:

The design of the Differentiator circuit was done and the input and output waveformswere obtained.

Page 136: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

133

14(b) INTEGRATOR

AIM:

To design an Integrator circuit for the given specifications using Op-Amp IC 741.

APPARATUS REQUIRED:S.No Name of the Apparatus Range Quantity

1. Function Generator 3 MHz 12. CRO 30 MHz 13. Dual RPS 0 – 30 V 14. Op-Amp IC 741 15. Bread Board 16. Resistors7. Capacitors8. Connecting wires and probes As required

THEORY:A circuit in which the output voltage waveform is the integral of the input voltage

waveform is the integrator. Such a circuit is obtained by using a basic inverting amplifierconfiguration if the feedback resistor Rf is replaced by a capacitor Cf . The expression for theoutput voltage is given as,

Vo = - (1/Rf C1) ∫ Vi dtHere the negative sign indicates that the output voltage is 180 0 out of phase with the

input signal. Normally between fa and fb the circuit acts as an integrator. Generally, the valueof fa < fb . The input signal will be integrated properly if the Time period T of the signal islarger than or equal to Rf Cf. That is,

T ≥ Rf Cf

The integrator is most commonly used in analog computers and ADC and signal-waveshaping circuits.

PIN DIAGRAM:

Page 137: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

134

CIRCUIT DIAGRAM OF INTEGRATOR:

DESIGN:

We know the frequency at which the gain is 0 dB, fb = 1 / (2π R1 Cf)Therefore fb = _____Since fb = 10 fa, and also the gain limiting frequency fa = 1 / (2π Rf Cf)We get, Rf = _______ and hence R1 = __________

PROCEDURE:

1. Connections are given as per the circuit diagram.2. + Vcc and - Vcc supply is given to the power supply terminal of the Op-Amp IC.3. By adjusting the amplitude and frequency knobs of the function generator, appropriate

input voltage is applied to the inverting input terminal of the Op-Amp.

Page 138: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

135

4. The output voltage is obtained in the CRO and the input and output voltage waveformsare plotted in a graph sheet.

OBSERVATIONS:

S.No. Amplitude( No. of div x Volts per div )

Time period( No. of div x Time per div )

InputOutput

MODEL GRAPH:

INTEGRATOR:

INPUT SIGNAL:

OUTPUT SIGNAL:

RESULT:

The design of the Integrator circuit was done and the input and output waveforms wereobtained.

Am

plit

ude

Am

plit

ude

Time Period

Page 139: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

136

EX.NO. 15 15(a) TIMER IC APPLICATIONS - I(ASTABLE MULTIVIBRATOR)

AIM:

To design an astable multivibrator circuit for the given specifications using 555 TimerIC.

APPARATUS REQUIRED:

S. No Name of the Apparatus Range Quantity1. Function Generator 3 MHz 12. CRO 30 MHz 13. Dual RPS 0 – 30 V 14. Timer IC IC 555 15. Bread Board 16. Resistors7. Capacitors8. Connecting wires and probes As required

THEORY:An astable multivibrator, often called a free-running multivibrator, is a rectangular-

wave-generating circuit. This circuit do not require an external trigger to change the state ofthe output. The time during which the output is either high or low is determined by tworesistors and a capacitor, which are connected externally to the 555 timer. The time duringwhich the capacitor charges from 1/3 Vcc to 2/3 Vcc is equal to the time the output is high and isgiven by,

tc = 0.69 (R1 + R2) C

Similarly the time during which the capacitor discharges from 2/3 Vcc to 1/3 Vcc isequal to the time the output is low and is given by,

td = 0.69 (R2) C

Thus the total time period of the output waveform is,

T = tc + td = 0.69 (R1 + 2 R2) C

The term duty cycle is often used in conjunction with the astable multivibrator. Theduty cycle is the ratio of the time tc during which the output is high to the total time period T.It is generally expressed in percentage. In equation form,

% duty cycle = [(R1 + R2) / (R1 + 2 R2)] x 100

Page 140: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

137

PIN DIAGRAM:

CIRCUIT DIAGRAM OF ASTABLE MULTIVIBRATOR:

Page 141: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

138

DESIGN:

Given f= 4 KHz,Therefore, Total time period, T = 1/f = ____________

We know, duty cycle = tc / TTherefore, tc = ------------------------

and td = ____________

We also know for an astable multivibratortd = 0.69 (R2) C

Therefore, R2 = _____________

tc = 0.69 (R1 + R2) CTherefore, R1 = _____________

PROCEDURE:

1. Connections are given as per the circuit diagram.2. + 5V supply is given to the + Vcc terminal of the timer IC.3. At pin 3 the output waveform is observed with the help of a CRO4. At pin 6 the capacitor voltage is obtained in the CRO and the V0 and Vc voltage

waveforms are plotted in a graph sheet.

OBSERVATIONS:

S.No Waveforms

Amplitude( No. of div xVolts per div )

Time period( No. of div xTime per div )

tc td

1. Output Voltage , Vo

2. Capacitor voltage , Vc

Page 142: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

139

MODEL GRAPH:

RESULT:

The design of the Astable multivibrator circuit was done and the output voltage andcapacitor voltage waveforms were obtained.

O/p

volt

age

T (ms)

Cap

acit

orvo

ltag

e

Vcc

2/3 Vcc

1/3 Vcc

TON TOFF

Page 143: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

140

15(b) TIMER IC APPLICATIONS –II(MONOSTABLE MULTIVIBRATOR)

AIM:

To design a monostable multivibrator for the given specifications using 555 Timer IC.

APPARATUS REQUIRED:

S.No Name of the Apparatus Range Quantity1. Function Generator 3 MHz, Analog 12. CRO 30 MHz 13. Dual RPS 0 – 30 V 14. Timer IC IC 555 15. Bread Board 16. Resistors7. Capacitors8. Connecting wires and probes As required

THEORY:A monostable multivibrator often called a one-shot multivibrator is a pulse generating

circuit in which the duration of the pulse is determined by the RC network connectedexternally to the 555 timer. In a stable or stand-by state the output of the circuit isapproximately zero or at logic low level. When an external trigger pulse is applied, the outputis forced to go high (approx. Vcc). The time during which the output remains high is given by,

tp = 1.1 R1 CAt the end of the timing interval, the output automatically reverts back to its logic low

state. The output stays low until a trigger pulse is applied again. Then the cycle repeats.Thus the monostable state has only one stable state hence the name monostable.

PIN DIAGRAM:

Page 144: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

141

CIRCUIT DIAGRAM OF MONOSTABLE MULTIVIBRATOR:

DESIGN:

Given tp = 0.616 ms = 1.1 R1 CTherefore, R1 = _____________

PROCEDURE:

1. Connections are given as per the circuit diagram.2. + 5V supply is given to the + Vcc terminal of the timer IC.3. A negative trigger pulse of 5V, 2 KHz is applied to pin 2 of the 555 IC4. At pin 3 the output waveform is observed with the help of a CRO5. At pin 6 the capacitor voltage is obtained in the CRO and the V0 and Vc voltage

waveforms are plotted in a graph sheet.

OBSERVATIONS:

S.No

Amplitude( No. of div xVolts per div )

Time period( No. of div xTime per div )

ton toff

1. Trigger input

2. Output Voltage , Vo

3. Capacitor voltage , Vc

Page 145: Microprocessor and Microcontroller Lab Manual!

fresh

upda

tes.in

142

MODEL GRAPH:

RESULT:

The design of the Monostable multivibrator circuit was done and the input and outputwaveforms were obtained.