You are on page 1of 61




Submitted by

VISHALATCHI.S - 921312106237
YASHNI.D - 921312106240
VISHNUDEVI.S P - 921312106238
In partial fulfillment for the award of the degree







DINDIGUL-624 622


APRIL 2016



Certified that this project report titled “ELECTRONIC CIRCULAR BOARD

USING GSM TECHNOLOGY” is the bonafide work carried out by

“VISHALATCHI.S, YASHNI.D and VISHNUDEVI .SP” who carried out the

project work under my supervision.




Professor, Assistant Professor,

Department of ECE, Department of ECE,


Dindigul – 624 622. Dindigul – 624 622.

Submitted to the viva-voce examination held at the centre PSNA College of
Engineering and Technology, Dindigul on …………2016.



Our sincere thanks to our honourable founder and chairman

Dr.R.S.K.RAGURAM, our respected principal Dr.V.SOUNDARAJAN, M.E.,

and our respected Head of the Department of Electronics and Communication

Engineering Dr.G.ATHISHA M.E. PhD.for giving us the opportunity to display

our professional skills through this project.

We are greatly thankful to our project coordinator Dr.K.ADALARASU, M.E.,

Ph.D., Professor and guideMr.A.SELVAPANDIAN M.E, Assistant Professor,

department of Electronics and Communication Engineering, for his valuable

guidance and motivation, which helped us to complete this project on time.

We are privileged to thank all our teaching and non-teaching staff members of the

Electronics and Communication engineering department for their passionate

support, for helping us to identify our mistakes and also for the appreciation they

gave us in achieving our goal. Also, we would like to record our deepest gratitude

to our parents for their constant encouragement and support which motivated us to

complete our project on time.

ABSTRACT Wireless communication has announced its arrival on big stage and the world is going mobile. These components are integrated with the display board and thus incorporate the wireless features. The main components of the kit include microcontroller. We are creating mobile app for sending the messages. This paper deals with GSM based LED display. We want to control everything and without moving an inch. The AT89s52 microcontroller validates the SMS and then displays the message in the LED display board. The GSM modem receives the SMS. This remote control of appliances is possible through Embedded Systems. . The AT commands are serially transferred to the modem through MAX232. In the past few years most of the institutions were not comfortable to send circulars through photo copies that depends on hands of people. To overcome this problem we have an idea to expose the circulars through an electronic board. The use of “Embedded System in Communication” has given rise to many interesting applications. For authentication purpose user name and password is created in the mobile app which is simpler for the user. One of such application is Public Addressing System(PAS). GSM modem.

2 GSM based data acquition system 2.2 Android Overview 1.1 GSM based display toolkit 2. PROBLEM DEFINITION 4. TITLE PAGE NO.4 System Operation 2.1 project overview 1. ABSTRACT LIST OF TABLES LIST OF FIGURES 1.2. SYSTEM REQUIREMENTS .3 Components Overview 1. TABLE OF CONTENTS CHAPTER NO. LITERATURE SURVEY 2.4 GSM based energy meter 3.2 Architecture 1.2. INTRODUCTION 1.3 Development of sms based Teaching and learning systems 2.1 Features 1.

2 Software requirements MAX 232 4.2 MAX 232 5.2 Microcontroller and LCD interfacing 5.1 Microcontroller-modem interfacing 5.2.1 Embedded C 4.1.2 LCD display 4.2.2 Keil Software 4.4 List of AT commands 5.4 Development tools 6.2 Execution environment 5. DEVELOPMENT PROCESS 5.1 Flow chart 5.3 AT commands Hardware requirements 4.1 DTE and DCE 5. IMPLEMENTATION 5. 4.1 GSM modem 4.3 Implementation at institute level .1.3 Life cycle of an android app 5.1.3 Microcontroller 89s52 4.

TESTING METHODOLOGY 7. CONCLUSIONS 9.2 Proposal 7.1 Initialization 7.2 Future Work 10.3 Validity check and display 8.1 conclusions 9.1 Overview 5.3.3. REFERENCES LIST OF TABLES . RESULTS AND DISCUSSION 9.2 serial transfer using TI and RI flags 7. 5.

4 AT commands Table 6.1 LCD pin symbol and I/O description Table 4.1 RS232 signals LIST OF FIGURES .3 RS232 Signal description Table 4.2 LCD command set Table 4.Table 4.

3 Microcontroller 89s52 Fig 4.1 Development process of an Android Fig 6.1 Overview of the system Fig 4.6 converting c code to hexa decimal Fig 4.1 Microcontroller-LCD interfacing .1 GSM modem Fig 4.7 AT command classification Fig 5.4 pin diagram of 89s52 microcontroller Fig 4.2 LCD display Fig to .Fig 1.dex file Fig 3.1 Architecture of an Android Fig 1.2 Conversion from .5 MAX 232 Fig 4.

LIST OF ABBREVIATIONS GSM Global System for Mobile communication CDS Campus Display System MIN Mobile Identification Number SMS Short Message Service LCD Liquid Crystal Display LED Light Emitting Diode ISP In System Programmable TTL Transistor Transistor Logic DTE Data Terminal Equipment DCE Data Communication Equipment DDMS Dalvik Debug Monitor Service .

