E&IOt Mini Project
E&IOt Mini Project
RECORDNOTE
STUDENT NAME :
REGISTER NO :
SEMESTER :
    YEAR            :
  P.T.Lee. CHENGALVARAYA NAICKER COLLEGE OF
            ENGINEERING &TECHNOLOGY
                               Oovery,Kanchipuram-631502
                            BONAFIDECERTIFICATE
   This is to certify that record work done by Mr/Ms                          _
(RegNo.                                     )of            year B.E-Department of
           In the                                                    laboratory
During the academic year20         -20
   OUTPUT:
                       INPUT                               OUTPUT
          Register             Data              Address                Data
          A-register
          B-register
PROGRAM: SUBTRACTION
          A-register            05                4500                    01
          B-register            04
EXP NO: 01                    PROGRAMMING ARITHMETICAND LOGICAL
DATE:                               OPERATIONSUSING8051
AIM:
To write and execute on assembly language program for addition, subtraction, multiplication and
division.
APPARATUS:
          1. 8051microcontrollerkit------1
          2. Powercard-----1
          3. Keyboard----1
ADDITION
ALGORITHM:
          1.   LoadtheFirstDatainA-register.
          2.   LoadtheSecondDatainB-register.
          3.   Addthetwodatawithcarry.
          4.   Storethesum inmemorylocation.
          5.   Stoptheprogram.
SUBTRACTION
ALGORITHM:
          1.   Load the First Data in A-register.
          2.   Load the Second Data in B-register.
          3.   Subtract the two data with borrow.
          4.   Store the sum in memorylocation.
          5.   Stop the program
PROGRAM:
   ADDRESS OPCODE LABEL              PROGRAM                   COMMENTS
OUTPUT:
               INPUT                                   OUTPUT
    REGISTER             DATA                ADDRESS               DATA
       A                  05                   4500                 19
       B                  05
PROGRAM:
   ADDRESS   OPCODE      LABEL          PROGRAM                    COMMENTS
    4100       74                      MOVA,#07            Loaddata1inaccumulator.
    4101      data1
    4102       75                      MOVB,#02              Loaddata2in B-register
    4103      data2
    4104       84                        DIVAB          Divide.RemainderinAandquo
                                                                   tientin B
    4105        90                  MOVDPTR,#4500H      InitializeDPTRwithaddress450
    4106        45                                                     0H
    4107        00
    4108        F0                   MOVX@DPTR,A         StoretheRemainderin45
                                                                  00H
    4109        A3                      INCDPTR              IncrementDatapointer
    410A       E5,F0                    MOVA,B           CopythecontentofB-regtoA-
                                                                   register.
    410C        F0                  MOVX@DPTR,A            Storethequotient in 4501H
    410D       80,FE     STOP:      SJMP STOP(410D)             Stoptheprogram
MULTIPLICATION
ALGORITHM:
        1.   Getthemultiplierintheaccumulator.
        2.   GetthemultiplicandintheBregister.
        3.   MultiplyAwith B.
        4.   Storetheproductinmemorylocation.
        5.   Stoptheprogram.
DIVISIONALGORITHM:
        1. GettheDividendintheaccumulator.
        2. GettheDivisorintheBregister.
        3. DivideAbyB.
        4. StoretheQuotientandRemainderinmemory.
        5. Stoptheprogram.
OUTPUT:
                    INPUT                             OUTPUT
      REGISTER              DATA           ADDRESS               DATA
       A-Register            07              4500            01(quotient)
       B-Register            02              4501            03(remainder)
   PROGRAM:
   AND OPERATION
                    INPUT                             OUTPUT
      REGISTER              DATA           ADDRESS               DATA
      R0-Register            14              4500                 10
       A-Register            12
   PROGRAM:
   OROPERATION
AIM:
To write and Executed on assembly language program to performed logical operation using 8051
APPARATUS:
          1. 8051microcontrollerkit------1
          2. Powercard-----1
          3. Keyboard----1
   ALGORITHM:
          1. GettheData1intheR0-register.
          2. GettheData2intheAregister.
          3. LogicalAND, OR,XORAwithR0.
          4. Storetheresultinmemory.
          5. Stoptheprogram.
OUTPUT:
                    INPUT                            OUTPUT
      REGISTER              DATA          ADDRESS                DATA
      R0-Register            85             4500                  9B
       A-Register            99
   PROGRAM:XOROPERATION
