83
121 45678 9ABCD7 4A5E8 F6C 12 58 2 ABEA7E 7B 2 57 CONTENTS Page No. ABSTRACT 3 CHAPTER 1: INTRODUCTION 5 1.1 Introduction 6 1.1.1 Information 6 1.1.2 Information Transfer 6 1.2 Broadcast 7 1.3 Problem faced in the present display systems 7 1.4 Aim of the project 7 CHAPTER 2: DESIGN OVERVIEW AND GENERAL WORKING 8 2.1 Design on Paper 9 2.2 General working of the model 11 CHAPTER 3: HARDWARE PROFILE 13 3.1 GSM Model 14 3.1.1 Introduction to SIM300 14 3.1.2 SIM300 Functional diagram 16 3.1.3 Accessing GSM MODEM using Microsoft HyperTerminal 17 3.1.4 Testing of GSM MODEM 17 3.1.5 List of Important AT Commands 21 3.2 ARM Controller 22 3.2.1 General Description 22 3.2.2 Features 22 3.2.2.1 Enhanced Features 22 3.2.2.2 Key Features 23 3.2.3 Block Diagram 25 3.2.4 Pin Diagram 26 3.2.5 Pin Description 27 3.2.6 Functional description 30 3.2.6.1 Architectural Overview 30 3.2.6.2 On-chip flash program memory 31 3.2.6.3 On-chip Static RAM 31 3.2.6.4 UARTs 32 3.2.6.5 I 2 C-bus serial I/O controllers 33 3.2.6.6 Watchdog timer 34 3.2.6.7 Real-time clock 34 3.2.6.8 Crystal oscillator 35

SMS_BASED_NOTICE_BOARD

Embed Size (px)

Citation preview

Page 1: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �������

CONTENTS Page No.

ABSTRACT 3

CHAPTER 1: INTRODUCTION 5

1.1 Introduction 6

1.1.1 Information 6

1.1.2 Information Transfer 6

1.2 Broadcast 7

1.3 Problem faced in the present display systems 7

1.4 Aim of the project 7

CHAPTER 2: DESIGN OVERVIEW AND GENERAL WORKING 8

2.1 Design on Paper 9

2.2 General working of the model 11

CHAPTER 3: HARDWARE PROFILE 13

3.1 GSM Model 14

3.1.1 Introduction to SIM300 14

3.1.2 SIM300 Functional diagram 16

3.1.3 Accessing GSM MODEM using Microsoft HyperTerminal 17

3.1.4 Testing of GSM MODEM 17

3.1.5 List of Important AT Commands 21

3.2 ARM Controller 22

3.2.1 General Description 22

3.2.2 Features 22

3.2.2.1 Enhanced Features 22

3.2.2.2 Key Features 23

3.2.3 Block Diagram 25

3.2.4 Pin Diagram 26

3.2.5 Pin Description 27

3.2.6 Functional description 30

3.2.6.1 Architectural Overview 30

3.2.6.2 On-chip flash program memory 31

3.2.6.3 On-chip Static RAM 31

3.2.6.4 UARTs 32

3.2.6.5 I2C-bus serial I/O controllers 33

3.2.6.6 Watchdog timer 34

3.2.6.7 Real-time clock 34

3.2.6.8 Crystal oscillator 35

Page 2: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �������

3.3 DOT MATRIX LED DISPLAY 35

3.3.1 Characteristics 35

3.3.2 Features 36

3.3.3 Applications 36

3.3.4 Description 37

CHAPTER 4: SOFTWARE PROFILE 38

4.1 KEIL Development tool 39

4.1.1 How to create a new project 39

4.1.2 Selecting the device 40

4.1.3 Configuring the essentials 41

4.1.4 Addition of files in source group 42

4.1.5 Running the program 43

4.1.6 Target program execution and debugging 44

4.1.7 Watch Window 44

4.2 FLASH MAGIC 45

4.2.1 General description 45

4.2.2 LPC flash utility tool 46

4.3 Programming 48

4.3.1 flowchart for sending the message 48

4.3.2 flowchart for receiving the message 49

CHAPTER 5: DESIGNING AND INTERFACING 50

5.1 Power supply 51

5.1.1 Description 51

5.2 HXD Buzzer 53

5.3 RS-232 54

5.3.1 RS-232 Signals 55

5.3.2 RTS/CTS Handshaking 55

5.4 MAX 232 56

5.5 Various interfacing circuits 57

CHAPTER 6: CONCLUSION 59

6.1 Conclusion 60

6.2 Future Implementations 61

APPENDIX 62

BIBLIOGRAPHY 80

Page 3: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� �

ABSTRACT

Wireless communication has announced its arrival on big stage and the world is going mobile.

We want to control everything and without moving an inch. This remote control of appliances is

possible through Embedded Systems. The use of “Embedded System in Communication” has

given rise to many interesting applications that ensures comfort and safety to human life.

The main aim of the project will be to design a SMS driven LED Notice Boards which

can replace the conventional Notice Boards. It is proposed to design receive cum display Notice

boards which can be programmed from an authorized mobile phone. The message to be

displayed is sent through a SMS from an authorized transmitter. The LED Notice Board receives

the SMS, validates the sending Mobile Identification Number (MIN) and displays the desired

information after necessary code conversion. The system is made efficient by using ‘clone’ SIMs

of same MIN in a geographical area so that the same SMS can be received by number of display

boards in a locality using techniques of time division multiple access. Started of as an

instantaneous News display unit, we have improved upon it and tried to take advantage of the

computing capabilities of microcontroller.

Looking into current trend of information transfer in the campus, it is seen that important

notice take time to be displayed in the notice boards. This latency is not expected in most of the

cases and must be avoided.

It is proposed to implement this project at the institute level. It is proposed to place

display boards in major access points. The electronics displays which are currently used are

programmable displays which need to be reprogrammed each time. This makes it inefficient for

immediate information transfer, and thus the display board looses its importance. The GSM

based display toolkit can be used as a add-on to these display boards and make it truly wireless.

Page 4: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����!�

The display board programs itself with the help of the incoming SMS with proper validation.

Such a system proves to be helpful for immediate information transfer.

The system required for the purpose is nothing but a Microcontroller based SMS box.

The main components of the toolkit include microcontroller, GSM modem. These components

are integrated with the display board and thus incorporate the wireless features. The GSM

modem receives the SMS. The AT commands are serially transferred to the modem through

MAX232. In return the modem transmits the stored message through the COM port. The ARM

controller validates the SMS and then displays the message in the LED display board. Various

time division multiplexing techniques have been suggested to make the display boards

functionally efficient. The ARM controller used in this case is Philips ARM7TDMI LPC2103.

SIM300 is used as the GSM modem. In implementation this can be replaced by actually display

boards like LED dot matrix displays.

BASIC BLOCK DIAGRAM OF SMS BASED NOTICE BOARD USING GSM AND ARM

CONTROLLER

Page 5: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����"�

Chapter 1

INTRODUCTION

Page 6: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#�

1.1 INTRODUCTION

Presently, the United States is the most technologically advanced country in the area of

telecommunications with about; 126 million phone lines, 7.5 million cellular phone users, 5

thousand AM radio broadcast stations, 5 thousand FM radio stations, 1 thousand television

broadcast stations, 9 thousand cable television systems, 530 million radios, 193 million

television sets, 24 ocean cables, and scores of satellite facilities! This is truly an "Information

Age" and sometimes, you need to look at where we've been in order to see the future more

clearly!

1.1.1 Information

---“A message received and understood” --- Princeton

---“Information is a term with many meanings depending on context, but is as a rule closely

related to such concepts as meaning, knowledge, instruction, communication, representation, and

mental stimulus ” --- Wikipedia

--- “any communication or representation of knowledge such as facts, data, or opinions in any

medium or form, including textual, numerical, graphic, cartographic, narrative, or audiovisual

forms (OMB Circular A-130). ” --- Gils.net

--- “Facts, concepts, or instructions; any sort of knowledge or supposition which can be

communicated. “ --- cedar.web.cern

--- “Is organized data that has been arranged for better comprehension or understanding. What is

one person's information can become another person's data.” --- earthlink.net

1.1.2 Information Transfer

A coordinated sequence of user and telecommunications system actions that cause information

present at a source user to become present at a destination user.

Note: An information-transfer transaction usually consists of three consecutive phases called the

access phase, the information-transfer phase, and the disengagement phase.

Page 7: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$�

1.2 Broadcast

It is a term to describe communication where a piece of information is sent or transmitted from

one point to all other points. There is just one sender, but the information is simultaneously sent

to all connected receivers. In networking, a distinction is made between broadcasting and

multicasting. Broadcasting sends a message to everyone on the network whereas multicasting

sends a message to a select list of recipients.

