Important Instructions To Examiners:: Calculate The Number of Address Lines Required To Access 16 KB ROM
Important Instructions To Examiners:: Calculate The Number of Address Lines Required To Access 16 KB ROM
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                                          WINTER – 19EXAMINATION
Subject Name: Microcontroller & Application   Model Answer                         Subject Code:   22426
Important Instructions to examiners:
   1) The answers should be examined by key words and not as word-to-word as given in themodel answer
      scheme.
   2) The model answer and the answer written by candidate may vary but the examiner may tryto assess the
      understanding level of the candidate.
   3) The language errors such as grammatical, spelling errors should not be given moreImportance (Not applicable
      for subject English and Communication Skills.
   4) While assessing figures, examiner may give credit for principal components indicated in thefigure. The figures
      drawn by candidate and model answer may vary. The examiner may give credit for anyequivalent figure drawn.
   5) Credits may be given step wise for numerical problems. In some cases, the assumed constantvalues may vary
      and there may be some difference in the candidate’s answers and model answer.
   6) In case of some questions credit may be given by judgement on part of examiner of relevant answer based on
      candidate’s understanding.
   7) For programming language papers, credit may be given to any other program based on equivalent concept.
            Ans:          1.Easy to interface with all Microprocessors or works Stand alone.                 1M each
                          2.Eight channel 8-bit ADC module.                                                  ( Any 2
                          3.Can measure up to 8 Analog values.                                               points)
                          4.On chip Clock not available, external Oscillator is needed (Clock).
                          5.Digital output various from 0 to 255, operating power is 15mW, conversion time
                            100us.
            d)       List specifications of 8051 microcontroller.                                            2M
                                                                                                               Page 1/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                        5) Four 8-bit bi- directional input/output ports Four 8-bit bi- directional input/ output
                            ports.
                        6) Programmable serial ports i.e. One UART (serial port)
                        7) Two 16- bit timers- Timer 0& Timer 1
                        8) Works on crystal frequency of 11.0592 MHz
                        9) Has power down and idle mode in microcontroller when no operation is performed.
                        10) Six interrupts are available.
            e)       List any two instructions which makes accumulator zero individually.                         2M
                                                                                                                  12-
  Q.2              Attempt any THREE of the following:                                                            Total
                                                                                                                  Marks
                   Compare any three derivatives of 8051 microcontroller on the basis of RAM,ROM,Timer
          a)                                                                                                      4M
                   and Interrupts.
          Ans:                                                                                                    1M
                                                                                            89v51 RD2
                             Features     8051       8052      89c52      8031    8751                            each
                                                                                                                  (Any
                               RAM         128        256       256        128     128           1k               4
                                           4K        8K          8K              4K (UV-       664KB              Points
                               ROM                                          0
                                          (mask   (EPROM)      (Flash)           EPROM)     (FLASH)(Fla           )
                                                                                                                  Page 2/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                                           ROM)                                                        sh)
