Interview Question Answers based on 8051 Microcontroller

Are all the bits of flag register used in 8051?

  • The flag register also called as the program status word uses only 6 bits.
  • The two unused bits are user definable flags.
  • Carry, auxiliary carry, parity and overflow flags are the conditional flags used in it.
  • 1 is a user definable bit and PSW.5 can be used as general purpose bit.
  • Rest all flags indicate some or the other condition of an arithmetic operation.learn-embedded-system

Which bit of the flag register is set when output overflows to the sign bit?

The 2nd bit of the flag register is set when output flows to the sign bit. This flag is also called as the overflow flag. Here the output of the signed number operation is too large to be accommodated in 7 bits. For signed numbers the MSB is used to indicate the whether the number is positive or negative. It is only used to detect errors in signed number operations.

Which register bank is used if we use the following instructions

SETB PSW.3      A
SETB PSW.4      B

Statement A sets 3rd bit of flag register.
Statement B sets 4th bit of flag register.
Therefore register bank 3 is initiated.
It uses memory location 18H to 1FH.
The register bank is also called as R3.

What are issues related to stack and bank 1.

  • Bank 1 uses the same RAM space as the stack.
  • Stack pointer is incremented or decremented according to the push or pop instruction.
  • If the stack pointer is decremented it uses locations 7, 6, 5… which belong to register bank 0.
  • If a given program uses R1 then stack is provided new memory location.
  • The push instruction may also take stack to location 0 i.e.it will run out of space.

Explain JNC.

It is a command used to jump if no carry occurs after an arithmetic operation. It is called as jump if no carry (conditional jump instruction). Here the carry flag bit in PSW register is used to make decision. The processor looks at the carry flag to see if it is raised or not.

If carry flag is 0, CPU fetches instructions from the address of the label.

Can port 0 be used as input output port?

Yes, port 0 can be used as input output port. Port 0 is an open drain unlike ports 2, 3, 4. To use it as input or output the 10k ohm pull-up resisters are connected to it externally. To make port 0 as input port it must be programmed by writing 1 to all bits. Example:

MOV  A,#0FFH
MOV  P0,A

Which 2 ports combine to form the 16 bit address for external memory access?

  • Port0 and port2 together form the 16 bit address for external memory.
  • Port0 uses pins 32 to 39 of 8051 to give the lower address bits(AD0-AD7)
  • Port2 uses pins 21 to 28 of 8051 to give the higher address bits(A8-A15)
  • This 16 bit address is used to access external memory if attached.
  • When connected to external memory they cannot be used as input output ports.

Can single bit of a port be accessed in 8051?

  • Yes, 8051 has the capability of accessing only single bit of a port.
  • Here only single bit is accessed and rest is unaltered.
  • SYNTAX: “SETB X. Y”.
  • Here X is the port number and y is the desired bit.
  • Example: SETB P1.2

Here the second bit of port 1 is set to 1.

Other than SETB, CLR are there any single bit instructions?

  • There are in total 6 single-bit instructions.
  • CPL bit: complement the bit (bit= NOT bit).
  • JB bit, target: Jump to target if bit equal to 1.
  • JNB bit, target: Jump to target if bit is equal to 0.
  • JCB bit, target: Jump to target if bit is equal to 1 and then clear bit.
Get Free Courses & Webinars
You'll receive only high quality learning material, tips & tricks
I agree to have my personal information transfered to MailChimp ( more information )
We respect your privacy

About Umesh Lokhande

Umesh Lokhande holds a Master degree in Scientific Instrumentation from University of Applied Sciences Jena, Germany. and has previously worked at Orbotech, Alere Technologies etc. Umesh is also a founder and first author of BINARYUPDATES.COM

Login

Register | Lost your password?