1.3. PROBLEM FACED IN THE PRESENT DISPLAY SYSTEM IN CAMPUS

Looking into current trend of information transfer in the campus, it is seen that important notice

take time to be displayed in the notice boards. This latency is not expected in most of the cases

and must be avoided.

1.4. AIM OF THE PROJECT:

The project mainly focuses on transmission of textual data through air interface by the use of

GSM through asynchronous serial communication .The data will be processed by the

microcontroller on both ends. The data will be displayed on LED only after entering unique pass

key. In addition to that address matching is done and data can be received only by the dedicated

receiver.

Actually what happens is, sending sms through phone has become very popular and if we

can use this sms to control devices and in displaying data. It is possible to receive or decode the

sms globaly by using gsm , by the any part of world we can control and display data on LED

board .

In this project we not only send the data but send the data with pass code also. Which

enables us to prevent the unauthorized use of LED display board and only the person who have

pass code can have access to LED board . Important feature of thesis is we are using gsm

network by which we can control LED display board by the any part of globe. If we must have

the respected pass code. And the pass code is ok then the correct data is to be displayed on LED.

Page 8: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����%�

Chapter 2

DESIGN OVERVIEW AND

GENERAL WORKING

Page 9: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����&�

2.1. Design on Paper As explained in the introduction chapter, the realization of complete potential of the display

boards and the wireless medium in information transfer is the major issue that the following

thesis of the following project deals with.

Figure 2.1. Design Overview

As we see in the above figure, there are at least three interfacing circuits, MAX-232 with

microcontroller, LED display with microcontroller, and MAX-232 with GSM MODEM. The

display boards used commercially can be as follows:

Page 10: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������'�

Figure 2.2 Commercially used display boards

The input requirement for such kind of display boards are 120/240 VAC 50//60 Hz with

Internal circuit breaker sized per sign layout.

The display boards are usually huge in size and cannot be used for simulation purpose. So

LED displays are used for testing.

It is not a hidden fact that interfacing a MODEM with a normal PC is quite easy with the

help of the AT commands sent to it from the Hyper Terminal window. But we must take into

account the fact that the MODEM requires a wired connection at one end and wireless at the

other. Dedicating a general purpose computer at each and every site of the display boards,

although makes the task a lot easier but is too expensive to be a possibility. Hence we employ

Philips LPC2103 ARM controller with 64 Kb EEROM storage memory. The complexity of

coding substantially increases, but once programmed the module works at its robust best since it

is a dedicated embedded system and not a general purpose computer. The design procedure

involves identifying and assembling all the required hardware and ensuring fail safe interfacing

between all the components. Then we have the coding process which has to take care of the

delays between two successive transmissions and most importantly the validation of the sender’s

number. The number of valid mobile numbers can be more than one. The limiting constraint is

the RAM of the microcontroller rather than the coding complexity.

Page 11: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ��������

2.2 General working of the model:

Fig 2.3: BASIC BLOCK DIAGRAM OF SMS BASED NOTICE BOARD USING GSM AND

ARM CONTROLLER

The Basic block diagram of the SMS Based Notice Board is shown in the figure above. The

Transformer provides the 12v AC supply, it is then converted to 5v DC power supply by means

of the AC to DC converter. This 5v DC supply is used to power up all the other circuits like the

GSM module, Arm board ,Buzzer and the LED display unit.

Whenever the GSM module is powered up and after it catches the signal, it sends a

message as “SYSTEM STARTS” to the authorized person. This indicates that the system is now

ready to receive the SMS and to put it on the moving display unit.

As the GSM module receives the message it is given to the ARM processor for further

processing of the received message. It carries out various processing actions such as checking for

the length of the received massage, acknowledges the sender that the message is received. Once

the processing is done the buzzer is powered up to indicate that there is a new massage for the

display.

Page 12: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ��������

Processed message is then passed through the MAX232 , which converts the RS232

levels into TTL/CMOS levels required for the display. The message is now stored on the

EPROM and given to the display unit. The display unit keeps displaying the same message until

a new message is received. The message should not exceed 35 characters. The display unit used

in this project is LED DOT MATRIX, where each character is of 5x7.

Page 13: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������ �

Chapter 3

HARDWARE PROFILE

Page 14: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������!�

3.1. GSM MODEM

3.1.1 Introduction to sim300

A GSM modem is a wireless modem that works with a GSM wireless network. A wireless

modem behaves like a dial-up modem. The main difference between them is that a dial-up

modem sends and receives data through a fixed telephone line while a wireless modem sends and

receives data through radio waves. Like a GSM mobile phone, a GSM modem requires a SIM

card from a wireless carrier in order to operate. SIM300 is a Tri-band GSM/GPRS engine that

works on frequencies EGSM 900 MHz, DCS 1800 MHz and PCS 1900 MHz. SIM300 features

GPRS multi-slot class 10/ class 8 (optional) and supports the GPRS coding schemes CS-1, CS-2,

CS-3 and CS-4.

You can use AT Command to get information in SIM card. The SIM interface supports

the functionality of the GSM Phase 1 specification and also supports the functionality of the new

GSM Phase 2+ specification for FAST 64 kbps SIM (intended for use with a SIM application

Tool-kit).Both 1.8V and 3.0V SIM Cards are supported. The SIM interface is powered from an

internal regulator in the module having nominal voltage 2.8V. All pins reset as outputs driving

low.

• Reading, writing and deleting SMS messages.

• Sending SMS messages.

• Monitoring the signal strength.

• Monitoring the charging status and charge level of the battery.

• Reading, writing and searching phone book entries.

Page 15: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

Fig

Designed for global market, SIM

nSM 900 MHz, DCS 1800 MHz

10/ class 8 (optional) and suppor

a tiny configuration of 40mm

requirements in your application

The physical interface to the m

connector, which provides all ha

except the RF antenna interface.

�F�C����������������A�BEA���E�

igure 3.1. Sim300 Evaluation Board

M300 is a Tri-band GSM/GPRS engine that work

Hz and PCS 1900 MHz. SIM300 features GPRS

orts the GPRS coding schemes CS-1, CS-2, CS-3

x 33mm x 2.85mm , SIM300 can fit almo

ons, such as smart phone, PDA phone and other

mobile application is made through a 60-pin

hardware interfaces between the module and cu

e.

������"�

rks on frequencies

RS multi-slot class

3 and CS-4.nWith

ost all the space

er mobile devices.

pin board-to-board

customers’ boards

Page 16: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������#�

The SIM300 provides RF antenna interface with two alternatives: antenna connector and antenna

pad. The antenna connector is MURATA MM9329-2700. And customer’s antenna can be

oldered to the antenna pad. The SIM300 is designed with power saving technique, the current

consumption is as low as 2.5mA in SLEEP mode. The SIM300 is integrated with the TCP/IP

protocol; extended TCP/IP AT commands are developed for customers to use the TCP/IP

protocol easily, which is very useful for those data transfer applications. In order to help you to

develop the SIM300 application, SIMCOM can supply an Evaluation Board (EVB) that

interfaces the SIM300 directly with appropriate power supply, SIM card, RS232 serial port,

handset port, earphone port, antenna and all GPIO of the SIM300.

3.1.2 SIM300 functional diagram

Fig 3.2 : SIM300 Functional Diagram

Page 17: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������$�

The following figure shows a functional diagram of the SIM300 and illustrates the mainly

functional part:

1. The GSM baseband engine

2. Flash and SRAM

3. The GSM radio frequency part

4. The antenna interface

5. The board-to-board interface

3.1.3 Accessing GSM MODEM using Microsoft HyperTerminal

Microsoft HyperTerminal is a small program that comes with Microsoft Windows. We

use it to send AT commands to the GSM modem. It can be found at Start -> Programs ->

Accessories -> Communications -> HyperTerminal.

Before programming our SMS application, it is required to check if the GSM modem and SIM

card are working properly first. The MS HyperTerminal is a handy tool when it comes to testing

the GSM device. It is a good idea to test the GSM devices beforehand. When a problem occurs,

sometimes it is difficult to tell what causes the problem. The cause can be the program, the GSM

device or the SIM card. If GSM device and SIM card with MS HyperTerminal and they operate

properly, then it is very likely that the problem is caused by the program or other hard wares. For

Linux users, Mincom can be used instead of HyperTerminal.

3.1.4 Testing of GSM MODEM

To use MS HyperTerminal to send AT commands to the GSM modem, the following procedure

is followed

1. We put a valid SIM card into the GSM modem. We can obtain a SIM card by subscribing to

the GSM service of a wireless network operator.

2. Since in our case the modem drivers were pre installed, we need not to install any such

drivers.

3. Then we start up MS HyperTerminal by selecting Start -> Programs -> Accessories ->

Communications -> HyperTerminal.