OUTPUT:
         INPUT                              OUTPUT
      REGISTER              DATA         ADDRESS             DATA
      R0-Register                           4500
      A-Register
RESULT:
           Thus assembly language program for programming using Arithmetic and logical using 8051 was
executed successfully.
PROGRAM:SQUAREOFANUMBER
   OUTPUT:
                INPUT                                OUTPUT
      ADDRESS            DATA            ADDRESS                   DATA
        4200              FF               4201                     01
                                           4202                     FE
        EXP.NO: 02                     Generation of Square Waveform Using 8051
        Date:
AIM:
To write and Executed on assembly language program to performed Generation of Square Waveform Using
8051
APPARATUS:
            1. 8051microcontrollerkit------1
            2. Powercard-----1
            3. Keyboard----1
SQUARE OF A NUMBER
ALGORITHM:
            1. GettheDataintheR0-register.
            2. GetthesameDataintheBregister.
            3. MultiplyAandB.
            4. Storetheresultinmemory.
            5. Stoptheprogram.
RESULT:
Thus assembly language program for programming Generation of Square Waveform Using 8051 was executed
successfully.
 EXP.NO:03                               Programming using On-chip Ports in 8051
 Date:
AIM:
         To write and Executed on assembly language program to performed Programming using On-chip Ports
       in 8051
APPARATUS:
             1. 8051microcontrollerkit------1
             2. Powercard-----1
             3. Keyboard----1
PROCEDURE:
 The 8051 microcontroller has 40 pins, comprising four I/O ports. The microcontroller uses 8 pins for
specific purposes, while 32 pins are configurable as input and output pins to connect the
microcontroller with peripheral devices. Each port consists of 8 bits, which we can define as an input
or an output.
8051 GPIO Ports details
A port is usually a set of eight pins, and we call them I/O because we can configure them as input or
output. 8051s has four GPIO ports, and each port has eight pins; each pin may have one or more than
one function
which is an open-drain bi-directional I/O port. Open drain simply means a transistor that connects to
the Ground, while bi-directional refers to the fact that this PORT is configurable as an input or an
output. We can use the P0 register to access PORT 0. This register is a bit accessible. Bit accessible
means that we can access individual bits of the register. For example, writing 1 to some bit of the P0
register will configure the corresponding pin as input, while writing 0 will configure that pin as
output. By default, the microcontroller configures every pin as input when it turns on.
P0 Register Pins
       When a microcontroller utilizes external memory, it must communicate with this memory using
        special pins and send a lower address byte to the external memory using P0 pins. If no external
        memory is connected, the microcontroller can use all P0 pins for I/O tasks.
       P0 pins don’t have a built-in pull-up resistor.
          If we configure p0 as an input, it behaves as if it is “floating”. This means its input resistance
           is very high, and its potential becomes uncertain because it is not actively driven by any
           source.
          When we set the P0 pin of the microcontroller as output, it behaves like an “open drain”. If
           we set the logic to 0, the pin connects to the ground (0 V). But if we provide the P0 pin with
           logic 1, it behaves as “floating”. In order to keep a stable logic voltage of 5 V, we need to
           connect an external pull-up resistor.
Now we are going to see Port 1 and Port 2 with interesting and simple examples. We will make a simple
program that will configure Port 1 as input and Port 2 as output, and whatever input we apply to Port 1 will be
sent to Port 2. Let’s try to code this example. We can write 0xFF to Port 1 to configure it as input, and we can
also skip this step as the microcontroller already configures Port 1 as input by default as it powers on. We can
also configure Port 2 as an output by writing 0 to it.
void main()
{
  P1 = 0xFF;
  P2 = 0x00;
 while (1) {
   P2 = P1;
 }
}
In this code, we have set Port 1 as input by writing P1 = 0xFF, and then we have set Port 2 as output using
0x00. In the last part, we want to send Port 1’s input to Port 2, so we can simply put Port 2 equal to Port 1.
Result:
Thus assembly language program for programming using On-chip port using 8051 was executed successfully.
….
EXP.NO:04                            Programming using Serial Ports in 8051
Date:
AIM:
        To write and Executed on assembly language program to performed Programming using Serial
        Ports in 8051.