TIMER 2 3 3 2 2 3
                         INTERRUPTS           6          8           8         6         6              8
          b)       Draw and explain the interfacing of DAC to 8051.                                                        4M
          Ans:     Diagram:                                                                                                2M
                           Microcontroller generates output which is in digital form but many controlling system          2M
                            requires analog signal as they don't accept digital data thus making it necessary to use       Expla-
                            DAC which converts digital data into equivalent analog voltage.                                nation
                       In the figure shown, we use 8-bit DAC 0808. This IC converts 8 bit digital data into
                            equivalent analog current. Hence we require an I to V converter to convert this current
                            into equivalent voltage.
          c)       Describe 8051 microcontroller as boolean processor.                                                     4M
          Ans:         8051 processor is a CPU that can perform some operation on a data and gives the output.            4M
                       The 8051 processor contains a complete Boolean processor for single-bit operations.
                       The internal RAM contains 128 addressable bits, and the SFR space supports up to 128
                            other addressable bits.
                       All port lines are bit-addressable, and each can be treated as a separate single-bit port.
                       The instructions that access these bits are not only conditional branches but also a
                            complete set of move, set, clear, complement, OR, and AND instructions.
                       The 8051 instruction set is optimized for the one bit operations. The Boolean processor
                            provides direct support for bit manipulation and testing of individual bit allows the use of
                            single bit variable to perform logical operations therefore 8051 can be used to solve
                            Boolean expression. Bits may be set or cleared in a single instruction.
                       Eg: CLR C means clear the carry bit
                            SETB 20h means set the memory bit with bit address 20h.
          d)       Explain function of following pins of 8051
                      (i)       Pin 31
                                                                                                                           4M
                      (ii)      Pin 29
                      (iii)     Pin 21-28
          Ans:     i) Pin 31-EA : It is and active low I/P to 8051 microcontroller. When (EA)= 0, then                     1M- EA
                      8051 microcontroller access from external program memory (ROM) only. When (EA) = 1,
                                                                                                                           Page 3/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                         then it access internal and external program memories (ROMS).                                    1M-
                    ii) Pin 29- PSEN : This is an output pin. PSEN stands for “program store enable.” It is active        PSEN
                         low O/P signal. It is used to enable external program memory (ROM). When [PSEN(bar)]=
                                                                                                                          2M-Pin
                         0, then external program memory becomes enabled and micro controller read content of
                                                                                                                          21-28
                         external memory location. Therefore it is connected to (OE) of external ROM.
                    iii) Pin 21-28: A8 – A15 : These pins are known as Port 2. It serves as I/O port. Each pin is         1M
                         bidirectional Input /Output with internal pull – up resistors. Besides the Input /Output, when   Port 2
                         external memory is interfaced, PORT 2 pins act as the higher-order address bus. (A8-A15)         & 1M
                                                                                                                          A8 -
                                                                                                                          A15
                                                                                                                          12-
  Q.3              Attempt any THREE of the following:                                                                    Total
                                                                                                                          Marks
               Develop Assembly Language program (ALP) to find the largest number in a block of 10
          a)                                                                                                              4M
               numbers stored at location 40H onwards in internal RAM.
          Ans: (NOTE: Marks to be given for any other correct logic used by students.)                                    4M
               ORG 0000H                                                                                                  for
               MOV R1, #0AH                       ; Initialize Byte Counter                                               correc
               MOV R0, #40H                        ; Initialize source pointer R0 to 40H
                                                                                                                          t
               DEC R1                             ; decrement counter by one
               MOV 60H, @R0                       ;Read First Byte                                                        progr
               UP: INC R0                         ; Increment the contents of R0                                          am
               MOV A, @R0                         ; Read second number
               CJNE A, 60H, DN                     ;compare the first two numbers, if not equal go to DN
               AJMP LARGE                           ;else go to LARGE
               DN: JC LARGE                        ;check carry
               MOV 60H, A                            ;Store largest number to 60H
               LARGE: DJNZ R1, UP                   ;decrement the counter by one, if count ≠ 0, then go to UP
               END
               Largest No. is saved in memory 60H. Assume any location to store the result.
                                                                   OR
               MOV R1, #0AH              ; initialize the counter
               MOV R0, #40H              ; initialize the memory pointer
               DEC R1                    ; decrement counter by one
               MOV A,@R0                 ; load number in accumulator
               MOV B, A                                   ; move that number to register B
               UP: INC R0                                ; increment the memory pointer
               MOV A,@R0                                 ; read the next number in A
               CJNE A, B, DOWN                           ; compare the first two numbers, if not equal go to DOWN
               AJMP NEXT                                  ; else go to NEXT
               DOWN: JC NEXT                             ; if number in A is greater then go to NEXT
               MOV B, A                                   ; else move the number in register B
               NEXT: DJNZ R1, UP                         ; decrement the counter by one, if count ≠ 0, then go to UP
               INC R0                                    ; increment the memory pointer
               MOV A,B
               MOV 50H, A                              ; store result at memory location 50H(Assume any location)
               HERE: SJMP HERE
                                                                                                                          Page 4/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
          b)       Sketch the internal memory organization in 8051.                                                      4M
          Ans:     Daigram:                                                                                              4M
                                                                                                                         for
                                                                                                                         neat
                                                                                                                         Sketc
                                                                                                                         h with
                                                                                                                         label
                                                                                                                         2M
                                                                                                                         functi
                                                                                                                         on of
                                                                                                                         each
                                                                                                                         Page 5/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                                                                                                                         bit
                                                                                                                         Page 6/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
  Q.4              Attempt any THREE of the following :                                                                       12
                                                                                                                              Marks
          a)       Draw the format of TCON register of 8051 and describe the function of each bit of it.                      4M
          Ans:     TCON: TIMER/COUNTER CONTROL REGISTER.BIT ADDRESSABLE                                                       2M
                                                                                                                              forma
                     TF1             TR1     TF0         TR0          IE1         IT1          IE0         IT0                t
                   TF1 TCON. 7 Timer 1 overflows flag. Set by hardware when the Timer/Counter 1
                   Overflows. Cleared by hardware as processor vectors to the interrupt
                   Service routine.                                                                                            2M
                   TR1 TCON. 6 Timer 1 run control bit. Set/cleared by software to turn Timer/Counter1                        Functi
                                             ON/OFF.
                                                                                                                              on of
                   TF0 TCON. 5 Timer 0 overflow flag. Set by hardware when the Timer/Counter 0
                   Overflows. Cleared by hardware as processor vectors to the service routine.                                each
                   TR0 TCON. 4 Timer 0 run control bit. Set/cleared by software to turn Timer/Counter 0                       bit
                                             ON/OFF.
                   IE1 TCON. 3 External Interrupt 1 edge flag. Set by hardware when External Interrupt edge is
                   detected. Cleared by hardware when interrupt is processed.
                   IT1 TCON. 2 Interrupt 1 type control bit. Set/cleared by software to specify
                   falling edge/low level triggered External Interrupt.
                   IE0 TCON. 1 External Interrupt 0 edge flag. Set by hardware when External
                   Interrupt edge detected. Cleared by hardware when interrupt is processed.
                   IT0 TCON. 0 Interrupt 0 type control bit. Set/cleared by software to
                   Specify falling edge/low level triggered External Interrupt
          Ans:     8051 micro controller communicate with another peripheral device through RXD and TXD pin                   2M
                   of port3.controller have four mode of serial communication.                                                mode
                   1. Serial Data Mode-0 (Baud Rate Fixed)                                                                    descri
                   In this mode, the serial port works like a shift register and the data transmission works                  ption
                   synchronously with a clock frequency of fosc /12. Serial data is received and transmitted through          in
                   RXD. 8 bits are transmitted/ received at a time. Pin TXD outputs the shift clock pulses of
                                                                                                                              short
                   frequency fosc /12, which is connected to the external circuitry for synchronization. The shift
                   frequency or baud rate is always 1/12 of the oscillator frequency.                                         (½
                   2. Serial Data Mode-1 (standard UART mode)(baud rate is variable)
                                                                                                                              mark
                   In mode-1, the serial port functions as a standard Universal Asynchronous Receiver Transmitter
                                                                                                                              for
                   (UART) mode. 10 bits are transmitted through TXD or received through RXD. The 10 bits
                                                                                                                              each
                   consist of one start bit (which is usually '0'), 8 data bits (LSB is sent first/received first), and a
                                                                                                                              mode)
                   stop bit (which is usually '1'). Once received, the stop bit goes into RB8 in the special function
                   register SCON. The baud rate is variable                                                                   &
                   3. Serial Data Mode-2 Multiprocessor (baud rate is fixed)                                                  2M
                   In this mode 11 bits are transmitted through TXD or received through RXD. The various bits are             forma
                   as follows: a start bit (usually '0'), 8 data bits (LSB first), a programmable 9 th (TB8 or RB8)bit        t with
                   and a stop bit (usually '1'). While transmitting, the 9 th data bit (TB8 in SCON) can be assigned          functi
                   the value '0' or '1'. For example, if the information of parity is to be transmitted, the parity bit (P)   on
                   in PSW could be moved into TB8.On reception of the data, the 9 th bit goes into RB8 in 'SCON',
                                                                                                                              Page 7/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                   while the stop bit is ignored. The baud rate is programmable to either 1/32 or 1/64 of the
                   oscillator frequency.
                   f baud = (2 SMOD /64) fosc
                   4. Serial Data Mode-3 - Multi processor mode(Variable baud rate)
                   In this mode 11 bits are transmitted through TXD or received through RXD.The various bits are:
                   a start bit (usually '0'), 8 data bits (LSB first), a programmable 9 th bit and a stop bit (usually '1').
                   Mode-3 is same as mode-2, except the fact that the baud rate in mode-3 is variable (i.e., just as in
                   mode-1).
                   f baud = (2SMOD /32) * ( fosc/ 12 (256-TH1))
                     SM0             SM1      SM2         REN         TB8          RB8          TI          RI
          Ans:     Diagram:                                                                                                    2M
                                                                                                                               for
                                                                                                                               diagra
                                                                                                                               m
                                                                                                                               2Mar
                                                                                                                               ks for
                                                                                                                               Page 8/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                                                                                                                         functi
                                                                                                                         on of
                                                                                                                         two
                                                                                                                         pins(
                                                                                                                         1Mar
                                                                                                                         k each
                                                                                                                         pin
                                                                                                                         functi
                                                                                                                         on)
                   RS: RS is the register select pin. We need to set it to 1, if we are sending some data to be
                   displayed on LCD. And we will set it to 0 if we are sending some command instructions during
                   the initializing sequence like clear the screen etc.
                   EN: The enable pin is used by the LCD to latch information presented to its data pins. When
                   data is supplied to the data pins, a high-to-low pulse must be applied to this pin in order for the
                   LCD to latch in the data present at the data pins. This pulse must be a minimum of 450ns wide.
          d)       Explain the use of following assembler directives.
                       (i)      EQU                                                                                      4M
                       (ii)     ORG
          Ans:                                                                                                           2
                       (i)      EQU: Equate                                                                              Marks
                   It is used to define constant without occupying a memory location.                                    for
                                                                                                                         each
                   Syntax: Label EQU Numeric value
                                                                                                                         directi
                   By means of this directive, a numeric value is replaced by a symbol.                                  ve
                   For e.g. MAXIMUM EQU 99 After this directive every appearance of the label MAXIMUM in
                   the program, the assembler will interpret as number 99
                   (MAXIMUM=99).
                                                                                                                         Page 9/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
          Ans:                                                                                                        4
                                                                                                                      Marks
                                      Pin                   Name                 Alternate Function
                                                                                                                      for 8
                                     P3.0                    RXD                   Serial input line                  pins(
                                                                                                                      ½
                                     P3.1                    TXD                   Serial output line                 mark
                                                                                                                      for
                                     P3.2                   ̅̅̅̅̅̅̅              External interrupt 0                 each
                                                                                                                      pin
                                     P3.3                   ̅̅̅̅̅̅̅              External interrupt 1
                                                                                                                      functi
                                     P3.4                     T0                Timer0 external input                 on)
          Ans:                                                                                                        sketch
                                                                                                                      -3M
                                                                                                                 Expla
                   Interfacing keypad                                                                            nation
                   Fig. shows how to interface the 4 X 4 matrix keypad to two ports in microcontroller. The rows – 3M
                   are connected to an output port and the columns are connected to an input port.
                   To detect a pressed key, the microcontroller grounds all rows by providing 0 to the output
                   latch, and then it reads the columns. If the data read from the columns is D3-D0=1111, no key
                   has been pressed and the process continues until a key press is detected. However, if one of the
                                                                                                                      Page 10/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                   column bits has a zero, this means that a key press has occurred. For example, if D3-D0=1101,
                   this means that a key in the D1 column has been pressed.
                   After a key press is detected, the microcontroller will go through the process of identifying the
                   key. Starting with the top row, the microcontroller grounds it by providing a low to row D0
                   only; then it reads the columns.
                   If the data read is all 1s, no key in that row is activated and the process is moved to the next row.
                   It grounds the next row, reads the columns, and checks for any zero. This process continues until
                   the row is identified. After identification of the row in which the key has been pressed, the next
                   task is to find out which column the pressed key belongs to.
                   Differentiate between
          (b)         (i)     Harvard and Von-neuman architecture                                                          6M
                      (ii)    Microprocessor and Microcontroller
          Ans:                                                                                                             Von
                     i)       Harvard Architecture and Von-neuman architecture                                             Nuem
                                                                                                                           ann
                                                                                                                           Harva
                                                                                                                           rd 3
                                                                                                                           M
                                                                                                                           (any
                                                                                                                           three
                                                                                                                           points
                                                                                                                           )
                   Develop an ALP to generate square wave of 3 KHz using 8051 microcontroller on port pin
          (c)                                                                                               6M
                   P2.3 (Assume Xtalfreqn=12 MHz)
                                                                                                            Page 12/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                   L2: MOV TL0, # 71 H ; Load TL register with LSB of count
                   MOV TH0, # 0FB H ; load TH register with MSB of count
                   SETB TR0 ; start timer 0
                   L1: JNB TF0, L1 ; poll till timer roll over
                   CLR TR0 ; stop timer 0
                   CPL P2.3 ; complement port 2.3 line to get high or low
                   CLR TF0 ; clear timer flag 0
                   SJMP L2 ; re-load timer with count as mode 1 is not auto reload
                                                                                                            12Tot
  Q.6              Attempt any TWO of the following:                                                        al
                                                                                                            Marks
                   Draw interfacing of stepper motor with 8051 and write an ALP to rotate it in clockwise
          (a)                                                                                               6M
                   direction.
