12/2013

1/7

ĐIỀU KHIỂN THIẾT BỊ QUA TIN NHẮN SMS

Kiến Thức Liên Quan:





Modem GSM & Tập Lệnh AT
Lập Trình Cho Vi Điều Khiển
USART & Chuẩn Giao Tiếp RS 232
Các kiến thức điện tử căn bản …

Nhận Hướng Dẫn Đề Tài Trọn Gói
Mail: nthongktv@gmail.com
Phone: 0978.589.464

Mail: nthongktv@gmail.com
Phone: 0978.589.464
12/2013

2/7

1. Modem GSM:
Ở đây sử dụng Modem GSM SIM 300CZ với các thông số như sau:
VBAT
1
3
5
7
9
11
13
15
PWR_KEY
STATUS

17
19
21
23

SIM_VDD
SIM_RST
SIM_DATA
SIM_CLKK

25
27
29
31
33
35
37
39

RXT
TXT

41
43
45
47
49
51
53
55
57
59

VBAT

GND

VBAT

GND

VBAT

GND

VBAT

GND

VBAT

GND

VCHG

ADC0

TEMB_BAT

VRTC

VDD_EXT

NETLIGHT

PWR_KEY

KBC0

STATUS

KBC1

GPIOO

KBC2

BUZZER

KBC3

SIM_VDD

KBC4

SIM_RST

KBR0

SIM_DATA

KBR1

SIM_CLK

KBR2

SIM_PRESENT

KBR3

GPIO1

KBR4

DCD

DISP_CS

DTR

DISP_CLK

RXD

DISP_DATA

TXD

DISP_D/C

RTS

DISP_RST

CTS

DBG_RXD

RI

DBG_TXD

AGND

AGND

SPK1P

MIC1P

SPK1N

MIC1N

SPK2P

MIC2P

SPK2N

MIC2N

Sơ đồ chân Sim 300cz

Mail: nthongktv@gmail.com
Phone: 0978.589.464

2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58
60

NETLIGHT
12/2013

5

4

3

2

1

3/7

VEXT

VBAT

4,7K
22uF
2.2K

Sử dụng IC nguồn MIC 29152 cấp nguồn ~ 4V

0.22uF

1
2
3

GND
VPP
I/0

VCC
RST
CLK

4

SIM_VDD

5

SIM_RST

6

SIM_CLK
SIM_DATA

Khối kết nối Sim Card

VEXT

VEXT

VBAT
330

330

STATUS

NETLIGHT
10K

4K7

4K7

STATUS

BC547
47K

NETLIGHT

BC547

PWR_KEY

47K

Khối nút nhấn khởi động và hiển thị trạng thái hoạt động

Mail: nthongktv@gmail.com
Phone: 0978.589.464

100uF
12/2013

4/7

2. Bộ xử lý trung tâm:
Sử dụng vi điều khiển PIC 16F877A để đảm nhận các công việc chính:





Xử lý tin nhắn
Điều khiển thiết bị
Hiển thị trạng thái hoạt động
Phản hồi kết quả

R2

R1
PVN1

1

1
5 VDC

2
3
4
5
6
7

+
LED

C1
Button

2

-

15
16
17
18
23
24
25
26

C2

13
C3

MCLR*/VPP
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS*/C2OUT
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT

12
31

RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7

OSC1/CLKIN
RE0/RD*/AN5
RE1/WR*/AN6
RE2/CS*/AN7

CRYSTAL
14

RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD

33
34
35
36
37
38
39
40
19
20
21
22
27
28
29
30
8
9
10

OSC2/CLKOUT
VSS
VSS

VDD
VDD
PIC16F877A

0

Mạch hoạt động của PIC 16F877A

Mail: nthongktv@gmail.com
Phone: 0978.589.464

11
32
12/2013

5/7

3. Khối giao tiếp giữa Sim 300cz & Pic 16F877A:
VEXT

1
2
10uF
3
4
10uF
10uF

5
6
7
10uF
8

C1+

VCC

VS+

GND

C1-

T1OUT

C2+

R1IN

C2-

R1OUT

VS-

T1IN

T2OUT

T2IN

R2IN

R2OUT

16
15
14
13
12
11
10
9

Sử dụng 2 IC MAX 232 để đồng bộ dữ liệu truyền nhận dữ liệu giữa SIM & PIC





Tx SIM (P.43) – IC MAX 232 I (T2IN-P.10)
Rx SIM (P.41) – IC MAX 232 I (R2OUT-P.9)
Tx PIC (P.25) – IC MAX 232 II (T2IN-P.10)
Rx PIC (P.26) – IC MAX 232 II (R2OUT-P.9)

