0% found this document useful (0 votes)
11 views89 pages

DOC-20230501-WA0000

Uploaded by

iamshadow.xyz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views89 pages

DOC-20230501-WA0000

Uploaded by

iamshadow.xyz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 89

A PROJECT REPORT

ON

“8051 MICRONTROLLER DEVELOPMENT BOARD”

SUBMITTED BY

SR. NO. ENROLLMENT NO. NAME OF STUDENT

1 1911520108 KALE NARAYAN ROHIDAS

2 2011020203 DAITHANKAR TEJAS SACHIN

3 2011520208 GONDGE KRUSHNA ASHOK

4 2011520226 WAGH SAURAV BHASKAR

UNDER THE GUIDANCE OF

MR. D. S. LAMB

TO

ELECTRONICS AND TELE-COMMUNICATION ENGINEERING

DEPARTMENT

CSMSS COLLEGE OF POLYTECHNIC, KANCHANWADI,

CHHATRAPATI SAMBHAJINAGAR

1
CERTIFICATE

This is to certify that Project Report Entitled "8051


MICROCONTROLLER DEVELOPMENT BOARD" has been submitted by
following Students of final year of Electronics & Tele-communication
Engineering from CSMSS College of Polytechnic for fulfilment of "Diploma in
Electronics and Telecommunication Engineering" of MSBTE Mumbai is
recorded for their own work carried out by them during academic session 2022-
2023.
Submitted by
Sr. No. Enrollment no. Name of student
1 1911520108 Kale Narayan Rohidas
2 2011020203 Daithankar Tejas Sachin
3 2011520208 Gondge Krushna Ashok
4 2011520226 Wagh Saurav Bhaskar

Mr. D. S. Lamb Mr. M. D. Narangale


Project Guide Head of Department
Dr. G. B. Dongre
Principal
ACKNOWLEDGEMENT

We would like to express our thanks to the people who have helped us most
throughout our project. We would like to express our sincere thanks to the
Principal of CSMSS College of Polytechnic Dr. Ganesh B. Dongre for being
always with us as a motivator. We are thankful to the H.O.D. of Electronics &
Tele-communication Engineering Department Mr. M. D. Narangale for his kind
support. We are grateful to our Project Guide Mr. D. S. Lamb for nonstop
support and continuous motivation for the project. His help made us possible to
complete our project with all accurate information. A special thanks of our goes
to our friends who helped us in completing the project, where they all exchanged
their own interesting ideas. We wish to thanks our parents for their personal
support or attention who inspired us to go our own way. Finally, we would like
to thank God who made all things possible for us till the end.

Sr. No. Name of Student Signature

1. Kale Narayan Rohidas

2. Daithankar Tejas Sachin

3. Gondge Krushna Ashok

4. Wagh Saurav Bhaskar


ABSTRACT

In Electronic field microcontroller is very basic term and components


which is use to multiple control unit and we need to perform many task according
to our requirements. The 8051 microcontroller provides a very easy platform to
perform all tasks in an easier way. The microcontroller is use to minimize the
room size electronics circuit in finger size circuit, it happens only because of
microcontroller, it is very important part of electronics. To develop skills of
operating microcontroller we need to understand it.
CONTENT PAGE
 Table of Content

Sr. No. Name of Content Page No.

1. Chapter 1 1-5
Introduction
1.1 Overview 1

1.2 History 2

1.3 Benefits 2

1.4 Need 3

2. Chapter 2 6-7
Literature Survey
2.1 The Article referred for project 6

3. Chapter 3 8-30
System Development
3.1 Block Diagram of 8051 Microcontroller 8
Development Board
3.2 Microcontroller 9

3.3 Power Supply 9

3.4 Reset circuit 10

3.5 Oscillator circuit 12

3.6 Serial Interface 13

3.7 LED interface 15

3.8 16x2 LCD Display interface 17

3.9 7 segment display interface 18

3.10 DC Motor interface 19


3.11 Stepper Motor Interface 20

3.12 Relay Interface 21

3.13 Switch Interface 22

3.14 Matrix Keyboard Interface 23

3.15 ADC Interface 24

3.16 DAC Interface 25

3.17 Buzzer 26

3.18 Procedure of System Development 27

4. Chapter 4 28-58
System Analysis
4.1 LED interface 31

4.2 16x2 LCD Display interface 32

4.3 7 Segment Display interface 36

4.4 DC Motor Interface 37

4.5 Stepper Motor Interface 39

4.6 Relay Interface 40

4.7 Matrix Keyboard Interface 43

4.8 ADC Interface 49

4.9 DAC Interface 51

4.10 Buzzer Interface 53

4.11 Software's 54

5. Chapter 5 59-61
Conclusion
5.1 Conclusion 59

5.2 Advantages 59
5.3 Disadvantages 60

5.4 Application 60

References 62

Appendix 62

 List of figure

Sr. No. Name of figure Page No.

1. Development Board 1

2. Block Diagram of Development Board 8

3. 40 Pin DIP microcontroller 9

4. Power Supply 10

5. Pin Diagram of 7805 10

6. Tactile switch 11

7. Oscillator Circuit 12

8. Serial Interface 13

9. RS232 Pinouts 14

10. MAX232 Structure 15

11. LED interface 16

12. 16x2 LCD Interface 17

13. Seven segment display interface 18


14. DC Motor interface 19

15. Stepper Motor Interface 20

16. Relay Interface 21

17. Switch Interface 22

18. Matrix Keyboard Interface 23

19. Analog to Digital Converter Interface 24

20. Digital to Analog Converter 25

21. Buzzer Interface 26

 List of Table

Sr. No. Name of Table Page no.

1. Pin function of 7805 IC 10

2. Name of Components 29

3. Name of Equipment 30
CHAPTER 1
INTRODUCTION

1.1 OVERVIEW

The “8051 Microcontroller Development Board” project aims to create a versatile


platform for experimenting with the 8051 microcontroller. The project involves the design
and development of a printed circuit board (PCB) that includes the 8051 microcontroller,
along with all the necessary peripherals, such as LED’s, switches, LCD’s, and sensors. The
development board is designed to provide a user-friendly interface for programming and
testing the 8051 microcontroller.
The project also includes the development of software components for the
development board, including firmware that controls the microcontroller and a user interface
for programming and debugging. The development board supports a range of programming
languages, including C, Assembly, and BASIC.
The development board is powered by an external power supply or a USB connection
and includes a range of communication interfaces, such as UART, SPI, and I2C, which
enable users to communicate with other devices or sensors. The board also features an
integrated debugger, which enables users to debug their programs directly on the board, as
well as a range of on-board sensors, such as temperature, humidity, and motion sensors.
The project includes testing and validation procedures to ensure the development
board functions as intended and meets the project’s objectives. The final product is a versatile
platform that enables users to experiment with the capabilities of the 8051 microcontroller
and explore its potential applications in embedded systems and electronics.

Figure 1.1.1: development board

1
1.2 HISTORY
Development boards are a common tool used by engineers and electronics enthusiasts
to prototype and experiment with microcontrollers and other electronic components. The
history of development boards can be traced back to the early days of the microprocessor,
when hobbyists and researchers were experimenting with the newly available technology.
The first development boards were simple breadboards or prototype boards, which
provided a way to connect the microprocessor to other components, such as memory,
input/output devices, and sensors. These early development boards were often handmade, and
required a great deal of technical knowledge and skill to build and operate.
As microprocessors became more powerful and more widely used, the demand for
more sophisticated development boards grew. In the 1980s, companies such as Intel and
Motorola began to develop standardized development boards for their microprocessors,
which made it easier for engineers and hobbyists to experiment with the technology.
Over time, development boards have become increasingly sophisticated and versatile,
offering a wide range of features and capabilities. Today, development boards are available
for a wide range of microcontrollers, including the popular Arduino and Raspberry Pi
platforms, as well as more specialized microcontrollers such as the 8051, PIC, and AVR.
The development of the “8051 Microcontroller Development Board” was a response
to the need for a versatile and user-friendly platform for experimenting with the 8051
microcontroller. The development board was designed to provide a wide range of features
and capabilities, such as programming interfaces, communication interfaces, on-board
sensors, and an integrated debugger.
Today, development boards are widely used by hobbyists, students, and professionals
alike to prototype and test electronic systems and to develop new applications for
microcontrollers and other electronic components. They have become an essential tool in the
world of electronics, enabling engineers and enthusiasts to explore the full potential of the
technology and to create innovative new products and applications.

The history of the “8051 Microcontroller Development Board” project can be traced
back to the development of the 8051 microcontroller itself. The 8051 microcontroller was
first introduced in 1980 by Intel Corporation, and it quickly became one of the most widely
used microcontrollers in the world. The 8051 microcontroller was designed to provide a
versatile and cost-effective solution for embedded systems and electronics applications.

2
As the popularity of the 8051 microcontroller grew, there was a need for a
development platform that would enable users to experiment with its capabilities and explore
its potential applications. This led to the development of various development boards for the
8051 microcontroller, each with its own set of features and capabilities.
The “8051 Microcontroller Development Board” project was initiated as a response to
the need for a versatile and user-friendly platform for experimenting with the 8051
microcontroller. The project aimed to create a development board that would provide users
with a range of features and capabilities, such as programming interfaces, communication
interfaces, on-board sensors, and an integrated debugger.

