Digital Lock

download Digital Lock

of 37

  • date post

  • Category


  • view

  • download


Embed Size (px)



Transcript of Digital Lock

Microcontroller Based Digital Code Lock

Submitted by: C. THEJA DEEPAK

Microcontroller Based Digital Code Lock

ABSTRACT Security is a prime concern in our day-today life. Everyone wants to be as much secure as possible. An access control for doors forms a vital link in a security chain. The microcontroller based Door locker is an access control system that allows only authorized persons to access a restricted area. The system is fully controlled by the 8 bit microcontroller AT89C2051 which has a 2Kbytes of ROM for the program memory. The password is stored in the EPROM so that we can change it at any time. The system has a Keypad by which the password can be entered through it. When the entered password equals with the password stored in the memory then the relay gets on and so that the door is opened. If we entered a wrong password for more than three times then the Alarm is switched on. When we go inside and come back then the microcontroller will sense the person using the Laser light, the microcontroller will automatically open the door for you.

Page 2 of 32

Microcontroller Based Digital Code Lock

Page 3 of 32

Microcontroller Based Digital Code Lock






Page 4 of 32

Microcontroller Based Digital Code Lock

1. INTRODUCTION Password Based Door Security System using Microcontroller is used in the places where we need more security. It can also used to secure lockers and other protective doors. The system comprises a number keypad and the keypads are connected to the 8 bit microcontroller AT89C2051. This is one of the popular Microcontroller. It has only 20 pins and there are 15 input/output lines. The microcontroller has a program memory of 2 Kilobytes. The microcontroller continuously monitor the keypad and if somebody enters the password it will check the entered password with the password which was stored in the memory and if it they are same then the microcontroller will switch on the corresponding device. The system will allow the person who knows the password and it will not allow who dont know the password and the system will also show the persons who try to break the protection barrier.

Page 5 of 32

Microcontroller Based Digital Code Lock


2.2 BLOCK DIAGRAM EXPLANATION INTELS 8031 Architencture The generic 8031 architecture sports a Harvard architecture, which contains two separate buses for both program and data. So, it has two distinctive memory spaces of 64K X 8 size for both program and data. It is based on an 8 bit central processing unit with an 8 bit Accumulator and another 8 bit B register as main processing blocks. Other portions of the architecture include few 8 bit and 16 bit registers and 8 bit memory locations. Each 8031 device has some amount of data RAM built in the device for internal processing. This area is used for stack operations and temporary storage of data. This base architecture is supported with onchip peripheral functions like I/O ports, timers/counters, versatile serial communication port. So it is clear that this 8031 architecture was designed to cater many real time embedded needs. The following list gives the features of the 8031 architecture:Page 6 of 32

Microcontroller Based Digital Code Lock

Optimized 8 bit CPU for control applications. Extensive Boolean processing capabilities. 64K Program Memory address space. 64K Data Memory address space. 128 bytes of onchip Data Memory. 32 Bi directional and individually addressable I/O lines. Two 16 bit timer/counters. Full Duplex UART. 6 source / 5 vector interrupt structure with priority levels. Onchip clock oscillator. Now you may be wondering about the non mentioning of memory space