gardens etc. it offers flexibility to display flash news or announcements faster than the programmable system. Being GSM based system. 1. hospitals. It receives the sms.1 Project Overview The GSM based electronic notice board also called as Campus Display System(CDS) is aimed at the colleges and universities for displaying day-to- day information continuously or at the regular intervals during the working hours. Being wireless the GSM. It allows the developers to write the managed code in java-like language that utilizes the Google . without affecting the surrounding environment. Android is the software platform and operating system for mobile devices based on the Linux operating system and developed by Google and open handset alliance.2 ANDROID OVERVIEW Android is a software stack for mobile devices that includes an operating system. GSM based campus display system can also be used at other public places like schools. railway stations. The CDS mainly consists of GSM receiver and a display toolkit which can be programmed from an authorized mobile phone. middleware and key applications . validates the sending mobile identification number (MIN) and displays the desired information after the necessary code conversion.CHAPTER 1 INTRODUCTION 1. It can serve as an electronic notice board and display the message instantaneously thus avoiding latency. based CDS is easy to expand and allows the user to add more display units at any time and at any location in the campus depending on the requirements of the institution.

video and still image formats( for debugging.  GSM Telephony(Hardware independent)  Bluetooth.2 ANDROID ARCHITECTURE .2. Compass. When released in 2008.  Dalvik Virtual Machine optimized for mobile devices.  Integrated browser based on open source webkit engine.0 specification. developed java libraries. memory and performance profiling. and accelerometer(Hardware dependent)  Rich development environment including a device emulator.PNG. The unveiling of the Android platform on 5th November 2007 was announced with the founding of the Open Handset Alliance.264. GPS.  Optimized Graphics powered by a custom 2D graphics library.  SQLite for structured data storage. 1.2.MP3. and plugin for the Eclipse IDE.JPG.H.1 Features of an Android OS  Application framework enabling reuse and replacement of components.AAC. software and telephone companies devoted to advancing open standards for mobile devices.GIF). but does not support programs developed in native code.  Media support for audio.AMR.3G and Wifi(Hardware dependent)  Camera.EDGE. a consortium of 34 hardware. 3D Graphics based on open GL ES1. 1. most of the Android platform will be made available under the Apache free-software and open – source license.

Fig 1. any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). The application architecture is designed to simplify the reuse of components. This same mechanism allows components to be replaced by the user.1 Architecture of an Android Application Framework Developers have full access to the same framework APIs used by the core applications. .

Underlying all applications is a set of services and systems. AMR.based on PacketVideo's Open CORE.a BSD-derived implementation of the standard C system library (libc). and PNG  Surface Manager . H. graphics. AAC. Some of the core libraries are listed below:  System C library .a modern web browser engine which powers both the Android browser and an embeddable web view . JPG. providing access to non-code resources such as localized strings. text boxes. and lat files  A Notification Manager that enables all applications to display custom alerts in the status bar Libraries Android includes a set of C/C++ libraries used by various components of the Android system.264. including:  A rich and extensible set of Views that can be used to build an application. These capabilities are exposed to developers through the Android application framework. as well as static image files. the libraries support playback and recording of many popular audio and video formats. tuned for embedded Linux-based devices  Media Libraries . including lists. MP3. grids. and even an embeddable web browser  Content Providers that enable applications to access data from other applications (such as Contacts). including MPEG4. or to share their own data  A Resource Manager.manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications  LibWebCore . buttons.

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.bitmap and vector font rendering  SQLite .dex format by the included "dx" tool. with its own instance of the Dalvik virtual machine. Every Android application runs in its own process. after this byte code becomes much more efficient to run on the small processors. where the main component Dalvik Virtual Machine is located.the underlying 2D graphics engine  3D libraries . . CPU. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (. memory and data storage are the main issues. It was designed specifically for Android running in limited environment.jar to . which converts generated byte code from . The VM is register- based.0 APIs. At the same level there is Android Runtime. where the limited battery. Android Runtime Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.  SGL .a powerful and lightweight relational database engine available to all applications. and runs classes compiled by a Java language compiler that have been transformed into the .dex file. the libraries use either hardware 3D acceleration (where available) or the included. highly optimized 3D software rasterizer  Free Type . Android gives an integrated tool “dx”.an implementation based on OpenGL ES 1.dex) format which is optimized for minimal memory footprint.

But in practice. IO and other tools. LCD: GSM based CDS uses HD44780 LCD for displaying the text data. It can also address upto 64KB of external data memory RAM and program memory. it should be replaced by the large display for viewing the messages. Each receiver converts EIA 232 inputs to 5-v TTL/CMOS levels. it is possible to have multiple instances of Dalvik virtual machine running on the single device at the same time. 3 timer/counters. MAX 232: The MAX 232 is a dual driver/receiver that includes a capacitive voltage generator to supply EIA-232 voltage levels from a 5 v supply. It is an 8-bit microcontroller with 8kb on-chip Flash memory . the utilities. It is a 20 character x2 display module. 1.2 Conversion from . one serial and for 8-bit parallel to . Fig 1. The Core libraries are written in Java language and contains of the collection classes. 256 byte RAM.dex file As the result. This receiver has a .3 COMPONENTS OVERVIEW This system uses the following components Microcontroller: CDS is based on 89s52 microcontroller which is a variant of 8052.