The project was designed and developed by a team of engineers and electronics
enthusiasts who were passionate about the potential of the 8051 microcontroller. The team
worked tirelessly to design and develop a PCB layout that would accommodate all the
necessary components and peripherals, while still being compact and easy to use.
The project also involved the development of firmware and software components that
would enable users to program and test the 8051 microcontroller. The team worked on
developing a user-friendly interface that would make it easy for users to write and debug their
programs.
Over time, the “8051 Microcontroller Development Board” project has evolved to
include new features and capabilities. Today, the development board is a highly versatile
platform that enables users to experiment with a range of different applications and explore
the full potential of the 8051 microcontroller.

1.3 BENIFITS
The “8051 Microcontroller Development Board” offers a wide range of benefits for
electronics enthusiasts, students, and professionals alike. Some of the key benefits of the
development board include:
i. Versatility: The development board is designed to be highly versatile, with a wide
range of features and capabilities that enable users to experiment with a range of
applications and explore the full potential of the 8051 microcontroller.
ii. User-Friendly Interface: The development board features a user-friendly interface
that makes it easy for users to program and test the 8051 microcontroller. The

3
interface includes features such as integrated programming and debugging tools, on-
board sensors, and communication interfaces.
iii. Easy to Use: The development board is designed to be easy to use, with a compact
and well-organized layout that makes it simple to connect peripherals and other
electronic components.
iv. Cost-Effective: The development board provides a cost-effective solution for
experimenting with the 8051 microcontroller, with a range of features and capabilities
that would be difficult or expensive to replicate using individual components.
v. Programming Flexibility: The development board supports a range of programming
languages, including C, Assembly, and BASIC, enabling users to choose the
programming language that best suits their needs.
vi. Educational Value: The development board is an excellent tool for teaching and
learning about microcontrollers and embedded systems, providing a hands-on
approach to learning that is both engaging and effective.
vii. Expandability: The development board is designed to be expandable, with a range of
expansion ports and connectors that enable users to add additional peripherals and
components as needed.
Overall, the “8051 Microcontroller Development Board” provides a versatile and user-
friendly platform for experimenting with the 8051 microcontroller and exploring its potential
applications in embedded systems and electronics. Whether you are a student, hobbyist, or
professional, the development board offers a range of benefits that can help you to learn,
experiment, and innovate with microcontrollers and other electronic components.

1.4 NEED

i. Experimentation: The development board is an ideal platform for experimentation


with the 8051 microcontroller, enabling users to explore a range of applications and
use cases.
ii. Learning: The development board offers an excellent tool for learning about
microcontrollers and embedded systems, providing a hands-on approach to learning
that is both engaging and effective.

4
iii. Ease of Use: The development board is designed to be easy to use, with a well-
organized layout and on-board programming and debugging tools that make it simple
to develop and test code.
iv. Versatility: The development board is highly versatile, with a range of features and
capabilities that enable users to experiment with a wide range of applications and use
cases.
v. Cost-Effective: The development board provides a cost-effective solution for working
with the 8051 microcontroller, with a range of features and capabilities that would be
difficult or expensive to replicate using individual components.
vi. Time-Saving: The development board can save a lot of time and effort for
developers, providing a ready-made platform for developing and testing applications.
vii. Expandability: The development board is designed to be expandable, with a range of
expansion ports and connectors that enable users to add additional peripherals and
components as needed.
Overall, the “8051 Microcontroller Development Board” is an essential tool for anyone
working with the 8051 microcontroller and developing applications for embedded systems. It
provides a versatile, cost-effective, and user-friendly platform for experimentation, learning,
and development, while also saving time and effort and offering expandability for future
projects.

5
CHAPTER 2
LITERATURE SURVEY

2.1 THE ARTICLES REFERRED FOR PROJECT

Several researchers have done considerable amount of work relating to 8051


Development Board it is as follows.
A "Development and Use of Multi-module 8051 Micro-controller Board for Teaching
and Learning Micro-controller Programming" as per [1]. A microcontroller is playing an
active role in an embedded system. Learning the microcontroller has become necessary not
just for engineering but also many other disciplines, such as computer science, electronics
and physics. Laboratory session is one approach that has helped students to understand the
subject when they are exposed to the hardware and software. This paper discusses the
development and use of multi-module 8051 microcontroller experimental board for
microcontroller course for teacher and student of different disciplines in science and
engineering. The experimental board is multi-module-based where the 8051 micro-controller
is on the main module and other modules are related to interfacing application such as the
16X2 LCD display, 7-segment display, de motor speed control, DAC, etc. The
8051microcontroller perform single task at a time which create an effective learning
environment for the student. For example, after writing a simple program using assembly/C-
language, students can load the program hex file into the micro-controller using ISP and they
can easily connect the microcontroller to related interface circuit through the connector to see
the result immediately. The main purpose is to encourage the teachers and students to utilize
their knowledge of 8051 microcontroller in terms of embedded system design.
An "8051 MODULAR DVELOPMENT BOARD" as per [2]. It is a general purpose
40 Pin 8051 modular development board with on-board 16*2 LCD support, 4*4 general
purpose switches, power supply circuit, RS232 port for serial interface with computer and
other serial devices, reset switch, power status LED. Use this board to kick start development
based on compatible 8051 microcontrollers. The board lets you to concentrate on
programming, testing and optimizing your code, and thereby your overall project, rather than
spending time in getting to know the electronics requiring boarded to use these
microcontrollers. These boards are perfect for learning, testing and development. The
intermediate Board offers support for 16 x 12 LCDs with on-board contrast control and it

6
offers a lot more general purpose LEDs and switches are connected to IO pins on the
microcontroller the jumpers and their connected to pins can be disabled if you wish to use the
IO pins on the microcontroller for other purpose. The board is compatible with the
AT89S51/52 microcontrollers. The board is perfect if you are just starting out with 8051
programming and also if you want a reliable tried and tested board far building advanced
project based on it.
A "Thermal- Electrical Simulation and Analysis of Lm7805 IC for Electronics Power
Supply Adapter" as per [3]. LM7805 IC is a fixed linear voltage regulator. The difference in
the value of input voltage and output voltage comes as a heat. Now a days, the failure rate of
an LM7805 IC increases exponentially with respect to their temperature variations. In the
existing system, Aluminium is used as a heat sink to transfer the heat and aluminium heat
sink reaches its limitations to transfer heat in a LM7805 IC chip. In this work, Aluminium
heat sink is replaced by Aluminium Nitride. The electrical properties, heat dissipation,
reliability and power consumption of Aluminium Nitride heat sink are analysed by using
simulation software's (ANSYS and Multisim) .It is found that the Aluminium Nitride heat
sink has lower current density, higher heat dissipation, highly reliable and less power
consumption than that of Aluminium heat sink.
A "Voltage Regulators" as per [4]. Voltage Regulators, Line Regulation, Load
Regulation, Series and Shunt Regulator, Positive and Negative Voltage Regulators (78XX,
7805 to 7824 & 79XX, 7905 to 7924), Adjustable and Fixed Voltage Regulator, LM Series
Voltage Regulator, IC Voltage Regulators, Switching Voltage Regulators etc.
A "The new form of electro thermal model of MA7805 positive voltage regulator" as
per [5]. This paper presents the problem of modelling the linear 3-terminal positive-voltage
regulator MA7805 (IC) with self-heating taken into account. In the construction of the
Electro thermal Macro model (ETM) the modified electrical SPICE-library model of the
considered device has been used. This micro model has been implemented to SPICE with the
use of the ABM option. The proposed micro model was verified experimentally and a good
agreement between the calculation and measurement results was obtained.

7
CHAPTER 3
SYSTEM DEVELOPMENT

3.1 BLOCK DIAGRAM OF 8051 MICROCONTROLLER DEVELOPMENT BOARD

Figure 3.1 Block Diagram of Development Board

As First step in System Development we designed block diagram of our Development


Board in which they are divided in two parts input and output where RS232 & MAX232 is
used for serially communication. Regulated power supply, rectifier circuit & Voltage
Regulator used for power supply, Crystal Oscillator which is connected to W78E052DDG
Nuvoton Microcontroller IC and various GPIO (General Purpose Input Output) Devices
GPIO like 8 push button, 4 x 4 Hex Keypad, LCD, Relay, 7 segment Display, 8 LEDs,
Buzzer, DC Motor with L293D Driver IC, Stepper Motor with ULN2003A.We have been
designing development board of W78E052DDG Microcontroller in which this are basic
blocks.

3.2 MICROCONTROLLER
A microcontroller (MCU for microcontroller unit, also MC, UC, or μC) is a small
computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or
more CPUs (processor cores) along with memory and programmable input/output
peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is
also often included on chip, as well as a small amount of RAM. Microcontrollers are

8
designed for embedded applications, in contrast to the microprocessors used in personal
computers or other general purpose applications consisting of various discrete chips.
In modern terminology, a microcontroller is similar to, but less sophisticated than, a
system on a chip (SoC). A SoC may connect the external microcontroller chips as the
motherboard components, but a SoC usually integrates the advanced peripherals like graphics
processing unit (GPU) and Wi-Fi interface controller as its internal microcontroller unit
circuits.

Figure 3.2 40 PIN DIP Microcontroller

3.3 POWER SUPPY

A clean 5V supply is required to run the microcontroller before we can even begin to
experiment, so we need this as a basic requirement. Most microcontrollers will work from 5V
but there are some extended range variants that will work at anything from 2V upwards. It
can very useful if we are interfacing to circuits that don't operate at 5V, to be able to run the
W78E052DDG microcontroller at this lower voltage and dispense with any unnecessary level
shifters but for motors we required +12V