2 IC MAX 232 đấu chéo chân 7, 8 để truyền thông dữ liệu:
 IC MAX 232 I (T2OUT-P.7) - IC MAX 232 II (R2IN-P.8)
 IC MAX 232 I (R2IN-P.8) - IC MAX 232 II (T2OUT-P.7)
 Chân GND của 2 IC phải được kết nối với nhau.

 Chú ý: để kết nối này có thể hoạt động tốt các bạn cần chọn loại IC MAX 232 tốt
(Loại này chạy không bị nóng, trao đổi dữ liệu ở tốc độ cao). Các bạn cũng có thể
đồng bộ dữ liệu bằng các sử dụng các linh kiện BJT và điện trở để điều chỉnh điện áp
thay thế IC MAX 232.

Mail: nthongktv@gmail.com
Phone: 0978.589.464
12/2013

6/7

4. Các khối chức năng phụ:
Khối hiển thị
LCD16*2

LCD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

HI

Vss
Vdd
V0
RS
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
A
K

VCC

R1

1
2
3
4

1
2

POT

RS - E

0

DB4 ...... DB7

LCD 1602A
Khối công suất
AC

12 VDC
HI

5

1

LS1
3

VDC in

330

4K7

1K

4

VAC out

1
2

2

HI

4

1

Relay
LED

1N4148

3

2

PC817

C1815
NPN BCE

0

0

Keypad
5 VDC

HI
10K

Pin in

HI

Button

0

Mail: nthongktv@gmail.com
Phone: 0978.589.464
12/2013

7/7

Xử Lý CODE
Lệnh đồng bộ dữ liệu