APPARATUS:
        1. 8051microcontrollerkit------1
        2. Powercard-----1
        3. Keyboard----1
   Program:
   CHECK TRANSMISSION AND RECEPTION OF CHARACTER:
       ADDRESS OPCODE LABEL                   PROGRAM              COMMENTS
         4100     74      MOV                    A,#36
         4101     36
         4102     90      MOV                 DPTR,#FFCE
         4103     FF
         4104     CE
         4105     F0      MOVX                 @DPTR,A
         4106     74      MOV                   A,#12         ;To get an output
         4107     0A
         4108     90      MOV                 DPTR,#FFC8   ;frequency of 150KHZ at
         4109     FF
         410A     C8
         410B     F0      MOVX                 @DPTR,A     ;channel 0,so as to get A
         410C     74      MOV                   A,#00      ;band rate of 150KHz at
         410D     00
         410E     F0      MOV                  @DPTR,A            ;channel 0
         410F     74      MOVX                  A,#4E
         410G     4E
         4111     90      MOV                 DPTR,#FFC2
         4112     FF
         4113     C2
         4114     F0      MOVX                 @DPTR,A
         4115    74 37    MOV                   A,#37
         4117     F0      MOV                  @DPTR,A
         4118     74      MOVX                  A,#41
         4119     41
         411A     90      MOVX                DPTR,#FFC0
         411B     FF
         411C     C0
         411D     F0      MOV                  @DPTR,A
         411E     E0      MOVX                 A,@DPTR
Output:
     Thus assembly language program for programming using Serial port using 8051 was executed
successfully.
PROGRAM:
AIM:
     To write and Executed on assembly language program to performed Programming using Design of a
   Digital Clock Using Times/Counters in 8051
APPARATUS:
        1.    8086microprocessorkit-----1
        2.    TrafficLightControllerInterfaceboard-------1
        3.    Powercard-----1
        4.    Keyboard----1
OUTPUT:
1500-00 SECONDS
1501-00 MINUTES
1502-09 HOURS
RESULT:
   Thus the Programming Design of a Digital Clock Using Times/Counters in 8051 was
executed.
…..
EXP NO: 06(a)
                                       A/D INTERFACE WITH 8051
DATE:
AIM:
         Towrite anassemblylanguageprogramforinterfacingofADCwith8051.
ALGORITHM:-
                 (i)        Starttheprogram
                 (ii)       MakeCS=0andsendalowtohighpulsetoWRpintostarttheconversion.
                  (iii) NowkeepcheckingtheINTRpin.INTRwillbe1ifconversionisnotfinishedandINTR
             willbe0 if conversion is finished.
                 (iv)       If conversion is not finished(INTR=1),poll until it is finished.
                 (v)        Ifconversionisfinished(INTR=0),gotothenextstep.
                 (vi)       MakeCS=0andsendahightolowpulsetoRDpintoreadthedatafromtheADC
                 (vii)      Stoptheprogram
PROCEDURE:
                 (i)        PlacejumperJ2inCposition
                 (ii)       PlacejumperJ5inAposition
                 (iii)      Enterandexecutetheprogram
                         (iv) Varytheanaloginput(using
                trimpot)andviewthecorrespondingdigitalvalueinLEDdisplay,
FLOWCHART:
START
MakeCS=0
keepcheckingtheINTRpin
                Ifconversionisnotfinished(IN
                TR=1)
Ifconversionisfinished(INTR=0)
                           STOP
      PROGRAM:
JumperDetails:-
                                   Fromswitch                                CH3
                                   B                                         B
               Software                                 CH0        A
                                                                                   C   CH
                ASOC                       C
         Fromlatch
                 Box
….
     35
RESULT:
             Thus assembly language program for programming using Interfacing ADC 8051 was
executed successfully.
                                               36
…..
      37
EXPNO:06(b)
                                             INTERFACING OF DAC
 DATE:
AIM:
     TointerfacetheDACwith8051 microcontroller and generate the square wave, saw tooth wave
 and triangular wave.
REQUIREMENTS:
             S.           Hardware&SoftwareRequirements                 Quantity
             No
            1       8051TrainerKit                                      1No
            2       PowerChord                                          1No
            3       DACinterfacingboard                                 1No
            4       CRO                                                 1No
                                               38
 CIRCUITDIAGRAM:
WAVEFORMS:
                   39
    SQUAREWAVE
OBSERVATION:
AMPLITUDE TIMEPERIOD
5.4 v 2.2s
RESULT:
   Thus assembly language program for programming using InterfacingDAC 8051 was executed
   successfully.
                                             40
…..
….
      41
EXP.NO: 07                               BLINKING OF LEDS AND LCD
Date:
AIM:
       To write and execute the program for LED & Flashing Led‟swithARM7
 (LPC2148) processor.
            S.             Hardware&SoftwareRequirements                        Quantity
            No
            1       ARMProcessorboard                                      1
            2       USB/FRCConnector                                            few
            3       LEDModule                                               1
            4       PowerSupplyadaptor(5V,DC)                               1
            5       Keil&flashmagicSoftware                                 1
 PROCEDURE
       1. Create a New project Go to “Project” and close the current project “Close Project”.
       2. Next Go to the Project New μ vision Project Create New Project Select Device for Target.
       3. SelectthedatabaseNXPLPC2148.
       4. Add Start up file and Next go to “File” and click “New”.
       5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
       6. AddthissourcefiletoGroup andclickon“BuildTarget”orF7.
       7. CreateaHexfilefrom “Project”menuandclickon“RebuildalltargetFiles”.
       8. OpenFlashmagicandselectthedeviceLPC2148inARM7category,Choosethehardwareconn
       ected COMport,baudrate9600,interface None[ISP],Oscillatorfrequency
       9. Nextbrowsethepathofhexfileandselectthefile.
       10. AfterselectingISPmodeonthe HardwareKitandclickonstart thendevicewillstart
       toprogram
       11. Finally can be see the finished indication and values in SPJ Terminal and Reset
       the device into running mode.
       12. 0MHz and click on erase of flash code Rd plot.
                                                 42