9
3.3.1 CIRCUIT DIAGRAM

Figure 3.3 Power Supply


The above figure shows the circuit diagram of input power supply of development
board. In which output is +12V and +5V Dc. Here we use +12V Dc Adapter for Input of
circuit then it passes through 7805IC and Capacitors, Resistors, and Diode for +5V Dc
output.

3.3.2 VOLTAGE REGULATOR

Figure 3.3 Pin Diagram of 7805 IC

Sr. No Pin Name Function


1 Input The function of this pin is to give the input
voltage
2 Ground It is connected to the ground
3 Output Output is taken with respect to ground

Table no 3.1 Pin Function of 7805 IC

10
All voltage sources cannot able to give fixed output due to fluctuations in the circuit.
For getting constant and steady output, the voltage regulators are implemented. The
integrated circuits which are used for the regulation of voltage are termed as voltage regulator
ICs. Here, we use the IC 7805 as voltage regulator.
The voltage regulator IC 7805 is actually a member of the 78xx series of voltage
regulator ICs. It is a fixed linear voltage regulator. The xx present in 78xx represents the
value of the fixed output voltage that the particular IC provides. For 7805 IC, it is +5V DC
regulated power supply. This regulator IC also adds a provision for a heat sink. The input
voltage to this voltage regulator can be up to 35V, and this IC can give a constant 5V for any
value of input less than or equal to 35V which is the threshold limit.

3.4 RESET CIRCUIT

Figure 3.4.1: Tactile Switch


A reset circuit is an electronic circuit that is used to reset a device or system to a
known state. It is typically used to initialize the system or device when it is powered on or
when a fault condition occurs. The most common type of reset circuit is a power-on reset
(POR) circuit. A POR circuit generates a reset signal when the system is powered on. This
signal is typically used to clear the state of the system and initialize it to a known state. Other
types of reset circuits include watchdog timers, which generate a reset signal if the system
fails to respond within a specified time period, and manual reset circuits, which allow the
user to manually reset the system.
Reset circuits can be implemented using various electronic components, such as
capacitors, resistors, and transistors. The specific components used and the circuit design
depend on the requirements of the system or device being reset.

11
3.5 OSCILLATOR CIRCUIT

Figure. 3.5 Oscillator Circuit


An oscillator circuit is an electronic circuit that generates a periodic waveform
without an external input signal. The waveform can be a sine wave, square wave, or any other
desired shape. There are many types of oscillator circuits, but they all contain a feedback loop
that amplifies and feeds back a portion of the output signal to the input of the circuit. This
feedback causes the circuit to generate a continuous oscillation.
One of the most common oscillator circuits is the LC oscillator, which uses a
combination of an inductor (L) and a capacitor (C) to create a resonant circuit. When the
circuit is properly tuned, the LC oscillator can generate a sine wave at a specific frequency.
Another type of oscillator circuit is the crystal oscillator, which uses a piezoelectric
crystal to generate a precise and stable frequency. Crystal oscillators are commonly used in
digital electronics, such as in microprocessors and clocks.
Other oscillator circuits include the relaxation oscillator, which uses a nonlinear
element to generate a periodic waveform, and the phase shift oscillator, which uses a chain of
RC phase shift networks to create a feedback loop. Oscillator circuits have many practical
applications, including in radio transmitters and receivers, audio equipment, and digital
circuits

12
3.6 SERIAL INTERFACE
A serial interface is a communication interface that transmits data one bit at a time
over a single communication channel. It is used to transfer data between electronic devices or
systems, such as a computer and a printer, or between microcontrollers and sensors.
A serial interface typically uses a transmitter to convert parallel data into a serial bit
stream, and a receiver to convert the serial data back into parallel data. The serial data is
transmitted using a protocol that specifies the format of the data, the speed of transmission,
and the error checking mechanisms.
Serial interfaces can be either synchronous or asynchronous. In a synchronous
interface, the transmitter and receiver are synchronized with a clock signal that is transmitted
along with the data. In an asynchronous interface, the transmitter and receiver are not
synchronized with a clock signal, and instead use start and stop bits to indicate the beginning
and end of each data packet.
Some common examples of serial interfaces include RS-232, SPI (Serial Peripheral
Interface), I2C (Inter-integrated circuit), UART (universal synchronous receiver/Transmitter),
and USB (Universal Serial Bus).

Figure 3.6 Serial Interface

13
3.6.1 RS232 INTERFACE

Figure 3.6.1: Serial Interface

RS232 specifies the electrical and mechanical characteristics of the communication


interface, including the type of connectors, the signal levels, and the timing requirements. It
uses a single-ended signalling method, where logic high is represented by a negative voltage
and a logic low is represented by a positive voltage.
RS232 can support data transfer rates up to 115.2 kilobits per second (kbps) over a maximum
distance of 50 feet (15 meters) using standard cables. However, it is not suitable for long-
distance communication or high-speed data transfer.
RS232 has been widely used in the past for connecting devices such as printers, modems, and
serial mice to computers. However, with the rise of USB and other modern interfaces, its use
has become less common in recent years.

3.6.2 MAX232 IC
MAX232 is a popular integrated circuit (IC) that is commonly used in serial
communication circuits. It is specifically designed to convert the signals between the RS-232
serial interface and the TTL (transistor-transistor logic) interface used by microcontrollers
and other digital devices. The MAX232 is a dual driver/receiver, which means it has two
channels that can send and receive serial data. The device operates using a single 5-volt
power supply and requires only a few external capacitors to function.

14
Figure 3.6.2: MAX232 Structure

The MAX232 has a wide range of applications and is commonly used to connect
microcontrollers to PCs, modems, and other serial devices. It is often used in industrial
control systems, robotics, and other applications that require reliable serial communication.
The MAX232 IC is designed to withstand voltage spikes and electrostatic discharges (ESD)
and is available in various package types, including the DIP (Dual Inline Package) and SOIC
(Small Outline Integrated Circuit) packages. The device has become a popular choice due to
its ease of use and low cost.

3.7 LED INTERFACE


An LED (light-emitting diode) interface is a circuit that controls the behaviour of an
LED, such as turning it on and off or adjusting its brightness. LEDs are commonly used as
indicator lights, status indicators, and in backlighting applications, and require a specific
amount of current and voltage to operate correctly.

15
Figure 3.7.1: LED Interface
An LED interface circuit typically consists of a power supply, a resistor, and an LED.
The resistor is used to limit the amount of current that flows through the LED and prevent it
from burning out. The power supply provides the voltage needed to operate the LED, and the
LED emits light when current flows through it.
LEDs can be controlled using a microcontroller or other digital circuitry by using a transistor
or other switching device to turn the LED on and off. PWM (pulse-width modulation) can
also be used to adjust the brightness of an LED by rapidly turning it on and off at a specific
frequency. LED interfaces can also include additional components, such as drivers and
amplifiers, to increase the current and voltage available to the LED and improve its
performance. LED drivers can be used to provide constant current to the LED, while
amplifiers can be used to increase the voltage and current available to the LED.
Overall, LED interfaces can be simple or complex depending on the specific application, and
can be designed to meet a wide range of requirements for controlling and manipulating the
behaviour of an LED.

16
3.8 16 x 2 LCD INTERFACE

Figure 3.8.1: 16 x 2 LCD Interface


A 16 x 2 display is a type of liquid crystal display (LCD) that consists of 16 character
positions arranged in 2 rows, with each position capable of displaying a single character.
These displays are commonly used in electronic devices, such as calculators, clocks, and
digital thermometers, to display numerical and text-based information. The 16 x 2 display is
typically controlled by a microcontroller or other digital circuitry using a parallel or serial
interface. The display can be used to display a wide range of characters, including letters,
numbers, symbols, and special characters. To use a 16 x 2 display, a driver circuit is typically
required to convert the signals from the microcontroller into a format that is compatible with
the display. The driver circuit can be implemented using various electronic components, such
as shift registers, counters, and latches. The display can also be customized with different font
styles and sizes, and can be backlit to improve visibility in low-light environments. Some 16
x 2 displays also have built-in character sets and drivers, which can simplify the design
process and reduce the complexity of the circuitry required to control the display.
Overall, the 16 x 2 display is a versatile and widely-used display technology that can be
found in many different types of electronic devices.

17
3.9 SEVEN SEGMENT DISPLAY INTERFACE

Figure 3.8.1: Seven Segment Display Interface

A 7-segment display is a type of electronic display that is commonly used to display


numerical digits. It consists of seven LED (light-emitting diode) segments arranged in a
specific pattern, with each segment representing a single digit from 0 to 9. An additional
segment is also included to represent a decimal point.
The seven segments are labelled as A, B, C, D, E, F, and G. Each segment can be turned on
or off to create different patterns, which can be used to display the desired digit. By turning
on specific combinations of segments, any digit from 0 to 9 can be displayed. To control a 7-
segment display, a driver circuit is typically required to convert the signals from a
microcontroller or other digital circuitry into a format that is compatible with the display. The
driver circuit can be implemented using various electronic components, such as shift
registers, counters, and latches. The display can also be customized with different font styles
and sizes, and can be multiplexed to display multiple digits at the same time. Multiplexing
involves rapidly switching between different digits, with each digit being displayed for a brief
period of time before switching to the next digit. This can be used to display a scrolling
message or to create a more dynamic display.
Overall, the 7-segment display is a widely-used display technology that is commonly found
in clocks, calculators, and other digital devices where numerical information needs to be
displayed.

