BIEE 3RD YEAR EXAMINATION, 2021
(1st Semester)
SUBJECT: Microcontrollers
Time: Three hours Full Marks 100
Question Part A (Answer all questions) Marks
(Full Marks: 30)
UNIT-I
1. With a neat block diagram explain the AT89C51 I/O port structure. Why is it advised to write FF H 8
to the port latch before initiating a read operation?
UNIT-II
2. Write an assembly language program that converts the unsigned integer stored in accumulator (A) 5
to a packed BCD number. Assume that the value stored in A is less than 64 H.
UNIT-III
3. How do you configure the mode of operation of an AT89C51 on-chip timer? 2
Which are the possible clocking sources for the timers and how are they selected? 3
What should be 8-bit pattern loaded in the mode setting SFR to configure Timer-0 as evemt 2
counter in 8-bit auto-reload mode?
UNIT-IV
4. An ADC0808 is interfaced with an AT89C51 microcontroller with: 10
P1 connected to the ADC output bus.
(P2.0 - P2.2) driving the ADC channel-select lines (channel 0 – channel 7).
P2.4 driving the ADC ALE/SC line.
P0.0 driving the ADC OE line.
P0.1 reading the ADC EOC line.
Write an assembly language program that reads the ADC data at 5 kHz rate from channel 3 and
stores it in memory location 70 H. Assume that the microcontroller uses a 12 MHz crystal clock.
BIEE 3RD YEAR EXAMINATION, 2021
(1st Semester)
SUBJECT: Microcontrollers
Time: Three hours Full Marks 100
Question. Part B Marks
(Full Marks: 70)
UNIT-I (Answer any ONE)
5. Briefly describe the on-chip memory organization of AT89C51 microcontroller. 10
6. With suitable examples describe the principle of operation of the DAA circuitry 10
UNIT-II (Answer any ONE)
7. Write an 80C51 subroutine that implements a 16-bit x 16-bit multiplication. The multiplicand is 15
kept in R0, R1 and the multiplier is kept in R2, R3. Use R0-R3 to store the result.
8. Find out the integer average of the unsigned integers stored in on-chip memory locations 30H to 10
4FH and store the result in R0.
Calculate the time of execution of the program. Assume that the microcontroller uses a 12 MHz 5
crystal clock.
\
UNIT-III (Answer Q10 and any ONE of Q9 and Q11)
9. Derive a formula that calculates T1 reload value (for modes 1 & 3) from serial port baud-rate data. 3
Write a stretch of code that configures the AT89C51 serial port in mode-3 with receiver enabled 4
and sets the baud rate at 4800.
If the microcontroller uses a 12 MHz crystal, calculate the percentage error in the generated baud 1
rate.
10. Write a program that uses timer-1 in mode-1 and the corresponding timer overflow interrupt to 12
generate a software delay of 75 msec. Assume that the microcontroller uses a 12 MHz crystal
clock.
11. Briefly describe how the microcontroller handles the jump to and return from an ISR. 3
Why TI and RI are not cleared when the microcontroller vectors to a serial port ISR? 2
How does the microcontroller resolve concurrent interrupt requests? 3
UNIT-IV (Compulsory)
12. A DAC0800, configured to have a unipolar output of (0-10V), has its input data bus driven by P1
of an AT89C51microcontroller.
Generate the integer data table for a 16-point sawtooth waveform. 10
Assume that they are stored at on-chip memory locations 50H to 5FH.
Write an assembly language program that generates the 16-point sawtooth waveform at the output 15
of the DAC from the stored data table. The time-period of the waveform is given by:
T = (100 + A) msec, where
A = number formed by the last two digits of the class Roll Number
Assume that the microcontroller uses a 12 MHz crystal clock.