We want to control everything without moving an inch.2 GSM BASED DATA ACQUITION SYSTEM GSM based data acquition is a process controlled system that enables the site operator to monitor and control processes that are distributed among various remote sites. typical threshold of 1.5 v and it can accept +/- 30 v inputs.Power Supply and also some connecting wires. Sending Messages from any of the remote area to the distant located electronic notice board using Android mobile. For Sending the text message from the remote area we need to inter face the mobile phone with the GSM modem. For Developing GSM based applications. The SMS is sent from the authorized user and the toolkit receives the SMS .1 GSM BASED DISPLAY TOOLKIT Presently the wireless communication has announced its arrival on a big stage and the world is going mobile.3 v and a typical hysteresis of 0. 1. SIM.4 SYSTEM OPERATION The Operation of the system is very simple. 2. This project is designed to monitor various parameters . LCD (Liquid Crystal Display). Validates the Sending Mobile Identification Number(MIN) And displays the desired information after the necessary code conversion. CHAPTER 2 LITERATURE SURVEY 2. we need to have some peripherals including GSM modem. This remote of appliances is possible through Embedded System. The main aim of the project will be to design a SMS driven automatic display toolkit which can replace currently used electronic display board. Microcontroller. Moreover GSM based applications can be easily developed and enhanced due to easy accessibility of components in local markets at a very pocket friendly prices.

3 DEVELOPMENT OF SMS BASED TEACHING AND LEARNING SYSTEMS Short Message Service (SMS) technology is one of the most stable mobile technologies around. They are used in all types of industries. but many publications do not provide the possible underlying technologies to implement such as teaching and learning system. The information is being sent and received by concerned energy Provider Company with the help of GSM network. Most of our tertiary students carry mobile phones with SMS facilities and can be used for teaching and learning. total load used.4 DESIGN AND DEVELOPMENT OF GSM BASED ENERGY METER Traditional Metering method for retrieving the energy data is not convenient and the cost of the data logging systems is high. light intensity etc. power disconnect and tempering on request or in regularly particular interval through SMS. from electrical distribution systems. This system not only reduces the . Automatic Meter Reading (AMR) is boom for remote monitoring and control domestic energy meter. rainfall and humidity. power cut. 2. temperature. AMR system gives the information of meter reading. to food processing. Energy provider receives the meter reading within a second without visiting the person AMR minimize the number of traditional visits required by employees of energy Provider Company. to facility security alarms. This system is capable of supporting administrative teaching and learning activities via sms technology. There are many projects using SMS technologies in education as outlined in the literary survey. This system saves time and money by eliminating the need for service personnel to visit each site for inspection and data collection. 2.

CHAPTER 3 PROBLEM DEFINITION As explained in the introduction chapter. the realization of complete potential of the display board and the wireless medium in information transfer is the major issue that the thesis of the following project deals with . labour cost but also increase the meter reading accuracy and save huge amount of time.

The complexity of the coding substantially increases. for authentication purpose the user can login by typing the user name and password and enter the . we see in the above figure there are atleast three interfacing circuits. It is not a hidden fact that interfacing a Modem with normal PC is quite easy with the help of AT commands send it from the hyper terminal window. but once programmed the module work at its robust since it is a dedicated embedded system and not a general purpose computer.1 Overview of the system As. Hence we employ Atmel 89s52 Microcontroller with 64kb EEROM storage memories. and MAX 232 with GSM modem. The design procedures which involves identifying and assembling all the required hardware and ensuring fail safe interfacing between all the components. But we must take into account that modem requires wired connection at one end and wireless at other end. Dedicating the general purpose computer at each and every site of the display board. With the help of the application the user can send the message. The limiting constraint is the RAM in the microcontroller rather than the coding complexities. LCD display with microcontroller. although makes the task lot easier but is too expensive to be a possibility. In the Android mobile phone an app is created. In this Android App. MAX 232 with microcontroller . Fig 3. Additionally. Then we have a coding process which has to take care of the delays between two successive transmissions .

This GSM modem is highly flexible plug and play quad band GSM modem for direct and easy integration to MAX232 applications. Data/Fax. GSM SIM 900 modem can accept any GSM network operator SIM card and act just like a mobile phone with its own unique phone number.e. remote control and logging can be developed easily. Like a GSM mobile phone GSM modem requires a sim card from a wireless carrier in order to operate. Advantage of using this modem will be that you can use its MAX232 port to communicate and develop embedded application. Applications like SMS control. The user can send the message through this app the message will be received by the GSM modem with the help of SIM 900. CHAPTER 4 SYSTEM REQUIREMENTS 4. Supports features like Voice. .data transfer. It can be used to send and receive SMS or make/receive voice calls. The user can view the older messages number where the message had to be sent. It can also be used in GPRS mode to connect to internet and do many applications for data logging and control.1. SMS. A wireless modem behaves like a dial up modem. The modem can either be connected to the PC serial port directly or to any microcontroller.) already sent messages in the android mobile or otherwise it can be viewed in the url location which contains the older messages with date and time.1 GSM modem: GSM modem is a wireless modem that works with the GSM wireless network. The main difference between them is that a dial-up modem sends and receive data through a fixed telephone line while a wireless modem send and receive data through radio waves. GPRS and integrated TCP/IP stack.1 HARDWARE REQUIREMENTS 4.

 Monitoring the charge status and charge level of the battery. With the extended AT commands. Various things can be done  Sending SMS messages.  Reading.1. GSM modem can be used just like a dial-up modem. Writing and searching the phone book entries.  Monitoring the signal strength. In addition to standard AT commands. Computers use AT commands to control modems. Writing and deleting the SMS. Both GSM modems and dial up modems support a set of AT commands. GSM modems support the extended set of AT commands.2 LCD DISPLAY . Fig 4.1 GSM Modem 4.  Reading.