18
3.10 DC MOTOR INTERFACE

Figure 3.10.1: Dc Motor Interface


A DC (direct current) motor is a type of electric motor that converts electrical energy
into mechanical energy. It works by using the interaction between a magnetic field and an
electrical current to generate rotational motion. The basic components of a DC motor include
a rotor (the rotating part of the motor), a stator (the stationary part of the motor), a
commutator (a rotating switch that allows the electrical current to be applied to the correct
coil in the rotor), and a set of brushes (contacts that make electrical contact with the
commutator).
When an electrical current is applied to the motor, it flows through the rotor coil, creating a
magnetic field. This magnetic field interacts with the magnetic field created by the stator,
causing the rotor to rotate. As the rotor rotates, the commutator and brushes ensure that the
electrical current is constantly being applied to the appropriate coil in the rotor, allowing for
continuous rotation.
DC motors are widely used in a variety of applications, including robotics, industrial
machinery, and automotive systems. They are available in a wide range of sizes and power
ratings, and can be controlled using various methods, including pulse width modulation
(PWM) and variable frequency drives (VFDs).
DC motors can also be configure red to provide different types of motion, including linear
motion (in the case of linear DC motors) and rotary motion (in the case of traditional DC
motors). They can also be combined with other components, such as gearboxes and encoders,
to provide additional functionality, such as increased torque and position sensing.

19
3.11 STEPPER MOTOR INTERFACE

Figure 3.11.1: Stepper Motor Interface


Stepper motors are a type of DC motor that can move in precise increments or steps,
making them ideal for applications that require precise positioning and control. To interface
with a stepper motor, a driver circuit is typically required to provide the necessary control
signals and power. The driver circuit for a stepper motor typically consists of a
microcontroller or other digital circuitry, as well as a power driver circuit that provides the
necessary current to the motor coils. The microcontroller or digital circuitry generates the
control signals required to step the motor, and the power driver circuit amplifies and delivers
the current to the motor coils. Stepper motors can be driven using several different types of
control signals, including full step, half step, and micro stepping. Full step involves
energizing all the motor coils at once, while half step involves energizing alternate coils to
achieve half the step size. Micro stepping involves using a more precise control algorithm to
achieve smaller step sizes, resulting in smoother motion and improved positioning accuracy.
The interface for a stepper motor typically involves several control inputs, including step,
direction, and enable signals. The step signal is used to move the motor one step at a time,
while the direction signal determines the direction of rotation. The enable signal is used to
turn the motor on and off. Stepper motors are commonly used in a variety of applications,
including robotics, CNC machines, 3D printers, and other precision positioning systems. The
precise control provided by stepper motors makes them ideal for applications that require
high accuracy and repeatability.

20
3.12 RELAY INTERFACE

Figure 3.12.1: Relay Interface


A relay interface is a type of circuit that is used to control high-voltage or high-current
devices using low-voltage signals. A relay is an electromagnetic switch that is activated by an
electrical signal, and it can be used to control a variety of devices, including motors, lights,
and solenoids.
In a relay interface circuit, the low-voltage control signal is used to energize the relay coil,
which in turn closes the contacts of the relay switch. The contacts of the relay can be used to
switch on or off the high-voltage or high-current devices that are being controlled.
Relay interfaces are commonly used in industrial automation, process control, and robotics
applications, where they are used to isolate the control circuitry from the high-voltage or
high-current devices being controlled. This helps to protect the control circuitry from damage
due to electrical noise or other disturbances that can occur in the high-voltage or high-current
circuits.
There are different types of relays available that can be used in relay interface circuits,
including electromechanical relays, solid-state relays, and reed relays. Each type of relay has
its own advantages and disadvantages, and the choice of relay depends on the specific
requirements of the application.

21
3.13 SWITCH INTERFACE

Figure 3.13.1: Switch Interface


A switch interface is a circuit that is used to convert a physical switch or button press
into an electrical signal that can be processed by a microcontroller, computer, or other
electronic device. Switch interfaces are commonly used in a wide range of applications,
including home automation, industrial control systems, and medical devices.
Switch interfaces typically consist of a switch or button connected to a digital input pin of a
microcontroller or other electronic device. When the switch is pressed, it completes an
electrical circuit, which is detected by the digital input pin as a logic high signal. The
microcontroller or other electronic device can then use this signal to trigger an action or
response, such as turning on a light or activating a motor.
Switch interfaces can be configure red in a variety of ways, depending on the specific
requirements of the application. For example, a switch interface may be designed to detect a
momentary switch press or a toggle switch position. Switch interfaces can also be configure
red to denounce switch contacts to prevent false triggering due to mechanical bounce.
In addition to simple switch interfaces, more advanced switch interfaces may include
additional features such as LED indicators, multiple switch inputs, or programmable logic
functions. These advanced switch interfaces can be used to create complex control systems
that can be tailored to the specific needs of the application.

22
3.15 MATRIX KEY-BOARD INTERFACE

Figure 3.15.1: Matrix Key-Board Interface


A matrix keyboard interface is a circuit that is used to interface a matrix keypad with
a microcontroller or other electronic device. Matrix keypads are commonly used in a wide
range of applications, including security systems, access control systems, and industrial
control systems. A matrix keypad consists of a set of switches arranged in a grid or matrix
pattern, where each switch corresponds to a unique combination of row and column lines.
When a key is pressed on the keypad, the corresponding row and column lines are connected,
which allows the microcontroller to detect the key press by scanning the row and column
lines. To interface a matrix keypad with a microcontroller or other electronic device, a matrix
keyboard interface circuit is typically used. This circuit consists of a set of input/output (I/O)
pins on the microcontroller that are connected to the row and column lines of the keypad,
along with a set of pull-up resistors.
When a key is pressed on the keypad, the corresponding row and column lines are connected,
which causes the voltage at the corresponding I/O pin to change. The microcontroller can
then scan the row and column lines to determine which key has been pressed.
Matrix keyboard interface circuits can be configure red in a variety of ways, depending on the
specific requirements of the application. For example, the scanning frequency of the row and
column lines can be adjusted to optimize the performance of the keypad. Additionally, the
matrix keyboard interface circuit may include additional features such as denounce circuits to
prevent false triggering due to mechanical bounce.

23
3.16 ANALOG TO DIGITAL CONVERTER INTERFACE

Figure 3.16.1: Analog to Digital Converter Interface


An analogue to digital converter (ADC) is an electronic circuit that converts an
analogue voltage or current signal into a digital signal that can be processed by a
microcontroller, computer, or other digital system. ADCs are commonly used in a wide range
of applications, including data acquisition, instrumentation, and control systems.
An ADC works by taking a continuous analogue signal and converting it into a series of
digital values. The conversion process involves two main steps: sampling and quantization.
During the sampling step, the ADC takes periodic samples of the input analogue signal at a
fixed rate. The sampling rate is determined by the sampling frequency, which is typically
specified in samples per second (SPS) or kilo samples per second (kSPS).
After the sampling step, the ADC performs the quantization process, which involves mapping
each sample to a corresponding digital value. This process is performed using an analogue-to-
digital converter circuit, which typically uses a voltage comparator and a binary counter.
The output of the ADC is typically a digital signal that consists of a series of binary values,
which represent the amplitude of the input analogue signal at each sampling point. The
number of bits used to represent each digital value is called the resolution of the ADC, and it
determines the accuracy and precision of the conversion process. There are different types of
ADCs available, including successive approximation ADCs, delta-sigma ADCs, and flash
ADCs. Each type of ADC has its own advantages and disadvantages, and the choice of ADC
depends on the specific requirements of the application.

24
3.17 DIGITAL TO ANALOG CONVERTER INTERFACE

Figure 3.17.1: Digital to Analog Converter Interface


A D to A converter (DAC) is an electronic circuit that converts a digital signal into an
analogue voltage or current signal. DACs are commonly used in a wide range of applications,
including audio systems, instrumentation, and control systems.
The conversion process of a DAC involves two main steps: digital to analogue conversion
and output filtering. During the digital to analogue conversion step, the DAC takes a series of
digital values (usually in binary format) and converts them into a corresponding analogue
voltage or current signal.
There are different types of DACs available, including resistor ladder DACs, R-2R ladder
DACs, and sigma-delta DACs. The most common type of DAC is the resistor ladder DAC,
which uses a network of resistors to generate a voltage or current output that is proportional
to the input digital value.
After the conversion process, the output signal from the DAC is typically filtered using a
low-pass filter to remove any unwanted high-frequency noise or harmonics. The output
filtering step helps to improve the accuracy and stability of the analogue signal generated by
the DAC.
The resolution of a DAC is determined by the number of bits used to represent each digital
value. For example, an 8-bit DAC can generate 256 different voltage or current levels, while
a 16-bit DAC can generate 65,536 different levels.
DACs can be controlled using a variety of digital interfaces, including SPI, I2C, and parallel
interfaces. The choice of interface depends on the specific requirements of the application,
such as speed, noise immunity, and ease of use.

25
3.18 BUZZER

Figure 3.18.1: Buzzer Interface


