This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
with all its functionalities during the summer training course from Semiconductor Technologies, “Vedant ” his work was authentic and conduct was diligent & sincere. The project satisfies the norms of the company and was developed under the guidance of Mr. Ma noj kr. Srivastava, Ms. Nirmal Chauhan
Certificate is awaited
CERTIFIED BY:
Ms.Nirmal chauhan Mr.Sachin Kr. Kanodia (Project Guide) (Center Head)
ACKNOWLEDGEMENT
No academic endeavor can be single handedly
accomplished. This work is no exception.
1
At the outset, we would like to record our gratitude to Mr.
Sachin Kr. Kanodia for initiating us into this training.
We sincerely acknowledge our thanks to our project guide
Mr. Manoj kr. Srivastava, Ms. Nirmal Chauhan, for their
valuable suggestions and time to time consultation.
Last, but not the least, we would like to thank all the staff of
Lucknow especially Ms. Shilpa for their kind cooperation and
assistance during our training period.
-SUMIT KUMAR SINGH-SUMIT ARORA-SHOBHIT -SWADESH
PREFACE
"Any sufficiently advanced technology is indistinguishable from magic,"wrote ARTHUR C. CLARKE. Today, we can drive in a voice activated car, get our clothes washed and dried in a washing machine with in minutes, and read the temperature and air pressure from our wrist watch .A musical greeting card has more computing power than NASA'S lunar Lander had in 1969.
2
Thousand of people have embedded processors beneath their skin, as pacemaker or hearing aids.
It is the embedded technology that makes all this possible. Embedded system not only sit in our microwave ovens but also help drive our cars, giving us directions to follow entertainment through our journey, keeping us connected with anyone across the globe and even warning us of potential danger. And is not far off when you'll have a car similar to what JAMES BOND drives!
Embedded technology plays a key role not only in consumer electronics but also in much safety critical application like avionics, space, railways and transport, process control and medicine. But complexity creates problems too. A faulty microprocessor or software may prove to be a costly affair. Your favorite song on the MP3 player may sing a different tune. A car can go up in flames if spark plugs misfire. Even the Boeing aircraft may go off course. Fingers are then pointed at the system developer or software engineer for writing a code that is not robust. It's imperative for embedded application to be much more reliable than their desktop counterparts.
3
INDEX
S.No. Title Page
1. Introduction To Semiconductor technologies - Vedant.
6
2. Introduction to Embedded Systems 8
3. Introduction to the Microcontroller 13
4
4. Block Diagram of the System 16
5. Introduction to the Keil Software 19
6. Introduction To The Project 20
7. Circuit Diagram 26
8. Program Code 27
9. Program List File 33
10. Bibliography 50
SEMICONDUCTOR TECHNOLOGIES- VEDANT
AN ISO 9001:2000 CERTIFIED INSTITUTION Semiconductor Technologies has always been in sync with the future. It has understood and appreciated the needs of India, its people and its ever-growing industry. Over the last six 20 years tell the saga of VEDANT contribution in leading the national effort in the vital areas of microelectronics.
5
M/s Semiconductor Technologies-VEDANT is India’s premier VLSI Design & Embedded System Design organization since 2002. While VEDANT is India’s pioneer in the field of VLSI Design & Embedded System Design and Testing. VEDANT is providing Education & Training on VLSI Design & Embedded System Design through ‘state-of-the-art’ lab facilities, equipped with the Industry Standard tools. VLSI Design / Embedded Systems Design Engineer design such Silicon chips…making a career in VLSI Design / ESD is highly respected & rewarding one. Furthermore we would like to bring in your notice that VEDANT is a member of “Indian Semiconductor Association” as well. Semiconductor Technologies-VEDANT (Now an ISO 9001: 2000 Certified Institution) is center for the training crafted in VLSI/ESD education module followed with VLSI Design software along with the FPGA programming & 8051 Microcontroller kit.
VedantVEDANT (VLSI design and training) is one of the prestigious projects of SCL, a pioneer with vertically integrated facility in the country.
SCL VEDANT program covers the complete spectrum of VLSI design inclusive of “front end”, “back end” and provides of exposure to the IC fabrication process. Industry standard CAD tools are used for the purpose of training backed up by project work under the guidance of experts.
6
VEDANT (LUCKNOW CENTER) is the institute, which provides training in VLSI design to students. The working environment is concentrated on front-end design process. It runs two programs ‘PG diploma in VLSI designing of four months and certificate course of two months. It also provides Summer & Winter Training in VLSI Design or Embedded System.
It has an advanced lab which is equipped with latest industry standard Electronic Design Automation (EDA) and FPGA tools and 8051 Development Kits inclusive of
Model Sim 6.0aXilinx toolsFPGA Kit8051 Development KitKeil SoftwareFlash Magic (Rom burning)
Introduction to Embedded Systems
The embedded system is a combination of computer hardware, software additional electrical & mechanical parts. A computer is used in such devices primarily as a means to simplify the system design and to provide flexibility.
• Often the user of the device is not even aware that a computer is present.
• Electronic devices that incorporate a computer (usually a microprocessor) within their implementation
These are Real-time systems process events.These events occur on external inputs cause other events to occur as outputs.Minimizing
7
response time is usually a primary objective, or otherwise the entire system may fail to operate properly.
Therefore Embedded systems employ the use of a RTOS (Real-Time Operating System)It is an Operating Systems with the necessary features to support a Real-Time SystemReal-Time SystemA system where correctness depends not only on the correctness of the logical result of the computation, but also on the result delivery time. It responds in a timely, predictable way to unpredictable external stimuli arrivals.
The real Time Systems can be further divided into two types: Soft Real-Time System
Compute output response as fast as possible, but no specific deadlines that must be met.
Hard Real-Time SystemOutput response must be computed by specified deadline or system
fails.
8
Programming
Logical/DigitalDesign
Computer Systems
Organization
Embedded Systems
Embedded&
Real Time
Systems
Advanced Digital Design
(Synthesis)
VLSI/ASIC&
SoCDesign
Control Systems
DSP
9
Programming Languages Used in New Embedded Designs
10
Micro Controllers Trend in the Embedded Systems
11
Application of embedded systems in sphere of life
Consumer electronics
Telecommunication
Automobile
Medical instrumentation
Industrial control equipment
Defense
Communication satellite
Data communication
Internet appliances
12
Introduction to microcontroller
A microcontroller is a computer-on-a-chip, or, if you prefer, a single-chip computer. Micro suggests that the device is small, and controller tells you that the device might be used to control objects, processes, or events. Another term to describe a microcontroller is embedded controller, because the microcontroller and its support circuits are often built into, or embedded in, the devices they control.
You can find microcontrollers in all kinds of things these days. Any device that measures, stores, controls, calculates, or displays information is a candidate for putting a microcontroller inside. The largest single use for microcontrollers is in automobiles—just about every car manufactured today includes at least one microcontroller for engine control, and often more to control additional systems in the car. In desktop computers, you can find microcontrollers inside keyboards, modems, printers, and other peripherals. In test equipment, microcontrollers make it easy to add features such as the ability to store measurements, to create and store user routines, and to display messages and waveforms. Consumer products that use microcontrollers include cameras, video recorders, compact-disk players, and ovens. And these are just a few examples.
Microcontroller Basics
13
A microcontroller is similar to the microprocessor inside a personal computer. Examples of microprocessors include Intel’s 8086, Motorola’s 68000, and Zilog’s Z80. Both microprocessors and microcontrollers contain a central processing unit, or CPU. The CPU executes instructions that perform the basic logic, math, and data-moving functions of a computer. To make a complete computer, a microprocessor requires memory for storing data and programs, and input/output (I/O) interfaces for connecting external devices like keyboards and displays. In contrast, a microcontroller is a single-chip computer because it contains memory and I/O interfaces in addition to the CPU. Because the amount of memory and interfaces that can fit on a single chip is limited, microcontrollers tend to be used in smaller systems that require little more than the microcontroller and a few support components. Examples of popular microcontrollers are Intel’s 8052 (including the 8052-BASIC, which is the focus of this book), Motorola’s 68HC11, and Zilog’s Z8.
Microcontroller History
To understand how microcontrollers fit into the always-expanding world of computers, we need to look back to the roots of microcomputing.In its January 1975 issue, Popular Electronics magazine featured an article describing the Altair 8800 computer, which was the first microcomputer that hobbyists could build and program themselves. The basic Altair included no keyboard, video display, disk drives, or other elements we now think of as essential elements of a personal computer. Its 8080 microprocessor was programmed by flipping toggle switches on the front panel. Standard RAM was 256 bytes and a kit version cost $397 ($498 assembled). A breakthrough in the Altair’s usability occurred when a small company called Microsoft offered a version of the BASIC programming language for it. Of course, the computer world has changed a lot since the introduction of the Altair. Microsoft has become an enormous software publisher, and a typical personal computer now includes a keyboard, video display, disk drives, and Megabytes of RAM. What’s more, there’s no longer any need to build a
14
personal computer from scratch, since mass production has drastically lowered the price of assembled systems. At most, building a personal computer now involves only installing assembled boards and other major components in an enclosure. A personal computer like Apple’s Macintosh or IBM’s PC is a general-purpose machine, since you can use it for many applications—word processing, spreadsheets, computer-aided design, and more—just by loading the appropriate software from disk into memory. Interfaces to personal computers are for the most part standard ones like those to video displays, keyboards, and printers.But along with cheap, powerful, and versatile personal computers has developed a new interest in small, customized computers for specific uses. Each of these small computers is dedicated to one task, or a set of closely related tasks. Adding computer power to a device can enable it to do more, or do it faster, better, or more cheaply. For example, automobile engine controllers have helped to reduce harmful exhaust emissions. And microcontrollers inside computer modems have made it easy to add features and abilities beyond the basic computer-to-phone-line interface. In addition to their use in mass-produced products like these, it’s also become feasible to design computer power into one-of-a-kind projects, such as an environmental controller for a scientific study or an intelligent test fixture that ensures that a product meets its specifications before it’s shipped to a customer. At the core of many of these specialized computers is a microcontroller. The computer’sprogram is typically stored permanently in semiconductor memory such as ROM or EPROM. The interfaces between the microcontroller and the outside world vary with the application, and may include a small display, a keypad or switches, sensors, relays, motors, and so on.These small, special-purpose computers are sometimes called single-board computers, or SBCs. The term can be misleading, however, since the computer doesn’t have to be on a single circuit board, and many types of computer systems, such as laptop and notebook computers, are now manufactured on a single board.
15
Block diagram of the 80C51 Microcontroller
16
Pin Diagram of the 40 Pin DIP package of the 80C51
17
8051 architecture contains the following:
8 bit CPU with registers A and B
18
16 bit program counter(PC) and data pointer(DPTR)
8 bit program status word(PSW)
8 bit stack pointer
Internal ROM of 0(8031) to 4K(8051)
Internal RAM of 128 Bytes
4 register banks 00-1f
16 bytes(bit addressable) 20-2f
80 bytes of general purpose data memory 30-7f
32 I/O pins arranged as four 8 bit ports (P0 – P3)
2 16-bit timer/counters: T0 and T1
Full duplex serial data receiver/transmitter: SBUF
Control registers: TCON, TMOD, SCON, PCON, IPand IE
2 external and 3 internal interrupt sources
Oscillator and clock circuitsINTRODUCTION TO THE KEIL SOFTWARE
The Keil Software 8051 development tools are listed below. These are the programs that will perform the following:
19
Compile C Code Assemble the assembly source files. Link & Locate the object modules & the libraries. Create the HEX files. Debug the Target Program.
Micro Vision 2 is an interegated development Environment that Combines
Project management Source Code Editing Program debugging.
CSI ANSI: It is an optyimizing c Cross compiler that creates relocatable object modules from the C code.
ASI Macro Assembler : It assembles the assembly language program from the source code.
The BL51 linker/locator: It combines relocatable object modules that are created by the relocatable object6 modules created by the c51 compiler and the A51 assembler into absolute object module.
The LIB51 library manager combines object modules into libraries that may be used by the linker.
The OH51 Object HEX converter creates Intel Hex files fro0m the absolute object module.
The RTX51 real time operating system simpifies the design of the complex, time critical software projects.
INTRODUCTION TO THE PROJECT
20
This project is designed to demonstrate the technology used in the now a
day’s driver less metro train which is used in most of the developed
countries like Germany, France, and Japan etc. These trains are equipped
with the CPU, which controls the train. The train is programmed for the
specific path. Every station on the path is defined; stoppage timing of the
train and distance between the two stations is predefined.
In this project
In this project we try to give the same prototype for this type of trains.
We are using microcontroller 89c51 as CPU. The motion of the train is
controlled by the stepper motor, for displaying message in the train we
are using intelligent LCD display of two lines. The train is designed for
three stations, named as Bodhgaya, Rajgir, Nalanda .the stoppage time is
of 3 sec and time between two consecutive stations is 6sec.there is a
LCD display for showing various messages in the train for passengers.
There are indicators, which are used to show the train direction i.e. UP
path and DOWN path. Before stopping at station the train blows the
buzzer. It also includes an emergency brake system due to which the
train stops as soon as the brakes are applied and resumes journey when
the emergency situation is over.
So this project gives an illustration of actual modern metro train
controlled through embedded electronics control system.
Implementation: This project is implemented using the following kit
21
VPL-ET: VPL-ET Embedded trainer has been design by using
LCD Operation: Our project chose LCD over Seven Segment Displays due to the following reasons:1)Ease of program of charcters.2)Ascii Values could be directly sent to the LCD.3)In built command words to control Display.
PIN Symbol I/O Description1 V -- Ground2 V -- +5V Power
supply3 V -- Power supply
for contrast control
4 RS I 0 :Command Reg.1 : Data Reg.
5 R/W I 0: Write1: Read6 E I/O Enable7 DB0 I/O 8-bit Data Bus8 DB1 I/O 8-bit Data Bus9 DB2 I/O 8-bit Data Bus10 DB3 I/O 8-bit Data Bus11 DB4 I/O 8-bit Data Bus12 DB5 I/O 8-bit Data Bus13 DB6 I/O 8-bit Data Bus14 DB7 I/O 8-bit Data Bus
V CC , V SS , V EE
VCC- provides +5 volt
24
VSS provides gnd VEE is used to control LCD contrast
RS ( Register Select )
RS pin is used to select between the two different registers : DATA register & the COMMAND register . RS=0 => Select the command register RS=1 => Select the data register R/W ( Read / Write ) R/W input allows the user to write information to the LCD or read information from it. R/W =1 => when reading R/W =0 => when writing E ( Enable)
The Enable pin is used by the LCD to latch information presented to its data pins . When data is supplied to data pins , a HIGH to LOW pulse must be applied to this pin in order for the LCD to latch in the data present in the data pins. This pulse must be a minimum of 450 ns wide.
D0 – D7
25
The 8 – bit data pins ( d0 – D7) are used to send information to the LCD or read the content of the LCD internal Register. To display letters and numbers , we send ASCII codes for the letter A-Z , a-z & 0-9 to these pins while makin RS = 1. There are also Instruction Command Codes that can be sent to the LCD to clear the display or force the cursor to the home position or blink the cursor.
The following table lists the instruction command codes:
Code ( HEX) Command to LCD instuction Register 1 Clear display screen2 Return Home 4 Decrement Cursor ( shift cursor to Left)6 Increment cursor (shift cursor to right )5 Shift display right7 Shift display left8 Display off , Cursor offA Display off , Cursor onC Display on , Cursor offE Display on , Cursor blinkingF Display on , Cursor Blinking10 Shift cursor position to left14 Shift cursor position to right18 Shift the entire display to the left1C Shift the entire display to the right80 Force cursor to beginning of 1st lineC0 Force cursor to beginning of 2nd line38 2 Lines and 5x7 matrix
26
CIRCUIT DIAGRAM
8051
LCD DISPLAY (For displaying the message)
LEDs
Port 0 pins connected to LCD data lines
Port 2 pins connected to LCD control lines (p2.0- RW/p2.1- RS/p2.2-EN)
27
Project Code
/*PROGRAM FOR METRO RAILWAY PROTOTYPE */
org 300hc1:db 'WELCOME TO LKO',0c2:db 'U R IN:-',0c3:db 'NEXT STATION:-',0c4: db 'MORADABAD',0c6:db 'BAREILY',0c5:db 'MEERUT',0c7:db'MADE BY SHOBHIT',0c8:db'TAUFIQUE',0org 0hmov a,#38h acall cmnwrtacall delaymov a,#01hacall cmnwrtacall delaymov a,#0ehacall cmnwrtacall Delaymov a,#80h acall cmnwrt acall delay mov dptr,#c1