If a 4 bit data bus is used the LCD will require total of 7 data lines(3 control lines plus 4 . One of the most common devices attached to an 8051 is an LCD display. respectively. Some of the most common LCDs connected to 8051 are 16x2 and 20x2 displays. Ease of programming. Declining prices. a very popular standard exists which allow us to communicate with vast majority of LCDs regardless of their manufacturer. characters and graphics. Incorporation of a refreshing controller into the LCD. The 44780 standard requires 3 control lines as well as either 4 or 8 I/O lines for the data bus. In recent years the LCD is finding wide spread use replacing LEDs. Ability to display numbers. 2. 3. This is due to the following reasons 1. This means 16 characters per line by 2 lines and 20 characters per line by 2 lines. The standard is HD44780U which is referred to the controller chip which receives data from an external source and directly communicates with the LCD.2 LCD display Fortunately. Fig 4. 4.

1 LCD pin symbol I/O description Important Signals The following pins are important for LCDs while programming Enable(EN) The EN line is called “Enable”. your program should make sure this line is low(0) and then set the other two control lines and/or put the data on .lines for the data bus). Pin symbol I/O description Table 4. This control line is used to tell the LCD that you are sending its data. If 8 bit data bus is used the LCD will require a total of 11 data lines. To send data to LCD.

Register Select(RS) The RS line is the “Register Select” line. and end by bringing it to low(0) again. Read/Write(R/W) The RW line is the “Read/Write” control line.DB3. the lines are referred to as DB0. Above is the quite simple schematic. the circuit is more 18 portable for a wider range of computers.the data bus. Finally the data bus consists of 4 or 8 lines(depending on the mode of operation selected by the user). When the other lines are completely ready.. DB1. The control port is open collector/open drain output. position cursor etc. All others are write commands –RW is almost always be low. The LCD panels Enable and Register select is connected to the Control Port. For example. When RW is high the program is effectively querying the LCD. there is a few which don’t.DB5.DB2. the data is to be treated as command or special instructions(such as clear screen. some of which may have no internal pull-up resistors. While most parallel ports have internal pull-up rersistors. When RW is low the information on the data bus is being written to the LCD. When RS is low(0). to display the letter “T” on the screen you would set RS high. Only one instruction is Read command. .DB6 and DB7.) When RS is high(1) the data being sent is text data which should be displayed on the screen. In the case of an 8 bit data bus. bring EN high(1) and wait for the minimum amount of time required by the LCD datasheet(this varies from LCD to LCD).DB4. Thereby incorporating the two 10k external pull-up resistors.

This will cause no bus conflicts on the data lines. I’ve left the power supply out. We make no effort to place the Data bus into reverse direction. especially if you have trouble with the circuit working properly. Remember a few de- coupling with all the examples. You can use the bench power supply set to 5v or onboard +5 regulator. Nothing fancy here. The problem is overcome by inserting known delays into our program. Therefore we hard wire the RW line of the LCD panel into the write mode. . The 10k potentiometer controls the contrast of the LCD panel. As a result we cannot read back the LCD’s internals busy flag which tells us if the LCD has accepted and finished processing the last instructions.

 4.1.Table 4.0 to 5.3 Microcontroller 89s52 Features  Compatible with MCS-51 Products  8 K Bytes of In System Programmable(ISP) Flash memory  Endurance: 1000 Write/Erase cycles.5v Operating Range  Fully Static Operation :0Hz to 33MHz  Three level program memory clock  256x8 bit internal RAM  32 programmable I/O lines .2 LCD command set 4.

The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the industry standard 8051 instruction set and pin out. By combining a versatile 8-bit CPU with in-system programmable flash on a monolithic chip. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. the Atmel AT89S52 is a powerful microcontroller which provides a Highly-flexible and cost- effective solution to many embedded control applications.  Three 16 bit Timer/Counter  Eight Interrupt source  Full Duplex UART Serial Channel  Low-power idle and Power-down modes  Interrupt recovery from power-down mode  Watchdog timer  Dual data Pointer  Power –off flag Description: The AT89S52 is a low-power. . high-performance CMOS 8-bit microcontroller with 8K bytes of in-system programmable Flash memory.

disabling all other chip functions until the next interrupt or hardware reset. timer/counters.3 Micro controller 89s52 The AT89S52 provides the following standard features: 8K bytes of flash. 256 bytes of RAM. Watchdog timer. In addition. Fig 4. and clock circuitry. three 16-bit timer/counters. serial port. 32 I/O lines. The Idle Mode stops the CPU while allowing the RAM. the AT89S52 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. on-chip oscillator. The Power-down mode saves the RAM contents but freezes the oscillator. six-vector two-level interrupt architecture. and interrupt system to continue functioning. two data pointers. a full duplex serial port. PIN DIAGRAM OF 89S52 .

4 MAX 232 The MAX 232 is an IC that converts signals from an RS-232 serial port to signals suitable for use in TTL compatible digital logic circuits. The . TX.1. Fig 4. CTS and RTS signals. The MAX232 is a dual driver/receiver and typically converts the RX.4 pin diagram of 89s52 4.