A buzzer is an electronic component that is used to generate a continuous or intermittent
sound signal. Buzzer circuits are commonly used in a wide range of applications, including
alarms, timers, and notification systems.
A typical buzzer consists of a piezoelectric element or an electromagnetic coil, which is
mounted inside housing. When an electrical signal is applied to the buzzer, the piezoelectric
element or electromagnetic coil vibrates, which produces a sound wave that propagates
through the air. There are different types of buzzers available, including passive buzzers and
active buzzers. A passive buzzer is a simple type of buzzer that requires an external AC
signal to produce a sound. An active buzzer, on the other hand, has an internal oscillator
circuit that generates a sound signal when a DC voltage is applied to it.
Buzzer circuits can be controlled using a variety of electronic components, including
transistors, relays, and microcontrollers. The control circuit determines the frequency and
duration of the sound signal generated by the buzzer.
Buzzer circuits can also be used in combination with other electronic components, such as
sensors and switches, to create more complex systems. For example, a buzzer can be used in
an alarm system to generate a loud sound signal when a motion sensor detects movement.
Similarly, a buzzer can be used in a timer circuit to indicate when a pre-set time has elapsed.
In summary, a buzzer is a simple and versatile electronic component that is used to generate a
sound signal in a wide range of applications.

26
3.19 PROCEDURE OF SYSTEM DEVELOPMENT
To make an 8051 microcontroller development board, we followed the below procedure:
1. First, we designed the circuit schematic using a PCB design software like Eagle,
Proteus, or Altium Designer. We included all the required components like 8051
microcontroller, crystal oscillator, capacitors, resistors, LEDs, push-buttons, and other
necessary components in the circuit schematic.

2. After designing the circuit schematic, we created the PCB layout using the same
software. We placed the components on the PCB board and made sure that all the
connections were properly routed.

3. Once the PCB layout was ready, we printed it on a transparent film using a laser
printer. Then, we used a UV light box to transfer the printed image onto a blank
copper-clad board. The copper-clad board was coated with a photoresist layer, which
got hardened upon exposure to UV light, and unexposed areas remained soft and
easily removable.

4. After exposing the PCB board to UV light, we removed the unexposed photoresist
layer using a developer solution. The developer solution removed the soft and
unexposed photoresist layer, leaving the hard photoresist layer on the copper surface.

5. We then etched the PCB board using an etching solution, which removed the copper
from the unmasked areas. This exposed the copper tracks and pads of the PCB board.

6. After etching, we washed the PCB board with water to remove any residual etchant
and photoresist. Then, we drilled holes on the PCB board using a drill machine, which
allowed us to mount the components.

7. We soldered the components onto the PCB board, making sure that all the
connections were properly soldered and no short circuits were formed.
8. After soldering, we tested the PCB board for functionality and verified that all the
components were working correctly. If any issues were found, we fixed them by
reworking the board.

27
9. Finally, we mounted the PCB board into a suitable enclosure and connected it to a
power supply, allowing us to program and test the 8051 microcontroller development
board.
Overall, the process of making a 8051 microcontroller development board involved designing
the circuit schematic, creating the PCB layout, transferring the layout onto the copper-clad
board, etching the board, drilling holes, soldering components, testing for functionality, and
finally mounting the board into an enclosure.

Creating a PCB on EasyEDA involves the following steps:

i. Sign Up: The first step is to sign up for an account on EasyEDA. Once you sign up,
you will be taken to the EasyEDA homepage.
ii. Open EasyEDA Editor: On the homepage, click on the "Launch EasyEDA" button to
open the EasyEDA editor.
iii. Create New Project: Once the EasyEDA editor opens, create a new project by clicking
on the "Create a New Project" button on the top left corner of the page.
iv. Schematic Design: The next step is to create a schematic design for the PCB. Click on
the "Schematic" button on the left-hand side of the screen and use the tools to add
components and draw the circuit diagram.
v. PCB Layout Design: After completing the schematic design, click on the "Convert
Project to PCB" button. This will open the PCB Layout design window. Here, you can
place the components in the desired position and connect them with copper tracks.
vi. Adding Components: In the PCB Layout window, click on the "Add Component"
button and search for the required component from the EasyEDA library or upload
your own component.
vii. Placing Components: Drag and drop the components onto the PCB layout area and
position them as required.
viii. Routing: Connect the components with copper tracks. You can use the auto-router
tool or manually route the tracks.
ix. Generating Gerber Files: After completing the PCB layout design, click on the
"Gerber Output" button to generate the Gerber files for manufacturing the PCB.

28
x. Order PCB: After generating the Gerber files, you can order the PCB from the
EasyEDA website or download the Gerber files and send them to a PCB manufacturer
of your choice.
xi. Finalize and Export: Once you are satisfied with your PCB design, finalize and export
the project in EasyEDA format to save it for future use.

That's it! These are the steps involved in creating a PCB on EasyEDA.

3.20 Actual resources and Equipment used

 Name of Component
Sr. No. Name of Component Rate Quantity Total Price

1. Microcontroller IC (W78E052DDG) 110/- 1 110/-

2. 40 pin ZIF socket 70/- 1 70/-

3. 3 mm LEDs 1/- 5 5/-

4. Tactile Switch 5/- 17 85/-

5. Crystal (11.0592 MHz) 10/- 1 10/-

6. RS232 serial port (Female) 15/- 1 15/-

7. MAX232 IC 18/- 1 18/-

8. Single side Copper clad board 30/- 1 30/-

9. Wire and connectors 50/- - 50/-

10. Male headers 8/- 8 64/-

11. Ferric Chloride 50/- 1 50/-

12. Buzzer 20/- 1 20/-

13. DC motor 20/- 1 20/-

29
14. LM7805 IC 7/- 1 7/-

15. 16x2 LCD Display 150/- 1 150/-

16. Stepper Motor 120/- 1 120/-

17. L293D Motor Driver 30/- 1 30/-

18. Capacitor 3/- 12 36/-

19. Resistor 0.5/- 20 10/-

 Name of Equipment

Sr. No. Name of Equipment Quantity


1. Soldering Gun 1
2. Twizzer 1
3. Stripper and cutter 1
4. Digital Multi-meter 1
5. Hand drill and Mini drill 1
6. Safety Gear 1
7. Pro-to-etch 1
8. Ferrous Chloride 50 g
9. Insulation sheet 1

30
CHAPTER 4
SYSTEM ANALYSIS (PROGRAMMING)

4.1 LED INTERFACE


 Embedded c program for interfacing eight LEDs with 8051.

#include<reg51.h>

Void delay (unsigned int time) // Function to create a delay


{
Unsigned inti, j;
For (i=0; i<time; i++)
{
For (j=0; j<1275; j++);
}
}

Void main ()
{
While (1)
{
P1=0x00; // Set all output pins to 0
Delay (1000); // Delay for 1 second
P1=0xFF; // Set all output pins to 1
Delay (1000); // Delay for 1 second
}
}

 Assembly Language Program For Interfacing 8 LEDs With 8051.

ORG 0; Start of the program


MOV P1, #0FFH; Set all output pins of Port 1 to high
LOOP:

31
ACALL DELAY; Call the delay subroutine
CPL P1; Complement the output of Port 1
SJMP LOOP; Jump back to LOOP

DELAY:; Delay subroutine


MOV R7, #255; Load the counter value
AGAIN:
DJNZ R7, AGAIN; Decrement the counter and jump if not zero
RET; Return from the subroutine
END;

4.2 16 x 2 LCD INTERFACE


 Embedded c program for interfacing 16 x 2 LCD Interface with 8051.

#include <reg51.h>
#define LCD_Data_Port P2
Sbit RS = P3^0;
Sbit RW = P3^1;
Sbit EN = P3^2;

Void LCD_Init ();


Void LCD_Cmd (unsigned char);
Void LCD_Data (unsigned char);
Void delay (unsigned int);

Void main ()
{
LCD_Init (); // Initialize the LCD Display
LCD_Cmd (0x80); // Set cursor to the first line
LCD_Data (‘H’); // Send ‘H’ character to display
LCD_Data (‘E’); // Send ‘E’ character to display
LCD_Data (‘L’); // Send ‘L’ character to display
LCD_Data (‘L’); // Send ‘L’ character to display

32
LCD_Data (‘O’); // Send ‘O’ character to display
LCD_Cmd (0xC0); // Set cursor to the second line
LCD_Data (‘W’); // Send ‘W’ character to display
LCD_Data (‘O’); // Send ‘O’ character to display
LCD_Data (‘R’); // Send ‘R’ character to display
LCD_Data (‘L’); // Send ‘L’ character to display
LCD_Data (‘D’); // Send ‘D’ character to display
While (1);
}

Void LCD_Init ()
{
LCD_Cmd (0x38); // 2 Line, 5x7 matrix
LCD_Cmd (0x0C); // Display On, Cursor Off, Blink Off
LCD_Cmd (0x01); // Clear the LCD
LCD_Cmd (0x06); // Increment Cursor (Right Shift)
}

Void LCD_Cmd (unsigned char command)


{
LCD_Data_Port = command; // Send command to Data port
RS = 0; // Select Instruction Register
RW = 0; // Set Write mode
EN = 1; // Enable LCD
Delay (10); // Wait for some time
EN = 0; // Disable LCD
}

Void LCD_Data (unsigned char data)


{
LCD_Data_Port = data; // Send data to Data port
RS = 1; // Select Data Register
RW = 0; // Set Write mode

33
EN = 1; // Enable LCD
Delay (10); // Wait for some time
EN = 0; // Disable LCD
}

Void delay (unsigned int time)


