Skip to main content

Microcontrollers SEM 2 UNIT 2

 Unit 2: 8051 Instruction Set



Q.IMP Write assembly language program on subroutine using loop: Multiply 15 by 10 using the technique of a repeated addition (7 Marks)

Code snippet

; Main program

MOV A, #15 ; Load value 15 into accumulator

CALL MULTIPLY ; Call the subroutine to multiply by 10


; After subroutine returns, the result will be in accumulator A

; (Accumulator will contain 150)

 

; Rest of your program code...

 

; Subroutine definition

MULTIPLY:

MOV R0, #10 ; Set counter (R0) to 10 for 10 repetitions

LOOP:

ADD A, #15 ; Add 15 to accumulator (repeated addition)

DJNZ R0, LOOP ; Decrement counter and loop if not zero

 

; After the loop, A will have the result (15*10)

RET ; Return from the subroutine




Question 1 (6 Marks): Explain the concept of addressing modes in the 8051 instruction set. Provide examples for different addressing modes.

Answer:

Addressing modes specify how the 8051 microcontroller locates the data operand for an instruction. Here are some common addressing modes:

  • Register Direct: The operand is directly specified by a register name (A, B, C, D, E, H, or L).
    • Example: MOV A, B (Move the content of register B to the accumulator)
  • Immediate: The operand is the data value itself, included within the instruction.
    • Example: ADD A, #10 (Add the immediate value 10 to the accumulator)
  • Direct: The operand is located at a memory address specified by an 8-bit value following the instruction.
    • Example: MOV A, 35h (Move the value from memory location 35h to the accumulator)
  • Indirect: The operand address is stored in a register, and the microcontroller retrieves the data from that memory location.
    • Example: MOV A, @R0 (Move the value from the memory location pointed to by register R0 to the accumulator)




Question 2 (6 Marks): Describe the different Data Transfer instructions in the 8051 instruction set. Give examples for each type.

Answer:

Data transfer instructions move data between various memory locations and registers within the 8051 microcontroller. Here are some common types:

  • MOV (Move): The most basic data transfer instruction. It copies data from one location to another.
    • Example: MOV A, B (Move the content of register B to the accumulator)
  • MOVX (Move with Exchange): Transfers data and simultaneously swaps the contents of two locations.
    • Example: MOVX A, @DPTR (Move the value from the memory location pointed to by DPTR to the accumulator and swap it with the original accumulator value)
  • LDC (Load Constant): Loads a specific data value into a register directly from the instruction.
    • Example: LDC A, #3Fh (Load the hexadecimal value 3Fh into the accumulator)
  • XCH (Exchange): Swaps the contents of two registers.
    • Example: XCH A, R1 (Swap the content of the accumulator with register R1)




Question 3 (6 Marks): Explain Arithmetic instructions in the 8051 and provide assembly language examples for addition and subtraction.

Answer:

Arithmetic instructions perform mathematical operations on data in the 8051. These instructions can affect the Program Status Word (PSW) flags that indicate the outcome of the operation.

  • ADD (Add): Adds two operands and stores the result in the accumulator.
    • Example: ADD A, #5 (Add the immediate value 5 to the accumulator)
  • ADDC (Add with Carry): Adds two operands and the Carry flag (CY) to the accumulator.
    • Example: ADDC A, B (Add the content of register B and the Carry flag to the accumulator)
  • SUBB (Subtract with Borrow): Subtracts the second operand and the Borrow flag (borrowed from the previous operation) from the accumulator.
    • Example: SUBB A, #10 (Subtract the immediate value 10 from the accumulator, potentially borrowing from the Carry flag)




Question 4 (6 Marks): Discuss Logical instructions in the 8051 instruction set and provide examples for AND and OR operations.

Answer:

Logical instructions perform bitwise operations on data in the 8051. These operations manipulate individual bits (0s and 1s) within the data.

  • ANL (AND): Performs a bitwise AND operation on two operands. The result in each bit position is 1 only if both corresponding bits in the operands are 1.

  • ORL (OR): Performs a bitwise OR operation on two operands. The result in each bit position is 1 if at least one corresponding bit in the operands is 1.
  • XRL (eXclusive OR): Performs a bitwise XOR operation on two operands. The result in each bit position is 1 if the corresponding bits in the operands are different.




Question 5 : Briefly describe Branch instructions in the 8051 and give an example of a conditional jump.

Answer:

Branch instructions alter the normal program flow of the 8051 based on certain conditions. They allow the program to jump to a different code section depending on the state of the Program Status Word (PSW) flags or the result of a comparison.

  • JMP (Jump): Unconditionally jumps to a specific memory address.
  • JC (Jump if Carry): Jumps to a specified address if the Carry flag (CY) is set.
  • JZ (Jump if Zero): Jumps to a specified address if the Zero flag (Z) is set (indicating the result of the previous operation was zero).




Question 6: What are Bit manipulation instructions in the 8051?

Answer:

Bit manipulation instructions allow you to control individual bits within a byte of data in the 8051. These instructions are useful for setting, clearing, toggling, or isolating specific bits for various operations.

  • SETB (Set Bit): Sets a specific bit position in a register to 1.
  • CLR (Clear Bit): Clears a specific bit position in a register to 0.
  • CPL (Complement): Inverts all the bits in a register (0s become 1s and vice versa).

 


Comments

Popular posts from this blog

Free hand sketch quality images for Engineering drawing UNIT 6

 Below are easy to draw sketches, better picture quality images for UNIT 6 SEM I Exam Types of gears Fastener Categories Nut types Types of keys (a) Compression spring; (b) Tension spring; (c) Torsion spring; (d) Scroll spring ...

Top 3 most important questions for Engineering Drawing SEM I

These are the top 3 questions with highest probability to come in SEM I Exam  

Applied science Sem 1 UNIT 3

    UNIT 3 : Corrosion   Q1) Explain any five factors affecting corrosion. Position in Galvanic Series: More active metals corrode faster when in electrical contact in a conducting medium. Relative Areas of Anode and Cathode: Corrosion rate depends on the ratio of cathodic to anodic area. a larger anodic area minimizes corrosion. Purity of Metal: Impurities create galvanic cells, leading to corrosion. Temperature: Higher temperatures speed up both atmospheric and electrochemical corrosion. Conductivity of Corroding Medium: The electrical conductivity of the medium affects the rate of electrochemical corrosion. Higher conductivity results in faster corrosion.         Q2) Define Hot dipping. Explain coating method with neat labelled diagram to protect metal from corrosion and give applications. Hot Dipping: Hot dipping is a method that in...