LED INTERFACING:
CIRCUITDIAGRAM:
PROGRAM:
#include <lpc214x.h>inti;
Int main(){
IODIR0=(1<<3);
while(1)
{IOSET0=(1<<3);for(i=0;i<120000;i++);IOCLR0=(1<<3);for(i=0;i<120000;i++);
                                              43
FLASHING OF LED: CIRCUITDIAGRAM:
PROGRAM: TYPE-I:
 #include
 <lpc214x.h>inti;
 intmain()
 { IODIR0=0x000000
 FF;
 while(1)
 { IOSET0=0x000000A
 A;for(i=0;i<120000;i+
 +);I
                                   44
  OCLR0=0x000000A;
  for(i=0;i<120000;i++);
  }
  #include
  <lpc214x.h>intb,i;
  intmain()
  { IODIR0=0x000000F
  F;
  while(1)
  {
  for(b=0;b<8;b++)
  {IOSET0=(1<<b)
  ;for(i=0;i<120000;i+
  +);IOCLR0=(1<<b);fo
  r(i=0;i<120000;i++);
  }
  for(b=7;b>=0;b--)
  {IOSET0=(1<<b)
  ;for(i=0;i<120000;i+
  +);IOCLR0=(1<<b);fo
  r(i=0;i<120000;i++);
  }
  }
                                      45
PROGRAM:
 #include
 <lpc214x.h>inti,b;
 intmain()
 { IODIR0=0x000000
 FF;IODIR0=~(1<<16
 );
 while(1)
 {if((IOPIN0&(1<<16))==0)
 {
 for(b=0;b<8;b++)
 {IOSET0=(1<<b)
                            46
;for(i=0;i<120000;i+
+);IOCLR0=(1<<b);fo
r(i=0;i<120000;i++);
}
}
else
{ IOCLR0=0x000000F
F;
}
}
}
                       47
                                  BLINKING LCD
AIM:
       To write and execute the program for LCD with ARM7(LPC2148) processor.
       1        ARMProcessorboard                                               1
       2        USB/FRCConnector                                                    few
       3        LEDModule                                                       1
       4        PowerSupplyadaptor(5V,DC)                                       1
       5        Keil& flashmagicSoftware                                        1
PROCEDURE
       1. CreateaNewproject,Goto“Project”andclosethecurrentproject“CloseProject”.
       2. NextGotothe ProjectNewμvisionProjectCreate NewProjectSelectDeviceforTarget.
       3. SelectthedatabaseNXPLPC2148.
       4. AddStartupfileandNextgoto“File”andclick“New”.
       5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
       6. AddthissourcefiletoGroupandclickon“BuildTarget”orF7.
       7. CreateaHexfilefrom“Project”menuandclickon “RebuildalltargetFiles”.
       8. Open Flash magic and select the device LPC2148 in ARM 7 category, COM port will
       beCOM 3, baud rate 9600, interface None [ISP], Oscillator frequency 12.0 MHz and c lick
       onerase offlashcodeRd plot.
       9. Nextbrowsethepathofhexfileandselectthefile.
       10. AfterselectingISPmodeontheHardwareKitandclickonstart thendevicewillstart
       toprogram
       11. Finallycanbeseethe finished indicationandvaluesinSPJTerminalandReset
       thedevice intorunning mode.
                                                48
INTERFACING LCD:
CIRCUIT DIAGRAM:
PROGRAM:
 #include
 <lpc214x.h>#include
 <lcd.h>
                       49
  intmain()
   {
   LCD_INIT();
          LCDSTR(0x00000084,"St.ANNES");LCD
          STR(0x000000C2,"ENGGCOLLEGE");
          while(1)
          {
          }
   }
LCD LAYOUT:
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
           C0       C     C2 C3       C4    C5    C6    C     C8 C9 CA          CB    CC CD       CE    CF
                    1                                   7
OUTPUT:
80 67 43 34 34 14 51 65 67 87 77 55 33 92 75 25
C3 C4 C6 C3 C9 C0 C2 C8 C0 C2 C4 C5 C1 C3 C1 C3
RESULT:
        Thus ARM Processor for programming using Blinking of LEDs and LCD Using ARM was
executed successfully.
                                                             50
KEYBOARD INTERFACING:
CIRCUITDIAGRAM:
                        51
 EXPNO:08
                                INTERFACING OF MATRIX KEYBOARD
 DATE
AIM:
        To write and execute the program for Matrix Keyboard with ARM 7(LPC2148) processor.
PROCEDURE
        1. CreateaNewproject,Goto“Project”andclosethecurrentproject“CloseProject”.
        2. NextGototheProjectNewμvisionProjectCreate NewProjectSelectDeviceforTarget.
        3. Select thedatabaseNXPLPC2148.
        4. AddStartupfileandNextgoto“File”andclick“New”.
        5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
        6. AddthissourcefiletoGroupandclickon“BuildTarget”orF7.
        7. CreateaHexfilefrom“Project”menuandclickon “RebuildalltargetFiles”.
        8. Open Flash magic and select the device LPC2148 in ARM 7 category, COM port will
        beCOM 3, baud rate 9600, interface None [ISP], Oscillator frequency 12.0 MHz and click
        onerase offlashcodeRd plot.
        9. Nextbrowsethepathofhexfileandselectthefile.
        10. AfterselectingISPmodeontheHardwareKitandclickonstart thendevicewillstart
                                                  52
       toprogram
PROGRAM:
 #include
 <lpc214x.h>#include
 <lcd.h>#include<keybo
 ard.h>
 intmain()
 {
   LCD_INIT();
   LCDSTR(0x00000080,"Matrix
   Keypad");LCDSTR(0x000000C0,"KeyPr
   essed:");
  while(1)
    {
        IO0CLR=CLR;I
        O0SET= C1;
        delay_ms(10);if(scan(R1))LCDSTR(0x000000
        CC,"0");//
        K1if(scan(R2))LCDSTR(0x000000CC,"4");//
        K5if(scan(R3))LCDSTR(0x000000CC,"8");//
        K9if(scan(R4))LCDSTR(0x000000CC,"C");//
        K13IO0CLR=CLR;
        IO0SET = C2;
        if(scan(R1))LCDSTR(0x000000CC,"1");//K2if(
        scan(R2))LCDSTR(0x000000CC,"5");//
        K6if(scan(R3))LCDSTR(0x000000CC,"9");//
        K10if(scan(R4))LCDSTR(0x000000CC,"D");//
        K14IO0CLR=CLR;
        IO0SET = C3;
        if(scan(R1))LCDSTR(0x000000CC,"2");//K3if(
        scan(R2))LCDSTR(0x000000CC,"6");//
        K7if(scan(R3))LCDSTR(0x000000CC,"A");//
        K11if(scan(R4))LCDSTR(0x000000CC,"E");
        //K15IO0CLR=CLR;
        IO0SET = C4;
        if(scan(R1))LCDSTR(0x000000CC,"3");//K4if(
        scan(R2))LCDSTR(0x000000CC,"7");//
        K8if(scan(R3))LCDSTR(0x000000CC,"B");//
        K12if(scan(R4))LCDSTR(0x000000CC,"F");//
        K16
                                            53
       }
  }
AIM:
           To write and execute the program for Stepper Motor with ARM 7(LPC2148) processor.
S. No Hardware&SoftwareRequirements Quantity
               1        ARMProcessorboard                                       1
               2        USB/FRCConnector                                             few
               3        StepperMotorModule                                       1
               4        PowerSupplyadaptor(5V,DC)                                1
               5        Keil&flashmagicSoftware                                  1
PROCEDURE
           1. CreateaNewproject,Goto“Project”andclosethecurrentproject“CloseProject”.
           2. NextGototheProjectNewμvisionProjectCreateNewProjectSelectDeviceforTarget.
           3. SelectthedatabaseNXPLPC2148.
           4. AddStartupfileandNextgoto“File”andclick“New”.
           5. Writeaprogramontheeditorwindowandsaveas“Main.c”.
       i) AddthissourcefiletoGroupandclickon “BuildTarget”orF7.
       ii) CreateaHexfilefrom “Project”menuandclickon“RebuildalltargetFiles”.
       iii) Open Flash magic and select the device LPC2148 in ARM 7 category, COM port will beCOM
            3, baud rate 9600, interface None [ISP], Oscillator frequency 12.0 MHz and click onerase
            offlashcodeRd plot.
       iv) Nextbrowsethepathofhexfileandselectthefile.
                                                     54
     v) AfterselectingISPmodeontheHardwareKitandclickonstart thendevicewillstart toprogram
     vi) Finallycanbeseethefinished indicationandvalues inSPJTerminalandReset thedevice intorunning
         mode.