{
Unsigned inti, j;
For (i=0; i<time; i++)
{
For (j=0; j<1275; j++);
}
}

 Assembly Language Program for 16 x 2 LCD Interface with 8051.

; Interfacing 16x2 LCD with 8051 Microcontroller


; Display “HELLO WORLD” on the LCD
ORG 0H; Start Address
MOV A, #38H; Initialize LCD in 2 Line, 5x7 Matrix Mode
ACALL SEND_CMD; Send Command to LCD
MOV A, #0CH; Display On, Cursor Off, Blink Off
ACALL SEND_CMD; Send Command to LCD
MOV A, #01H; Clear the LCD
ACALL SEND_CMD; Send Command to LCD
MOV A, #06H; Increment Cursor (Right Shift)
ACALL SEND_CMD; Send Command to LCD
MOV A, #80H; Set Cursor to First Line
ACALL SEND_CMD; Send Command to LCD
MOV A, #’H’; Send ‘H’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’E’; Send ‘E’ to Display
ACALL SEND_DATA; Send Data to LCD

34
MOV A, #’L’; Send ‘L’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’L’; Send ‘L’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’O’; Send ‘O’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’ ‘; Send Space to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’W’; Send ‘W’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’O’; Send ‘O’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’R’; Send ‘R’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’L’; Send ‘L’ to Display
ACALL SEND_DATA; Send Data to LCD
MOV A, #’D’; Send ‘D’ to Display
ACALL SEND_DATA; Send Data to LCD
END; End of Program
SEND_CMD:; Function to Send Command to LCD
MOV P1, A; Move Command to P1 Port
CLR P0.0; Clear RS Pin to Select Instruction Register
CLR P0.1; Set RW Pin to Write Mode
SETB P0.2; Enable LCD
ACALL DELAY; Delay for some time
CLR P0.2; Disable LCD
RET; Return from Function
SEND_DATA: ; Function to Send Data to LCD
MOV P1, A; Move Data to P1 Port
SETB P0.0; Set RS Pin to Select Data Register
CLR P0.1; Set RW Pin to Write Mode
SETB P0.2; Enable LCD
ACALL DELAY; Delay for some time

35
CLR P0.2; Disable LCD
RET; Return from Function
DELAY:; Function to Generate Delay
MOV R7, #250; Load R7 with 250
L1: MOV R6, #184; Load R6 with 184
L2: DJNZ R6, L2; Decrement R6 and Jump to L2 if not zero
DJNZ R7, L1; Decrement R7 and Jump to L1 if not zero
RET; Return from Function

4.3 SEVEN SEGMENT DISPLAY INTERFACE

 Embedded c Program for Interfacing seven segment display with 8051.


