MODULE 1
1. With diagrams, explain the RAM structure of 8051 microcontroller.
2. With necessary sketches, explain the status word:
(i) Flags
(ii) Stack operation.
3. With a neat diagram, explain the block diagram of 8051 microcontroller. List out special
features of 8051 Microcontroller.
4. Write an interfacing diagram of 8051 microcontroller interfaced to 16K bytes of
RAM.
5. Compare CISC and RISC architecture.
6. Bring out the difference between Microprocessor and Microcontroller.
7. With a neat Architecture diagram, explain the Architecture of 8051 Microcontroller.
8. Explain:
(i) RST
(ii) INT Pins of 8051
9. With a neat diagram, explain the Internal Memory Structure and Programming Model of
8051 Microcontroller.
10. With function of each pin, explain the pin layout of 8051 Microcontroller.
11. Interface 8051 microcontroller to 16K bytes of EPROM and 8K bytes of RAM.
Explain with neat sketch.
12. Design a circuit to interface external memory of 4 KB RAM with 8051
Microcontroller, consider starting address of RAM is 7000H.
MODULE 2
1. Explain the following instructions with examples:
(i) MOVC A,@A+DPTR
(ii) RRCA
(iii) DA A
2. Briefly explain the arithmetic instructions of 8051 microcontroller.
3. Explain the role of CALL and subroutines in 8051 microcontroller programming.
Give an example.
4. Define Addressing Mode. Explain different addressing modes with example.
5. Define Stack. Explain the operation of Stack using Stack Pointer, PUSH and POP
Instructions.
6. Illustrate with a neat diagram different ranges of jump instructions.
7. Define assembler directives. Explain the same with examples.
8. List and explain bit level logical instructions in 8051.
9. Justify whether the following instructions are valid or not. If valid brief the function
with an example.
(i) MOV @PTR,R0
(ii) SWAP A
(iii) ADC A,#07H
(iv) MUL AB
(v) SUBB A,R0
PROGRAMS
1. Write an assembly language program to add two 16-bit numbers loaded in R1R0
and R3R2. Store the result in R6, R5 and R4 from MSB to LSB.
2. Write a program segment to copy the value 55H into RAM memory locations 40H
to 44H using:
(i) Direct addressing mode
(ii) Register indirect addressing mode without a loop
(iii) Register indirect addressing mode with a loop
3. Develop an assembly language program to swap the contents of R3 and R4
registers in BANK0 using different methods.
4. Write an ALP (Assembly Language Program) to separate positive and negative
numbers in an Array.
5. Write an ALP to convert a packed BCD number into two ASCII numbers. Store the
result in R5 and R6 respectively.
6. Write an ALP to find largest of N numbers..
7. Write an ALP to add two 16-bit numbers loaded in R1R0 and R3R2. Store the
result in R6R5 and R4 from MSB to LSB.
8. If the number A6H is placed in external RAM between locations 0100H and
0200H. Write an assembly language program to find the address of that location and
place that address in R6 and R7.
9. Write an assembly language program to multiply the number present in external
memory location 800AH and 8050H. Store the lower byte of result obtained in R0
and higher byte in R1.
MODULE 3
[Link] the functions of each bit in the TMOD register with diagram.
2. Explain the functions of each bit in the TCON register with diagram.
3. Explain MODE-1 programming of timers in 8051.
4. Write the steps required for programming 8051 to transmit and receive the data
serially.
5. Explain how timers are used as counters and also explain the counter operation
using a code snippet.
6. Explain with diagram:
(i) SCON register
(ii) Importance of TI Flag
(iii) Importance of RI Flag
7. Explain RS232 in serial communication using 8051 Microcontroller with DB-9
pin connector.
8. With a diagram explain the different steps to program Timer 0 in Mode-1.
PROGRAMS
1. Assume XTAL = 22 MHz, Write an ALP to generate a square wave of frequency 1
kHz on Pin P1.2.
2. Write a ‘C’ program for 8051 Microcontroller to transmit the message “ECE”
using serial communication with a baud rate of 9600.
3. Develop an 8051 C program to transfer letter “A” serially at 9600 baud rate, 8-
bit data, 1 stop bit, do this continuously.
4. Write a C program to transfer “YES” serially at 9600 baud rate, 8-bit data, 1
stop bit, do this continuously.
5. Write an ALP to generate the Time delay of 10 ms using Timer 0 Mode-1
operation with crystal frequency of 11.0592 MHz.
6. Develop an ALP to generate a square wave of frequency 1 kHz on Pin P1.2 using
Timer 0 in Mode-2. Show the delay calculation. Assume XTAL = 22 MHz.
Module 4
1. Explain the following:
(i) Interrupt
(ii) Interrupt Service Routine (ISR)
(iii) Interrupt Vector Table (IVT)
2. Write the instructions to:
(i) Enable the serial interrupt, timer 0 interrupt and external hardware interrupt.
(ii) Disable the timer 0 interrupt.
(iii) Disable all interrupts with a single instruction.
Use bit manipulation instructions for all the cases.
3. Explain the bit contents of IE register.
4. List the steps involved in executing interrupts in 8051 microcontroller.
5. Write the interrupt priority upon reset in 8051. Also explain how the priority of the
interrupts can be set using IP register with bit pattern diagram
6. Explain Interrupt vector table of 8051 Microcontroller.
7. Explain Interrupt enable register.
8. Explain Interrupt Control used in 8051.
9. Explain the steps involved in programming serial communication interrupt.
10. Explain how multiple Interrupts are handled in 8051.
11. Explain the structure of interrupt priority and interrupt enable register.
PROGRAMS
1. Assume XTAL = 11.0592 MHz. Use Timer 0 to create a square wave. Write an
assembly program that continuously gets an 8-bit data from P(0) and sends it to P(1)
while simultaneously creating a square wave of 200 μs period on P2.5.
2. Write an ALP program using interrupts to generate a square wave on port pin P1.2
of 10 kHz using timer 0 in mode 2, XTAL = 22 MHz.
MODULE 5
1.. Explain DAC interface with diagram and also write program to generate
triangular waveform/ write a program to generate staircase waveform.
2. With neat diagram, write an assembly language program to interface LCD to 8051
microcontroller.
3. A door sensor is connected to P1.1 pin and a buzzer is connected to P1.7. Write
8051 C program to monitor the door sensor and when it opens, sound the buzzer.
The buzzer can be sounded by sending a square wave of a few hundred Hz
4. Explain the interfacing of DC motor using C programming.
5. With a neat diagram, write a 'C' language program to interface DAC to 8051
Microcontroller to generate staircase waveform with 20 steps.
6. Write a C program to display "HELLO WORLD" by interfacing LCD display to
8051.
[Link] ALP program to generate staircase waveform with 5 steps, when SW = 0,
and triangular waveform when SW = 1.
8. Draw the diagram to interface a stepper motor to 8051 MC. Also write a 'C'
program to monitor the status of switch connected to Port P2.7. If SW = 0, the
stepper motor should rotate clockwise, else it should rotate anticlockwise.
9. With neat diagram explain 8051 connection to ADC0804 and also write 'C'
program to interface ADC0804 to 8051 Microcontroller.
10. With neat diagram, write an assembly language program to interface stepper
motor to 8051 microcontroller.