Page 18: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������%�

4. In the Connection Description dialog box (as shown in the screenshot given below), we enter

any name and choose an icon we like for the connection. Then we click the OK button.

Figure. 3.3. The screenshot of MS HyperTerminal's Connection Description dialog box

5. In the Connect To dialog box, choose the COM port that your mobile phone or GSM modem

is connecting to in the Connect using combo box. For example, choose COM1 if your mobile

phone or GSM modem is connecting to the COM1 port. Then click the OK button.(Sometimes

there will have more than one COM port in the Connect using combo box. To know which COM

port is used by your mobile phone or GSM modem, follow the procedure below.

In Windows XP:

Go to Control Panel -> Phone and Modem Options. Then click the Modems tab. In the list box,

you can see which COM port the mobile phone or GSM modem is connected to.)

Page 19: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������&�

Figure. 3.4. The screenshot of MS HyperTerminal's Connect to dialog box

6. The Properties dialog box comes out. Enter the correct port settings for your mobile phone or

GSM modem. Then click the OK button. (To find the correct port settings that should be used

with your mobile phone or GSM modem, one way is to consult the manual of your mobile phone

or GSM modem. Another way is to check the port settings used by the wireless modem driver

that you installed earlier.

To check the port settings used by the wireless modem driver on Windows XP, follow these

steps:

a. Go to Control Panel -> Modem.

b. Select your mobile phone or GSM modem in the list box.

c. Click the Properties button.

d. The Properties dialog box appears. The Maximum speeds field on the General tab corresponds

to HyperTerminal's Bits per second field. Click the Connection tab and you can find the settings

for data bits, parity and stop bits. Click the Advanced button and you can find the setting for flow

control. To check the port settings used by the wireless modem driver on Windows 2000 and

Windows XP, follow these steps:

a. Go to Control Panel -> Phone and Modem Options -> Modems tab.

b. Select your mobile phone or GSM modem in the list box.

Page 20: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������'�

c. Click the Properties button.

d. The Properties dialog box appears. Click the Advanced tab and then click the Change Default

Preferences button.

e. The Change Default Preferences dialog box appears. The Port speed field on the General tab

corresponds to HyperTerminal's Bits per second field. You can also find the setting for flow

control on the General tab. On the Advanced tab, you can find the settings for data bits, parity

and stop bits.)

Figure. 3.5. The screenshot of MS HyperTerminal's Properties dialog box

7. Type "AT" in the main window. A response "OK" should be returned from the mobile phone

or GSM modem. Type "AT+CPIN?" in the main window. The AT command "AT+CPIN?" is

used to query whether the mobile phone or GSM modem is waiting for a PIN (personal

identification number, i.e. password). If the response is "+CPIN: READY", it means the SIM

card does not require a PIN and it is ready for use. If your SIM card requires a PIN, you need to

set the PIN with the AT command "AT+CPIN=<PIN>".

Page 21: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ��������

Figure. 3.6. The screenshot of MS HyperTerminal's main window in Windows XP.

If you get the responses above, your mobile phone or GSM modem is working properly. You can

start typing your own AT commands to control the mobile phone or GSM modem.

3.1.5 List of Important AT Commands

COMMANDS DESCRIPTION POSSIABLE RESPONSES

AT+CPIN? It just verifies the detection of

the signal

OK

CME: Error 10

AT+CMGS=”mobile no ” It is used to send the message

to the particular mobile no.,

>message

AT+CNMI=2,2,0,0,0 It is used to receive message

from the user and display.

>message received

Page 22: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ��������

3.2 ARM Controller

3.2.1 General Description

The LPC2103 microcontrollers are based on a 32-bit ARM7TDMI-S CPU with real-time

emulation with 32 kB of embedded high-speed flash memory. A 128-bit wide memory interface

and a unique accelerator architecture enable 32-bit code execution at the maximum clock rate.

For critical performance in interrupt service routines and DSP algorithms, this increases

performance up to 30 % over Thumb mode. For critical code size applications, the alternative

16-bit Thumb mode reduces code by more than 30 % with minimal performance penalty.

Due to their tiny size and low power consumption, the LPC2103 are ideal for applications

where miniaturization is a key requirement. A blend of serial communications interfaces ranging

from multiple UARTs, SPI to SSP and two I2C-buses, combined with on-chip SRAM of 8 kB,

make these devices very well suited for communication gateways and protocol converters. The

superior performance also makes these devices suitable for use as math coprocessors. Various

32-bit and 16-bit timers, an improved 10-bit ADC, PWM features through output match on all

timers, and 32 fast GPIO lines with up to nine edge or level sensitive external interrupt pins

make these microcontrollers particularly suitable for industrial control and medical systems.

3.2.2. Features

3.2.2.1 Enhanced features

Enhanced features are available in parts LPC2103 labelled Revision A and higher:

• Deep power-down mode with option to retain SRAM memory and/or RTC.

• Three levels of flash Code Read Protection (CRP) implemented.

Page 23: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������ �

3.2.2.2 Key features

• 32-bit ARM7TDMI-S microcontroller in tiny LQFP48 and HVQFN48 packages.

• 8 kB of on-chip static RAM and 32 kB of on-chip flash program memory.

• 128-bit wide interface/accelerator enables high-speed 70 MHz operation.

• ISP/IAP via on-chip bootloader software. Single flash sector or full chip erase in 100

ms and programming of 256 bytes in 1 ms.

• Embedded ICE-RT offers real-time debugging with the on-chip Real Monitor

software.

• The 10-bit ADC provides eight analog inputs, with conversion times as low as 2.44

ms per channel and dedicated result registers to minimize interrupt overhead.

• Two 32-bit timers/external event counters with combined seven capture and seven

compare channels.

• Two 16-bit timers/external event counters with combined three capture and seven

compare channels.

• Low power Real-Time Clock (RTC) with independent power and dedicated 32 kHz

• clock input.

• Multiple serial interfaces including two UARTs (16C550), two Fast I2C-buses

• (400 kbit/s), SPI and SSP with buffering and variable data length capabilities.

• Vectored interrupt controller with configurable priorities and vector addresses.

• Up to thirty-two, 5 V tolerant fast general purpose I/O pins.

• Up to 13 edge or level sensitive external interrupt pins available.

• 70 MHz maximum CPU clock available from programmable on-chip PLL with a

• possible input frequency of 10 MHz to 25 MHz and a settling time of 100 ms.

• On-chip integrated oscillator operates with an external crystal in the range from 1

MHz

• to 25 MHz.

• Power saving modes include Idle mode, Power-down mode with RTC active, and

• Power-down mode.

Page 24: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������!�

• Individual enable/disable of peripheral functions as well as peripheral clock scaling

for

• additional power optimization.

• Processor wake-up from Power-down and Deep power-down (Revision A and higher)

• mode via external interrupt or RTC.

Page 25: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ������"�

3.2.3 BLOCK DIAGRAM OF LPC2103

Fig 3.7: BLOCK DIAGRAM OF LPC2103

Page 26: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

3.2.4 PIN DIAGRAM :

Fig

�F�C����������������A�BEA���E�

ig 3.8: PIN DIAGRAM OF LPC2103

������#�

Page 27: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

3.2.5 PIN DESCRIPTION:

�F�C����������������A�BEA���E�

������$�

Page 28: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

�F�C����������������A�BEA���E�

������%�

Page 29: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

�F�C����������������A�BEA���E�

������&�

Page 30: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

[1] 5 V tolerant pad providing d

slew rate control.

[2] 5 V tolerant pad providing d

slew rate control. If configured

blocks pulses shorter than 3 ns.

[3] Open-drain 5 V tolerant digita

external pull-up to provide an out

[4] 5 V tolerant pad providing d

control) and analog input functio

glitch filter that blocks pulses s

section of the pad is disabled.

[5] Pad provides special analog fu

3.2.6 Functional description

3.2.6.1 Architectural overview

The ARM7TDMI-S is a general

and very low power consumptio

Computer (RISC) principles, an

simpler than those of micropro

simplicity results in a high instr

from a small and cost-effective p

Pipeline techniques are employed

�F�C����������������A�BEA���E�

g digital I/O functions with TTL levels and hyst

g digital I/O functions with TTL levels and hyst

d for an input function, this pad utilizes built-in

ital I/O I2C-bus 400 kHz specification compatibl

output functionality.