and changes TTL logic 1 to between -3 to -15 V. to standard 5 V TTL levels. ± 7. This makes it useful for implementing RS-232 in devices that otherwise do not need any voltages outside the 0 V to + 5 V range.drivers provide RS-232 voltage level outputs (approx. and .5 V. This can be confusing when you realize that the RS232 data transmission voltages at a certain logic state are opposite from the RS232 control line voltages at the same logic state.5 V) from a single + 5 V supply via on-chip charge pumps and external capacitors. as power supply design does not need to be made more complicated just for driving the RS-232 in this case. When a MAX232 IC receives a TTL level to convert.3 V. and vice versa for converting from RS232 to TTL.5 MAX 232 The receivers reduce RS-232 inputs (which may be as high as ± 25 V). The MAX232 (A) has two receivers (converts from RS-232 to TTL voltage levels). it changes TTL logic 0 to between +3 and +15 V. It is helpful to understand what occurs to the voltage levels. These receivers have a typical threshold of 1. Fig 4. and a typical hysteresis of 0.

3 RS232 Signal Description 4. and basic I/O operations. a pair of a driver/receiver of the MAX232 is used for TX and RX signals. Historically. and the second one for CTS and RTS signals. Typically. This means only two of the RS-232 signals can be converted in each direction.two drivers (converts from TTL logic to RS-232 voltage levels). Embedded C Embedded C is a set of language extensions for the C Programming language by the C Standards committee to address commonality issues that exist between C extensions for different embedded systems.2. Table 4.2 SOFTWARE REQUIREMENTS 4. embedded C programming requires nonstandard extensions to the C language in order to support exotic features such as fixed-point arithmetic. multiple distinct memory banks. Difference between C and Embedded C .1.

OS. since C code can be compiled for different types of processors. Embedded compilers give access to all resources which is not provided in compilers for desktop computer applications. C offers low-level control and is considered more readable than assembly language which is a little difficult to understand. Most of the constructs are same. while embedded C is for microcontroller based applications. Though C and embedded C appear different and are used in different contexts. Thus. the difference lies in their applications. I/Os) on an embedded processor. etc. . C continues to be a very popular language for micro-controller developers/programmers due to the code efficiency and reduced overhead and development time. using C increases portability. The C programming language is perhaps the most popular programming language for programming embedded systems. If code exceeds the limit. whereas C is easy to understand and requires less coding. they have more similarities than the differences. Embedded C requires compilers to create files to be downloaded to the microcontrollers/microprocessors where it needs to run. Assembly language requires more code writing. Plus. the system is likely to crash.  Compilers for C (ANSI C) typically generate OS dependent executable files. ROM. program code must fit into the available program memory. while programming on desktop systems what embedded C cannot. We can program microcontrollers using 8051.  C takes more resources of a desktop PC like memory. AVR or PIC.  C is used for desktop computers. Embedded C has to use the limited resources (RAM.

and programmers are often forced to "brew their own" standard c library implementations if they want to use them at all. but occasionally an embedded system might not have a complete standard library. there rarely are many of the libraries that programmers have grown used to. simply select the microcontroller you use from the Device Database and the µVision IDE sets all compiler. Keil software Keil development tools for the 8051 Microcontroller Architecture support every level of software developer from the professional applications engineer to the student just learning about embedded software development. Oftentimes. but there are frequently a number of other libraries available for use. 4. For example we can blink led. We can develop our programs as per our electronic hardware using 8051 micro controller. The Keil 8051 Development Tools are designed to solve the complex problems facing embedded software developers. assembler. Most C programmers are spoiled because they program in environments where not only there is a standard library implementation. The cold fact is. many development systems still include the standard libraries which are the most common for C programmers.2. While some libraries are bulky and not well suited for use on microcontrollers. so if standard library functions are to be available at all. because of space concerns. token displays etc. and memory options for you.  When starting a new project. linker. they often need to be directly linked into the executable. if there is a standard library at all. that in embedded systems.2. increment decrement counters. it is not possible to link in an entire library file. . Few embedded systems have capability for dynamic linking.

Interrupts. Simulation helps you understand hardware configurations and avoids time wasted on setup problems. with simulation. you can write and test applications before target hardware is available. I/O Ports. 256 Bytes On-chip RAM If not simpler. Additionally.  The Keil µVision Debugger accurately simulates on-chip peripherals (I²C. 8K Flash Memory.System Debugger. UART. this tutorial will introduce all the basic programming techniques that will be used along this tutorial. and PWM Modules) of your 8051 device. D/A Converter. the version of the C programming language used for the microcontroller environment is not very different than standard C when working on mathematical operations. Even if you’re not very familiar with the C language. . It will also show you how to use the KEIL IDE. 3 Timers/Counters.  Numerous example programs are included to help you get started with the most popular embedded 8051 devices. 32 I/O lines. or the ULINK USB-JTAG Adapter to download and test program code on your target system. CAN. Watchdog Timer. SPI. the ISD51 In. use the MON51. or FlashMON51 Target Monitors. When you are ready to begin testing your software application with target hardware. 2 DPTRs. The main difference is all about the limitations of the processor of the 89S52 microcontroller as compared to modern computers. The Atmel AT89S52 is an 8051 based Full Static CMOS controller with Three- Level Program Memory Lock. A/D Converter. or organizing your code. 8 Interrupts Sources. MONADI. MON390.

along with other extended AT commands. The dial up and wireless MODEMs (devices that involve machine to machine communication) need AT commands to interact with a computer.2. Fig 4. AT commands AT commands are used to control MODEMs.3. AT is the abbreviation for Attention. AT commands with a GSM/GPRS MODEM or mobile phone can be used to access following information and services: .2. These commands come from Hayes commands that were used by the Hayes smart modems. These include the Hayes command set as a subset.6 converting c code to hexa decimal 4.3 AT commands 4. The Hayes commands started with AT to indicate the attention from the MODEM.

Data and Voice link over mobile network. The Hayes subset commands are called the basic commands and the commands specific to a GSM network are called extended AT commands. Types of AT Commands: There are four types of AT commands: Fig 4. 5. it would return a . 3.This command is used to check communication between the module and the computer. SMS services. MMS services. Fax services. 1. For example. 2. If any of module or SIM is not working. Information and configuration pertaining to mobile device or MODEM and SIM card. 4.7 AT command classification Explanation of commonly used AT commands: 1) AT . AT OK The command returns a result code OK if the computer (serial port) and module are connected properly.