STEPPERMOTOR:(FORWARDROTATION)CIRCUITDIAGRAM:
PROGRAM:
  #include
 <lpc214x.h>#include<
 delay.h>
 intmain()
                                               55
 {IODIR0=(1<<16)|(1<<17)|(1<<18)|(1<<19)
 ;
       while(1)
       {
         //FORWARD
        DIRECTIONIOCLR0=(1<
        <16);IOCLR0=(1<<17);IOS
        ET0=(1<<18);
         IOSET0=(1<<19);
        delay_ms(10);IOC
        LR0=(1<<16);IOS
        ET0=(1<<17);IOS
        ET0=(1<<18);IOC
        LR0=(1<<19);
        delay_ms(10);IOS
        ET0=(1<<16);IOS
        ET0=(1<<17);IOC
        LR0=(1<<18);IOC
        LR0=(1<<19);
        delay_ms(10);IOS
        ET0=(1<<16);IOC
        LR0=(1<<17);IOC
        LR0=(1<<18);IOS
        ET0=(1<<19);
        delay_ms(10); }
        }
STEPPERMOTOR:(REVERSEROTATION)CIRCUITDIAGRAM:
                                           56
PROGRAM:
 #include
 <lpc214x.h>#include
 <delay.h>
intmain()
 {IODIR0=(1<<16)|(1<<17)|(1<<18)|(1<<19)
 ;
       while(1)
       {
        //REVERSE
        DIRECTIONIOSET0=(1<
        <16);IOCLR0=(1<<17);I
        OCLR0=(1<<18);IOSET0
        =(1<<19);
        delay_ms(10);IOS
        ET0=(1<<16);IOS
        ET0=(1<<17);IOC
        LR0=(1<<18);IOC
        LR0=(1<<19);
        delay_ms(10);IOC
        LR0=(1<<16);IOS
        ET0=(1<<17);IOS
        ET0=(1<<18);IOC
        LR0=(1<<19);
        delay_ms(10);IOC
        LR0=(1<<16);IOC
        LR0=(1<<17);IOS
        ET0=(1<<18);IOS
        ET0=(1<<19);
        delay_ms(10);
       }
 }
                                           57
RESULT:
          58
       Thus ARM Processor program for programming using Interfacing keyboard and stepper motor