digital I/O (with TTL levels and hysteresis and

tion. If configured for an input function, this pad

s shorter than 3 ns. When configured as an AD

functionality

al purpose 32-bit microprocessor, which offers h

tion. The ARM architecture is based on Reduced

and the instruction set and related decode mech

programmed Complex Instruction Set Compute

struction throughput and impressive real-time in

processor core.

ed so that all parts of the processing and memory

����� '�

steresis and 10 ns

steresis and 10 ns

in glitch filter that

ible pad. It requires

nd 10 ns slew rate

ad utilizes built-in

DC input, digital

high performance

ced Instruction Set

chanism are much

ters (CISC). This

interrupt response

ry systems

Page 31: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� ��

can operate continuously. Typically, while one instruction is being executed, its successor is

being decoded, and a third instruction is being fetched from memory. The ARM7TDMI-S

processor also employs a unique architectural strategy known as Thumb, which makes it ideally

suited to high-volume applications with memory restrictions, or applications where code density

is an issue. The key idea behind Thumb is that of a super-reduced instruction set. Essentially, the

ARM7TDMI-S processor has two instruction sets:

• The standard 32-bit ARM set.

• A 16-bit Thumb set.

The Thumb set’s 16-bit instruction length allows it to approach twice the density of standard

ARM code while retaining most of the ARM’s performance advantage over a traditional 16-bit

processor using 16-bit registers. This is possible because Thumb code operates on the same 32-

bit register set as ARM code. Thumb code is able to provide up to 65 % of the code size of

ARM, and 160 % of the performance of an equivalent ARM processor connected to a 16-bit

memory system. The particular flash implementation in the LPC2103 allows for full speed

execution also in ARM mode. It is recommended to program performance critical and short code

Sections in ARM mode. The impact on the overall code size will be minimal but the speed can

be increased by 30 % over Thumb mode.

3.2.6.2 On-chip flash program memory

The LPC2103 incorporate a 32 kB flash memory system respectively. This memory may be used

for both code and data storage. Programming of the flash memory may be accomplished in

several ways. It may be programmed in system via the serial port. The application program may

also erase and/or program the flash while the application is running, allowing a great degree of

flexibility for data storage field firmware upgrades, etc. The entire flash memory is available for

user code as the bootloader resides in a separate memory.The LPC2103 flash memory provides a

minimum of 100,000 erase/write cycles and 20 years of data-retention memory.

3.2.6.3 On-chip static RAM

On-chip static RAM may be used for code and/or data storage. The SRAM may be accessed as

8-bits, 16-bits, and 32-bits. The LPC2103 provide 8 kB of static RAM.

Page 32: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� ��

Fig 3.9: Block diagram of ARM memory

3.2.6.4 UARTs

The LPC2103 each contain two UARTs. In addition to standard transmit and receive data lines,

UART1 also provides a full modem control handshake interface. Compared to previous

LPC2000 microcontrollers, UARTs in LPC2103 include a fractional baud rate generator for both

UARTs. Standard baud rates such as 115200 can be achieved with any crystal frequency above 2

MHz.

Page 33: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� �

Features

• 16 byte Receive and Transmit FIFOs.

• Register locations conform to 16C550 industry standard.

• Receiver FIFO trigger points at 1, 4, 8, and 14 bytes

• Built-in fractional baud rate generator covering wide range of baud rates without a need for

external crystals of particular values.

• Transmission FIFO control enables implementation of software (XON/XOFF) flow control on

both UARTs.

• UART1 is equipped with standard modem interface signals. This module also provides full

support for hardware flow control (auto-CTS/RTS).

3.2.6.5 I2C-bus serial I/O controllers

The LPC2103 each contain two I2C-bus controllers. The I

2C-bus is bidirectional, for inter-IC

control using only two wires: a Serial Clock Line (SCL), and a Serial Data Line (SDA). Each

device is recognized by a unique address and can operate as either a receiver-only device (e.g.,

LCD driver) or a transmitter with the capability to both receive and send information such as

serial memory. Transmitters and/or receivers can operate in either master or slave mode,

depending on whether the chip has to initiate a data transfer or is only addressed. The I2C-bus is

a multi-master bus, it can be controlled by more than one bus master connected to it. The I2C-bus

implemented in LPC2101/02/03 supports bit rates up to 400 kbit/s (Fast I2C-bus).

Features

• Compliant with standard I2C-bus interface.

• Easy to configure as Master, Slave, or Master/Slave.

• Programmable clocks allow versatile rate control.

• Bidirectional data transfer between masters and slaves.

• Multi-master bus (no central master).

• Arbitration between simultaneously transmitting masters without corruption of serial

data on the bus.

• Serial clock synchronization allows devices with different bit rates to communicate via one

serial bus.

• Serial clock synchronization can be used as a handshake mechanism to suspend and resume

serial transfer.

Page 34: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� !�

• The I2C-bus can also be used for test and diagnostic purpose

3.2.6.6 Watchdog timer

The purpose of the watchdog is to reset the microcontroller within a reasonable amount of time if

it enters an erroneous state. When enabled, the watchdog will generate a system reset if the user

program fails to ‘feed’ (or reload) the watchdog within a predetermined amount of time.

Features

• Internally resets chip if not periodically reloaded.

• Debug mode.

• Enabled by software but requires a hardware reset or a watchdog reset/interrupt to be disabled.

• Incorrect/Incomplete feed sequence causes reset/interrupt if enabled.

• Flag to indicate watchdog reset.

• Programmable 32-bit timer with internal pre-scaler.

• Selectable time period from (TPCLK ´ 256 ´ 4) to (TPCLK ´ 232 ´ 4) in multiples of

TPCLK ´ 4.

3.2.6.7 Real-time clock

The Real-Time Clock (RTC) is designed to provide a set of counters to measure time when

normal or idle operating mode is selected. The RTC has been designed to use little power,

making it suitable for battery powered systems where the CPU is not running continuously (Idle

mode).

Features

• Measures the passage of time to maintain a calendar and clock.

• Ultra-low power design to support battery powered systems.

• Provides Seconds, Minutes, Hours, Day of Month, Month, Year, Day of Week, and Day of

Year.

• Can use either the RTC dedicated 32 kHz oscillator input or clock derived from the external

crystal/oscillator input at XTAL1. The programmable reference clock divider allows fine

adjustment of the RTC.

• Dedicated power supply pin can be connected to a battery or the main 3.3 V.

Page 35: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� "�

3.2.6.8 Crystal oscillator

The on-chip integrated oscillator operates with external crystal in range of 1 MHz to 25 MHz.

The oscillator output frequency is called fosc and the ARM processor clock frequency is referred

to as CCLK for purposes of rate equations, etc. fosc and CCLK are the same value unless the

PLL is running and connected. Refer to Section 6.17.2 “PLL” and Section 10.1 “XTAL1 input”

for additional information.

3.3 DOT MATRIX LED DISPLAY

A dot matrix display is a display device used to display information on machines, clocks, railway

departure indicators and many other devices requiring a simple display device of limited

resolution. The display consists of a matrix of lights of mechanical indicators arranged in a

rectangular configuration (other shapes are also possible, although not common) such that by

switching on or off selected lights, texts or graphics can be displayed. A dot matrix controller

converts instructions from a processor into signals which turns on or off lights in the matrix so

that the required display is produced.

3.3.1 CHARACTERISTICS:

� Long lasting

� Highly effective

� Low power consumption

� High luminance

� White day light (6500K)

� Robustness

� No resistors needed

� Viewing angle 160 degrees

� Low price

Page 36: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� #�

Fig 3.10 : 5x7 Dot Matrix LED

The Flexibility of having a vero-board included in the AVR Project Board make it ideal for

developing code library for the basic building block of a big application. 5 x 7 Dot-matrix LED

Display is one of the example.

Dot Matrix Display used in this example is a 7 Rows by 5 Column single colorLED Matrix

Display. LEDs in the Module is arranged in the way that the Row Lines are connected to the

Cathodes of the LEDs and the Column Lines are connected to the Anodes. In order to display

any character on the display specific pattern is required to be updated on Row lines while the

column lines are to be scanned in a timely manner so that the scanning is not visible to the

viewer. A timer is usually used to do it (Timer 0 is used in this example) to maintain the strict

timing requirements.

We use 74HC595 to drive the continuous display. The description of 74HC595 is given below:

3.3.2 FEATURES

• 8-bit serial input

• 8-bit serial or parallel output

• Storage register with 3-state outputs

• Shift register with direct clear

• 100 MHz (typical) shift out frequency

• ESD protection: HBM EIA/JESD22-A114-A exceeds 2000 V, MM EIA/JESD22-A115-

A exceeds 200 V.

3.3.3 APPLICATIONS

• Serial-to-parallel data conversion

• Remote control holding register.

Page 37: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� $�

3.3.4 DESCRIPTION

The 74HC/HCT595 are high-speed Si-gateCMOSdevices and are pin compatible with low power

Schottky TTL (LSTTL). They are specified in compliance with JEDEC standard no. 7A. The

74HC/HCT595 is an 8-stage serial shift register with a storage register and 3-state outputs. The

shift register and storage register have separate clocks. Data is shifted on the positive-going

transitions of the SH_CP input. The data in each register is transferred to the storage register on a

positive-going transition of the ST_CP input. If both clocks are connected together, the shift

register will always be one clock pulse ahead of the storage register. The shift register has a

serial input (DS) and a serial standard output (Q7’) for cascading. It is also provided with

asynchronous reset (active LOW) for all 8 shift register stages. The storage register has 8 parallel

3-state bus driver outputs. Data in the storage register appears at the output whenever the output

enable input (OE) is LOW.

Page 38: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� ����� %�

Chapter 4

SOFTWARE

PROFILE�

Page 39: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

4.1 KEIL Development Tool

Keil software provides th

ASSEMBLY. U-VISION 2,

management, Source Code Editin

environment. It acts as a CROSS

4.1.1 How to Create a New Pro

1. Select the Project from th

2. Select New Project.

3. Give the File Name. A pr

�F�C����������������A�BEA���E�

the ease of writing the code in

, the new IDE from Keil Software co

ting and Program Debugging in one powerful

S-COMPILER.

roject

the menu bar.

project with extension of .uv2 will be created

����� &�

either C or

combines Project

Page 40: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

4.1.2 Selecting the Device

1. After giving the file name

2. Select the respective com

hardware.

3. From the drop down a

manufacturer. Choose the

4. Now the target is ready.

5. The data sheets and user m

�F�C����������������A�BEA���E�

me the device list windows opens.

ompany’s microcontroller IC that is going to be

arrow, we get a list of all the chips from

he appropriate one.

r manuals are automatically added.

�����!'�

be implemented in

m that particular

Page 41: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

4.1.3 Configuring the essentials

1. Right Click on Target to v

2. The Target tab enables to

have to specify the freque

3. The Output tab has the op

it.

4. The A166 and C51 tabs s

�F�C����������������A�BEA���E�

als

o view the options for Target 1.

to give the Starting address and size of RAM and

uency of the crystal used which in our case is 11.0

option to create the HEX file. Confirm the check

shows the compiler options.

�����!��

nd ROM. We also

1.0592Hz.

k box given beside

Page 42: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

4.1.4 Addition of files in Source

1. After the Target is created

2. Select the file menu and c

.a51 or .asm extension. Th

3. Right click on source g

assembler files created e

left-hand side project win

4. These files will contain yo

5. Options for source group

�F�C����������������A�BEA���E�

ce group

ted the source group is added to it.

d choose the ‘New’ option in it to get a page. Save

These assembler files are the ones recognized by

group and select add files to include the prog

earlier and confirm the action. The selected fil

indow.

your actual program in assembly or in embedded

p includes the compilers C51 and A51 paths.

�����!��

ve the same with a

y the compiler.

rogram. Select the

files appear in the

ed C language

Page 43: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

4.1.5 Running the program

1. Any number of sub progr

2. To run the program rig

application with syntax er

Output Window – Build p

the correct location in a µ

3. Then select rebuild all th

files are translated, regard

4. After the target is built, de

5. After all the debugging th

used to download to the m

�F�C����������������A�BEA���E�

grams can be added to source group.

right click on it and select Build Target. Whe

errors, µVision2 will display errors and warning

d page. A double click on a message line opens t

µVision2 editor window.

the target files too. With the Rebuild Target com

rdless of modifications.

debugging is done.

the file is built again which creates a hex file. Thi

microcontroller using a programmer kit.

�����! �

hen you build an

g messages in the

s the source file on

mmand, all source

his hex file is then

Page 44: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����!!�

4.1.6 Target Program Execution & Debugging

µVision2 lets execute your application program in several different ways:

� With the Debug Toolbar buttons and the “Debug Menu and Debug Commands”.

� With the Run till Cursor line command in the local menu. The local menu opens with a

right mouse click on the code line in the Editor or Disassembly window.

� In the Output Window – Command page you can use the Go, Ostep, Pstep, and Tstep

commands.

4.1.7 Watch Window

The Watch window lets you to view and modify program variables and lists the current function

call nesting. The contents of the Watch Window are automatically updated whenever program

execution stops. You can enable View Periodic Window Update to update variable values while

a target program is running.

The Locals page shows all local function variables of the current function. The

Watch pages display user-specify program variables. You add variables in three different ways:

� Select the text <enter here> with a mouse click and wait a second. Another mouse click

enters edit mode that allows you to add variables. In the same way you can modify

variable values.

� In an editor window open the context menu with a right mouse click and use Add to

Watch Window. µVision2 automatically selects the variable name under the cursor

position, alternatively you may mark an expression before using that command.

� In the Output Window – Command page you can use the Watch Set command to enter

variable names.

To remove a variable, click on the line and press the Delete key. The current function call

nesting is shown in the Call Stack page. Double clicking on a line shows the invocation an editor

window.

Page 45: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����!"�

4.2 FLASH MAGIC:

4.2.1 General description

‘ 8051 Development Board support major chips From Philips For programming that are flash

programmable microcontrollers that supports serial programming of devices. Flash

microcontroller can be erased and re-written as many times as possible. Flexibility to reprogram

number of times and its low cost make it ideal for use in a wide areas of applications.This

product is a combination of intelligent hardware and software. Bootloader Inside the Chip that

understands a protocol received from computer through serial port . On computer side software

called ‘Flash Magic’ is started that identifies the hardware and the chip inserted. Program for the

target microcontroller can be now either read back or sent as Intel format HEX file. Support

locking of devices to prevent reading back of programmed chip. After locking the chip can still

be erased and used again for loading new programs.Atmel series can only test in this

Development Board.

Features

• Support major Philips devices

• Lock of programs in chip supported to prevent program copying

• ZIF socket on-board Compatible 40 pin Microcontrollers

• Auto Erase before writing and Auto Verify after writing

• Informative status bar and access to latest programmed file

• Simple and Easy to use

Page 46: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����!#�

4.2.2 LPC FLASH UTILITY TOOL:

The flash utility tool is used to burn the code into the ARM processor.The snapshot of the tool

being used to burn the code is shown below

Using the Compare Flash:

The below steps need not be carried out if the checksum is part of the code before it is compiled.

This would mean that checksum would be part of the hex file been created. For more detailed

information on the checksum calculation please refer to the “Flash Memory System and

Programming” chapter in the respective device User Manual. In this case, the hex file can be

directly loaded using the “Upload to Flash” button and then the “ Compare Flash” button can be

used to compare the Flash contents with the hex file. This direct operation is possible since the

signature (or checksum) is part of the hex file already.

Page 47: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����!$�

Now we will show the path of hex file to be burned to the processor and uploaded to the

flash.The program is now burnt into the procesor and is ready to executed.

Page 48: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����!%�

4.3 PROGRAMMING:

4.3.1 FLOWCHART FOR SENDING THE MESSAGE:

����������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������

������������������������������������������������ �

�����������������������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������

����������������������������������

������������������������������������

�����������������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������

������

�����

��AB�

CDE�

��

ABF����E�

�����E�

A���

������E�

AB�F�������������������

��������� !���"�

B�����#��!��$�����

����F%�

&�� $��#��������

&�� $������'�����

Page 49: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����!&�

4.3.2 FLOWCHART FOR

RECEIVING MESSAGE :�������������������������������������������������������������������������������������������������

�������������������������������������������������������������������������������������������������

��������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������

����������������������������������������������������������������������������������������

� ��

� ��

� ��

� ��

� ��

�������������������������������������������������������������������������������

� �

������

���$������'��(���

���������)�� !����

��'#�'*���+���(��������

��AB�

�*E�

&�� $��#��

�����'�����

Is

AT+CPIN?

Ready��

Is

AT+CNMI

=2,2,0,0�,�

�*E�

��� !����

(����E��$������#��!��$��

D������������$�

���(�� �!��$��

&�������#��!��$��

���-�&��������

�����

&�� $��#��

������

Page 50: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����"'�

Chapter 5

DESIGNING

AND INTERFACING

Page 51: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

5.1 POWER SUPPLY

• LM7805 is used for 5V re

Features

• Output current in excess o

• It accepts input voltage ra

• No external components

• Internal thermal overload

• Internal short circuit curre

• Output transistor safe-are

• Output voltages of 5V, 12

5.1.1 Description

The LM341 and LM78MXX ser

current limiting, thermal shutd

virtually immune to damage from

With adequate heatsinkin

applications would include local

performance associated with sing

Fig 5

�F�C����������������A�BEA���E�

regulated supply.

s of 0.5A

range from 7V to 15V

ad protection

rrent-limiting

rea compensation

12V, and 15V

eries of three-terminal positive voltage regulators

tdown, and safe-operating area protection whi

om output overloads.

king, they can deliver in excess of 0.5A output

al (on-card) regulators which can eliminate the no

ngle-point regulation.

g 5.1 Circuit diagram of Power supply

�����"��

ors employ built-in

hich makes them

ut current. Typical

noise and degraded

Page 52: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

DESIGNING:

Vm=12V, RL= 10 to 12�, f=50H

Vrms=Vm/��, Irms=Im/�� =V

Vdc=2Vm/�, Idc=2Vm/(RL�)

Ripple Factor=�=sqrt((Vrms/Vdc

=sqrt((�/(2��))

�=0.482

also we know that

�=1/(4��*f*C3*RL)

C3=1/(4��*0.482*50*12)

C3=499.09�F� 470 �F

Before regulating Vdc

Vdc=2Vm/��

=2*12/1.41

Vdc=7.6394V

After passing through regulator 7

Vdc=5V

C1=0.1 �F , C2=10 �F , are us

7805.

�F�C����������������A�BEA���E�

0Hz

Vm/(RL��)

dc)2-1)

))2-1)

7805

used as coupling and decoupling capacitors resp

Fig 5.2 Circuit diagram of LED

�����"��

spectively with IC

Page 53: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����" �

LED Specifications:

610nm<�<760nm

Voltage range 1.8V to 3.3V

And Circuit current I= 3.4mA

By Kirchoff’s voltage law

Vs=VR+VL

Vs=I*RL+VL

RL=5-1.8/3.4m

RL=941��1K�

5.2 Hxd buzzer

Product Description:

Fig 5.3 Hxd buzzer

Rated Voltage: 1. 5~12V DC

Operation Voltage: 1. 2~16V DC

Rated Current: � 40mA

Rated Current: 6. 5± 1. 0 45± 5 140± 14(� )

Coil Impedance: 16~240�

Sound Output: � 85DB

Resonant Freq: 2400HZ

Operating Temp: -20º C~+65º C

Storage Temp: -20º C~+70º C

Weight: 2g

Page 54: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����"!�

5.3 RS-232

In telecommunications, RS-232 is a standard for serial binary data signals connecting between a

DTE (Data terminal equipment) and a DCE (Data Circuit-terminating Equipment). It is

commonly used in computer serial ports. In RS-232, data is sent as a time-series of bits. Both

synchronous and asynchronous transmissions are supported by the standard. In addition to the

data circuits, the standard defines a number of control circuits used to manage the connection

between the DTE and DCE. Each data or control circuit only operates in one direction that is,

signaling from a DTE to the attached DCE 23 or the reverse. Since transmit data and receive data

are separate circuits, the interface can operate in a full duplex manner, supporting concurrent

data flow in both directions. The standard does not define character framing within the data

stream, or character encoding.

Figure 5.4 Female 9 pin plug

Table5.1 RS-232 Signals

Page 55: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����""�

5.3.1 RS-232 Signals

Transmitted Data (TxD)

Data sent from DTE to DCE.

Received Data (RxD)

Data sent from DCE to DTE.

Request To Send (RTS)

Asserted (set to 0) by DTE to prepare DCE to receive data. This may require action on the part of

the DCE, e.g. transmitting a carrier or reversing the direction of a half-duplex line.

Clear To Send (CTS)

Asserted by DCE to acknowledge RTS and allow DTE to transmit.

Data Terminal Ready (DTR)

Asserted by DTE to indicate that it is ready to be connected. If the DCE is a modem, it should go

"off hook" when it receives this signal. If this signal is deasserted, the modem should respond by

immediately hanging up.

Data Set Ready (DSR)

Asserted by DCE to indicate an active connection. If DCE is not a modem (e.g. a null-modem

cable or other equipment), this signal should be permanently asserted (set to 0), possibly by a

jumper to another signal.

Carrier Detect (CD)

Asserted by DCE when a connection has been established with remote equipment.

Ring Indicator (RI)

Asserted by DCE when it detects a ring signal from the telephone line.

5.3.2 RTS/CTS Handshaking

The standard RS-232 use of the RTS and CTS lines is asymmetrical. The DTE asserts RTS to

indicate a desire to transmit and the DCE asserts CTS in response to grant permission. This

allows for half-duplex modems that disable their transmitters when not required, and must

transmit a synchronization preamble to the receiver when they are reenabed. There is no way for

the DTE to indicate that it is unable to accept data from the DCE. A non-standard symmetrical

alternative is widely used: CTS indicates permission from the DCE for the DTE to transmit, and

RTS indicates permission from the DTE for the DCE to transmit. The "request to transmit" is

implicit and continuous. The standard defines RTS/CTS as the signaling protocol for flow

Page 56: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����"#�

control for data transmitted from DTE to DCE. The standard has no provision for flow control in

the other direction. In practice, most hardware seems to have repurposed the RTS signal for this

function. A minimal “3-wire” RS-232 connection consisting only of transmits data, receives data

and ground, and is commonly used when the full facilities of RS-232 are not required. When

only flow control is required, the RTS and CTS lines are added in a 5-wire version. In our case it

was imperative that we connected the RTS line of the microcontroller (DTE) to ground to enable

receipt of bit streams from the modem.

5.4 MAX 232

The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply

EIA-232 voltage levels from a single 5-V supply. Each receiver converts EIA-232 inputs to 5-V

TTL/CMOS levels. These receivers have a typical threshold of 1.3 V and a typical hysteresis of

0.5 V, and can accept ±30-V inputs. Each driver converts TTL/CMOS input levels into EIA-232

levels.

Fig 5.5: MAX-232

Features

• Meet or Exceed TIA/EIA-232-F and ITU Recommendation V.28

• Operate With Single 5-V Power Supply

• Operate Up to 120 Kbit/s

• Two Drivers and Two Receivers

• ±30-V Input Levels

Page 57: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

• Low Supply Current . . .

• Designed to be Interchan

• ESD Protection Exceeds

• Applications

o TIA/EIA-232-F

o Battery-Powered S

o Terminals

o Modems

o Computers

5.5 VARIOUS INTERFACING

MAX232 and RS232 Interfacing:

Fig 5

�F�C����������������A�BEA���E�

. . 8 mA Typical

angeable With Maxim MAX232

ds JESD 22 – 2000-V Human-Body Model (A114

d Systems

G CIRCUITS:

ng:

5.6: MAX232 and RS232 Interfacing

�����"$�

14-A)

Page 58: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C������

���B�������������

Fig 5.

Fig 5.8

�F�C����������������A�BEA���E�

5.7 DB male to male socket connection

.8 DB socket female to GSM connection

�����"%�

Page 59: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����"&�

Chapter 6

CONCLUSION �

Page 60: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#'�

6.1 CONCLUSION:

The SMS based display board has been designed successfully. This display board is made

wireless by using GSM technology, that is the SMS is used to update the information on the

display. Only the authorized person can have the access to update the information.

Various software tools like KEIL,FLASH MAGIC are used for coding and burning the

same into the processor. The advanced ARM processor is used for faster processing of data. The

display unit being used is DOT MATRIX LED display. It is found to be the most efficient

display unit as it gives the good resolution and consumes less power. Intensity of the LEDs can

be varied since the transformer is used to drive the current to the LEDs making it far more

efficient.

Coding has been made flexible in order to incorporate any of the modifications if required.

With all the above features being implemented conveniently and low price it is a promising

application most likely to replace the conventional notice boards in various campuses. Thus it

would reduce the manual intervention seen in conventional notice boards.

Page 61: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#��

6.2 FUTURE IMPLEMENTATION:

In future the display board can be made more sophisticated by allocating the authority to the

selected authorized persons to drive the display. Number keys can be provided to update the

phone numbers of the authorized persons so that a flexible mode of operation can be obtained.

The message on the notice display can be sent to any person by entering their number through

the key pad.

Muliple message display board can be conceived by enabling the messages to scroll as they

come in

Even voice messages can be made to drive the display board by converting the voice to text and

displaying them.

The display can be interfaced with the computer and hard copy of any display message can be

obtained.

Page 62: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#��

APPENDIX THE CODE

//----------------------------------------------------------------------------------------

//GLNB_Main.c

//----------------------------------------------------------------------------------------

//SMS BASED NOTICE BOARD USING GSM AND ARM CONTROLLER

// Target: NSK Development Board for Philips ARM LPC2103

// Tool chain: KEIL Eval 'c'

//----------------------------------------------------------------------------------------

// Includes

//----------------------------------------------------------------------------------------

#include<LPC2103.h>

#include<GLNB_UART0_Func.c>

#include<GLNB_UART1_Func.c>

#include<GLNB_GSM_Func.c>

//----------------------------------------------------------------------------------------

// 16-bit SFR Definitions for "LPC2103"

//----------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------

// Global VARIABLES

//----------------------------------------------------------------------------------------

unsigned char GSM_SMS_Rx_Data[100];

unsigned int LED_Delay_Count = 0;

//--------------------------------------------------------------------------------------------------------------------

// Global CONSTANTS

//--------------------------------------------------------------------------------------------------------------------

unsigned char Project[] = "LED DISPLAY"; //Array For Storing 18 Bits 8x8 Fonts for the GLCD

unsigned char SMS_Sent[] = "TEST SMS SENT"; //Array For Storing 18 Bits 8x8 Fonts for the GLCD

Page 63: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����# �

unsigned char SMS_Rx_Enabled[]="SMS RX ENABLED";

unsigned char SMS_Rx_Mode[]="SMS RECEIVE MODE";

unsigned char SMS_Received[]="SMS RECEIVED";

unsigned char Test[]="TEST";

unsigned char S_Count[]="S WAIT COUNT";

unsigned char S_Rx[]="S RECEIVED";

//----------------------------------------------------------------------------------------

// Function PROTOTYPES

//----------------------------------------------------------------------------------------

void Device_Init( void );

//----------------------------------------------------------------------------------------

// void main (void)

//----------------------------------------------------------------------------------------

void main (void)

{

unsigned char i, j;

Device_Init( );

MSDelay( 500 );

// UART0_Start( Project );

MSDelay( 500 );

//UART1_Start( Project );

GSM_Send_SMS( Mb_Num1, GSM_SMS1 ); // Testing

MSDelay( 2000 );

// UART0_Start( SMS_Sent ); // Setting to be in SMS receive mode

GSM_Rx_SMS( ); // To Set Receive SMS command

MSDelay(1000); // 1 sec delay

// UART0_Start( SMS_Rx_Enabled );

while(1)

{

Page 64: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#!�

for( i=0; i<99; i++ )

GSM_SMS_Rx_Data[i] = ' ';

// UART0_Start( SMS_Rx_Mode );

MSDelay( 100 ); // Testing

for( i=0; i<110; i++ )

{

while(!(U1LSR & RDR ))

{

}

Rx_data_arr[i] = U1RBR;

}

Rx_data_arr[i] = '\0';

MSDelay(100); // Testing

// UART0_Start( SMS_Received );

U1FCR=0x07;

i = 0;

while(1)

{

if((Rx_data_arr[i]=='2')&&(Rx_data_arr[i+1]=='2')&&(Rx_data_arr[i+2]=='"'))

break;

i++;

}

i = i+5;

j = 0;

while( i<110 )

{

GSM_SMS_Rx_Data[j] = Rx_data_arr[i];

i++;

Page 65: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#"�

j++;

}

GSM_SMS_Rx_Data[j] = '\0';

// UART0_Start( GSM_SMS_Rx_Data );

MSDelay( 500 ); // Testing

// CODE FOR LED DISPLAY

while(1)

{

U0THR = '1';

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

LED_Delay_Count = 0;

while(!(U0LSR & RDR ))

{

MSDelay( 100 ); // Testing

LED_Delay_Count++;

if( LED_Delay_Count >= 200 )

{

break;

}

}

Rx_data_arr[0] = U0RBR;

// UART0_Start( S_Count );

if( Rx_data_arr[0] == 'S' )

{

Page 66: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����##�

IOSET0 = 0x00000010;

GSM_Send_SMS( Mb_Num1, S_Rx ); // Testing

MSDelay( 500 ); // Testing

U0THR = '*';

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

U0THR = '1';

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

UART0_Start( GSM_SMS_Rx_Data );

U0THR = '~';

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

U0THR = 0x0D;

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

IOCLR0 = 0x00000010;

Page 67: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#$�

break;

}

}

// UART0_Start( S_Rx );

MSDelay( 5000 ); // Testing

U0THR = 0x0D;

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

}

while(1)

{

;

}

}

void Device_Init( void )

{

IODIR0 = 0x00000010;

IOCLR0 = 0x00000010;

UART0_Init( );

UART1_Init( );

PINSEL0=0x00050005;

}

//-----------------------------------------------------------------------------------------------------------

// void MSDelay( unsigned int Milli_Sec )

Page 68: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#%�

//-----------------------------------------------------------------------------------------------------------

// Function Name: void MSDelay( unsigned int Milli_Sec )

// Arguments:

// Return Value:

// Description:

void MSDelay( unsigned int Milli_Sec )

{

unsigned int x,y;

for(x=0;x<Milli_Sec;x++)

{

for(y=0;y<250;y++)

{

;

}

}

}

//----------------------------------------------------------------------------------------

//GLNB_GSM_Func.c

//----------------------------------------------------------------------------------------

// Includes

//----------------------------------------------------------------------------------------

#define TEMT (1<<6)

#define RDR (1<<0)

//----------------------------------------------------------------------------------------

// 16-bit SFR Definitions for "P89V51RD2"

//----------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------

Page 69: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����#&�

// Global VARIABLES

//----------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------

// Global CONSTANTS

//----------------------------------------------------------------------------------------

unsigned char GSM_Init_Comm[]="AT\r";

unsigned char GSM_Send_SMS_Comm[]="AT+CMGS=";

unsigned char GSM_Rx_SMS_Comm[]="AT+CNMI=2,2,0,0,0\r";

char GSM_SMS1[]="SYSTEM STARTS";

// char Mb_Num1[]="9845843843";

char Mb_Num1[]="7760401217";

//----------------------------------------------------------------------------------------

// Function PROTOTYPES

//----------------------------------------------------------------------------------------

void MSDelay( unsigned int Milli_Sec );

void GSM_Init( void );

void GSM_Send_SMS( char *Mb_Num, char *SMS );

//--------------------------------------------------------------------------------------------------------------------

// void GSM_Init( void )

//--------------------------------------------------------------------------------------------------------------------

// Function Name: void GSM_Init( void )

// Arguments: No arguments

// Return Value: No return value

// Description: This function is used to test the GSM module. If we send a command AT then

Page 70: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$'�

// the GSM module will reply OK.

void GSM_Init( void )

{

unsigned char i;

for( i=0; GSM_Init_Comm[i] != '\0'; i++ )

{

U1THR = GSM_Init_Comm[i];

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

}

/*

for( i=0; GSM_Init_Comm[i] != '\0'; i++ )

U1THR = GSM_Init_Comm[i];

U1THR = 0x0D; // ASCII value of CARRIAGE RETURN

*/

// Wait till U0THR and U0TSR are both empty

while(!(U1LSR & TEMT))

{

} //

UART_Tx_char( 'A' );

//

UART_Tx_char( 'T' );

//

UART_Tx_char( 0x0D ); // ASCII value of CARRIAGE RETURN

}

Page 71: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$��

//--------------------------------------------------------------------------------------------------------------------

// void GSM_Send_SMS( char *Mb_Num, char *SMS )

//--------------------------------------------------------------------------------------------------------------------

// Function Name: void GSM_Send_SMS( char *Mb_Num, char *SMS )

// Arguments:2 arguments

// *Mb_Num -> it receives a base address of a string which contains a mobile number.

// *SMS -> it receives a base address of a string which contains a text message.

// Return Value: No return value

// Description: This function is used to send an SMS.

void GSM_Send_SMS( char *Mb_Num, char *SMS )

{

unsigned char i; // SMS send command is sent through

UART

for( i=0; GSM_Send_SMS_Comm[i] != '\0'; i++ )

{

U1THR = GSM_Send_SMS_Comm[i];

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

}

// GLCD_1pagefont( Welcome1, 2, 15, 0);

/*

for( i=0; GSM_Send_SMS_Comm[i] != '\0'; i++ )

U1THR = GSM_Send_SMS_Comm[i];

*/

Page 72: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$��

U1THR = 0x22; // ASCII value of "

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

// GLCD_1pagefont( Welcome1, 3, 15, 0);

/*

U1THR = 0x22; // ASCII value of "

// Wait till U0THR and U0TSR are both empty

while(!(U1LSR & TEMT))

{

}

MSDelay(100); // Testing

*/

// Mobile number is sent through UART

for( i=0; *Mb_Num != '\0'; i++ )

{

U1THR = *Mb_Num++;

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

}

// GLCD_1pagefont( Welcome1, 4, 15, 0);

/*

while( *Mb_Num != '\0' )

U1THR = *Mb_Num++;

Page 73: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$ �

*/

U1THR = 0x22; // ASCII value of "

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

// GLCD_1pagefont( Welcome1, 5, 15, 0);

U1THR = 0x0D; // ASCII value of CARRIAGE RETURN

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ) // Testing

// GLCD_1pagefont( Welcome1, 6, 15, 0);

/*

// Wait till U0THR and U0TSR are both empty

while(!(U1LSR & TEMT))

{

}

MSDelay(100); // Testing

*/

// Text message is sent through UART

for( i=0; *SMS != '\0'; i++ )

{

U1THR = *SMS++;

while(!(U1LSR & TEMT))

{

;

Page 74: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$!�

}

MSDelay( 10 ); // Testing

}

// GLCD_1pagefont( Welcome1, 7, 15, 0);

/*

while( *SMS != '\0' )

U1THR = *SMS++;

*/

U1THR = 0x1A; // ASCII value of

CTRL + Z

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

// GLCD_1pagefont( Welcome1, 0, 15, 0);

// Wait till U0THR and U0TSR are both empty

/*

while(!(U1LSR & TEMT))

{

}

MSDelay(100); // Testing

*/

}