This command is used to send a SMS message to a phone number.This command is used to store message in the SIM. For example. SMS is sent to the particular SIM. This is why the message is terminated by providing a „Ctrl+z‟ combination. SYNTAX: AT+CMGW=” Phone number”> Message to be stored Ctrl+z As one types AT+CMGW and phone number. As the command AT+CMGS and serial number of message are entered. Either text or PDU mode can be selected by assigning 1 or 0 in the command. AT+CMGS=1 OK . result code ERROR. SYNTAX: AT+CMGS= serial number of message to be send. SYNTAX: AT+CMGF=<mode> 1: for PDU mode 2: for text mode 3) +CMGW . the following information response is displayed on the screen. 2) +CMGF . +CMGW: Number on which message has been stored 4) +CMGS . As Ctrl+z is pressed.This command are used to set the SMS mode. „>‟ sign appears on next line where one can type the message. Multiple line messages can be typed in this case.

5) ATD - This command is used to dial or call a number

SYNTAX: ATD<Phone number> (Enter)


The AT commands for both, GSM module and the mobile phone, are listed below.
Some of these commands may not be supported by all the GSM modules available.
Also there might be some commands which won‟t be supported by some mobile

8 AT commands .Table 4.

1 Flow chart Fig 5.CHAPTER 5 DEVELOPMENT PROCESS 5.1 Development process of an Android .

