ABSTRACT
Monitoring Boarding school student movement using the old
fashioned study system is inefficient and brings difficulty to the hostel
management to check attendance manually.
By using RFID
technology, student movement is quick and easy. This project is to develop an
embedded system, which will record the attendance of the student using RFID
card based system and the data should be stored in the personal computer. The
RFID tags enable school management to
track the student’s movements in and out of the hostel or school.
DESCRIPTION:
In this system we are using the
radio frequency identification reader (RFID reader) and tags should be given to
each student. And the RFID reader should be connected to our personal computer.
Whenever student put his RFID tag near to the RFID reader then the student Id
is read by the microcontroller through the RFID reader then the microcontroller
compares whether the card is authorized or not.
In this project we also develop a
small front end application using visual basic. Whenever the reader reads the
id then the id and time in and time out should be displayed on the PC. And the
data should be recorded on the personal computer itself.
This project cannot control the
punctuation of student but it can ease the workload of school management and
save time.
SOFTWARE: Embedded ‘C’
TOOLS: Keil, Flash magic .
TARGET DEVICE:8051 microcontroller.
APPLICATIONS: For schools and offices
ADVANTAGES: Low cost, Low Power consumption.
TABLE OF
CONTENTS
s no.
|
CHAPTER NAME
|
PAGE NO.
|
1.
|
INTRODUCTION TO EMBEEDED
SYSTEMS
|
|
2.
|
8051 ARCHITECTURE
|
|
3.
|
RFID
|
|
4.
|
WOKING FLOW OF BLOCK DIAGRAM
|
|
5.
|
SOURCE CODING
|
|
6.
|
KEIL SOFTWARE
|
|
7.
|
BIBILOGRAPHY
|
|
LIST OF FIGURES
S NO.
|
FIGURE NAME
|
FIGURE NO.
|
PAGE NO.
|
1.
|
BLOCK DIAGRAM OF 8051
|
1.0
|
|
2.
|
PIN DIAGRAM OF MICROCONTROLLER
|
1.1
|
|
3.
|
BLOCK DIAGRAM OF
MICROPROCESSOR
|
1.2
|
|
4.
|
FUNCTIONAL BLOCKS OF MICROCONTROLLER
|
1.3
|
|
5.
|
DB9 CONNECTOR
|
1.4
|
|
6.
|
INTERFACING OF RS232C WITH MAX
232C
|
1.5
|
|
7.
|
INTERFACING OF RS232C WITH
MICROCONTROLLER
|
1.6
|
|
8.
|
BLOCK DIAGRAM OF RFID
|
1.7
|
|
9.
|
THREE TERMINAL VOLTAGE
REGULATOR
|
1.8
|
|
10.
|
BRIDGE WAVE RECTIFIER
|
1.9
|
|
|
|
|
|
|
LIST OF TABLES
S NO.
|
NAME OF THE TABLE
|
TABLE NO.
|
PAGE NO.
|
1.
|
PINS OF DB9 AND DB25 CONNECTOR
|
2.0
|
|
2.
|
LOGIC LEVELS
|
2.1
|
|
CHAPTER 1
INTRODUCTION TO EMBEDDED SYSTEM
INTRODUCTION
TO EMBEDDED SYSTEM
EMBEDDED SYSTEM:
An embedded
system is a special-purpose computer system designed to perform one or a few
dedicated functions, sometimes with real-time computing constraints. It is
usually embedded as part of a complete device including hardware and mechanical
parts. In contrast, a general-purpose computer, such as a personal computer,
can do many different tasks depending on programming. Embedded systems have
become very important today as they control many of the common devices we use.
Since the
embedded system is dedicated to specific tasks, design engineers can optimize
it, reducing the size and cost of the product, or increasing the reliability
and performance. Some embedded systems are mass-produced, benefiting from
economies of scale.
Physically,
embedded systems range from portable devices such as digital watches and MP3
players, to large stationary installations like traffic lights, factory
controllers, or the systems controlling nuclear power plants. Complexity varies
from low, with a single microcontroller chip, to very high with multiple units,
peripherals and networks mounted inside a large chassis or enclosure.
In
general, "embedded system" is not an exactly defined term, as many
systems have some element of programmability. For example, Handheld computers
share some elements with embedded systems — such as the operating systems and
microprocessors which power them — but are not truly embedded systems, because
they allow different applications to be loaded and peripherals to be connected.
An
embedded system is some combination of computer hardware and software, either
fixed in capability or programmable, that is specifically designed for a
particular kind of application device. Industrial machines, automobiles,
medical equipment, cameras, household appliances, airplanes, vending machines, and
toys (as well as the more obvious cellular phone and PDA) are among the myriad
possible hosts of an embedded system. Embedded systems that are programmable
are provided with a programming interface, and embedded systems programming is
a specialized occupation.
Certain
operating systems or language platforms are tailored for the embedded market,
such as Embedded Java and Windows XP Embedded. However, some low-end consumer
products use very inexpensive microprocessors and limited storage, with the
application and operating system both part of a single program. The program is
written permanently into the system's memory in this case, rather than being
loaded into RAM (random access memory), as programs on a personal computer are.
APPLICATIONS OF EMBEDDED SYSTEM
We are living in
the Embedded World. You are surrounded with many embedded products and your
daily life largely depends on the proper functioning of these gadgets.
Television, Radio, CD player of your living room, Washing Machine or Microwave
Oven in your kitchen, Card readers, Access Controllers, Palm devices of your
work space enable you to do many of your tasks very effectively. Apart from all
these, many controllers embedded in your car take care of car operations
between the bumpers and most of the times you tend to ignore all these
controllers.
In recent days,
you are showered with variety of information about these embedded controllers
in many places. All kinds of magazines and journals regularly dish out details
about latest technologies, new devices; fast applications which make you
believe that your basic survival is controlled by these embedded products. Now
you can agree to the fact that these embedded products have successfully
invaded into our world. You must be wondering about these embedded controllers
or systems. What is this Embedded System?
The computer you use to compose your
mails, or create a document or analyze the database is known as the standard
desktop computer. These desktop computers are manufactured to serve many
purposes and applications.
You
need to install the relevant software to get the required processing facility.
So, these desktop computers can do many things. In contrast, embedded
controllers carryout a specific work for which they are designed. Most of the
time, engineers design these embedded controllers with a specific goal in mind.
So these controllers cannot be used in any other place.
Theoretically,
an embedded controller is a combination of a piece of microprocessor based
hardware and the suitable software to undertake a specific task.
These days
designers have many choices in microprocessors/microcontrollers. Especially, in
8 bit and 32 bit, the available variety really may overwhelm even an
experienced designer. Selecting a right microprocessor may turn out as a most
difficult first step and it is getting complicated as new devices continue to
pop-up very often.
In the 8 bit segment, the most popular
and used architecture is Intel's 8031. Market acceptance of this particular
family has driven many semiconductor manufacturers to develop something new
based on this particular architecture. Even after 25 years of existence,
semiconductor manufacturers still come out with some kind of device using this
8031 core.
1) Military and aerospace software
applications
From
in-orbit embedded systems to jumbo jets to vital battlefield networks,
designers of mission-critical aerospace and defense systems requiring real-time
performance, scalability, and high-availability facilities consistently turn to
the LynxOS® RTOS and the Lynx OS-178 RTOS for software certification to
DO-178B.
Rich in system
resources and networking services, LynxOS provides an off-the-shelf software
platform with hard real-time response backed by powerful distributed computing
(CORBA), high reliability, software certification, and long-term support
options.
The LynxOS-178
RTOS for software certification, based on the RTCA DO-178B standard, assists
developers in gaining certification for their mission- and safety-critical
systems. Real-time systems programmers get a boost with LynuxWorks' DO-178B RTOS
training courses.
LynxOS-178 is
the first DO-178B and EUROCAE/ED-12B certifiable, POSIX®-compatible RTOS
solution.
"Five-nines"
availability, CompactPCI
hot swap support, and hard real-time response—LynxOS delivers on these
key requirements and more for today's carrier-class systems. Scalable kernel
configurations, distributed computing capabilities, integrated communications
stacks, and fault-management facilities make LynxOS the ideal choice for
companies looking for a single operating system for all embedded telecommunications
applications—from complex central controllers to simple line/trunk cards.
LynuxWorks Jumpstart for
Communications package enables OEMs to rapidly develop mission-critical
communications equipment, with pre-integrated, state-of-the-art, data
networking and porting software components—including source code for easy
customization.
The Lynx
Certifiable Stack (LCS) is a secure TCP/IP
protocol stack designed especially for applications where standards
certification is required.
As the number of powerful
embedded processors in consumer devices continues to rise, the BlueCat®
Linux® operating system provides a highly reliable and royalty-free
option for systems designers.
And as the
wireless appliance revolution rolls on, web-enabled navigation systems, radios,
personal communication devices, phones and PDAs all benefit from the
cost-effective dependability, proven stability and full product life-cycle
support opportunities associated with BlueCat embedded Linux. BlueCat has
teamed up with industry leaders to make it easier to build Linux mobile
phones with Java integration.
.For makers of
low-cost consumer electronic devices who wish to integrate the LynxOS real-time
operating system into their products, we offer special MSRP-based pricing to
reduce royalty fees to a negligible portion of the device's MSRP.
MICROCONTROLLER
VERSUS MICROPROCESSOR
What is the
difference between a Microprocessor and Microcontroller? By microprocessor is
meant the general purpose Microprocessors such as Intel's X86 family (8086,
80286, 80386, 80486, and the Pentium) or Motorola's 680X0 family (68000, 68010,
68020, 68030, 68040, etc). These microprocessors contain no RAM, no ROM, and no
I/O ports on the chip itself. For this reason, they are commonly referred to as
general-purpose Microprocessors.
A system designer using a
general-purpose microprocessor such as the Pentium or the 68040 must add RAM,
ROM, I/O ports, and timers externally to make them functional. Although the
addition of external RAM, ROM, and I/O ports makes these systems bulkier and
much more expensive, they have the advantage of versatility such that the
designer can decide on the amount of RAM, ROM and I/O ports needed to fit the
task at hand. This is not the case with Microcontrollers.
A
Microcontroller has a CPU (a microprocessor) in addition to a fixed amount of
RAM, ROM, I/O ports, and a timer all on a single chip. In other words, the
processor, the RAM, ROM, I/O ports and the timer are all embedded together on
one chip; therefore, the designer cannot add any external memory, I/O ports, or
timer to it. The fixed amount of on-chip ROM, RAM, and number of I/O ports in
Microcontrollers makes them ideal for many applications in which cost and space
are critical.
In many applications, for
example a TV remote control, there is no need for the computing power of a 486
or even an 8086 microprocessor. These applications most often require some I/O
operations to read signals and turn on and off certain bits.
MICROCONTROLLERS FOR EMBEDDED SYSTEMS
In the
Literature discussing microprocessors, we often see the term Embedded System.
Microprocessors and Microcontrollers are widely used in embedded system
products. An embedded system product uses a microprocessor (or Microcontroller)
to do one task only. A printer is an example of embedded system since the
processor inside it performs one task only; namely getting the data and
printing it. Contrast this with a Pentium based PC. A PC can be used for any
number of applications such as word processor, print-server, bank teller
terminal, Video game, network server, or Internet terminal. Software for a
variety of applications can be loaded and run. Of course the reason a pc can
perform myriad tasks is that it has RAM memory and an operating system that
loads the application software into RAM memory and lets the CPU run it.
In an Embedded system,
there is only one application software that is typically burned into ROM. An
x86 PC contains or is connected to various embedded products such as
keyboard, printer, modem, disk controller, sound card, CD-ROM drives, mouse,
and so on. Each one of these peripherals has a Microcontroller inside it that
performs only one task. For example, inside every mouse there is a
Microcontroller to perform the task of finding the mouse position and sending
it to the PC. Table 1-1 lists some embedded products.
CHAPTER 2
8051
Architecture & Programming
8051 ARCHITECTURE
The generic 8051 architecture supports 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
programmed 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 8051 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
bus architecture is supported with on-chip peripheral functions like I/O ports,
timers/counters, versatile serial communication port. So it is clear that this
8051 architecture was designed to cater many real time embedded needs.
FEATURES OF 8051
ARCHITECTURE
1) Optimized 8 bit CPU for control applications and extensive Boolean processing . capabilities.
2) 64K Program Memory address
space.
3) 64K Data Memory address space.
4) 128 bytes of on chip Data
Memory.
5) 32 Bi-directional and
individually addressable I/O lines.
6) Two 16 bit timer/counters.
7) Full Duplex UART.
8) 6-source / 5-vector interrupt
structure with priority levels.
9) On chip clock oscillator.
Now we 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 8051 architecture was
introduced with on-chip, ‘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.
BLOCK DIAGRAM OF
8051
Figure 1.0 - Block
Diagram of the 8051
So, very soon Intel introduced the 8051 devices 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 on chip Program Memory.
MICROCONTROLLER
LOGIC SYMBOL
Figure 1.1-PIN DIAGRAM
OF MICROCONTROLLER
ALE/PROG: Address Latch Enable output
pulse for latching the low byte of the address during accesses to external
memory. ALE is emitted at a constant rate of 1/6 of the oscillator frequency,
for external timing or clocking purposes, even when there are no accesses to
external memory. (However, one ALE pulse is skipped during each access to
external Data Memory.) This pin is also the program pulse input (PROG) during
EPROM programming.
PSEN : Program
Store Enable is the read strobe to external Program Memory. When the device is
executing out of external Program Memory, PSEN is activated twice each machine
cycle (except that two PSEN activations are skipped during accesses to external
Data Memory). PSEN is not activated when the device is executing out of internal
Program Memory.
EA/VPP: When EA is held high the CPU executes out of
internal Program Memory (unless the Program Counter exceeds 0FFFH in the
80C51). Holding EA low forces the CPU to execute out of external memory regardless
of the Program Counter value. In the 80C31, EA must be externally wired low. In
the EPROM devices, this pin also receives the programming supply voltage (VPP)
during EPROM programming.
XTAL1: Input to the inverting oscillator amplifier.
XTAL2: Output
from the inverting oscillator amplifier.
The 8051’s I/O port
structure is extremely versatile and flexible. The device has 32 I/O pins
configured as four eight bit parallel ports (P0, P1, P2
and P3). Each pin can be used as an input or as an output under the software control. These I/O pins can be accessed
directly by memory instructions during program execution to get required
flexibility.
These port lines can be operated in different modes and all the pins can
be made to do many different tasks apart from
their regular I/O function executions. Instructions, which access external
memory, use port P0 as a multiplexed address/data bus.
At the beginning of an external memory cycle, low order 8 bits of the address bus are output on P0. The same
pins transfer data byte at the later stage of the instruction execution.
Also, any instruction that accesses external
Program Memory will output the higher order byte on P2 during read cycle. Remaining ports, P1 and P3 are available
for standard I/O functions. But all the 8 lines of
P3 support special functions: Two external interrupt lines, two counter inputs,
serial port’s two data lines and two timing control strobe lines
are designed to use P3 port lines. When you don’t use these special functions,
you can use corresponding port lines as a standard I/O. Even within a single port, I/O operations may be combined
in many ways. Different pins can be configured as
input or outputs independent of each other or the same pin can be used as an
input or as output at different times. You can comfortably combine I/O
operations and special operations for Port 3 lines.
All
the Port 3 pins are multifunctional. They are not only port pins, but also
serve the functions of various special features as listed below:
1)
Port Pin Alternate
Function
2)
P3.0 RxD (serial
input port)
3)
P3.1 TxD (serial
output port)
MEMORY ORGANISATION
The
alternate functions can only be activated if the corresponding bit latch in the
port SFR contains a 1. Otherwise the port pin remains at 0.All 80C51 devices
have separate address spaces for program and data memory, as shown in Figures 1
and 2. The logical separation of program and data memory allows the data memory
to be accessed by 8-bit addresses, which can be quickly stored and manipulated
by an 8-bit CPU. Nevertheless, 16-bit data memory addresses can also be generated
through the DPTR register.
Program memory (ROM, EPROM) can only be
read, not written to. There can be up to 64k bytes of program memory. In the
80C51, the lowest 4k bytes of program are on-chip. In the ROM less versions,
all program memory is external. The read strobe for external program memory is
the PSEN (program store enable). Data Memory (RAM) occupies a separate address
space from Program Memory. In the 80C51, the lowest 128 bytes of data memory
are on-chip. Up to 64k bytes of external RAM can be addressed in the external
Data Memory space. In the ROM less version, the lowest 128 bytes are on-chip.
The CPU generates read and write signals, RD and WR, as needed during external
Data Memory accesses.
External Program Memory and
external Data Memory may be combined if desired by applying the RD and PSEN
signals to the inputs of an AND gate and using the output of the gate as the
read strobe to the external Program/Data memory.
BASIC REGISTERS
A number of 8052 registers can be considered "basic."
Very little can be done without them and a detailed explanation of each one is
warranted to make sure the reader understands these registers before getting
into more complicated areas of development.
The Accumulator: If you've worked with
any other assembly language you will be familiar with the concept of an
accumulator register.
The
Accumulator, as its name suggests, is used as a general register to accumulate
the results of a large number of instructions. It can hold an 8-bit (1-byte)
value and is the most versatile register the 8052 has due to the sheer number
of instructions that make use of the accumulator. More than half of the 8052's
255 instructions manipulate or use the Accumulator in some way. For example, if you want to add the number 10
and 20, the resulting 30 will be stored in the Accumulator. Once you have a
value in the Accumulator you may continue processing the value or you may store
it in another register or in memory.
The
"R" Registers:
The "R" registers are sets of eight
registers that are named R0, R1, through R7. These registers are used as
auxiliary registers in many operations. To continue with the above example,
perhaps you are adding 10 and 20. The original number 10 may be stored in the
Accumulator whereas the value 20 may be stored in, say, register R4. To process
the addition you would execute the command:
ADD A, R4
After executing
this instruction the Accumulator will contain the value 30. You may think of
the "R" registers as very important auxiliary, or "helper",
registers. The Accumulator alone would not be very useful if it were not for
these "R" registers.
The "R"
registers are also used to store values temporarily. For example, let’s say you
want to add the values in R1 and R2 together and then subtract the values of R3
and R4. One way to do this would be:
MOV A, R3
; Move the value of R3 to accumulator
ADD A, R4 ; add the value of R4
MOV R5, A ; Store the result in R5
MOV A, R1 ; Move the value of R1 to Acc
ADD A, R2 ; add the value of R2 with A
SUBB A, R5 ; Subtract the R5 (which has R3+R4)
As
you can see, we used R5 to temporarily hold the sum of R3 and R4. Of course,
this isn't the most efficient way to calculate (R1+R2) - (R3 +R4) but it does
illustrate the use of the "R" registers as a way to store values
temporarily.
As
mentioned earlier, there are four sets of "R" registers-register bank
0, 1, 2, and 3. When the 8052 is first powered up, register bank 0 (addresses
00h through 07h) is used by default. In this case, for example, R4 is the same
as Internal RAM address 04h. However, your program may instruct the 8052 to use
one of the alternate register banks; i.e., register banks 1, 2, or 3. In this
case, R4 will no longer be the same as Internal RAM address 04h. For example,
if your program instructs the 8052 to use register bank 1, register R4 will now
be synonymous with Internal RAM address 0Ch. If you select register bank 2, R4
is synonymous with 14h, and if you select register bank 3 it is synonymous with
address 1Ch.
The
concept of register banks adds a great level of flexibility to the 8052,
especially when dealing with interrupts (we'll talk about interrupts later).
However, always remember that the register banks really reside in the first 32
bytes of Internal RAM.
The
B Register
The "B"
register is very similar to the Accumulator in the sense that it may hold an
8-bit (1-byte) value. The "B" register is only used implicitly by two
8052 instructions: MUL AB and DIV AB. Thus, if you want to quickly and easily
multiply or divide A by another number, you may store the other number in
"B" and make use of these two instructions.
Aside
from the MUL and DIV instructions, the "B" register are often used as
yet another temporary storage register much like a ninth "R"
register.
The Program Counter
The Program Counter (PC) is
a 2-byte address that tells the 8052 where the next instruction to execute is
found in memory. When the 8052 is initialized PC always starts at 0000h and is
incremented each time an instruction is executed. It is important to note that
PC isn't always incremented by one. Since some instructions are 2 or 3 bytes in
length the PC will be incremented by 2 or 3 in these cases.
The
Program Counter is special in that there is no way to directly modify its
value. That is to say, you can't do something like PC=2430h. On the other hand,
if you execute LJMP 2430h you've effectively accomplished the same thing.
It
is also interesting to note that while you may change the value of PC (by
executing a jump instruction, etc.) there is no way to read the value of PC.
That is to say, there is no way to ask the 8052 "What address are you
about to execute?" As it turns out, this is not completely true: There is
one trick that may be used to determine the current value of PC. This trick
will be covered in a later chapter.
The Data Pointer:
The
Data Pointer (DPTR) is the 8052ís only user-accessible 16-bit (2-byte)
register. The Accumulator, "R" registers, and "B" register
are all 1-byte values. The PC just described is a 16-bit value but isn't
directly user-accessible as a working register.
DPTR,
as the name suggests, is used to point to data. It is used by a number of
commands that allow the 8052 to access external memory. When the 8052 accesses
external memory it accesses the memory at the address indicated by DPTR.
While
DPTR is most often used to point to data in external memory or code memory,
many developers take advantage of the fact that it's the only true 16-bit
register available. It is often used to store 2-byte values that have nothing
to do with memory locations.
The Stack Pointer:
The Stack Pointer, like all registers except DPTR and PC, may hold
an 8-bit (1-byte) value. The Stack Pointer is used to indicate where the next
value to be removed from the stack should be taken from.
When
you push a value onto the stack, the 8052 first increments the value of SP and
then stores the value at the resulting memory location. When you pop a value
off the stack, the 8052 returns the value from the memory location indicated by
SP and then decrements the value of SP.
This order of operation is important. When the 8052 is initialized
SP will be initialized to 07h. If you immediately push a value onto the stack,
the value will be stored in Internal RAM address 08h. This makes sense taking
into account what was mentioned two paragraphs above: First the 8051 will
increment the value of SP (from 07h to 08h) and then will store the pushed
value at that memory address (08h).
ADDRESSING MODES
The
addressing modes in the 80C51 instruction set are as follows:
Direct
Addressing: In
direct addressing the operand is specified by an 8-bit address field in the
instruction. Only internal Data RAM and SFRs can be directly addressed.
Indirect Addressing: In indirect
addressing the instruction specifies a register which contains the address of
the operand. Both internal and external RAM can be indirectly addressed. The
address register for 8-bit addresses can be R0 or R1 of the selected bank, or
the Stack Pointer. The address register for 16-bit addresses can only be the
16-bit “data pointer” register, DPTR.
Register Instructions : The register banks, containing registers R0
through R7, can be accessed by certain instructions which carry a 3-bit
register specification within the opcode of the instruction. Instructions that
access the registers this way are code efficient, since this mode eliminates an
address byte. When the instruction is executed, one of the eight registers in
the selected bank is accessed. One of four banks is selected at execution time
by the two bank select bits in the PSW.
Register-Specific Instructions :
Some instructions are specific to a certain register. For example, some
instructions always operate on the Accumulator, or Data Pointer, etc., so no
address byte is needed to point to it. The opcode itself does that.
Instructions that refer to the Accumulator as A assemble as accumulator specific
opcodes.
Immediate Constants
The
value of a constant can follow the opcode in Program Memory. For example,
MOV A, #100
loads
the Accumulator with the decimal number 100. The same number could be specified
in hex digits as 64H.
Indexed Addressing
Only
program Memory can be accessed with indexed addressing, and it can only be
read. This addressing mode is intended for reading look-up tables in Program
Memory A 16-bit base register (either DPTR or the Program Counter) points to
the base of the table, and the Accumulator is set up with the table entry
number. The address of the table entry in Program Memory is formed by adding
the Accumulator data to the base pointer. Another type of indexed addressing is
used in the “case jump” instruction. In this case the destination address of a
jump instruction is computed as the sum of the base pointer and the Accumulator
data.
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 bit 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, and 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 It is mainly used in multiply and divides operations.
During execution, B register either keeps one of
the two inputs or then retains a portion of the result. For other instructions,
it can be used as another general purpose register.
Program
Status Word (PSW) : It keeps the current status of the ALU in
different bits. Stack Pointer (SP) is an 8 bit register. This
pointer keeps track of memory space where the important register information is stored when the program flow gets
into executing a subroutine. The stack portion
may be placed in any where in the on-chip RAM. But normally SP is initialized
to 07H after a device reset and grows up from the location
08H. The Stack Pointer is automatically incremented or decremented for all PUSH
or POP instructions and for all subroutine calls and returns.
Program
Counter (PC) : It is the 16 bit register giving address of
next instruction to be executed during program execution and it always points
to the Program Memory space. Data Pointer (DPTR)
is another 16 bit addressing register that can be used to fetch any 8 bit data
from the data memory space. When it is not being
used for this purpose, it can be used as two eight bit registers.
TIMERS/COUNTERS
8051 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 up to 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 500 KHz) with 16 bit
precision.
SERIAL
PORTS
Each
8051 microcomputer contains a high speed full duplex (means you can
simultaneously use the same port for both transmitting and receiving
purposes) serial port which is software configurable in 4 basic modes: 8 bit
UART; 9 bit UART; inter processor Communications link or as shift register I/O
expander.
For the standard serial
communication facility, 8051 can be programmed for UART operations and can be connected with regular personal computers, teletype
writers, modem at data rates between 122 bauds
and 31 kilo bauds. Getting this facility is made very simple using simple
routines with option to elect even or odd parity. You can also
establish a kind of Inter processor communication facility among many
microcomputers in a distributed environment with automatic recognition of
address/data. Apart from all above, you can also get super
fast I/O lines using low cost simple TTL or CMOS shift registers.
MICROPROCESSOR
A microprocessor
as a term has come to be known is a general-purpose digital computer central
processing unit. Although popularly known as a computer on a chip.
The microprocessor contains arithmetic and
logic unit, program counter, Stack pointer, some working registers, clock
timing circuit and interrupt circuits.
To make a complete computer one must
add memory usually RAM & ROM, memory
decoders, an oscillator and number of I/O devices such as parallel and serial
data ports in addition special purpose devices such as interrupt handlers and
counters.
The key term in describing the design
of the microprocessor is “general purpose”. The hardware design of a
microprocessor CPU is arranged so that a small or very large system can be
configured around the CPU as the application demands.
The prime use
of microprocessor is to read data, perform extensive calculations on that data
and store those calculations in a mass storage device. The programs used by the
microprocessor are stored in the mass storage device and loaded in the RAM as
the user directs. A few microprocessor programs are stored in the ROM. The ROM
based programs are primarily are small fixed programs that operate on
peripherals and other fixed device that are connected to the system
BLOCK DIAGRAM
OF MICROPROCESSOR
Figure 1.2-BLOCK DIAGRAM
OF MICROPROCESSOR
MICROCONTROLLER
Micro controller is a true
computer on a chip the design incorporates all of the features found in a
microprocessor CPU: arithmetic and logic unit, stack pointer, program counter
and registers. It has also had added additional features like RAM, ROM, serial
I/O, counters and clock circuit.
Like the microprocessor, a
microcontroller is a general purpose device, but one that is meant to read
data, perform limited calculations on that data and control it’s environment
based on those calculations. The prime use of a microcontroller is to control
the operation of a machine using a fixed program that is stored in ROM and that
does not change over the lifetime of the system.
The design approach of a
microcontroller uses a more limited set of single byte and double byte
instructions that are used to move code and data from internal memory to ALU.
Many instructions are coupled with pins on the IC package; the pins are capable
of having several different functions depending on the wishes of the
programmer.
The microcontroller
is concerned with getting the data from and on to its own pins; the
architecture and instruction set are optimized to handle data in bit and byte
size.
Figure 1.3- FUNCTIONAL BLOCKS OF A
MICROCONTROLLER
CRITERIA FOR CHOOSING
A MICROCONTROLLER
1) The first and foremost criterion for
choosing a microcontroller is that it must meet task at hands efficiently
and cost effectively. In analyzing the needs of a microcontroller based project we must first
see whether it is an 8-bit, 16-bit or 32-bit microcontroller and how best it can handle
the computing needs of the task most effectively.
The other considerations in this category are:
(a) Speed:
The highest speed that the microcontroller supports
(b) Packaging: Is it 40-pin
DIP or QPF or some other packaging format?
This is important in terms
of space, assembling and prototyping the
End product.
(c) Power
Consumption: This is especially critical for battery-powered
Products.
(d) The amount of RAM and ROM on chip
(e) The number of I/O pins and timers on the
chip.
(f) Cost
per unit: This is important in terms of final product in which a
microcontroller is used.
2) The second criteria in choosing a
microcontroller are how easy it is to develop products around it. Key
considerations include the availability of an assembler, debugger, a code
efficient ‘C’ language compiler, emulator, technical support and both in house
and outside expertise. In many cases third party vendor support for chip is
required.
3) The third criteria in choosing a
microcontroller is it readily available in needed quantities both now and in
future. For some designers this is even more important than first two
criteria’s. Currently, of leading 8–bit microcontrollers, the 89C51 family has
the largest number of diversified (multiple source) suppliers. By suppliers
meant a producer besides the originator of microcontroller in the case of the
89C51, which was originated by Intel, several companies are also currently
producing the 89C51. Viz: INTEL, PHILIPS, These companies include PHILIPS,
SIEMENS, and DALLAS-SEMICONDUCTOR. It should be noted that Motorola, Zilog and
Microchip Technologies have all dedicated massive resource as to ensure wide and
timely availability of their product since their product is stable, mature and
single sourced. In recent years they also have begun to sell the ASIC library
cell of the microcontroller.
CHAPTER
3
RFID
RFID
RFID (Radio Frequency Identification)
technology has been around for many years. Prior to the year 2000, common uses
for RF-ID in the USA included tollway passes, access ID cards and the tiny ID
chips that are inserted in animals for identification. The recent introduction
of RFID in the supply chain as well as several mandates has added to the
awareness and value of this technology.
RFID tags
operate at several different frequencies. The majority of RFID tags operate at
either 13 MHZ or 900 MHZ. Think of these two frequencies as the AM and FM bands
on your radio. Each one has its advantages. For example, one works better when
surrounded by metal while the other will work better over long distances.
13
MHZ (HF) tags are generally better at penetrating liquids and are usually used
for access control such as in security cards and wristbands. The read range at
this frequency is about 3 feet or 1 meter.
900 MHZ (UHF) tags operate better
when reading multiple tags simultaneously, and thus are generally the tag type
of choice for inventory purposes. The read range at this frequency is about
3-10 feet or more depending on what type of reader, interrogator or access
point is used.
Most RFID tags do not
contain any data in them after they are manufactured; they are similar to a
blank label waiting for information to be printed on them. To place information
in the tag, an encoder must be used. One of the most popular methods of
encoding is with an RFID Capable Label Printer that has a built-in encoder and
RFID Capable Barcode Label Software.
There are basically three types (called
classes) of tags:
Class
0 - these tags are like a license plate in that they are read only and are
encoded with data when they are manufactured.
Class
1 - these tags allow you to write the data in the tag and are usually one time
programmable (OTP). These are available in either HF or UHF versions and are
known as GEN1.
Class
1 GEN2 EPC (GEN2) - these tags are the latest type of UHF tag and are the types
of tags most referred to in this document. They are also the tags required for
mandates by various suppliers such as Wal-Mart and the US Department of Defense
(DOD). In the industry, we refer to these tags simply as GEN2. These tags are
96 bits or larger and contain advanced features such as lock after write and
CRC read verification.
The
following components are required to write data (encode) to class 1 tags:
Software
Application à Encoder Software à Tag Encoder à RFID Tag
The
following components are required to read data from the tag:
RFID
Tag, Reader, Interrogator or Access Point à Decoding Software à Software
Application
IDAutomation.com
provides some components of this system including Software Applications,
Encoder Software and Tag Writers.
RFID vs Barcodes
Barcoding is a mature
technology that has been around for many years, unlike RFID which is still in
its infancy. Additionally, the components used to read and write bar codes have
come down in price because of this maturity and sales volume. There are many
additional issues to consider with RFID, such as those listed below in the
Disadvantages of RFID section. However, all things considered, RFID has many
advantages over barcoding. In some cases, these advantages outweigh the
disadvantages and high cost of the components. Decision makers must carefully
consider whether RFID really provides an advantage over barcoding in their
business model. Advantages and Disadvantages of RFID
Advantages:
Inventory efficiency -
Because line of sight is not required to read RFID tags, inventory can be
performed in a highly efficient method. For example, pallets in a warehouse can
be read, inventoried, and their location can be determined no matter where the
tag is placed on the pallet. This is because the radio waves from the reader
are strong enough for the tag to respond regardless of location.
Return
on investment - Though the cost may be high at first, the total cost of
ownership should go down over the years and provide a return on investment
(ROI), if the implementation provides a significant method to improve business
processes.
Vulnerability
to damage minimized - barcodes can be damaged in many ways. Although, 2D
barcode types such as Data Matrix can be read even when up to 40% of the
barcode is damaged.
Disadvantages:
Dead areas and orientation
problems - RFID works similar to the way a cell phone or wireless network does.
Just like these technologies, there may be certain areas that have weaker
signals or interference. In addition, poor read rates are sometimes a problem
when the tag is rotated into an orientation that does not align well with the
reader. These issues can usually be minimized by properly implementing multiple
readers and using tags with multiple axis antennas.
Security
concerns
- Because RFID is not a line of sight technology like barcoding, new security
problems could develop. For example, a competitor could set up a high gain
directional antenna to scan tags in trucks going to a warehouse. From the data
received, this competitor could determine flow rates of various products.
Additionally, when RFID is used for high security operations such as payment
methods, fraud is always a possibility.
Ghost
tags - In rare cases, if multiple tags are read at the same time the
reader will sometimes read a tag that does not exist. Therefore, some type of
read verification, such as a CRC, should be implemented in either the tag, the
reader or the data read from the tag.
Proximity
issues - Tags cannot be read well when placed on metal or liquid objects or
when these objects are between the reader and the tag. Nearly any object that
is between the reader and the tag reduces the distance the tag can be read
from.
High cost - Because this
technology is new, the components and tags are expensive compared to barcodes.
In addition, software and support personnel that are needed to install and
operate the RFID reading systems (in a warehouse for example) may be more
costly to employ.
Unread tags - When reading
multiple tags at the same time, it is possible that some tags will not be read
and there is no sure method of determining this when the objects are not in
sight. This problem does not occur with barcodes, because when the barcode is
scanned, it is instantly verified when read by a beep from the scanner and the
data can then be entered manually if it does not scan.
Vulnerable to damage - Water, static
discharge or high power magnetic surges (such as from a close lightning strike)
may damage the tags.
{ RFID MODULE
is interfaced to microcontroller via RS232}
RS232 (serial port).
RS-232
(Recommended Standard - 232) is
a telecommunications standard for binary serial communications between devices. It supplies the roadmap
for the way devices speak to each other using serial ports. The devices are commonly referred to as a DTE (data terminal
equipment) and DCE (data communications equipment); for example, a computer and modem, respectively.
RS232 is the most known
serial port used in transmitting the data in communication and interface. Even
though serial port is harder to program than the parallel port, this is the
most effective method in which the data transmission requires less wires that
yields to the less cost. The RS232 is the communication line which enables the
data transmission by only using three wire links. The three links provides
‘transmit’, ‘receive’ and common ground...
The ‘transmit’
and ‘receive’ line on this connecter send and receive data between the
computers. As the name indicates, the data is transmitted serially. The two
pins are TXD & RXD. There are other lines on this port as RTS, CTS, DSR,
DTR, and RTS, RI. The ‘1’ and ‘0’ are the data which defines a voltage level of
3V to 25V and -3V to -25V respectively.
The electrical characteristics of
the serial port as per the EIA (Electronics Industry Association) RS232C
Standard specifies a maximum baud rate of 20,000bps, which is slow compared to
today’s standard speed. For this reason, we have chosen the new RS-232D
Standard, which was recently released.
The RS-232D has existed in two
types. i.e., D-TYPE 25 pin connector and D-TYPE 9 pin connector, which are male
connectors on the back of the PC. You need a female connector on your
communication from Host to Guest computer. The pin outs of both D-9 & D-25
are show below
D-Type-9
pin no.
|
D-Type-25 pin no.
|
Pin
outs
|
Function
|
3
|
2
|
RD
|
Receive
Data
(Serial data input)
|
2
|
3
|
TD
|
Transmit
Data (Serial data output)
|
7
|
4
|
RTS
|
Request
to send
(acknowledge to modem that UART is ready to exchange
data
|
8
|
5
|
CTS
|
Clear
to send
(i.e.; modem is ready to exchange data)
|
6
|
6
|
DSR
|
Data
ready state
(UART establishes a link)
|
5
|
7
|
SG
|
Signal
ground
|
1
|
8
|
DCD
|
Data
Carrier detect (This line is
active when modem detects a carrier
|
4
|
20
|
DTR
|
Data
Terminal Ready.
|
9
|
22
|
RI
|
Ring
Indicator
(Becomes active when modem detects ringing signal
from PSTN
|
Table 2.0-pins of DB9 and
DB25 connector
Rs232
Figure 1.4-DB9 CONNECTOR
When communicating with various micro processors one
needs to convert the RS232 levels down to lower levels, typically 3.3 or 5.0 Volts. Here is a cheap
and simple way to do that. Serial RS-232 (V.24) communication works with
voltages -15V to +15V for high and low. On the other hand, TTL
logic operates between 0V and +5V . Modern low power consumption logic operates
in the range of 0V and +3.3V or even lower.
RS-232
|
TTL
|
Logic
|
-15V …
-3V
|
+2V … +5V
|
High
|
+3V … +15V
|
0V …
+0.8V
|
Low
|
Table
2.1-LOGIC LEVELS
Thus the RS-232 signal levels are far too
high TTL electronics, and the negative RS-232 voltage for
high can’t be handled at all by computer logic. To receive serial data from an
RS-232 interface the voltage has to be reduced. Also the low and high
voltage level has to be inverted. This level converter uses a Max232
and five capacitors. The max232 is quite cheap (less
than 5 dollars) or if youre lucky you can get a free sample from Maxim.
The MAX232 from Maxim was the first IC which in one package
contains
the necessary drivers and
receivers to adapt the RS-232 signal voltage levels to TTL logic. It
became popular, because it just needs one voltage (+5V or +3.3V) and generates
the necessary
RS-232
voltage levels.
MAX
232 PIN DIAGRAM
+---\/---+
1 -|C1+ Vcc|- 16
2 -|V+ gnd|- 15
3 -|C1- T1O|- 14
4 -|C2+ R1I|- 13
5 -|C2- R1O|- 12
6 -|V- T1I|- 11
7 -|T2O T2I|- 10
8 -|R2I R2O|- 9
+--------+
RS232 INTERFACED
TO MAX 232
Figure 1.5-INTERFACING
OF RS232 TO MAX 232
Rs232 is 9 pin db connector, only three pins of this
are used ie 2,3,5 the transmit pin of rs232 is connected to RX pin of microcontroller.
Max232
interfaced to microcontroller
Figure 1.6-INTERFACING OF MAX 232 WITH MICROCONTROLLER
MAX232 is connected to
the microcontroller as shown in the figure above 11, 12 pin are connected to
the 10 and 11 pin ie transmit and receive pin of microcontroller
BLOCK DAIGRAM EXPLANATI ON:
Mainly the block diagram
consists of following parts:
- Power
supply circuit
- 8051
controller
- RFID
- Voltage
Level converter
- LCD
Generally we get 230v of power supply but we
need only 5v to generate the micro controller so before giving the power supply
directly to it we will use transformer, capacitive filters , generators to
convert 230v of power supply to the required amount to provide required supply
to the micro controller. Here we are the adjusting the output voltage to our
required amount. Here we are using 8051micro controller so it requires only 5v
so we use another module to get 5v supply to the 8051.
Here we are using graphical LCD as the
output to display the data. The graphical LCD is used to display the images so
we are using graphical LCD here. To
connect the LCD to the 8051 it contains four data pins for getting data from
the micro controller and to display data on LCD. We connect four data pins to
port0 as shown below which is used to transfer the data and to display it on
the LCD.
When the RFID card of a person is placed
on the RFID reader the reader reads the tag number from the RFID card by
energizing the coil present inside the
RFID card and then it generates electromagnetic waves inside the card and then
it reads tag number present in the memory card through RF waves. This tag
number is compared with the already stored data and checks whether the RFID TAG
of a person is valid or not.
The students must place their
RFID card at the RFID reader after reading the TAG number it checks with the
data present in the data base whether it is valid card or not and then it
internally takes attendance of the student and updates his data with in the
database. And total data can be viewed on the LCD connected to it. The GSM
modem is used to inform their parents when they are absent to the school.
Message will be send to their parents directly.
Schematic Diagram & Hardware :
REGULATED POWER
SUPPLY
A variable regulated power supply, also called a variable bench power
supply, is one where you can continuously adjust the output voltage to your
requirements. Varying the output of the power supply is the recommended way to
test a project after having double checked parts placement against circuit
drawings and the parts placement guide.
This
type of regulation is ideal for having a simple variable bench power supply.
Actually this is quite important because one of the first projects a hobbyist
should undertake is the construction of a variable regulated power supply.
While a dedicated supply is quite handy e.g. 5V or 12V, it's much handier to
have a variable supply on hand, especially for testing.
Most digital logic
circuits and processors need a 5 volt power supply. To use these parts we need
to build a regulated 5 volt source. Usually you start with an unregulated power
To make a 5 volt power supply, we use a LM7805 voltage regulator IC (Integrated
Circuit). The IC is shown below.
Figure 1.8 – THREE TERMINAL
VOLTAGE REGULATOR
The
LM7805 is simple to use. You simply connect the positive lead of your
unregulated DC power supply (anything from 9VDC to 24VDC) to the Input pin,
connect the negative lead to the Common pin and then when you turn on the
power, you get a 5 volt supply from the Output pin.
CIRCUIT FEATURES
Brief description of operation: Gives out well regulated +5V output, output current capability of 100
mA
Circuit protection: Built-in overheating protection shuts down output when regulator IC
gets too hot
Circuit complexity: Very simple and easy to build
Circuit performance: Very stable +5V output voltage, reliable operation
Availability of components: Easy to get, uses only very common basic components
Design testing: Based on datasheet example circuit, I have used this circuit
succesfully as part of many electronics projects
Applications: Part of electronics devices, small laboratory power supply
Power supply voltage: Unreglated DC 8-18V power supply
Power supply current: Needed output current + 5 mA
Component costs: Few dollars for the electronics components + the input transformer cost
BLOCK DIAGRAM :
Figure 1.9 – BRIGDE WAVE RECTIFIER
EXAMPLE CIRCUIT
DIAGRAM:
WE CAN EVEN USE
A USB CONNECTOR FOR THE REQUIRED SUPPLY INSTEAD OF THE ABOVE CIRCUIT
CHAPTER 7
KEIL SOFTWARE
Introduction to Micro vision Keil (IDE) :
Keil is a cross
compiler. So first we have to understand the concept of compilers and cross
compilers. After then we shall learn how to work with keil.
Concept of compiler: -
Compilers are
programs used to convert a High Level Language to object code. Desktop
compilers produce an output object code for the underlying microprocessor, but
not for other microprocessors. I.E the programs written in one of the HLL like
‘C’ will compile the code to run on the system for a particular processor like
x86 (underlying microprocessor in the computer). For example compilers for Dos
platform is different from the Compilers for Unix platform.
So if one wants to define a compiler
then compiler is a program that translates source code into object code. The
compiler derives its name from the way it works, looking at the entire piece of
source code and collecting and reorganizing the instruction. See there is a bit
little difference between compiler and an interpreter. Interpreter just
interprets whole program at a time while compiler analyzes and execute each line
of source code in succession, without looking at the entire program.
The advantage of
interpreters is that they can execute a program immediately. Secondly programs
produced by compilers run much faster than the same programs executed by an
interpreter. However compilers require some time before an executable program
emerges. Now as compilers translate source code into object code, which is
unique for each type of computer, many compilers are available for the same
language.
Concept of cross compiler: -
A cross compiler is similar to the
compilers but we write a program for the target processor (like 8051 and its
derivatives) on the host processors (like computer of x86)
It means being in one environment
you are writing a code for another environment is called cross development. And
the compiler used for cross development is called cross compiler
So the definition of cross compiler is
a compiler that runs on one computer but produces object code for a different
type of computer. Cross compilers are used to generate software that can run on
computers with a new architecture or on special-purpose devices that cannot
host their own compilers. Cross compilers are very popular for embedded development,
where the target probably couldn't run a compiler. Typically an embedded
platform has restricted RAM, no hard disk, and limited I/O capability. Code can
be edited and compiled on a fast host machine (such as a PC or Unix
workstation) and the resulting executable code can then be downloaded to the
target to be tested. Cross compilers are beneficial whenever the host machine
has more resources (memory, disk,
I/O etc) than the target. Keil C Compiler is one such compiler that
supports a huge number of host and target combinations. It supports as a target
to 8 bit microcontrollers like Atmel and Motorola etc.
Why do we need cross compiler?
There
are several advantages of using cross compiler. Some of them are described as
follows
a)
By using this compilers not only can development of complex embedded systems be
completed in a fraction of the time, but reliability is improved, and
maintenance is easy.
b)
Knowledge of the processor instruction set is not required.
c) A
rudimentary knowledge of the 8051’s memory architecture is desirable but not
necessary.
d)
Register allocation and addressing mode details are managed by the compiler.
e)
The ability to combine variable selection with specific operations improves program
readability.
f)
Keywords and operational functions that more nearly resemble the human thought
process can be used.
g)
Program development and debugging times are dramatically reduced when compared
to assembly language programming.
h)
The library files that are supplied provide many standard routines (such as
formatted output, data conversions, and floating-point arithmetic) that may be
incorporated into your application.
i)
Existing routine can be reused in new programs by utilizing the modular
programming techniques available with C.
j) The C
language is very portable and very popular. C compilers are available for
almost all target systems. Existing software investments can be quickly and
easily converted from or adapted to other processors or environments.
Now after going
through the concept of compiler and cross compilers lets we start with Keil C
cross compiler.
Keil C cross compiler: -
Keil is a German based
Software development company. It provides several development tools like
1)
IDE (Integrated Development environment)
2)
Project Manager
3)
Simulator
4)
Debugger
5)
C Cross Compiler, Cross Assembler, Locator/Linker
Keil Software
provides you with software development tools for the 8051 microcontrollers.
With these tools, you can generate embedded applications for the multitude of 8051
derivatives. Keil provides following tools for 8051 development :
1.
8051 Optimizing C Cross Compiler,
2.
Macro Assembler,
3. 8051
Utilities (linker, object file converter, library manager),
4.
Source-Level Debugger/Simulator,
5.
µVision for Windows Integrated Development Environment.
The keil 8051
tool kit includes three main tools, assembler, compiler and linker.
An assembler is
used to assemble your 8051 assembly program
A compiler is
used to compile your C source code into an object file
A linker is used
to create an absolute object module suitable for your in-circuit emulator.
8051 project
development cycle: -
These are the steps to develop 8051 project
using keil
- Create
source files in C or assembly.
- Compile or
assemble source files.
- Correct
errors in source files.
- Link object
files from compiler and assembler.
- Test linked
application.
CHAPTER
CONCLUSION
CONCLUSION :
The project “RFID BASED SCHOOL/COLLEGE MANAGEMENT
SYSTEM.” has been successfully designed and tested. It has been developed by integrating features
of all the hardware components used. Presence of every module has been reasoned
out and placed carefully thus contributing to the best working of the unit.
Secondly, using highly
advanced IC’s and with the help of growing technology the project has been
successfully implemented.
CHAPTER 9
BIBLIOGRAPHY
BIBLIOGRAPHY
The 8051 Micro controller and
Embedded Systems
-Muhammad
Ali Mazidi
-Janice
Gillispie Mazidi
The 8051 Micro controller
Architecture, Programming & Applications
-Kenneth J.Ayala
Fundamentals Of Micro
processors and Micro computers
-B.Ram
Micro processor Architecture,
Programming & Applications
-Ramesh S.Gaonkar
Electronic Components
-D.V.Prasad
Wireless Communications
- Theodore S. Rappaport
Mobile Tele Communications
- William C.Y. Lee
8051 System Developer’s Guide
-Andrew
N.SLOSS
-Domenic Symes
-Chris Wright
No comments:
Post a Comment