void GSM_Rx_SMS( void )

{

unsigned char i; // SMS send command is sent through UART

for( i=0; GSM_Rx_SMS_Comm[i] != '\0'; i++ )

Page 75: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$"�

{

U1THR = GSM_Rx_SMS_Comm[i];

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 10 ); // Testing

}

/*

Rx_count = 0; // Take UART Receiver array to zeroth

location

for( i=0; GSM_Rx_SMS_Comm[i] != '\0'; i++ )

UART_Tx_char( GSM_Rx_SMS_Comm[i] );

//

Rx_ALCD( );

Rx_count = 0; // Take UART Receiver array to zeroth

location

UART_Tx_char( 0x0D ); // ASCII value of CARRIAGE

RETURN

//

Rx_ALCD( );

*/

}

//----------------------------------------------------------------------------------------

//GLNB_UART0_Func.c

//----------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------

// Includes

//----------------------------------------------------------------------------------------

Page 76: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$#�

#define TEMT (1<<6)

#define RDR (1<<0)

//----------------------------------------------------------------------------------------

// 16-bit SFR Definitions for "P89V51RD2"

//----------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------

// Global VARIABLES

//----------------------------------------------------------------------------------------

unsigned char Rx_data_arr0[160]=" ";

//----------------------------------------------------------------------------------------