every Android application runs in its own Linux process.2 LIFE CYCLE OF AN ANDROID In most cases. The solution to this problem is to start a Service from the IntentReceiver. It is important that application developers understand how different application components (in particular Activity. the system considers that IntentReceiver to be no longer active. how important these things are to the user.5. This process is created for the application when some of its code needs to be run. and then returns from the function. it may kill the process at any time to reclaim memory. it is determined by the system through a combination of the parts of the application that the system knows are running. Not using these components correctly can result in the system killing the application's process while it is doing important work. and IntentReceiver) impact the lifetime of the application's process. and will remain running until it is no longer needed and the system needs to reclaim its memory for use by other applications. A common example of a process life-cycle bug is an IntentReceiver that starts a thread when it receives an Intent in its onReceiveIntent () method. and how much overall memory is available in the system. An important and unusual feature of Android is that an application process's lifetime is not directly controlled by the application itself. Android places them into an "importance hierarchy" based on the components . Service. To determine which processes should be killed when low on memory. Instead. Once it returns. and thus its hosting process no longer needed (unless other application components are active in it). so the system knows that there is still active work being done in the process. terminating the spawned thread that is running in it. Thus.

they are generally doing things that the user cares about (such as background mp3 playback or background network data upload or download). 3.running in them and the state of those components. so the system will always keep such processes running unless there is not enough memory to retain all foreground and visible process. A foreground process is one holding an Activity at the top of the screen that the user is interacting with (its onResume () method has been called) or an IntentReceiver that is currently running (its onReceiveIntent () method is executing). This may occur. There will only ever be a few such processes in the system. 2. Provided they implement their activity life . for example. Such a process is considered extremely important and will not be killed unless doing so is required to keep all foreground processes running. Generally at this point the device has reached a memory paging state. and these will only be killed as a last resort if memory is so low that not even these processes can continue to run. These are. A background process is one holding an Activity that is not currently visible to the user (its onStop() method has been called). These processes have no direct impact on the user experience. A visible process is one holding an Activity that is visible to the user on-screen but not in the foreground (its onPause() method has been called). so this action is required in order to keep the user interface responsive. Though these processes are not directly visible to the user. if the foreground activity has been displayed with a dialog appearance that allows the previous activity to be seen behind it. A service process is one holding a Service that has been started with the startService() method. 4. in order of importance: 1.

The most important of these are the Android Emulator and the Android Development Tools plugin for Eclipse. the system will often kill these processes in order to balance overall system resources between these empty cached processes and the underlying kernel caches.cycle correctly (see Activity for more details). As such. debug. Android Emulator A virtual mobile device that runs on computer use the emulator to design. The only reason to keep such a process around is as a cache to improve startup time the next time a component of its application needs to run. An empty process is one that doesn't hold any active application components. and test r applications in an actual Android run-time environment Android Development Tools Plugin for the Eclipse IDE The ADT plugin adds powerful extensions to the Eclipse integrated . packaging. but the SDK also includes a variety of other tools for debugging. 5. the system picks the most important level of all the components currently active in the process. 5. so they are kept in an LRU list to ensure the process that was most recently seen by the user is the last to be killed when running low on memory. When deciding how to classify a process.3 DEVELOPMENT TOOLS The Android SDK includes a variety of custom tools that help develop mobile applications on the Android platform. the system can kill such processes at any time to reclaim memory for one of the three previous processes types. Usually there are many of these processes running. and installing r applications on the emulator.

It automates and simplifies the process of building Android application. and viewing thread and process information — directly from Eclipse. It provides an Android code editor that helps write valid XML for r Android manifest and resource files. Dalvik Debug Monitor Service (ddms) Integrated with Dalvik. making creating and debugging Android applications easier and faster. It provides a New Project Wizard.apk files on an emulator or device and access the emulator or device from a command line. this tool lets manage processes on an emulator or device and assists in debugging. the ADT plugin gives an incredible boost in developing Android applications: It gives access to other Android development tools from inside the Eclipse IDE. For example. and more. can also use it to link a standard debugger to application code running on an Android emulator or device. setting breakpoints. managing port-forwarding. take screenshots of the emulator or device. Android Debug Bridge (adb) The adb tool lets install application's . can use it to kill processes. If use Eclipse. view heap and thread information. the Android platform's custom VM. Android Asset Packaging Tool (aapt) . ADT lets access the many capabilities of the DDMS tool — taking screenshots. generate trace data.environment. select a specific process to debug. which helps quickly create and set up all of the basic files will need for a new Android application.

mksdcard Helps create a disk image that can use with the emulator. to simulate the presence of an external storage card (such as an SD card).apk files containing the binaries and resources of Android applications.) . Android Interface Description Language (aidl) Aidl Lets generate code for an interprocess interface. dx The dx tool rewrites . such as what a service might use.dex files. this tool lets access the SQLite data files created and used by Android applications. The aapt tool lets create . Trace view This tool produces graphical analysis views of trace log data that can generate from r Android application.class bytecode into Android bytecode (stored in . sqlite3 Included as a convenience.

1 MICROCONTROLLER-MODEM INTERFACING 6. the modem of the provider will answer your call and your will hear a lot of noise. But now we have to look at the server of your provider. . possible that for your connection to the server.g. When you want to go from your provided server to another place it uses another interface. CHAPTER 6 IMPLEMENTATION 6. Then it becomes quiet and you see your login prompt or your dialing program tells you the connection is established.1. DTE is short for Data Terminal Equipment and DCE stands for Data Communications Equipment. but that that same server is a DCE for the equipment that it is attached to on the rest of the Net. To get to the Internet you tell your modem to dial the number of your provider. DTE and DCE The terms DTE and DCE are very common in the data communications market. In this example you PC is a Data Terminal (DTE). It ends the communication line between you and the server. The two modems (Yours and that one of your provider) are DCEs. After your modems has dialed the number.1. they make the communication between you and your provider possible. So DTE and DCE are interfacing dependent. the server is a DTE. As the full DTE name indicates this is a piece of device that ends a communication line. Let's say we have a computer on which wants to communicate with the Internet through a modem and a dial up connection. whereas the DCE provides a path for communication. It is e. Now you have a connection with the server from your provider and you can wander the Internet.

1 RS232signals . It is commonly used in computer serial ports. 6. the interface can operate in a full duplex manner. the standard defines a number of controls circuits used to manage the connection between the DTE and DCE. data is sent as a time series of bits. or character encoding. In addition to the data circuits. RS•232 In telecommunications. signaling from a DTE to the attached DCE or the reverse. Table 6.2. Since transmit data and receive data are separate circuits. Each data or control circuit only operates in one direction that is. In RS 232. supporting concurrent data flow in both directions. RS•232 is a standard for serial binary data signals connecting between a DTE (Data terminal equipment) and a DCE (Data Circuit terminating Equipment).1. The standard does not define character framing within the data stream. Both synchronous and asynchronous transmissions are supported by the standard.

The LCD panels Enable and Register Select is connected to the Control Port. This will cause no bus conflicts on the data lines. As with all the examples. The user may select . I‟ve left the power supply out. Therefore we hard wire the R/W line of the LCD panel.1 Microcontroller-LCD interfacing Above is the quite simple schematic. The 10k Potentiometer controls the contrast of the LCD panel. This problem is overcome by inserting known delays into our program. The Control Port is an open collector / open drain output.6. Therefore by incorporating the two 10K external pull up resistors.2 MICROCONTROLLER AND LCD INTERFACING Fig 6. into write mode. While most Parallel Ports have internal pull‐up resistors. You can use a bench power supply set to 5v or use an onboard +5 regulator. the circuit is more portable for a wider range of computers. Nothing fancy here. As a result we cannot read back the LCD‟s internal Busy Flag which tells us if the LCD has accepted and finished processing the last instruction. there is a few which don’t. some of which may have no internal pull up resistors. We make no effort to place the Data bus into reverse direction.

3. This makes the process very time consuming and inefficient. These include canteens. Deans and Registrars. The valid senders may include the Director. This latency is not expected in most of the cases and must be avoided. Looking into current trend of information transfer in the campus. But.1. It is proposed to place display boards at major access points. hostel area etc. Thus information from valid sources can be broadcasted easily. Overview Information sharing holds an important role in the daily work of our institute LDRP-ITR. entrance gate. The centralized system can be placed as the Computer Center for access by any other valid users with authentications.3 IMPLEMENTATION AT ISTITUTE LEVEL 6. The GSM based display toolkit can be used as an add-on to these display boards and make it truly wireless. the LCD will require a total of 7 data lines. SMS from these users is treated to be valid and is displayed. whether the LCD is to operate with a 4‐bit data bus or an 8‐ bit data bus. 6. The current means of information transfer are notice and circulars.3. 6. Such a system proves to be helpful for immediate information transfer and can be easily implemented at the institute level. it is seen that important notice take time to be displayed in the notice boards. New notice or circular is only checked at the end of the day. If a 4‐bit data bus is used.2. Other SMS from any other mobile phone is discarded. The display board programs itself with the help of the incoming SMS with proper validation. CHAPTER 7 TESTING METHODOLOGIES . Proposal It is proposed to implement this project at the institute level.

The TCON and SCON registers were set accordingly. VALIDITY CHECK & DISPLAY After serially receiving the characters the code then checks for start of the sender‟s number and then compares the number character by character with the valid number pre stored in the memory.The ECHO from the modem was turned off using the command ATE/ATE0 at the hyper terminal.1 INITIALIZATION The baud rate of the modem was set to be 4800 bps using the command AT+IPR=4800. Since we are employing just one valid . Transmission is done when TI flag is set and similarly data is known to be received when the Rx flag is set. the RI flag is set and the received character is moved into the physical memory of the microcontroller. 7. Hence to set the microcontroller at a baud rate of 4800bps. we set terminal count of Timer 1 at 0FFh (clock frequency = 1.7. For serial transmission and reception to be possible both the DTE and DCE should have same operational baud rates. SERIAL TRANSFER USING TI AND RI FLAGS After setting the baud rates of the two devices both the devices are now ready to transmit and receive data in form of characters.8432).3. The microcontroller then sends an AT command to the modem in form of string of characters serially just when the TI flag is set. After reception of a character in the SBUF register of the microcontroller (response of MODEM with the read message in its default format or ERROR message or OK message). 7.2.

without storing the new message in another location in the memory. CHAPTER 7 RESULTS (snap shot) . After validity check the control flow goes into the LCD program module to display the valid message stored in the memory. For more than one valid numbers we would require more memory locations to first store the complete (valid/invalid) message in the memory and then perform the comparison procedure. In case of multiple valid numbers all invalid stored messages are deleted by proper branching in the code to the “delete-message” module. we are able to do the validation process dynamically i.e.number.




validates it and then displays it in the LCD module. The prototype can be implemented using commercial display boards. The message is broadcast by the mobile switching center for continuous time period during which as many possible display . Further improvements can be made by replacing 89s52 microcontroller with another microcontroller for increasing the memory space. 9. it withdraws its identification from the network & synchronously another nearby MODEM signs itself into the network and starts to receive the message. In this case. The SMS is deleted from the SIM each time it is read. thus making room for the next SMS.9. Another very interesting and significant improvement would be to accommodate multiple receiver MODEMS at the different positions in a geographical area carrying duplicate SIM cards.1 Conclusion The prototype of the GSM based display toolkit was efficiently designed. After a display board receives the valid message through the MODEM and displays it. With the help of principles of TDMA technique. it can solve the problem of instant information transfer in the campus. The toolkit accepts the SMS. we can choose to simulcast and /or broadcast important notifications. stores it. The major constraints incorporated are the use of „*‟ as the termination character of the SMS and the display of one SMS as a time. This prototype has facilities to be integrated with a display board thus making it truly mobile.2 Future Work The use of microcontroller in place of a general purpose computer allows us to theorize on many further improvements on this project prototype. These limitations can be removed by the use of higher end microcontrollers and extended RAM.

MMS technology along with relatively high end microcontrollers to carry on the tasks of graphics encoding and decoding along with a more expansive bank of usable memory can make this task a walk in the park. .board MODEMS “catch” the message and display it as per the constraint of validation. Multilingual display can be another added variation of the project. This will ensure the increase in the number of informed users. Graphical display can also be considered as a long term but achievable and target able output. This feature can be added by programming the microcontroller to use different encoding decoding schemes in different areas as per the local language. The display boards are one of the single most important media for information transfer to the maximum number of end users.

” Teaching. Pawan Kumar. Shereen . 5. Systems. Amit Mishra (2012) GSM Based e-Notice Board: Wireless Communication. No. Dawood.2. N. Garg . Muchallil. . Prachee U.. pp. Tugnayat(2012)“ GSM Mobile Phone Based LED Scrolling Message Display System”. Ketkar.W and Jiang. Volume-2. B. Darshankumar C. ISSN: 2231-2307. Zhang. K. Narayan Sing Rathor. 8. 206 – 218. 1-4. pp 424-438. Li Cao . European Journal of Scientific Research. Gao.I . 13-17. Beijing. R. and Rozumah . Haitao Jia. REFERENCES 1. Issue-3. Z. 37. 4. In Proceedings of IEEE International Conference on Information Technology and Computer Science. Tsinghua (2004) “A Remote data acquisition system based on SMS”. Man and Cybernetics. S. Rajkishor M. Akash P. Dalwadi. Ninad Trivedi . IEEE International Conference (Volume: 7). Vikas Bhardwaj. Tayade.VK(1998). Amit Kasundra . Vol. Kulkarni.X (2009) “Study Implementation of Agricultural SMS Management System”. PP : 149-155. pp. IEEE International Conference. 7.National Conference on Recent Trends in Engineering & Technology. International Journal of Scientific Engineering and Technology Volume 2 Issue 3. China. 2. Jurusan Tek. Assessment and Learning for Engineering (TALE). (2013) “Wireless Notice Board” . Munadi. Principles and Applications of GSM Prentice Hall: New York. 3. Elektr. 6. (2013) “An SMS Based Learning System.(2009) “Mobile Phone use Amongst Student in University in Malaysia: It correlates and relationship to Psychological Health”. Kunal P.