gsm 1308 modem control using pic-16f877a microcontroller
Post on 16-Jul-2015
413 Views
Preview:
TRANSCRIPT
GSM 1308 MODEM CONTROL
USING
PIC-16F877A MICROCONTROLLER
Presented by
Supervised By
Dr. A.K.M Fazlul Haque
Associate Professor
Department of ETE
Daffodil International
University
Sk.Mustafizur RahmanID: 082-19-930
Md. Moktarul Islam
ID: 082-19-938
Md.Emam-ul-Uddin
ID: 082-19-939
Aim of the Project:
Controlling the GSM 1308 modem using PIC16F877A by
improving the existing flowcode microcontroller program that
the modem can work as a more general mobile phone.
Content PIC16F877A Microcontroller
E-Blocks
GSM ModemCompiling Procedure
Flowcode Software
Main Programs
Result
Conclusion
PIC16F877A Microcontroller
The name PIC refers to a group of microcontrollers
This is a flexible 40 pin device. The
operating voltage of the microcontroller is
5V
Memory of 16F877A
Flash or EPROM: It is the memory where
the written program is stored.
RAM: It is the memory where the declared
'variables are stored.
EEPROM: It is the memory where the
variables can be permanently stored.
I/O Ports of 16F877A
PORT A : It is connected with Multiprogrammer
board
PORT C: It is Connected with RS232
Communicator
PORT D : It is connected with Keypad
PORT B: It is connected with LCD
E-blocks are small circuit boards each of which consists of a block of electronics that can be snapped
together to form an electronic system. There are two kinds of E-block
E-block
Upstream boards
Downstream boards
Used Components of E-Blocks
EB005 LCD board
EB014 Keypad RS232
Jumper Setting of E-Blocks
Board PORTSettings
Keypad D No settings
LCD B Jumpers on DEFAULT
Sensor A Jumpers on DEFAULT
RS232 CC
Jumpers:
R& TX SELECTION
CTS & RTS SELECTION
1
Patch System wire links:
SPI/DAC CJumpers:
SDO, SDI & SCK SELECTION
A HIP EN SELECTION
1
Patch System wire links:
None
C
Setting up the GSM modem
It can operates between 6vdc to 40vdc
RS232 is used to connect the modem with E-Blocks.
Need a active SIM card with sufficient credit.
Need to connect an Antenna with it to get network connection.
Testing GSM Modem
Before using the GSM modem with E-Block system it needs to be test by
HyperTerminal using different AT Command
•AT+CREG?
•AT%CGREG?
•ATD
•ATH
Checking of GSM, GPRS Setting, Outgoing & Incoming Call
Compiling ProcedureRunning the simulation
Project Software
To complete this project there are two software has been used. Their names are given below:
•Flowcode
•PPP
Steps of Flowcode
Clock setting of Microcontroller
•Crystal clock
•RC clock
Clock signal control the speed of operation.
Selection and Editing of Components
RS232 setting
RS232 is the communicator, which Tx and Rx data modem and PIC micro.
Call Macro icon properties
Call to another Macro. Macro means small programs which used many
time.
Call Component Macro
loop icon properties
Loop while:1 means loop forever.
Loop until: until the condition is true.
Loop count: How many time loop are running.
Decision properties
Calculation icon properties
Provide the logical function
String Manipulation
AT+CREG
AT%CGREG?
AT+CLIP=1,1 to see caller ID
ATD
ATA
ATH
Delay
Programmed is running too fast, So Add the delay function
Open the HEX file Send the program
:020000001C2DB5
:08000800FF00030EFC000A0ECC
:0C001000FD00040EFE008A110A12452DAE
:1000200000000000C10B10280800C308031D192898
:10003000080009300000FF3E031D1A2800000000E0
:10004000C30B1928080083160313DA010230DB0002
:100050001030DC006F30DD00E001DD08031908001E
:100060005C08DE00DF015B18DE17DB185F1483130A
:100070005F1883175E0884000008E100E11B742804
Developed Program
Program for calling system:
It has three state:
Idle
Ringing
Connected
When the modem detects an incoming call it transmits the message “RING” at regular
intervals (approximately 2 seconds).
Steps to Write Program:
LCD Initializing
Sending AT+CLIP
Checking incoming call
Taking Number from Keypad
Speed Dialing
Sending ATA
Sending ATH
Main Program for calling
Taking Number from Keypad
Speed dialing
Receiving a Call Call termination
Main Program’s Tx Macro Main Program’s Rx Macro
Program for sending sms
Steps to Write Program:
Taking Number from Keypad
The AT command required to configure
this option is Message Format
command:
AT+CMGF=1
The AT command to send a text
message is:
AT+CMGS=<”number”>
Writing message
<CTRL-Z> to finish sending
Sending Number Sending Message
Program for receiving smsThe AT command required to achieve this is the New Message Indication
command:
AT+CNMI=2,2
Simulation and Result
Software Output
Speed dialling (out going call):
Hardware Output
Speed dialling call termination
If we press ‘*’ Key it will terminate by sending ATH command
Taking and Dialing a Number from Keypad
If we press the ‘5’ key on keypad a option will be appeared showing “Enter No” on Software LCD .than we have
to enter a mobile number which will be saved in a variable named “K_Buffer”.
if we press the ‘#’ Key on keypad, the entered number will be dialled By a AT command that is
“ATD01710036458;”
Incoming Call
Hardware output
Now if we press the ‘#’ key on the keypad the incoming call will be received by sending a AT command to
modem as “ATA”
If we press ‘*’ Key it will terminate.
Sending of sms: When we will press the ‘#’ key a AT command that is “AT+CMGS=<”01717405762”>
” is sent to the modem
Software Output Hardware output
Receiving of sms
The figure is showing received message from a remote mobile phone
Conclusion
There are three existing program has been modified separately for
calling, sending and receiving sms which is necessary to developed a
general phone.
But it works slowly because of during the execution of large program the
device faces some delay as its fixed clock speed and also for limitation of
LCD display and KEYPAD
For Your Time
top related