#include<reg51.h>
#define seg P2
Void delay (int time)
{
Inti,j;
For (i=0;i<time; i++)
For(j=0;j<1275;j++);
}
Void main()
{
Unsigned char arr[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
Inti;
While(1)
{
For(i=0;i<10;i++)
{
Seg=arr[i];
Delay(500);
}
}
}

36
 Assembly Language Program for seven segment display Interface with 8051.

ORG 0H
MOV P1, #0FFH
MOV DPTR, #LUT
MOV R0, #00H
MOV A, R0
MOVX A, @DPTR
MOV P2, A
CALL DELAY
INC R0
CJNE R0, #10H, LOOP
MOV R0, #00H
SJMP LOOP
DELAY:
MOV R1, #0FFH
AGAIN:
DJNZ R1, AGAIN1
DJNZ R2, AGAIN
RET
AGAIN1:
RET
LUT: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END

4.4 DC MOTOR INTERFACE

 Embedded c Program for Interfacing DC Motor With 8051.


#include<reg51.h> //Include the 8051 microcontroller header file
Void main ()
{
Unsigned char a; //Variable for storing motor speed
P0=0x00; //Initialize Port 0

37
While (1)
{
A=P1; //Read input from Port 1
If (a==0x01) //If input is 0x01, rotate motor clockwise
{
P0=0x05; //Output signals to L293D IC
}
Else if (a==0x02) //If input is 0x02, rotate motor counter clockwise
{
P0=0x0A; //Output signals to L293D IC
}
Else //If input is neither 0x01 nor 0x02, stop motor
{
P0=0x00; //Output signals to L293D IC
}
}
}

 Assembly Language Program for DC Motor Interface with 8051.

ORG 00H
MOV P1, #00H; Initialize Port 1
AGAIN: MOV A, P1; Read input from Port 1
CJNE A, #01H, ELSE1;If input is not 0x01, check for 0x02
MOV P0, #05H; If input is 0x01, rotate motor clockwise
SJ
ELSE1: CJNE A,#02H,ELSE2 ;If input is not 0x02, stop motor
MOV P0,#0AH ;If input is 0x02, rotate motor counter clockwise
SJMP AGAIN
ELSE2: MOV P0,#00H ;If input is neither 0x01 nor 0x02, stop motor
SJMP AGAIN
END

38
.4.5 STEPPER MOTOR INTERFACE

 Embedded c Program for Interfacing Stepper Motor With 8051.

#include<reg51.h>
Void delay(unsigned int time)
{
Unsigned inti,j;
For(i=0;i<time;i++)
For(j=0;j<1275;j++);
}

Void main()
{
While(1)
{
P1=0x01;
Delay(100);
P1=0x02;
Delay(100);
P1=0x04;
Delay(100);
P1=0x08;
Delay(100);
}
}

ORG 00H
MOV P1, #00000001B
DELAY: DJNZ R0, DELAY
MOV P1, #00000010B
DELAY1: DJNZ R0, DELAY2

39
MOV P1, #00000100B
DELAY2: DJNZ R0, DELAY3
MOV P1, #00001000B
DELAY3: DJNZ R0, DELAY4
SJMP $

4.6 RELAY INTERFACE

 Embedded c Program for Interfacing Relay With 8051.

#include <reg51.h>

sbit relay = P1^0;

void main()
{
while(1)
{
relay = 1; // turn on the relay
delay(1000); // wait for 1 second
relay = 0; // turn off the relay
delay(1000); // wait for 1 second
}
}

void delay(unsigned int time)


{
unsigned int i,j;
for(i=0;i<time;i++)
{
for(j=0;j<1275;j++);
}

40
}

 Assembly Language Program for Relay Interface with 8051.

ORG 0000H ; Start of the program

MOV P1, #00H ; Initialize P1 as output port


MOV P3, #00H ; Initialize P3 as input port

LOOP:
MOV A, P3 ; Move the value of P3 to accumulator
ANL A, #01H ; Bitwise AND with 00000001 to check input status
JZ OFF ; If input is low, turn off relay
SJMP ON ; If input is high, turn on relay

ON:
SETB P1.0 ; Set P1.0 to high to turn on relay
SJMP LOOP ; Jump back to loop

OFF:
CLR P1.0 ; Clear P1.0 to low to turn off relay
SJMP LOOP ; Jump back to loop

END ; End of the program

4.7 SWITCH INTERFACE

 Embedded c Program for Interfacing Switch With 8051.

#include<reg51.h>
void main()
{
unsigned char switch_state;

41
// Configure P1.0 as an input pin
P1 = 0xFF;
P1_0 = 1;

while(1)
{
// Read the state of the switch
switch_state = P1_0;

// If the switch is pressed


if(switch_state == 0)
{
// Do something
}
}
}

 Assembly Language Program for Switch Interface with 8051.

ORG 0H
MOV P1, #0FFH ; Configure P1 as input
SETB P1.0 ; Enable pull-up resistor
LOOP:
MOV A, P1.0 ; Read state of switch
CJNE A, #0, PRESSED ; If switch is pressed, jump to PRESSED
SJMP LOOP ; If switch is not pressed, continue looping
PRESSED:
; Do something
SJMP LOOP ; Continue looping
END

42
4.8 MATRIX KEYBOARD INTERFACE

 Embedded c Program for Matrix Keyboard Interface With 8051.

#include<reg51.h>
#define keypad P1
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;

void lcd_cmd(unsigned char);


void lcd_data(unsigned char);
void lcd_init();
void delay(unsigned int);
unsigned char key_scan();
unsigned char read_key();

void main()
{
unsigned char key;
lcd_init();
while(1)
{
key = read_key();
if(key != ' ')
{
lcd_data(key);
delay(1000);
lcd_cmd(0x01);
}
}
}

43
void lcd_cmd(unsigned char command)
{
keypad = command;
rs = 0;
rw = 0;
en = 1;
delay(50);
en = 0;
}

void lcd_data(unsigned char data_byte)


{
keypad = data_byte;
rs = 1;
rw = 0;
en = 1;
delay(50);
en = 0;
}

void lcd_init()
{
lcd_cmd(0x38);
lcd_cmd(0x0E);
lcd_cmd(0x06);
lcd_cmd(0x01);
}

unsigned char key_scan()


{
unsigned char row,col;
keypad = 0xFF;
do

44
{
keypad &= 0x0F;
col = keypad;
keypad |= 0xF0;
keypad &= 0xF0;
row = keypad;
}while(col != keypad);
return (col | row);
}

unsigned char read_key()


{
unsigned char key;
do
{
key = key_scan();
}
while(key == key_scan());
switch(key)
{
case 0xEE: return '1';
case 0xED: return '2';
case 0xEB: return '3';
case 0xE7: return 'A';
case 0xDE: return '4';
case 0xDD: return '5';
case 0xDB: return '6';
case 0xD7: return 'B';
case 0xBE: return '7';
case 0xBD: return '8';
case 0xBB: return '9';
case 0xB7: return 'C';
case 0x7E: return '*';

45
case 0x7D: return '0';
case 0x7B: return '#';
case 0x77: return 'D';
default: return;
}
}

void delay(unsigned int time)


{
unsigned int i,j;
for(i=0;i<time;i++)
{
for(j=0;j<1275;j++);
}
}

 Assembly Language Program for Matrix Keyboard Interface with 8051.

ORG 0000H

MOV P1,#0FFH
MOV P2,#000H

START:
CALL DELAY_MS ; Wait for debounce time
CALL SCAN_KEYBOARD ; Scan for key press
CJNE A,#00H,DISPLAY ; If key press detected, display key on LCD
JMP START ; Else, repeat the loop

DISPLAY:
MOV P2,#001H ; Select LCD command register
MOV A,R1 ; Load key value to accumulator
ACALL SEND_DATA ; Send key value to LCD

46
MOV P2,#000H ; Select LCD data register
ACALL DELAY_MS ; Delay to clear the display
MOV A,#01H ; Send clear display command to LCD
ACALL SEND_CMD
RET

SEND_CMD:
CLR P2.0 ; Enable RS and RW
CLR P2.1
SETB P2.2
ACALL DELAY_US ; Wait for enable pulse
CLR P2.2
RET

SEND_DATA:
SETB P2.0 ; Enable RS and RW
CLR P2.1
SETB P2.2
ACALL DELAY_US ; Wait for enable pulse
CLR P2.2
RET

SCAN_KEYBOARD:
MOV R0,#10H ; Load debounce time
MOV R1,#00H ; Initialize key value
MOV A,#0F0H ; Load initial column mask
MOV P1,A ; Output column mask to keyboard
CLR A ; Clear accumulator
CLR C ; Clear carry flag
MOV R2,#4 ; Initialize loop counter
LOOP1: ; Outer loop for scanning columns
ACALL DELAY_US ; Wait for keyboard response
MOV A,P1 ; Read row values

47
ANL A,#0F0H ; Mask off unused bits
CJNE A,#0F0H,FOUND_KEY ; If key press detected, jump to FOUND_KEY
RLC P1 ; Rotate column mask
DJNZ R2,LOOP1 ; Decrement loop counter, jump to LOOP1 if not zero
MOV A,#00H ; If no key press detected, clear key value
RET
FOUND_KEY: ; Inner loop for identifying key value
ANL A,#0FH ; Mask off column bits
MOV R3,#0FH ; Initialize loop counter
LOOP2: ; Loop for checking row values
RLC A ; Rotate row value
JNC SKIP ; If carry flag is not set, skip to next iteration
ADD A,R3 ; Add row value to key value
MOV R1,A ; Store key value in R1
RET ; Return from subroutine
SKIP:
DJNZ R3,LOOP2 ; Decrement loop counter, jump to LOOP2 if not zero

DELAY_US:
MOV R7,#2
L2: DJNZ R7,$
DJNZ R0,L2
RET

DELAY_MS:
MOV R6,#3
L1: MOV R7,#250
L3: DJNZ R7,$
DJNZ R6,L1
RET

END

48
4.9 ANALOG TO DIGITAL CONVERTER INTERFACE
 Embedded c Program for analog to digital converter Interface With 8051.
#include <8051.h>
#define ADC0804_OUT P1

void delay() {
int i;
for (i = 0; i < 100; i++);
}

void main() {
unsigned char result;
while (1) {
// Select channel 0
P2 = 0x00;

// Enable ADC
P3 &= ~(1 << 0);

// Delay for a short period


delay();

// Start conversion
P3 &= ~(1 << 1);

// Wait for conversion to finish


while (P3 & (1 << 1));

// Read result
result = ADC0804_OUT;

// Disable ADC
P3 |= (1 << 0);

49
// Do something with result
// ...
}
}

 Assembly Language Program for Analog to Digital Converter Interface with 8051.

ORG 0H

DELAY:
MOV R5, #255
L1: DJNZ R5, L1
RET

MAIN:
MOV P3, #0H ; Disable ADC
LOOP:
MOV P2, #0H; Select channel 0
MOV P3.0, #1; Enable ADC
CALL DELAY
MOV P3.1, #1; Start conversion
WAIT:
JB P3.1, WAIT; Wait for conversion to finish
MOV A, P1; Read result
MOV P3.0, #0; Disable ADC
; Do something with result
; ...
SJMP LOOP ; Repeat
END

50
4.10 DIGITAL TO ANALOG CONVERTER INTERFACE:
 Embedded c Program for Digital to Analog converter Interface With 8051.

#include<reg51.h>

sbit DAC_CS = P1^0;


sbit DAC_CLK = P1^1;
sbit DAC_DATA = P1^2;

void main()
{
unsigned int data;

while(1)
{
data = // get data from some source
DAC_CS = 0;
DAC_CLK = 0;
DAC_DATA = ((data & 0x800) >> 11);
DAC_CLK = 1;
DAC_DATA = ((data & 0x400) >> 10);
DAC_CLK = 0;
DAC_DATA = ((data & 0x200) >> 9);
DAC_CLK = 1;
DAC_DATA = ((data & 0x100) >> 8);
DAC_CLK = 0;
DAC_DATA = ((data & 0x80) >> 7);
DAC_CLK = 1;
DAC_DATA = ((data & 0x40) >> 6);
DAC_CLK = 0;
DAC_DATA = ((data & 0x20) >> 5);
DAC_CLK = 1;
DAC_DATA = ((data & 0x10) >> 4);

51
DAC_CLK = 0;
DAC_DATA = ((data & 0x8) >> 3);
DAC_CLK = 1;
DAC_DATA = ((data & 0x4) >> 2);
DAC_CLK = 0;
DAC_DATA = ((data & 0x2) >> 1);
DAC_CLK = 1;
DAC_DATA = ((data & 0x1));
DAC_CLK = 0;
DAC_CS = 1;
}
}

 Assembly Language Program for Digital to Analog Converter Interface with 8051.

ORG 0H

; Define port 1 pins


DAC_CS EQU P1.0
DAC_CLK EQU P1.1
DAC_DATA EQU P1.2

; Initialize the DAC


INIT_DAC:
MOV DAC_CS, #1 ; Set CS high
MOV DAC_CLK, #0 ; Set CLK low
MOV DAC_DATA, #0 ; Set DATA low
RET

; Convert digital data to analog voltage


CONVERT_TO_VOLTAGE:
MOV A, #0FFH ; Get digital data to be converted to voltage from some source
MOV R0, #12 ; Set counter to 12 bits

52
SHIFT_BIT:
MOV C, A.7 ; Move MSB to carry
RLC A ; Rotate left
MOV DAC_DATA, C ; Set DAC_DATA according to the value of the carry
SETB DAC_CLK ; Set CLK high
CLR DAC_CLK ; Set CLK low
DJNZ R0, SHIFT_BIT ; Decrement counter and loop until all 12 bits have been shifted

MOV DAC_CS, #0 ; Set CS low to complete conversion

RET

MAIN:
CALL INIT_DAC ; Initialize DAC
LOOP:
CALL CONVERT_TO_VOLTAGE ; Convert digital data to voltage
SJMP LOOP ; Repeat forever
END

4.11 BUZZER INTERFACE


 Embedded c Program for Buzzer Interface With 8051.

#include<reg51.h>

void main()
{
P1=0x01; // set P1.0 as output
while(1)
{
P1_0=1; // Turn on the buzzer

53
delay_ms(500); // wait for 500 milliseconds
P1_0=0; // Turn off the buzzer
delay_ms(500); // wait for 500 milliseconds
}
}
 Assembly Language Program for Buzzer Interface with 8051.

ORG 00H ; set the origin of the program


MOV P1,#01H ; set P1.0 as output
LOOP:
SETB P1.0 ; Turn on the buzzer
ACALL DELAY_MS ; wait for 500 milliseconds
CLR P1.0 ; Turn off the buzzer
ACALL DELAY_MS ; wait for 500 milliseconds
SJMP LOOP

DELAY_MS: ; delay function


MOV R1,#250
DELAY1:
MOV R2,#184
DELAY2:
DJNZ R2,DELAY2
DJNZ R1,DELAY1
RET

4.12 SOFTWARES

4.12.1 KEIL μVISION 4


Keil uVision is an Integrated Development Environment (IDE) for developing software for
microcontrollers. It is specifically designed for use with the ARM-based microcontrollers,
and provides an easy-to-use interface for developing, compiling, and debugging code.

54
Features:

Project management: Keil uVision allows users to manage their projects within the IDE.
Users can create new projects, add files to existing projects, and manage project settings.

Code editing: The IDE includes a code editor with features such as syntax highlighting, code
folding, and auto-completion. It supports multiple programming languages, including C,
C++, and Assembly.

Compiler: Keil uVision includes a powerful compiler that can generate code for ARM-based
microcontrollers. It supports a variety of optimization options to help users generate efficient
code.

Debugger: The IDE includes a debugger that allows users to test and debug their code. The
debugger includes features such as breakpoints, watch windows, and memory views.

Simulation: Keil uVision includes a simulator that allows users to test their code without the
need for hardware. This is useful for testing and debugging code before deploying it to a
microcontroller.

Flash programming: The IDE includes a flash programming utility that allows users to
program microcontrollers directly from within the IDE.

Code analysis: Keil uVision includes a code analysis tool that can detect potential errors and
issues in code. This can help users identify and fix problems early in the development
process.

Keil uVision is widely used in the industry for developing software for ARM-based
microcontrollers. Its user-friendly interface and powerful features make it a popular choice
among developers. It supports a wide range of microcontrollers from different manufacturers,
including STMicroelectronics, NXP, and Texas Instruments. The IDE also supports a variety
of third-party tools and plugins, making it highly customizable.

55
Overall, Keil uVision is a powerful and flexible IDE for developing software for ARM-based
microcontrollers. Its features and capabilities make it an excellent choice for both beginners
and professionals alike.

4.12.2 EASY EDA


Easy-EDA is a free, web-based Electronic Design Automation (EDA) tool that allows users
to design and prototype electronic circuits online. It is designed for use by engineers,
students, and hobbyists who need to create simple to complex electronic circuits.

Features:
- Schematic capture: Easy-EDA allows users to design electronic circuits using a drag and
drop interface. The platform provides a library of pre-built components that can be used in
designing circuits. Users can also create their own components to add to the library.

- PCB layout design: Easy-EDA has a built-in PCB layout editor that allows users to design
and customize the layout of their circuits. Users can also generate a 3D model of their PCB
design.

- Simulation: Easy-EDA has a built-in SPICE simulation engine that enables users to test and
verify the functionality of their circuit designs. It can simulate analog, digital, and mixed-
signal circuits.

- Collaboration: Easy-EDA allows users to share their circuit designs with others and
collaborate on projects in real-time. Users can also access shared designs from the EasyEDA
community library.

- Gerber export: Easy-EDA allows users to export their PCB designs in Gerber file format,
which is a standard format for manufacturing printed circuit boards.

- BOM generation: Easy-EDA can generate a Bill of Materials (BOM) based on the
components used in the circuit design. This makes it easy for users to order the required
components.

56
- Integration with online PCB fabrication services: Easy-EDA has integration with PCB-Way,
a popular PCB fabrication service that allows users to order their PCBs directly from within
the Easy-EDA platform.

Easy-EDA is an easy-to-use platform that does not require any prior experience in EDA tools.
The platform is cloud-based, which means users can access their designs from any device
with an internet connection. It also has a large community of users who contribute to the
platform by sharing their designs and components.

Overall, Easy-EDA is a powerful and flexible tool for designing and prototyping electronic
circuits. Its ease of use and integration with online fabrication services make it an excellent
choice for beginners and professionals alike.

4.12.3 ISP-ICP UTILITY


Nuvoton ISP-ICP Utility is a software tool used to program 8051 microcontrollers
manufactured by Nuvoton Technology. It is designed to work with Nuvoton's N76E003 and
N76E616 series of 8051 microcontrollers.

The ISP-ICP Utility supports two programming modes: In-System Programming (ISP) and
In-Circuit Programming (ICP). The ISP mode allows the user to program the 8051
microcontroller while it is still connected to the target system. The ICP mode, on the other
hand, requires the microcontroller to be removed from the target system and programmed
externally.

The ISP-ICP Utility provides a user-friendly interface that allows the user to select the
programming mode, configure the programming parameters, and initiate the programming
process. It supports a wide range of file formats, including Intel HEX, Motorola S-record, and
Binary files.

The utility also includes a verification feature that checks whether the programmed code
matches the original file. This ensures that the programming process is successful and the
microcontroller is operating correctly.

57
In addition, the ISP-ICP Utility provides several advanced features, such as the ability to
program the microcontroller's fuse bits, configure the oscillator frequency, and erase the
entire program memory.

Overall, the Nuvoton ISP-ICP Utility is a powerful and versatile tool for programming
Nuvoton's 8051 microcontrollers. Its user-friendly interface and advanced features make it an
ideal choice for both novice and experienced users.

58
CHAPTER 5
CONCLUSION

6.1 CONCLUSION
 The 8051 microcontroller development board is a versatile and cost-effective tool for
designing and testing microcontroller-based projects.
 It has a user-friendly interface with a range of input/output options, making it suitable
for a variety of applications.
 The board supports programming in both C and assembly languages.
 It comes with a range of pre-loaded programs for testing and debugging.
 The board has built-in USB ports, on-board voltage regulators, and a crystal oscillator
for stable clock generation.
 It is an excellent choice for hobbyists, students, and professionals who need a reliable
and user-friendly platform for developing microcontroller-based projects.

6.2 ADVANTAGES
 Versatility: The 8051 microcontroller development board is a versatile tool that can be
used for a variety of applications, from simple LED blinking projects to more
complex robotics and automation projects.
 User-Friendly Interface: The board has a user-friendly interface with a range of
input/output options, making it easy to use and suitable for beginners and experts
alike.
 Programming Flexibility: The board supports programming in both C and assembly
languages, giving users the flexibility to choose the programming language that best
suits their needs.
 Pre-Loaded Programs: The board comes with a range of pre-loaded programs for
testing and debugging, making it easy for users to get started with their projects.
 Built-In Features: The board has built-in USB ports, on-board voltage regulators, and
a crystal oscillator for stable clock generation, eliminating the need for external
components and simplifying the design process.
 Cost-Effective: The 8051 microcontroller development board is a cost-effective
solution for designing and testing microcontroller-based projects, making it an ideal
choice for hobbyists, students, and professionals on a budget.

59
6.3 DISADVANTAGES
 Limited Processing Power: The 8051 microcontroller has limited processing power
compared to newer microcontrollers, which may limit the complexity of the projects
that can be designed and tested using the development board.
 Limited Memory: The 8051 microcontroller also has limited memory compared to
newer microcontrollers, which may limit the amount of data that can be stored and
processed.
 Limited I/O Pins: The development board may have a limited number of input/output
(I/O) pins, which may limit the number and complexity of the devices that can be
connected and controlled.
 Outdated Technology: The 8051 microcontroller is an older technology and may not
be compatible with newer components or systems, which may limit its usefulness for
some projects.
 Limited Connectivity Options: The development board may have limited connectivity
options, which may make it difficult to interface with other devices or systems.

6.4 APPLICATION
 Robotics: The 8051 microcontroller development board is commonly used in robotics
projects for controlling the movement and behaviour of robots.
 Industrial Automation: The development board can be used in industrial automation
projects for controlling and monitoring various processes and machines.
 Home Automation: The development board can be used in home automation projects
for controlling various devices and appliances, such as lights, fans, and air
conditioners.
 Automotive Applications: The development board can be used in automotive
applications for controlling various systems, such as engine management, power
windows, and central locking systems.
 Medical Devices: The development board can be used in medical devices for
monitoring and controlling various vital signs and other medical parameters.
 Security Systems: The development board can be used in security systems for
controlling and monitoring various devices, such as alarms, CCTV cameras, and
access control systems.

60
 Educational Projects: The development board is commonly used in educational
projects for teaching microcontroller programming and applications to students.

61
REFFERENCES
[1] Kumbhar Deepak S, Bhujbal Ramakant V. (2010) "Development and Use of Multi-
module 8051 Micro-controller Board for Teaching and Learning Micro-controller
Programming".
[2] Gregorious Jose C, Sreraj Chidambaran, Vishnuraj K M "8051 Modular Development
Board" International Journal of Scientific & Engineering Research, Volume 7, Issue 4,
(April-2016) 382 ISSN 2229-5518
[3] P.C. Mukesh Kumar, C.M. Arun Kumar, "Thermal- Electrical Simulation And Analysis
Of Lm7805 le For Electronics Power Supply Adapter" Indian J.Sci.Res. 20(2): 101-107.
2018, ISSN: 0976-2876 (Print) ISSN: 2250-0138(Online) [4] Vivek Arya, September
2020, "Voltage Regulators".
[4] Krzysztof Górecki, J. Zarebski "The new form of electrothermal model of MA7805
positive voltage regulator", January 2004 DOI:10.1109/ICECS.2003,1301704
[5] http://www.old-computers.com/MUSEUM/computer.asp?st=1&c=1147 Archived 2010-
11-21 at the Wayback Machine description of the National Semiconductor introkit
[6] Book: The 8051 Microcontroller and Embedded Systems: Using Assembly and C
[7] https://www.geeksforgeeks.org/microcontroller
[8] https://www.pantechsolutions.net/8051-advanced-development-board/
[9] https://www.electronicscomp.com/8051-development-board
[10] https://exploreembedded.com/wiki/8051_Development Board Setup
[11] https://blog.prayogindia.in/how-to-make-8051-microcontroller-development-board/
[12] https://exploreembedded.com/wiki/8051_Development Board Setup
[13] http://oldcomputers.net/kiml.html KIM was very popular with hobbyists
[14] why Kilobaud published KIM software"The MEK6800D2 system with MIKBUG".
Archived from the original on 1 October 2011.
[15] IEEE Nuclear Science Symposium Conference Record 2004. Rome: Institute of Electrical
and Electronics Engineers. 2004. p. 4161. ISBN 978-0780387003. Retrieved 23 April
2012.
[16] Jump up to:a b Rulph Chassaing (13 December 2004). Digital Signal Processing and
Applications with the C6713 and C6416 DSK. Wiley-Interscience. p. 497. ISBN 978 -
0471690078. Retrieved 23 April 2012.
[17] Paper by research design lab on Atmel Development board by "R. K Meheta" on 27
January 2005

62
APPENDIX

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

You might also like