meant for the program storage, the most important part of any embedded controller. Originally this 8031 architecture was introduced with onchip, `one time programmable' version of Program Memory of size 4K X 8. Intel delivered all these microcontrollers (8051) with user's program fused inside the device. The memory portion was mapped at the lower end of the Program Memory area. But, after getting devices, customers couldn't change any thing in their program code, which was already made available inside during device fabrication. So, very soon Intel introduced the 8031 devices (8751) with re programmable type of Program Memory using built in EPROM of size 4K X 8. Like a regular EPROM, this memory can be re programmed many times. Later on Intel started manufacturing these 8031 devices without any onchip Program Memory. Central Processing Unit The CPU is the brain of the microcontrollers reading user's programs and executing the expected task as per instructions stored there in. Its primary elements are an 8 bit Arithmetic Logic Unit (ALU), Accumulator (Acc), few more 8 bit registers, B register, Stack Pointer (SP), Program Status Word (PSW) and 16 bitPage 7 of 32

Microcontroller Based Digital Code Lock

registers, Program Counter (PC) and Data Pointer Register (DPTR). The ALU (Acc) performs arithmetic and logic functions on 8 bit input variables. Arithmetic operations include basic addition, subtraction, multiplication and division. Logical operations are AND, OR, Exclusive OR as well as rotate, clear, complement and etc. Apart from all the above, ALU is responsible in conditional branching decisions, and provides a temporary place in data transfer operations within the device. B register is mainly used in multiply and divide operations. During execution, B register either keeps one of the two inputs and then retains a portion of the result. For other instructions, it can be used as another general purpose register. Timers/Counters 8031 has two 16 bit Timers/Counters capable of working in different modes. Each consists of a `High' byte and a `Low' byte which can be accessed under software. There is a mode control register and a control register to configure these timers/counters in number of ways.These timers can be used to measure time intervals, determine pulse widths or initiate events with one microsecond resolution upto a maximum of 65 millisecond (corresponding to 65, 536 counts). Use software to get longer delays. Working as counter, they can accumulate occurrences of external events (from DC to 500KHz) with 16 bit precision. In our project we are using 8 bit microcontroller AT89C2051, it is the advanced 8 bit microcontroller from ATMEL, which incorporates Flash Rom, and Timer etc. Features of AT89C2051 Compatible with MCS-51 Products 2 Kbytes of Reprogrammable Flash Memory Endurance: 1,000 Write/Erase Cycles 2.7 V to 6 V Operating Range Fully Static Operation: 0 Hz to 24 MHz Two-Level Program Memory Lock 128 x 8-Bit Internal RAMPage 8 of 32

Microcontroller Based Digital Code Lock

15 Programmable I/O Lines Two 16-Bit Timer/Counters Six Interrupt Sources Programmable Serial UART Channel Direct LED Drive Outputs On-Chip Analog Comparator Low Power Idle and Power Down Modes

Description The AT89C2051 is a low-voltage, high-performance CMOS 8-bit microcomputer with 2 Kbytes of Flash Programmable and erasable read only memory (PEROM). The device is manufactured using Atmels high density nonvolatile memory technology and is compatible with theindustry Standard MCS51 instruction set and pinout. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89C2051 is a powerful microcomputer which provides a highly flexible and cost effective solution to many embedded control applications. PIN Configurations

Page 9 of 32

Microcontroller Based Digital Code Lock

Block Diagram

Page 10 of 32

Microcontroller Based Digital Code Lock

PIN DESCRIPTION OF AT89C2051 VCC GND Port 1 Supply voltage. Ground. Port 1 is an 8-bit bidirectional I/O port. Port pins P1.2 to P1.7 provide internal pullups. P1.0 and P1.1 require external pullups. P1.0 and P1.1 also serve as the positive input (AIN0) and the negative input (AIN1), respectively, of the on-chip precision analog comparator. The Port 1 output buffers can sink 20 mA and can drive LED displays directly. When 1s are written to Port 1 pins, they can be used as inputs. When pins P1.2 to P1.7 are used as inputs and are externally pulled low, they will source current (IIL) because of the internal pullups. Port 1 also Port 3 receives code data during Flash programming and program verification. Port 3 pins P3.0 to P3.5, P3.7 are seven bidirectional I/O pins with internal pullups. P3.6 is hard-wired as an input to the output of the onchip comparator and is not accessible as a general purpose I/O pin. The Port 3 output buffers can sink 20 mA. When 1s are written to Port 3 pins they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pullups. Port 3 also serves the functions of various special features of the AT89C2051 as listed below. Port 3 also receives some control signals for Flash programming and RST programming verification. Reset input. All I/O pins are reset to 1s as soon as RST goes high. Holding the RST pin high for two machine cycles while the oscillator is running resets the device. Each machine cycle takes 12 oscillator or XTAL1 XTAL2 clock cycles. Input to the inverting oscillator amplifier and input to the intern