// Global CONSTANTS

//----------------------------------------------------------------------------------------

//----------------------------------------------------------------------------------------

// Function PROTOTYPES

//----------------------------------------------------------------------------------------

void UART0_Init( void );

void UART0_Start( unsigned char *Str_Print );

void MSDelay( unsigned int Milli_Sec );

//--------------------------------------------------------------------------------------------------------------------

// void UART0_Start( void )

//--------------------------------------------------------------------------------------------------------------------

// Function Name: void UART0_Start( void )

// Arguments: No arguments

// Return Value: No return value

// Description: This function is used to test the GSM module. If we send a command AT then

// the GSM module will reply OK.

Page 77: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$$�

void UART0_Start( unsigned char *Str_Print )

{

unsigned char i;

for( i=0; *Str_Print != '\0'; i++ )

{

U0THR = *Str_Print++;

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 1 ); // Testing

}

// Wait till U0THR and U0TSR are both empty

/*

while(!(U0LSR & TEMT))

{

}

U0THR = 0x0A; // ASCII value of Line Feed

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 1 ); // Testing

U0THR = 0x0D; // ASCII value of Carriage return

while(!(U0LSR & TEMT))

{

;

}

MSDelay( 1 ); // Testing

Page 78: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$%�

*/

}

//-----------------------------------------------------------------------------------------------------------