Ans: Diagram: 3M
                                                                                                            Progr
                                                                                                            am-
                                                                                                            Page 13/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                                                                                                                          3M
(b) Describe with sketches the procedure to troubleshoot the traffic light controller. 6M
                      5) Violations happen when user expectancy is not met. A user like pedestrian does not
                          expect to stand for more than a minute or two at a signal, when this user expectancy is
                          not met, the pedestrian tries to venture out and violate the signal
                      6) The smooth movement of conflicting vehicles is determined by the availability of gaps
                          in traffic. This is true for both pedestrians and vehicular traffic. Understanding of gaps is
                          important for justifying the type of traffic control device, including a traffic signal.
                   Points to consider for determining signal timings
                      1) The signal operational parameters are reviewed and updated (if needed) on a regular
                          basis to maximize the ability of the traffic control signal to satisfy current traffic
                          demands
                                                                                                                          Page 14/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                        2) Geometry of the intersection is the next step in the signal timing process. Determining
                           the lane use (which traffic mode), dedicated vs. shared lane, type of roads interacting
                           (arterial with arterial etc.), type of road infrastructure (ramps, one way streets, etc.) will
                           impact the timing.
                        3) Basic signal timing parameters comes next. Pedestrian walk times, flashing don’t walk,
                           yellow time, all red clearance interval, detector gap times all need to calculated or
                           established.
                        4) Identify bottlenecks, review conditions, conduct warrant analysis and use engineering
                           judgment in determining traffic signal installation
                        5) Determine AM and PM peak hour traffic volumes.
                        6) Condition diagram which includes roadway geometrics, parking, driveways, sidewalks,
                           signing, pavement markings, development of intersection quadrants, and any other
                           features pertinent to the study peak hour delay study
                        7) A conflict analysis
                        8) Capacity analysis of the intersection for current and future years using growth