printf("atrn");
delay_ms(500);
printf("atrn");
delay_ms(500);
printf("atrn");
delay_ms(500);
printf("atrn");
Lệnh gửi tin nhắn
AT+CMGS="sdt"<Enter>Noi Dung Tin Nhan<Ctrl Z>
Các thao tác khác
printf("at+cmgs="");
delay_ms(500);
printf("0978589464");
delay_ms(500);
printf(""rn");
delay_ms(500);
printf("Noi dung tin nhanrn");
delay_ms(500);
putc(26);
delay_ms(500);

Hàm nhận dữ liệu từ Sim 300cz
……………………
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
char buffer[90];
int8 count;
……………………
#INT_RDA
void ngat()
{buffer[count]=getc();
count++;}
……………………
void main()
{
enable_interrupts(global);
enable_interrupts(int_rda);
……………………

Mail: nthongktv@gmail.com
Phone: 0978.589.464

Dieu khien thiet bi sms

  • 1.
    12/2013 1/7 ĐIỀU KHIỂN THIẾTBỊ QUA TIN NHẮN SMS Kiến Thức Liên Quan:     Modem GSM & Tập Lệnh AT Lập Trình Cho Vi Điều Khiển USART & Chuẩn Giao Tiếp RS 232 Các kiến thức điện tử căn bản … Nhận Hướng Dẫn Đề Tài Trọn Gói Mail: nthongktv@gmail.com Phone: 0978.589.464 Mail: nthongktv@gmail.com Phone: 0978.589.464
  • 2.
    12/2013 2/7 1. Modem GSM: Ởđây sử dụng Modem GSM SIM 300CZ với các thông số như sau: VBAT 1 3 5 7 9 11 13 15 PWR_KEY STATUS 17 19 21 23 SIM_VDD SIM_RST SIM_DATA SIM_CLKK 25 27 29 31 33 35 37 39 RXT TXT 41 43 45 47 49 51 53 55 57 59 VBAT GND VBAT GND VBAT GND VBAT GND VBAT GND VCHG ADC0 TEMB_BAT VRTC VDD_EXT NETLIGHT PWR_KEY KBC0 STATUS KBC1 GPIOO KBC2 BUZZER KBC3 SIM_VDD KBC4 SIM_RST KBR0 SIM_DATA KBR1 SIM_CLK KBR2 SIM_PRESENT KBR3 GPIO1 KBR4 DCD DISP_CS DTR DISP_CLK RXD DISP_DATA TXD DISP_D/C RTS DISP_RST CTS DBG_RXD RI DBG_TXD AGND AGND SPK1P MIC1P SPK1N MIC1N SPK2P MIC2P SPK2N MIC2N Sơ đồ chân Sim 300cz Mail: nthongktv@gmail.com Phone: 0978.589.464 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 NETLIGHT
  • 3.
    12/2013 5 4 3 2 1 3/7 VEXT VBAT 4,7K 22uF 2.2K Sử dụng ICnguồn MIC 29152 cấp nguồn ~ 4V 0.22uF 1 2 3 GND VPP I/0 VCC RST CLK 4 SIM_VDD 5 SIM_RST 6 SIM_CLK SIM_DATA Khối kết nối Sim Card VEXT VEXT VBAT 330 330 STATUS NETLIGHT 10K 4K7 4K7 STATUS BC547 47K NETLIGHT BC547 PWR_KEY 47K Khối nút nhấn khởi động và hiển thị trạng thái hoạt động Mail: nthongktv@gmail.com Phone: 0978.589.464 100uF
  • 4.
    12/2013 4/7 2. Bộ xửlý trung tâm: Sử dụng vi điều khiển PIC 16F877A để đảm nhận các công việc chính:     Xử lý tin nhắn Điều khiển thiết bị Hiển thị trạng thái hoạt động Phản hồi kết quả R2 R1 PVN1 1 1 5 VDC 2 3 4 5 6 7 + LED C1 Button 2 - 15 16 17 18 23 24 25 26 C2 13 C3 MCLR*/VPP RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS*/C2OUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT 12 31 RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 OSC1/CLKIN RE0/RD*/AN5 RE1/WR*/AN6 RE2/CS*/AN7 CRYSTAL 14 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 19 20 21 22 27 28 29 30 8 9 10 OSC2/CLKOUT VSS VSS VDD VDD PIC16F877A 0 Mạch hoạt động của PIC 16F877A Mail: nthongktv@gmail.com Phone: 0978.589.464 11 32
  • 5.
    12/2013 5/7 3. Khối giaotiếp giữa Sim 300cz & Pic 16F877A: VEXT 1 2 10uF 3 4 10uF 10uF 5 6 7 10uF 8 C1+ VCC VS+ GND C1- T1OUT C2+ R1IN C2- R1OUT VS- T1IN T2OUT T2IN R2IN R2OUT 16 15 14 13 12 11 10 9 Sử dụng 2 IC MAX 232 để đồng bộ dữ liệu truyền nhận dữ liệu giữa SIM & PIC     Tx SIM (P.43) – IC MAX 232 I (T2IN-P.10) Rx SIM (P.41) – IC MAX 232 I (R2OUT-P.9) Tx PIC (P.25) – IC MAX 232 II (T2IN-P.10) Rx PIC (P.26) – IC MAX 232 II (R2OUT-P.9) 2 IC MAX 232 đấu chéo chân 7, 8 để truyền thông dữ liệu:  IC MAX 232 I (T2OUT-P.7) - IC MAX 232 II (R2IN-P.8)  IC MAX 232 I (R2IN-P.8) - IC MAX 232 II (T2OUT-P.7)  Chân GND của 2 IC phải được kết nối với nhau.  Chú ý: để kết nối này có thể hoạt động tốt các bạn cần chọn loại IC MAX 232 tốt (Loại này chạy không bị nóng, trao đổi dữ liệu ở tốc độ cao). Các bạn cũng có thể đồng bộ dữ liệu bằng các sử dụng các linh kiện BJT và điện trở để điều chỉnh điện áp thay thế IC MAX 232. Mail: nthongktv@gmail.com Phone: 0978.589.464
  • 6.
    12/2013 6/7 4. Các khốichức năng phụ: Khối hiển thị LCD16*2 LCD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 HI Vss Vdd V0 RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 A K VCC R1 1 2 3 4 1 2 POT RS - E 0 DB4 ...... DB7 LCD 1602A Khối công suất AC 12 VDC HI 5 1 LS1 3 VDC in 330 4K7 1K 4 VAC out 1 2 2 HI 4 1 Relay LED 1N4148 3 2 PC817 C1815 NPN BCE 0 0 Keypad 5 VDC HI 10K Pin in HI Button 0 Mail: nthongktv@gmail.com Phone: 0978.589.464
  • 7.
    12/2013 7/7 Xử Lý CODE Lệnhđồng bộ dữ liệu printf("atrn"); delay_ms(500); printf("atrn"); delay_ms(500); printf("atrn"); delay_ms(500); printf("atrn"); Lệnh gửi tin nhắn AT+CMGS="sdt"<Enter>Noi Dung Tin Nhan<Ctrl Z> Các thao tác khác printf("at+cmgs=""); delay_ms(500); printf("0978589464"); delay_ms(500); printf(""rn"); delay_ms(500); printf("Noi dung tin nhanrn"); delay_ms(500); putc(26); delay_ms(500); Hàm nhận dữ liệu từ Sim 300cz …………………… #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) char buffer[90]; int8 count; …………………… #INT_RDA void ngat() {buffer[count]=getc(); count++;} …………………… void main() { enable_interrupts(global); enable_interrupts(int_rda); …………………… Mail: nthongktv@gmail.com Phone: 0978.589.464