// void UART1_Init( void )

//-----------------------------------------------------------------------------------------------------------

// Function Name: void UART1_Init( void )

// Arguments:

// Return Value:

// Description :

void UART0_Init( void )

{

// Initialize Pin Select Block for Tx and Rx

PINSEL0=0x00000005;

// Enable FIFO's and reset them

U0FCR=0x06;

// Set DLAB and word length set to 8bits

U0LCR=0x83;

// Baud rate set to 9600

U0DLL=0x13;

U0DLM=0x00;

// Clear DLAB

U0LCR=0x03;

}

//----------------------------------------------------------------------------------------

//GLNB_UART1_Func.c

//----------------------------------------------------------------------------------------

Page 79: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����$&�

//----------------------------------------------------------------------------------------

// Includes

//----------------------------------------------------------------------------------------

// 16-bit SFR Definitions for "P89V51RD2"

//----------------------------------------------------------------------------------------

// Global VARIABLES

//----------------------------------------------------------------------------------------

unsigned char Rx_data_arr[160]=" ";

//----------------------------------------------------------------------------------------

// Global CONSTANTS

//----------------------------------------------------------------------------------------

// Function PROTOTYPES

//----------------------------------------------------------------------------------------

void UART1_Init( void );

//--------------------------------------------------------------------------------------------------------------------

// void UART0_Start( void )

//--------------------------------------------------------------------------------------------------------------------

// Function Name: void UART0_Start( void )

// Arguments: No arguments

// Return Value: No return value

// Description: This function is used to test the GSM module.

If we send a command AT then

// the GSM module will reply OK.

void UART1_Start( unsigned char *Str_Print )

{

unsigned char i;

for( i=0; *Str_Print != '\0'; i++ )

{

U1THR = *Str_Print++;

Page 80: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����%'�

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 1 ); // Testing

}

// Wait till U0THR and U0TSR are both empty

while(!(U1LSR & TEMT))

{

}

U1THR = 0x0A; // ASCII value of Line Feed

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 1 ); // Testing

U1THR = 0x0D; // ASCII value of Carriage return

while(!(U1LSR & TEMT))

{

;

}

MSDelay( 1 ); // Testing

}

//-----------------------------------------------------------------------------------------------------------

// void UART1_Init( void )

//-----------------------------------------------------------------------------------------------------------

// Function Name:void UART1_Init( void )

// Arguments:

Page 81: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����%��

// Return Value:

// Description:

void UART1_Init( void )

{

// Initialize Pin Select Block for Tx and Rx

PINSEL0=0x00050000;

// Enable FIFO's and reset them

//U1FCR=0x06;

U1FCR=0x07;

// Set DLAB and word length set to 8bits

U1LCR=0x83;

// Baud rate set to 9600

U1DLL=0x13;

U1DLM=0x00;

// Clear DLAB

U1LCR=0x03;

}

Page 82: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����%��

BIBLIOGRAPHY

1. “OP-AMPS AND LINEAR INTEGRATED CIRCUITS”

- Ramakanth.A. Gayakwad

-PHI-Third Edition-Nov 1999.

2. “The 8051 MICROCONTROLLER”, Architecture, Programming and Applications

- Kenneth J. Ayala

- Penram International Publishing (I) Pvt. Ltd.(Second Edition)

3. “ELECTRONIC DEVICES AND CIRCUIT THEORY”

- Robert L. Boylestad & Louis Nashelsky

- PHI-Sixth Edition.

4. “8051 MICROCONTROLLER AND EMBEDDED SYSTEMS”

– Muhamed Ali Mazidi & Janice Gillispie Mazidi, Pearson Education, 2003.

5. “EMBEDDED- C” – Michael J. Pont

-Pearson Education, 2002.

6. “ ELECTRONIC DEVICES AND CIRCUITS”

-Bogart, Theodore F

- fourth edition, Prentice Hall, 1977

7. “EMBEDDED SYSTEM DESIGN”

- Frank Vahid and Tony Givargis, John Wiley

8. “ANALOG TO DIGITAL AND DIGITAL TO ANALOG CONVERTER”

- Rudy J. Vande Plassche

9. “WIRELESS TELECOMMUNICATION SYSTEMS AND NETWORKS”

-Mullett, Indian Edition

10. “EMBEDDED SYSTEMS” architecture , programming and design

-Raj Kamal, Second Edition, The McGraw-Hill Companies

Page 83: SMS_BASED_NOTICE_BOARD

����������ABCD���A�E��F�C����������������A�BEA���E�

���B������������� �����% �

11. “ LOGIC DESIGN”

-A.P.Godse. A.D. Godse

-Technical Publications

12. “PRINCIPLES OF APPLICATIONS OF GSM”

-Vijay K.Garg and Joseph E. Wilkes

-Pearson Eduction/ PHI , 1999

WEBSITES:

• www.keil.com/forum/docs

• http://www.keil.com/support/man/docs/gs/gs_applications.htm.

• http://www.8051.com/codelib.phtml�

• Mitsubishi electric research laboratories. http://www.merl.com

• BOSTON DYNAMICS: www.bostondynamics.com/research

• http://www.alldatasheet.co.kr/datasheetpdf/pdf_kor/ SIM-300/01.htm��

• http://www.alldatasheet.co.kr/datasheetpdf/pdf_kor/PHILIPS/ARM7TDMI-

LPC2103/01.htm��

• http://courses.cit.cornell.edu /ee476/FinalProjects/s2006/kttruong/asl1/index.html

• http://www.futurlec.com /adconv/adc0809.shtml