(c) Draw and explain Internal port structure of Port 0 and Port 1 of 8051 microcontroller. 6M
                                                                                                                            Page 15/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
          Ans:
                     Port-0 can be configured as a normal bidirectional I/O port or it can be used for address/data
                                                                                                                              Port 0
                     interfacing for accessing external memory. When control is '1', the port is used for address/data
                                                                                                                              – 3M
                     interfacing. When the control is '0', the port can be used as a normal bidirectional I/O port.
                                                                                                                            Port 1
                    Let us assume that control is '0'. When the port is used as an input port, '1' is written to the latch. – 3M
                   In this situation both the output MOSFETs are 'off'. Hence the output pin floats. This high
                   impedance pin can be pulled up or low by an external source. When the port is used as an output
                   port, a '1' written to the latch again turns 'off' both the output MOSFETs and causes the output
                   pin to float. An external pull-up is required to output a '1'. But when '0' is written to the latch, the
                   pin is pulled down by the lower MOSFET. Hence the output becomes zero.
                    When the control is '1', address/data bus controls the output driver MOSFETs. If the
                   address/data bus (internal) is '0', the upper MOSFET is 'off' and the lower MOSFET is 'on'. The
                   output becomes '0'. If the address/data bus is '1', the upper transistor is 'on' and the lower
                   transistor is 'off'. Hence the output is '1'. Hence for normal address/data interfacing (for external
                   memory access) no pull-up resistors are required.
                    Port-0 latch is written to with 1's when used for external memory access.
                                                                                                                              Page 16/ 17
MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION
(Autonomous)
(ISO/IEC - 27001 - 2013 Certified)
__________________________________________________________________________________________________
                   Port-1 does not have any alternate function i.e. it is dedicated solely for I/O interfacing. When
                   used as output port, the pin is pulled up or down through internal pull-up. To use port-1 as input
                   port, '1' has to be written to the latch. In this input mode when '1' is written to the pin by the
                   external device then it read fine. But when '0' is written to the pin by the external device then the
                   external source must sink current due to internal pull-up. If the external device is not able to sink
                   the current the pin voltage may rise, leading to a possible wrong reading.
Page 17/ 17