was executed successfully.
                                                59
‘’..
……
       60
MINI PROJECT
     61
62
      PROJECT TITLE
Smart door lock system system
        using Arduino
                 Submitted by
                    M. Sathish        (511522106040)
            K. Rohith          (511522106034)
            V. Prakash         (511522106030)
            E. Tamilvasanthan (511522106047)
                            63
64
        TABLE OF CONTENT
S. NO CONTENT
1. Abstract
2. Introductions
3. Existing system
4. Proposed system
6. Working principle
7. Coding block
11. Conclusion
12. references
                  65
ABSTRACT
           66
       This project presents a Smart Door Lock System using Arduino
UNO, designed to enhance security through electronic access.
             The system uses a 4x4 matrix keypad for entering a secure
password, a servo motor to control the door’s lock mechanism, a buzzer
for alert signals, and a 16x2 LCD to display status messages.
         It is a standalone, non-WiFi-based solution ideal for home, lab,
and office security.
                                   67
INTRODUCTION
               68
 In the modern era, security plays a crucial role in both domestic and
  industrial applications.
 Traditional lock and key systems are vulnerable to duplication and
  tampering.
 The proposed Smart Door Lock System aims to overcome these
  limitations by introducing a password-protected entry mechanism
  using microcontroller-based automation.
 The project is built entirely on Arduino UNO, making it cost-
  effective, simple, and efficient.
                                 69
70
EXISTING SYSTEM
                       71
PROPOSED SYSTEM
              72
The proposed system offers an electronic smart lock based on password
input. It includes:
    Arduino UNO (controller)
    4x4 Matrix Keypad (user input)
    Servo Motor (mechanical locking)
    Buzzer (alerts)
    16x2 LCD (display status)
The user enters a password via the keypad. The system checks it and
either unlocks the door (with servo rotation and feedback) or alerts an
incorrect attempt. This ensures that only authorized users can access
the door.
                                   73
74
Main Block Diagram
Blocks:
     Keypad (Input)
     Arduino UNO (Processing)
     LCD (Output)
     Buzzer (Output)
     Servo Motor (Output)
                                 75
WORKING PRINCIPLE
                    76
 1. LCD  shows “Enter Password”
 2. User enters password using keypad
 3. On pressing ‘#’, password is verified
 4. If matched:
             LCD shows “Access Granted”
             Buzzer gives short beep
             Servo rotates 90° to unlock
             After 5 seconds, re-locks
5.f wrong:
       LCD shows “Access Denied”
       Buzzer gives long beep
                      77
CODING BLOCK
               78
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include
<Keypad.h> #include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); Servo lockServo;
Const byte ROWS = 4; const byte COLS = 4; char keys[ROWS][COLS]
= { {‘1’,’2’,’3’,’A’}, {‘4’,’5’,’6’,’B’}, {‘7’,’8’,’9’,’C’}, {‘*’,’0’,’#’,’D’}
}; byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3,
2};
Keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS,
COLS);
String password = “1234”; String input = “”; int buzzer = 11;
Void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0,0);
lcd.print(“Smart Door Lock”); delay(2000); lcd.clear(); lcd.print(“Enter
Password:”);
                                      79
80
ADVANTAGES, DISADVANTAGES &
APPLICATION
Advantages:
        No internet dependency
        Cost-effective and easy to implement
        LCD provides better user interaction
        High customization of passwords
Disadvantages:
                           81
Applications:
                82
     Home doors
     College labs
     Office cabins
     Server rooms
     Secure storage units
                             83
FUTURE WORKS:
                84
     Add fingerprint/RFID module
     Integrate SMS alert using GSM
     Store access logs in SD card
     Add real-time clock for access timestamps
                             85
Output
         86
Here I kept a code with output. After the entering the password in should
   open and also it give the range.
    Here, the hardware simulated output is given and it in on condition and also
    clearly give the circuit connection.
                                           87
CONCLUSION:
              88
   The Smart Door Lock System using Arduino UNO provides a
    simple, secure, and affordable access control solution.
   It enhances safety with minimal hardware and coding
    complexity.
   The use of an LCD ensures better feedback and user
    experience.
                                   89
REFERENCES:
              90
   www.arduino.cc
   Instructables Arduino Projects
   CircuitDigest Tutorials
   Embedded Systems by Raj Kamal
91