You are on page 1of 49

MC LC

MC LC...........................................................................................................1
C S L THUYT..........................................................................................5
1.1. C s l thuyt vi iu khin PIC16F877A.............................................5
1.1.1. S chn vi iu khin PIC 16F877A............................................5
1.1.2. Thng s k thut vi iu khin PIC 16F877A.................................5
1.1.3. T chc b nh.................................................................................7
1.1.4. Cc cng xut nhp ca PIC16F877A...............................................8
1.1.5. Ngt (Interrupt)...............................................................................10
1.1.6. B m v b nh thi...................................................................12
1.1.7. B chuyn i ADC........................................................................16
1.2. L thuyt v SIM900..............................................................................18
1.2.3. S chn.......................................................................................22
1.2.4. Tp lnh AT cho SIM900 ng dng cho GSM................................25
1.3. Cm bin khong cch SRF05................................................................34
CHNG II......................................................................................................38
THIT K H THNG....................................................................................38
2.1. Thit k phn cng.................................................................................38
2.1.1. S khi h thng.........................................................................38
2.1.2. S m t h thng.......................................................................39
2.1.3. S nguyn l in t...................................................................40
2.2. Thit k phn mm.................................................................................43
2.2.1. Lu chng trnh iu khin .....................................................43
2.2.2. Lu thut ton iu khin trn my tnh.....................................46
CHNG III.....................................................................................................48
KT QU T C....................................................................................48

3.1. Sn phm................................................................................................48
3.2. Kt lun v hng pht trin..................................................................49

DANH MC HNH V
Hnh 1.1 S chn v hnh nh thc t PIC 16F877A......................................5
Hnh 1.2 S khi vi iu khin PIC16F877A.................................................7
Hinh 1.3 S logic tt c cc ngt ca vi iu khin PIC16F877A................10
Hnh 1.4 S khi ca Timer0........................................................................12
Hnh 1.5 S khi ca Timer1........................................................................14
Hnh 1.6 S khi ca Timer2........................................................................15
Hnh 1.7 S khi b chuyn i ADC..........................................................17
Hnh 1.8. Hnh nh Sim 900..............................................................................18
Hnh 1.9. S chn SIM900...........................................................................18
Hnh 1.10. S chn ca SIM900...................................................................22
Hnh 1.11. Hnh nh SRF05..............................................................................35
Hnh 1.12. Chn ca module SRF05.................................................................35
Hnh 1.13. Gin xung ch 1 ca SRF05..................................................36
Hnh 1.14. Ch 2...........................................................................................37
Hnh 2.1. S khi h thng...........................................................................38
Hnh 2.2. M t h thng...................................................................................39
Hnh 2.3. Module control...................................................................................40
Hnh 2.4. Module sensor....................................................................................41
Hnh 2.5. Module SIM.......................................................................................42
Hnh 2.6. Khi ngun........................................................................................43
Hnh 2.7. Lu thut ton iu khin ............................................................44
Hnh 2.8. Thut ton trn my tnh....................................................................46
Hnh 3.1. Hnh nh t d ng.....................................................................48
Hnh 3.2. Hnh nh v bn trn my tnh......................................................49

DANH MC BNG
Bng 1.1. M t tnh nng ca SIM900.............................................................20
Bng 1.2. Bng m t cc loi m ha...............................................................20
Bng 1.3. Cc ch hot ng ca SIM900....................................................21
Bng 1.4. Cc thit lp cho cuc gi.................................................................25
Bng 1.5. Chi tit cc lnh thit lp v ci t cuc gi.....................................28
Bng 1.6. Lnh thit lp v ci t cho tin nhn SMS.......................................29
Bng 1.7. Chi tit cc lnh thit lp v ci t tin nhn SMS............................32
Bng 1.8. Cc lnh c bit dnh cho SIM900..................................................32
Bng 1.9. Chi tit cc lnh c bit dnh cho SIM900......................................33
Bng 1.10. Cc thng bo li CME...................................................................34
Bng 1.11. Cc thng bo li CMS...................................................................34

CHNG I
C S L THUYT
1.1. C s l thuyt vi iu khin PIC16F877A.
1.1.1. S chn vi iu khin PIC 16F877A.

Hnh 1.1 S chn v hnh nh thc t PIC 16F877A

1.1.2. Thng s k thut vi iu khin PIC 16F877A.


y l vi iu khin thuc h PIC16Fxxx vi tp lnh gm 35 lnh c di 14
bit. Mi lnh u c thc thi trong mt chu k xung clock. Tc hot ng ti a
cho php l 20 MHz vi mt chu k lnh l 200ns. B nh chng trnh 8Kx14 bit,
b nh d liu 368x8 byte RAM v b nh d liu EEPROM vi dung lng 256x8
byte. S PORT I/O l 5 vi 33 pin I/O.
Cc c tnh ngoi vi bao gm cc khi chc nng sau:
Timer0: b m 8 bit vi b chia tn s 8 bit.
5

Timer1: b m 16 bit vi b chia tn s, c th thc hin chc nng m da vo


xung clock ngoi vi ngay khi vi iu khin hot ng ch sleep.
Timer2: b m 8 bit vi b chia tn s, b postcaler.
Hai b Capture/so snh/iu ch rng xung.
Cc chun giao tip ni tip SSP (Synchronous Serial Port), SPI v I2C.
Chun giao tip ni tip USART vi 9 bit a ch.
Cng giao tip song song PSP (Parallel Slave Port) vi cc chn iu khin RD, WR, CS bn
ngoi.
Cc c tnh Analog: 8 knh chuyn i ADC 10 bit. Hai b so snh.
B nh flash vi kh nng ghi xa c 100.000 ln. B nh EEPROM vi kh nng
ghi xa c 1.000.000 ln. D liu b nh EEPROM c th lu tr trn 40 nm. Kh nng t
np chng trnh vi s iu khin ca phn mm. Np c chng trnh ngay trn mch in
ICSP (In Circuit Serial Programming) thng qua 2 chn. Watchdog Timer vi b dao ng
trong.
Chc nng bo mt m chng trnh. Ch Sleep. C th hot ng vi nhiu dng
Oscillator khc nhau.

Hnh 1.2 S khi vi iu khin PIC16F877A

1.1.3. T chc b nh.


Cu trc b nh ca vi iu khin PIC16F877A bao gm b nh chng trnh
(program memory) v b nh d liu (data memory).
B nh chng trnh ca vi iu khin PIC16F877A l b nh flash, dung
lng b nh 8K word (1 word= 14bit) v c phn thnh nhiu trang (t page 0
n page 3). Nh vy b nh chng trinh c kh nng cha c 8*1024 =8192
lnh (v mt lnh sau khi m ha s c dung lng 1 word (14 bit). m ha c
a ch ca 8K word b nh chng trnh, b m chng trnh c dung lng 13 bit
(PC<12:0>). Khi vi iu khin reset, b m chng trnh s ch n a ch 0000h
(reset vector). Khi c ngt xy ra, b m chng trnh s ch n a ch 0004h
(interrupt vector). B nh chng trnh khng bao gm b nh stack s c cp
c th trong phn sau.
B nh d liu ca PIC l b nh EEPROM c chia ra lm nhiu
bank. i vi PIC16F877A b nh d liu c chia ra lm 4 bank. Mi bank c
dung lng 128 byte, bao gm cc thanh ghi c chc nng c bit SFR (Special
Function Register) nm cc vng a ch thp v cc thanh ghi mc ch chung
GPR (General Purpose Pegister) nm vng a ch cn li trong bank. Cc thanh
7

ghi SFR thng xuyn c s dng (v d nh thanh ghi STATUS) s c t tt


c cc bank ca b nh d liu gip thun tin trong qu trnh truy xut v lm gim
bt lnh ca chng trnh.
Stack khng nm trong b nh chng trnh hay b nh d liu m l mt vng
nh c bit khng cho php c hay ghi. Khi lnh CALL c thc hin hay khi
mt ngt xy ra lm chng trnh b r nhnh, gi tr ca b m chng trnh PC t
ng c vi iu khin ct vo trong stack. Khi mt trong cc lnh RETURN,
RETLW hat RETFIE c thc thi, gi tr PC s t ng c ly ra t trong stack,
vi iu khin s thc hin tip chng trnh theo ng qui trnh nh trc.
B nh Stack trong vi iu khin PIC h 16F87xA c kh nng cha c 8 a
ch v hot ng theo c ch xoay vng. Ngha l gi tr ct vo b nh Stack ln th
9 s ghi ln gi tr ct vo Stack ln u tin v gi tr ct vo b nh Stack ln th
10 s ghi ln gi tr 6 ct vo Stack ln th 2. Cn ch l khng c c hiu no
cho bit trng thi stack, do ta khng bit c khi no stack trn. Bn cnh tp
lnh ca vi iu khin dng PIC cng khng c lnh POP hay PUSH, cc thao tc vi
b nh stack s hon ton c iu khin bi CPU.

1.1.4. Cc cng xut nhp ca PIC16F877A.


Cng xut nhp (I/O port) chnh l phng tin m vi iu khin dng tng
tc vi th gii bn ngoi. S tng tc ny rt a dng v thng qua qu trnh tng
tc , chc nng ca vi iu khin c th hin mt cch r rng.
Mt cng xut nhp ca vi iu khin bao gm nhiu chn (I/O pin), ty theo
cch b tr v chc nng ca vi iu khin m s lng cng xut nhp v s lng
chn trong mi cng c th khc nhau. Bn cnh , do vi iu khin c tch hp
sn bn trong cc c tnh giao tip ngoi vi nn bn cnh chc nng l cng xut
nhp thng thng, mt s chn xut nhp cn c thm cc chc nng khc th
hin s tc ng ca cc c tnh ngoi vi nu trn i vi th gii bn ngoi. Chc
nng ca tng chn xut nhp trong mi cng hon ton c th c xc lp v iu
khin c thng qua cc thanh ghi SFR lin quan n chn xut nhp .
Port A
Port A (RPA) bao gm 6 I/O pin. y l cc chn hai chiu (bidirectional
pin), ngha l c th xut v nhp c. Chc nng I/O ny c iu khin bi thanh
ghi TRISA (a ch 85h). Mun xc lp chc nng ca mt chn trong PortA l input,
ta set bit iu khin tng ng vi chn trong thanh ghi TRISA v ngc li,
mun xc lp chc nng ca mt chn trong Port A l output, ta clear bit iu khin
8

tng ng vi chn trong thanh ghi TRISA. Thao tc ny hon ton tng t i
vi cc PORT cn li. Bn cnh Port A cn l ng vo ca b ADC, b so snh,
ng vo analog, ng vo xung clock ca Timer0 v ng vo ca b giao tip MSSP
(Master Synchronous Serial Port).
Cc thanh ghi SFR lin quan n Port A bao gm:
-

Port A (a ch 05h)

: cha gi tr cc pin trong Port A.

TRISA (a ch 85h)

: iu khin xut nhp.

CMCON (a ch 9Ch)

: thanh ghi iu khin b so snh.

CVRCON (a ch 9Dh)

: thanh ghi iu khin b so snh in p.

ADCON1 (a ch 9Fh)

: thanh ghi iu khin b ADC.

Port B
Port B (RPB) gm 8 pin I/O. Thanh ghi iu khin xut nhp tng ng l
TRISB. Bn cnh mt s chn ca Port B cn c s dng trong qu trnh np
chng trnh cho vi iu khin vi cc ch np khc nhau. Port B cn lin quan
n ngt ngoi vi v b Timer0. Port B cn c tch hp chc nng in tr ko ln
c iu khin bi chng trnh.
Cc thanh ghi SFR lin quan n Port B bao gm:
-

Port B (a ch 06h,106h)

: cha gi tr cc pin trong Port B.

TRISB (a ch 86h,186h)

: iu khin xut nhp.

OPTION_REG(a ch 81h,181h): iu khin ngt ngoi vi v b Timer0.

Port C
PortC (RPC) gm 8 pin I/O. Thanh ghi iu khin xut nhp tng ng l
TRISC. Bn cnh Port C cn cha cc chn chc nng ca b so snh, b Timer1,
b PWM v cc chun giao tip ni tip I2C, SPI, SSP, USART.
Cc thanh ghi iu khin lin quan n Port C:
-

Port C (a ch 07h)

: cha gi tr cc pin trong Port C.

TRISC (a ch 87h)

: iu khin xut nhp.

Port D
Port D (RPD) gm 8 chn I/O, thanh ghi iu khin xut nhp tng ng l
TRISD. Port D cn l cng xut d liu ca chun giao tip PSP (Parallel Slave Port).
9

Cc thanh ghi lin quan n Port D bao gm:


- Thanh ghi Port D

: cha gi tr cc pin trong Port D.

- Thanh ghi TRISD

: iu khin xut nhp.

- Thanh ghi TRISE : iu khin xut nhp Port E v chun giao tip PSP.
Port E
Port E (RPE) gm 3 chn I/O. Thanh ghi iu khin xut nhp tng ng l
TRISE. Cc chn ca PortE c ng vo analog. Bn cnh Port E cn l cc chn
iu khin ca chun giao tip PSP.
Cc thanh ghi lin quan n Port E bao gm:
- Port E

: cha gi tr cc chn trong PortE.

- TRISE
: iu khin xut nhp v xc lp cc thng s cho chun giao
tip PSP.
- ADCON1 : thanh ghi iu khin khi ADC.

1.1.5. Ngt (Interrupt).

Hinh 1.3 S logic tt c cc ngt ca vi iu khin PIC16F877A

PIC16F877A c n 15 ngun to ra hot ng ngt c iu khin bi thanh


ghi INTCON (bit GIE). Bn cnh mi ngt cn c mt bit iu khin v c ngt
ring. Cc c ngt vn c set bnh thng khi tha mn iu kin ngt xy ra bt
chp trng thi ca bit GIE, tuy nhin hot ng ngt vn ph thuc vo bit GIE v
cc bit iu khin khc. Bit iu khin ngt RB0/INT v TMR0 nm trong thanh ghi

10

INTCON, thanh ghi ny cn cha bit cho php cc ngt ngoi vi PEIE. Bit iu khin
cc ngt nm trong thanh ghi PIE1 v PIE2. C ngt ca cc ngt nm trong thanh
ghi PIR1 v PIR2.
Trong mt thi im ch c mt chng trnh ngt c thc thi, chng trnh
ngt c kt thc bng lnh RETFIE. Khi chng trnh ngt c thc thi, bit GIE
t ng c xa, a ch lnh tip theo ca chng trnh chnh c ct vo trong b
nh Stack v b m chng trnh s ch n a ch 0004h. Lnh RETFIE c
dng thot khi chng trnh ngt v quay tr v chng trnh chnh, ng thi bit
GIE cng s c set cho php cc ngt hot ng tr li. Cc c hiu c dng
kim tra ngt no ang xy ra v phi c xa bng chng trnh trc khi cho
php ngt tip tc hot ng tr li ta c th pht hin c thi im tip theo m
ngt xy ra.
i vi cc ngt ngoi vi nh ngt t chn INT hay ngt t s thay i trng
thi cc pin ca PORTB (PORTB Interrupt on change), vic xc nh ngt no xy ra
cn 3 hoc 4 chu k lnh ty thuc vo thi im xy ra ngt.
Cn ch l trong qu trnh thc thi ngt, ch c gi tr ca b m chng
trnh c ct vo trong Stack, trong khi mt s thanh ghi quan trng s khng c
ct v c th b thay i gi tr trong qu trnh thc thi chng trnh ngt. iu ny
nn c x l bng chng trnh trnh hin tng trn xy ra.
Ngt INT
Ngt ny da trn s thay i trng thi ca pin RB0/INT. Cnh tc ng gy ra
ngt c th l cnh ln hay cnh xung v c iu khin bi bit INTEDG (thanh
ghi OPTION_ REG <6>). Khi c cnh tc ng thch hp xut hin ti pin RB0/INT,
c ngt INTF c set bt chp trng thi cc bit iu khin GIE v PEIE. Ngt ny
c kh nng nh thc vi iu khin t ch sleep nu bit cho php ngt c set
trc khi lnh SLEEP c thc thi.
Ngt do s thay t trng thi cc PIN trong Port B
Cc pin PORTB<7:4> c dng cho ngt ny v c iu khin bi bit RBIE
(thanh ghi INTCON<4>). C ngt ca ngt ny l bit RBIF (INTCON<0>).

11

1.1.6. B m v b nh thi.
Timer0

Hnh 1.4 S khi ca Timer0.

y l mt trong ba b m hoc b nh thi ca vi iu khin PIC16F877A.


Timer0 l b m 8 bit c kt ni vi b chia tn s (prescaler) 8 bit. Cu trc ca
Timer0 cho php ta la chn xung clock tc ng v cnh tch cc ca xung clock.
Ngt Timer0 s xut hin khi Timer0 b trn. Bit TMR0IE (INTCON<5>) l bit iu
khin ca Timer0. TMR0IE=1 cho php ngt Timer0 tc ng, TMR0IF= 0 khng
cho php ngt Timer0 tc ng.
Mun Timer0 hot ng ch Timer ta clear bit TOSC
(OPTION_REG<5>), khi gi tr thanh ghi TMR0 s tng theo tng chu k xung
ng h (tn s vo Timer0 bng tn s oscillator). Khi gi tr thanh ghi TMR0 t
FFh tr v 00h, ngt Timer0 s xut hin.Thanh ghi TMR0 cho php ghi v xa c
gip ta n nh thi im ngt Timer0 xut hin mt cch linh ng.
Mun Timer0 hot ng ch counter ta set bit TOSC (OPTION_REG<5>).
Khi xung tc ng ln b m c ly t chn RA4/TOCK1. Bit TOSE
(OPTION_REG<4>) cho php la chn cnh tc ng vo bt m. Cnh tc ng s
l cnh ln nu TOSE=0 v cnh tc ng s l cnh xung nu TOSE=1.
Khi thanh ghi TMR0 b trn, bit TMR0IF (INTCON<2>) s c set. y
chnh l c ngt ca Timer0. C ngt ny phi c xa bng chng trnh trc khi
b m bt u thc hin li qu trnh m. Ngt Timer0 khng th nh thc vi
iu khin t ch sleep.
12

B chia tn s (prescaler) c chia s gia Timer0 v WDT (Watchdog


Timer). iu c ngha l nu prescaler c s dng cho Timer0 th WDT s
khng c c h tr ca prescaler v ngc li. Prescaler c iu khin bi thanh
ghi OPTION_REG. Bit PSA (OPTION_REG<3>) xc nh i tng tc ng ca
prescaler. Cc bit PS2:PS0 (OPTION_REG<2:0>) xc nh t s chia tn s ca
prescaler. Xem li thanh ghi OPTION_REG xc nh li mt cch chi tit v cc
bit iu khin trn.
Cc lnh tc ng ln gi tr thanh ghi TMR0 s xa ch hot ng ca
prescaler. Khi i tng tc ng l Timer0, tc ng ln gi tr thanh ghi TMR0 s
xa prescaler nhng khng lm thay i i tng tc ng ca prescaler. Khi i
tng tc ng l WDT, lnh CLRWDT s xa prescaler, ng thi prescaler s
ngng tc v h tr cho WDT.
Cc thanh ghi iu khin lin quan n Timer0 bao gm:
-

TMR0 (a ch 01h, 101h): cha gi tr m ca Timer0.

INTCON (a ch 0Bh, 8Bh, 10Bh, 18Bh): cho php ngt hot ng (GIE v
PEIE).

OPTION_REG (a ch 81h, 181h): iu khin prescaler.

Timer1
Timer1 l b nh thi 16 bit, gi tr ca Timer1 s c lu trong hai thanh ghi
(TMR1H:TMR1L). C ngt ca Timer1 l bit TMR1IF (PIR1<0>). Bit iu khin
ca Timer1 s l TMR1IE (PIE<0>).
Tng t nh Timer0, Timer1 cng c hai ch hot ng: ch nh thi
(timer) vi xung kch l xung clock ca oscillator (tn s ca timer bng tn s ca
oscillator) v ch m (counter) vi xung kch l xung phn nh cc s kin cn
m ly t bn ngoi thng qua chn RC0/T1OSO/T1CKI (cnh tc ng l cnh
ln). Vic la chn xung tc ng (tng ng vi vic la chn ch hot ng l
timer hay counter) c iu khin bi bit TMR1CS (T1CON<1>). Sau y l s
khi ca Timer1:

13

Hnh 1.5 S khi ca Timer1.

Ngoi ra Timer1 cn c chc nng reset input bn trong c iu khin bi


mt trong hai khi CCP (Capture/Compare/PWM).
Khi bit T1OSCEN (T1CON<3>) c set, Timer1 s ly xung clock t hai chn
RC1/T1OSI/CCP2 v RC0/T1OSO/T1CKI lm xung m. Timer1 s bt u m
sau cnhxung u tin ca xung ng vo. Khi PORTC s b qua s tc ng ca
hai bit TRISC<1:0> v PORTC<2:1> c gn gi tr 0. Khi clear bit T1OSCEN
Timer1 s ly xung m t oscillator hoc t chn RC0/T1OSO/T1CKI.
Timer1 c hai ch m l ng b (Synchronous) v bt ng b. Ch
m c quyt nh bi bit iu khin /T1SYNC (T1CON<2>).
Khi /T1SYNC =1 xung m ly t bn ngoi s khng c ng b ha vi
xung clock bn trong, Timer1 s tip tc qu trnh m khi vi iu khin ang ch
sleep v ngt do Timer1 to ra khi b trn c kh nng nh thc vi iu khin.
ch m bt ng b, Timer1 khng th c s dng lm ngun xung clock
cho khi CCP (Capture/Compare/Pulse width modulation).
Khi /T1SYNC=0 xung m vo Timer1 s c ng b ha vi xung clock
bn trong. ch ny Timer1 s khng hot ng khi vi iu khin ang ch
sleep.
Cc thanh ghi lin quan n Timer1 bao gm:
-

INTCON

: cho php ngt hot ng (GIE v PEIE).

PIR1 (a ch 0Ch)

: cha c ngt Timer1 (TMR1IF).

PIE1( a ch 8Ch)

: cho php ngt Timer1 (TMR1IE).

TMR1L (a ch 0Eh)

: cha gi tr 8 bit thp ca b m Timer1.

14

TMR1H (a ch 0Eh)

: cha gi tr 8 bit cao ca b m Timer1.

T1CON (a ch 10h)

: xc lp cc thng s cho Timer1.

Timer2

Hnh 1.6 S khi ca Timer2.

Timer2 l b nh thi 8 bit v c h tr bi hai b chia tn s prescaler va


postscaler. Thanh ghi cha gi tr m ca Timer2 l TMR2. Bit cho php ngt
Timer2 tc ng l TMR2ON (T2CON<2>). C ngt ca Timer2 l bit TMR2IF
(PIR1<1>). Xung ng vo (tn s bng tn s oscillator) c a qua b chia tn
s prescaler 4 bit (vi cc t s chia tn s l 1:1, 1:4 hoc 1:16 v c iu khin
bi cc bit T2CKPS1 : T2CKPS0 (T2CON<1:0>).
Timer2 cn c h tr bi thanh ghi PR2. Gi tr m trong thanh ghi TMR2
s tng t 00h n gi tr cha trong thanh ghi PR2, sau c reset v 00h. Khi
reset thanh ghi PR2 c nhn gi tr mc nh FFh.
Ng ra ca Timer2 c a qua b chia tn s postscaler vi cc mc chia t
1:1 n 1:16. Postscaler c iu khin bi 4 bit T2OUTPS3:T2OUTPS0. Ng ra
ca postscaler ng vai tr quyt nh trong vic iu khin c ngt.
Ngoi ra ng ra ca Timer2 cn c kt ni vi khi SSP, do Timer2 cn
ng vai tr to ra xung clock ng b cho khi giao tip SSP.
Cc thanh ghi lin quan n Timer2 bao gm:
- INTCON : cho php ton b cc ngt (GIE v PEIE).
- PIR1 (a ch 0Ch)

: cha c ngt Timer2 (TMR2IF).


15

- PIE1 (a ch 8Ch)

: cha bit iu khin Timer2 (TMR2IE).

- TMR2 (a ch 11h)

: cha gi tr m ca Timer2.

- T2CON (a ch 12h)

: xc lp cc thng s cho Timer2.

- PR2 (a ch 92h) : thanh ghi h tr cho Timer2.

1.1.7. B chuyn i ADC


ADC (Analog to Digital Converter) l b chuyn i tn hiu gia hai dng
tng t v s. PIC16F877A c 8 ng vo analog (RA4:RA0 v RE2:RE0). Hiu
in th chun VREF c th c la chn l VDD, VSS hay hiu in th chun c
xc lp trn hai chn RA2 v RA3. Kt qu chuyn i t tn tiu tng t sang tn
hiu s l 10 bit s tng ng v c lu trong hai thanh ghi ADRESH:ADRESL.
Khi khng s dng b chuyn i ADC, cc thanh ghi ny c th c s dng nh
cc thanh ghi thng thng khc. Khi qu trnh chuyn i hon tt, kt qu s c
lu vo hai thanh ghi ADRESH:ADRESL, bit ADCON0<2> c xa v 0 v c
ngt ADIF c set.
Qui trnh chuyn i t tng t sang s bao gm cc bc sau:
Thit lp cc thng s cho b chuyn i ADC:
-

Chn ng vo analog, chn in p mu (da trn cc thng s ca thanh


ghi ADCON1)

Chnh knh chuyn i AD (thanh ghi ADCON0).

Chnh xung clock cho knh chuyn i AD (thanh ghi ADCON0).

Cho php b chuyn i AD hot ng (thanh ghi ADCON0).

Thit lp cc c ngt cho b AD


-

Clear bit ADIF.

Set bit ADIE.

Set bit PEIE.

Set bit GIE.

i cho ti khi qu trnh ly mu hon tt.


Bt u qu trnh chuyn i (set bit ADCON0<2>).
i cho ti khi qu trnh chuyn i hon tt bng cch:

16

Kim tra bit ADCON0<2>. Nu ADCON0<2> =0 th qu trnh chuyn i


hon tt.

Kim tra c ngt.

c kt qu chuyn i v xa c ngt, set bit ADCON0<2> (nu cn tip tc


chuyn i).
Tip tc thc hin cc bc 1 v 2 cho qu trnh chuyn i tip theo.

Hnh 1.7 S khi b chuyn i ADC.

Cc thanh ghi lin quan n b chuyn i ADC bao gm:


-

INTCON (a ch 0Bh, 8Bh, 10Bh, 18Bh): cho php cc ngt (cc bit GIE,
PEIE).

PIR1 (a ch 0Ch): cha c ngt AD (bit ADIF).

PIE1 (a ch 8Ch): cha bit iu khin AD (ADIE).

ADRESH (a ch 1Eh) v ADRESL (a ch 9Eh): cc thanh ghi cha kt


qu chuyn i AD.

ADCON0 (a ch 1Fh) v ADCON1 (a ch 9Fh): xc lp cc thng s


cho b chuyn i AD.

PORTA (a ch 05h) v TRISA (a ch 85h): lin quan n cc ng vo


analog PORTA.

PORTE (a ch 09h) v TRISE (a ch 89h): lin quan n cc ng vo


analog PORTE.

17

1.2. L thuyt v SIM900

Hnh 1.8. Hnh nh Sim 900

Hnh 1.9. S chn SIM900

18

1.2.1. Cc tnh nng chnh ca SIM900


Tnh nng

M t thc thi

Ngun cung cp
S dng in p t 3.4. n 4.5V
Ngun tit kim
S dng in hnh ch ng vi dng 1.5mA
Cc di tn hot
GSM850, EGSM900, DCS1800, PCS1900 c th tm
ng
thy cc di tn mt cch t ng. Cc di tn c th
c thit lp bi cu lnh AT.
Tng thch vi pha GSM 2/2+
Lp GMS
Cng sut truyn ti
Kt ni GPRS

Di nhit

D liu GPRS

CSD

SMS
FAX
Giao tip SIM
An-ten ngoi
Tnh nng Audio

MS nh
Lp 4(2W) GSM850 v EGSM 900
Lp 1(1W) DCS 1800 v PCS 1900
GPRS nhiu khe mc nh trong lp 10
GPRS nhiu khe ty chn lp 8
GPRS trm di ng lp B
Hot ng bnh thng -30 n 80 C
Hot ng hn ch -40 n 30 v 80 n 85 C
Nhit lu tr l -45 n 90 C
Truyn d liu xung ln nht l 85.6 kbps
Truyn d liu ln ln nht 42.8 kbps
M ha chng trnh CS-1, CS-2, CS-3 v CS-4
SIM900 h tr cc giao thc PAP( Giao thc xc nhn
mt m) thng c s dng trong cc kt ni PPP.
SIM900 c tch hp giao thc TCP/IP
Cung cp gi chuyn mch knh iu khin qung
b(PBCCH).
Cc tc truyn CSD: 2.4, 4.8, 9.6, 14.4 kbps, khng
trong sut
H tr dch v d liu b xung phi cu trc
MODULE, MO, CB, Text v ch PDU
Lu tr SMS: th SIM
Nhm 1 lp 3
Cung cp th SIM : 1.8, 3V.
B m An-ten
Cc ch m ha ting ni:
Mt na tc (ETS 06.20)
Tc y (ETS 06.11)
Nng cao tc y (ETS06.50/ 06.60/06.80)
a tc thch nghi(AMR)
Trit ting di
Trit nhiu

19

Cng ni tip v Cng ni tip:


cng g li
Giao tip modem 8 dy vi cc ng trng thi v
ng d liu, khng cn bng, khng ng b.
1.2 kbps n 11.52 kbps
Cng ni tip c th s dng c cho lnh AT v
lung d liu.
H tr RTS/CTS bt tay phn cng v phn mm iu
khin lung ON/OFF.
Kt hp kh nng theo giao thc hp knh GSM 07.10
H tr cc tc baud t ng t 1200 bps n
115200bps.
Cng g li (debug)
Giao tip 2 dy trng DBG_TXD v DBG_RXD
C th s dng g li hoc cp nht Fireware.
Qun l danh b
Cung cp cc kiu danh b: SM, FD, LD, RC, ON, MC.
B cng c p dng Cung cp SAT lp 3, GSM 11.14 release 99
cho SIM
ng h thi gian c trin khai khi thc hin
thc
Chc nng nh thi Lp trnh thng qua lnh AT.
c im vt l
Kch c : 24mmx24mmx3mm.
Trng lng 3.4g
Cp nht Firmware
Cp nht Firmware bi cng g li
Bng 1.1. M t tnh nng ca SIM900

Bng 1.2. Bng m t cc loi m ha

20

1.2.2. Cc ch hot ng
Ch
GSM/GPRS
SLEEP

Chc nng
Ch ng GSM/GPRS : Module s t ng tr v ch
ng, trong iu kin ch ng c kch hot v
khng c khng kh v ngt phn cng( nh ngt GPIO
v d liu trn cng ni tip). Trong cc iu kin ny
dng in cung cp s l thp nht. Trong ch ng,
module vn c th nhn gi d liu v SMS.
GSM IDLE
Phn mm c hiu ha. Module c ng k ti mng
GSM v cc module sn sng kt ni.
GSM TALK
Kt ni gia hai thu bao trong tin trnh. Trong trng hp
ny cng sut tiu th c lp trn mng thit lp nh DTX
on/off FR/EFR/HR, nhy chui, an-ten.
GPRS STANDBY Module sn sng cho module truyn d liu GPRS, d khng
c d liu trn dng gi v nhn. Trong trng hp ny, cng
sut tiu th trn mng c thit lp v cu hnh GPRS.
GPRS DATA
C d liu truyn GPRS(PPP hoc TCP v UDP) trong tin
trnh. Trong iu kin ny, cng sut tiu th lien quan ti thit
lp mng. Tc d liu ln, xung v cu hnh GPRS.
Cng sut xung
Bnh thng cng sut xung c gi bi lnh AT l
AT+CPOWD=1 hoc s dng PWRKEY. n v qun l
cng sut thc hin bt v tt module. Phn mm c kch
hot khi c kt ni ti ngun pin v cng ni tip
Ch chc nng Lnh AT AT+CFUN c s ng thit lp cho module
nh nht
cung cp ngun thp nht. Trong ch ny phn RF v SIM
card s khng truy nhp c. Cng ni tip vn truy nhp
c.
Bng 1.3. Cc ch hot ng ca SIM900

21

1.2.3. S chn

Hnh 1.10. S chn ca SIM900

22

Bng m t chc nng cc chn:

23

Hnh 1.11. Bng m t chc nng chn ca SIM900

24

1.2.4. Tp lnh AT cho SIM900 ng dng cho GSM


Cc thut ng.
<CR> : Carriage return (0x0D).
<LF> : Line Feed (0x0A).
MODULE : Mobile Terminal . Thit b u cui mng (trong trng hp ny
l module SIM900).
TE : Terminal Equipment. Thit b u cui (my tinh, h vi iu khin).
a. Cc lnh thit lp v ci t cho cuc gi.
ATA
ATD
ATD><mem><n>
ATD<str>
ATDL
ATH
ATI
ATL
ATO
ATT
ATZ
AT&F
AT&V
+++

Tr li mt cuc gi n.
i trc mt s in thoi thc hin cuc gi.
Thc hin cuc gi n s in thoi lu trong b nh.
Thc hin cuc gi n s lu v c tn <str>.
Gi s va gi gn nht.
Ngt kt ni ang thc hin.
Hin th thng tin v module SIM900
Ci t ln ca loa.
Chuyn t ch nhn lnh sang ch nhn d liu.
La chn kiu chung.
Thc hin lnh ny trc khi ci t li cc thng s ca
module.
Thit lp cc thng s ci t l cc thng s mc nh.
Hin th cu hnh ci t cho module.
Chuyn t ch d liu v kt ni mng GPRS v ch
lnh.
Bng 1.4. Cc thit lp cho cuc gi

b. Cc lnh thit lp v ci t cuc gi


Chi tit v tp lnh thit lp v ci t cho cuc gi:
ATA

ATD[<n>][<msgm>][;]

Lnh nhc my khi c cuc gi n


MODULE gi tr OK khi kt ni thnh cng.
MODULE gi tr NO CARRIER khi kt ni
khng thnh cng.
Lnh thc hin ci t dch v cuc gi.
Lnh ny c th hy b bng vic nhn 1 lnh
ATH hoc 1 k t khi lnh ang thc thi.
Nu cuc gi c kt ni v ci t hon tt.
MODULE gi tr: OK
MODULE gi tr: NO DIALTONE nu khng c
chung. Hoc gi tr BUSY nu s my ang
25

ATD<mem><n>[<I>][<G>]
[;]

ATD><n>[<I>][<G>][;]

bn hoc gi tr NO CARRIER nu b t chi


hoc khng nhc my
Cc tham s:
<n>
: s in thoi
<msgm>:
I Khng hin th s ngi gi
i Hin th s ngi gi
G Kch hot ch gi ni b
g Hy ch gi ni b.
<;>: Kt thc v thc hin ci t cuc gi
Lnh thc hin quay s c trong danh b ring bit.
Lnh ny c th hy b bng vic nhn 1 lnh
ATH hoc 1 k t khi lnh ang thc thi.
Module b li. MODULE gi tr:
+CME ERROR: <err>
Nu khng chung. MODULE gi tr:
NO DIALTONE
S my ang bn gi tr:
BUSY
Khng kt ni hoc b t chi gi tr:
NO CARRIER
Kt ni thnh cng v cuc gi c thc hin:
OK
Cc tham s:
<mem> danh b
DC danh sch cc s gi.
FD danh b trong sim.
LD danh sch cc s gi trong sim.
MC danh sch cc cuc gi nh.
ME tt c cc s c trong danh b.
<n>: Mt s nguyn l v tr b nh c th s
dng.
<msgm>:
I Khng hin th s ngi gi
i Hin th s ngi gi
G Kch hot ch gi ni b
g Hy ch gi ni b.
<;>: Kt thc v thc hin cuc gi
Thc hin cuc gi t dnh b.
Lnh thc hin quay s c trong danh b ring bit.
Lnh ny c th hy b bng vic nhn 1 lnh
ATH hoc 1 k t khi lnh ang thc thi.
Module b li. MODULE gi tr:
+CME ERROR:<err>
Nu khng chung. MODULE gi tr:
NO DIALTONE
26

ATD><str>[<I>][<G>][;]

ATDL

S my ang bn:
BUSY
Khng kt ni hoc b t chi :
NO CARRIER
Kt ni thnh cng v cuc gi c thc hin:
OK
Cc tham s:
<n>: Mt s nguyn l v tr b nh c th s
dng.
<msgm>:
I Khng hin th s ngi gi
i Hin th s ngi gi
G Kch hot ch gi ni b
g Hy ch gi ni b.
<;>: Kt thc v thc hin cuc gi
Lnh thc hin cuc gi n s lu trong danh
b c tn <str>.
Lnh ny c th hy b bng vic nhn 1 lnh
ATH hoc 1 k t khi lnh ang thc thi.
Module b li. MODULE gi tr:
+CME ERROR:<err>
Nu khng chung. MODULE gi tr:
NO DIALTONE
S my ang bn:
BUSY
Khng kt ni hoc b t chi :
NO CARRIER
Kt ni thnh cng v cuc gi c thc hin:
OK
Cc tham s:
<str>: Chui k t abc123 lu torng dnh b.
<msgm>:
I Khng hin th s ngi gi.
i Hin th s ngi gi
G Kch hot ch gi ni b
g Hy ch gi ni b.
<;>: Kt thc v thc hin cuc gi.
Thc hin cuc gi n s va gi gn nht.
Lnh ny c th hy b bng vic nhn 1 lnh
ATH hoc 1 k t khi lnh ang thc thi.
Module b li. MODULE gi tr:
+CME ERROR:<err>
Nu khng chung. MODULE gi tr:
NO DIALTONE
S my ang bn:
BUSY
27

ATH0
ATI

ATL[value]

ATM[value]

+++

ATO[n]

Khng kt ni hoc b t chi :


NO CARRIER
Kt ni thnh cng v cuc gi c thc hin:
OK
Lnh ngt kt ni ang thc hin.
Lnh c thc hin. MODULE gi tr:
OK
Lnh yu cu hin thng tin ca module.
V d:
SIMCOM_ltd.
SIMCOM_SIM900Z.
Lnh ci t ln ca loa.
Lnh thc hin thnh cng.MODULE gi tr:
OK
Tham s:
[value]: C bn mc 0,1,2,3.
Lnh ci t cc ch cho loa.
Lnh thc hin thnh cng. MODULE gi tr:
OK
Tham s:
[value]: 0 Tt loa.
2 M loa khi nhc my.
Lnh ny ch c hiu lc khi module ang kt ni
mng GPRS. Lnh ny thc hin hy b kt ni v
tr v ch nhn lnh.
Lnh thc hin thnh cng. MODULE gi tr:
OK
Thc hin chuyn t ch nhn lnh tr v ch
nhn d liu v kt ni mng gi lnh ATO.
Lnh thc hin chuyn module t ch nhn lnh
sang ch nhn d liu.
Lnh thc hin khng thnh cng. MODULE gi
tr:
NO CARRIER
Lnh thc hin thnh cng. MODULE gi tr:
OK
Tham s:
[n] 0 chuyn t nhn lnh sang nhn d liu.
Bng 1.5. Chi tit cc lnh thit lp v ci t cuc gi

28

c. Cc lnh thit lp v ci t cho tin nhn sms.


AT+CMGD
AT+CMGF
AT+CMGL
AT+CMGR
AT+CMGS
AT+CMGW
AT+CMSS
AT+CMGC
AT+CNMI
AT+CPMS
AT+CRES
AT+CSAS
AT+CSCA
AT+CSMP
AT+CSMS

Xa tin nhn sms.


nh dng vn bn tin nhn.
Danh sch tin nhn lu.
Lnh c tin nhn.
Lnh gi tin nhn.
Lu tin nhn vo b nh.
Gi tin nhn lu.
Gi sms lnh.
MODULE gi thng bo khi c tin nhn mi.
Cc tin nhn ring bit c lu.
Ci t li tin nhn.
Lu cc ci t cho tin nhn.
a ch dch vu tin nhn.
Ci t nh dng ch ca tin nhn.
La chn tin nhn dch v.
Bng 1.6. Lnh thit lp v ci t cho tin nhn SMS

Chi tit m t cc lnh dnh cho tin nhn sms :


AT+CMGD=<index>

AT+CMGF=[<mode>]

AT+CMGL=[<stat>]

Lnh xa tin nhn sms lu tron b nh.


Lnh thc hin thnh cng.MODULE gi tr:
OK
Nu lnh khng thc hin c.MODULE gi tr:
+CMS ERROR <err>
Tham s:
<index> V tr ca tin nhn lu trong b nh.
<err>
Cho bit li.
Lnh ci t nh dng ca tin nhn gi v nhn.
Lnh thc hin thnh cng.MODULE gi tr:
OK
Tham s:
[<mode>]
0
Dng PDU
1
Dng vn bn
Danh sch tin nhn lu.
Tham s:
+ Nu tin nhn l dng vn bn:
[<stat>]: REC UNREAD tin nhn cha c.
REC READ
tin nhn c.
STO UNSEND tin nhn cha gi c.
STO SEND
tin nhn gi.
ALL
tt c tin nhn
+ Nu tin nhn l dng PDU:
[<stat>]
0
tin nhn cha c.
1
tin nhn c.
29

2
3
4

tin nhn cha gi.


tin nhn gi.
tt c tin nhn

Nu lnh thc hin thnh cng, MODULE gi


tr chui c nh dng nh sau :
+ Nu tin nhn l dng vn bn (+CMGF=1) :
+CMGL:
[<index>,[<stat>],[<oa/da>],[<alpha>],
[<scts>] [,<tooa/toda>,<length>]
[<data>]
OK
+ Nu tin nhn l dng PDU (+CMGF=0) :
+CMGL:<index>,<stat>,[<alpha>],<length>
<pdu>
OK
Nu lnh thc hin khng thnh cng,MODULE gi
tr:
+CMS ERROR: <err>
AT+CMGR=<index>
[,<mode>]

Lnh c tin nhn sms.


Tham s
<index> Mt s nguyn l v tr ca lu tin nhn.
<mode> 0 Ch mc nh.
1 Khng thay i trng thi ca tin nhn.
V d : Tin nhn s khng chuyn t 'received
unread sang received read khi c c.
Lnh thc hin thnh cng, MODULE gi tr li
chui c dng:
+ Nu tin nhn l dng vn bn (+CMGF=1)
+ CMGR:<stat>,<sn>,<mid>,<dcs>,<page>,<pages>
<data>
OK
+ Nu tin nhn l dng PDU (+CMGF=0)
+CMGR: <stat>,[<alpha>],<length>
<pdu>
OK
Lnh thc hin khng thnh cng,MODULE gi tr:
+CMS ERROR: <err>
Tham s:
<stat>: 0 "REC UNREAD" tin nhn cha c c.
1 "REC READ" tin nhn c.
2 "STO UNSENT" tin nhn cha gi c.
3 "STO SENT" tin nhn gi.
4 "ALL" tt c tin nhn.
<length> di ca tin nhn (s k t).
<data> Ni dung tin nhn.
30

AT+CMGS = <da>
[,<toda>]
<CR>ni dung tin nhn
<ctr-Z/ESC>

Lnh gi tin nhn dng vn bn.


Gi <ESC> cho module hy b vic gi tin nhn
khi lnh ang thc thi.
Tham s:
<da> s in thoi gi tin nhn
Nu lnh c thc hin thnh cng v tin nhn
c gi i,MODULE gi tr:
CR><LF>+CMGS: <mr>
OK
Nu lnh khng thc hin c,MODULE gi tr:
+CMS ERROR: <err>
Tham s:
<mr> Mt s nguyn l v tr lu tin nhn vo b
nh.
AT+CMGW=[<oa/da>[,<to Lnh lu tin nhn vo b nh.
oa/ toda>[,<stat>]]]
Gi <ESC> cho module hy b vic lu tin nhn
<CR> Ni dung tin nhn
khi lnh ang thc thi.
<ctrl-Z/ESC>
<ESC>
Lnh thc hin thnh cng,tin nhn c lu vo
b nh.MODULE gi tr:
CR><LF>+CMGW: <index><
OK
Nu c li xy ra,MODULE gi tr:
+CMS ERROR: <err>
Tham s:
<index>
V tr lu tin nhn.
AT+CMSS=<index>[,<da> Lnh gi tin nhn t b nh lu tin nhn
[,<toda>]]
Lnh thc hin thnh cng,MODULE gi tr:
+CMGS: <mr>
OK
Lnh thc hin khng thnh cng:
+CMS ERROR: <err>
Tham s:
<mr> V tr lu tin nhn trong b nh.
<err> Li nhn c
AT+CNMI=[<mode>[,<Mo Lnh ny ci t cho module module thng bo
dule>
[,<bm> khi nhn c tin nhn mi.
[,<ds>[,<bfr>]]]]]
Lnh thc hin thnh cng,MODULE gi tr:
OK
Lnh thc hin khng thnh cng:
+CMS ERROR: <err>
Tham s:
<Module>
0 Khng gi thng bo khi c tin nhn mi.
1 Gi thng bo vi nh dng:
31

+ CMODULEI: <mem>,<index>
2 Gi thng bo c nh dng:
+ CMODULE: <oa>, [<alpha>],<scts>
[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]
<data>.
Bng 1.7. Chi tit cc lnh thit lp v ci t tin nhn SMS

d. Cc lnh c bit dnh cho SIM900.


AT+CPOWD
AT+CMIC
AT +UART
AT+CALARM
AT+CADC
AT+ECHO
AT+CSMINS
AT+CMODULEE
AT+CMGDA

Tt ngun cung cp cho module.


Thay i ln ca microphone.
Cu hnh cho truyn thng ni tip.
Ci t hn gi.
c ADC.
Ci t ting vng cho cuc gi.
Cho bit sim gn vo hay cha.
c nhit hin ti ca module.
Xa tt c cc tin nhn.

Bng 1.8. Cc lnh c bit dnh cho SIM900

Chi tit v cc lnh c bit dnh cho SIM900 :


AT+CPOWD = <n>

Lnh ngt ngun cung cp cho module hot ng.


Tham s :
<n>
0
Ngt ngun khn cp.
1
Ngt ngun bnh thng.
AT+UART=<uart>[,<baud>] Lnh cu hnh cho truyn thng ni tip.
Lnh c thc hin thnh cng, MODULE gi tr :
OK
Tham s:
<uart >
1
s dng line 1
2
s dng line 2 (gprs)
3
s dng line 3
<baud> 9600, 19200, 28800, 38400, 57600, 115200
AT+CALARM=<state>,
Lnh ci t bo thc.
<time> ,<repeat>,<power>
Lnh c thc hin thnh cng, MODULE gi tr :
OK
Tham s:
<state> 0 Tt bo thc.
1 Bt bo thc.
<time>
Thi gian bo thc yy/MM/dd,hh:mm:ss
+-zz
< repeat >
0 Khng lp li.
1 Lp li hng ngy.
2 Tun
3 Thng
<power> 0 Thng bo bnh thng. Ch gi
32

ALARM RING
1 Tt ngun bo thc. Gi ALARM
RING v ngng bo thc sau 5s.
2 Bt ngun bo thc. Gi ALARM
MODE v tr v ch bo thc.
Lnh c ADC.
Lnh thc hin thnh cng, MODULE gi tr:
+ CADC: < status>,<value>
OK
Tham s:
<status>
1 c thnh cng.
0 Li khi c ADC.
<value>
S nguyn t 0-2400.
Lnh cho bit sim c gn vo sim hay cha.
Lnh thc hin thnh cng,MODULE gi tr:
+CSMINS:<n>,<SIM inserted>
Tham s:
<n>
0 Khng cho php gn sim.
1 Cho php.
<SIM inserted>
0 Sim cha c gn vo .
1 Sim c gn.

AT+ CADC?

AT+CSMINS?

AT+CMGDA=<type>

Xa tt c cc tin nhn.
Lnh thc hin thnh cng, MODULE gi tr:
OK
Lnh thc hin khng thnh cng:
+CMS ERROR: NUM
Tham s:
<type> DEL READ
xa cc tin nhn c.
DEL UNREAD xa tin nhn cha c.
DEL SENT
xa cc tin nhn gi.
DEL UNSENT xa cc tin nhn cha gi.
DEL INBOX xa cc tin nhn nhn c.
DEL ALL
xa tt c cc tin nhn.

Bng 1.9. Chi tit cc lnh c bit dnh cho SIM900

e. Cc thng bo li.
Thng bo li c dng: +CME ERROR: <err>
Mt s li thng gp:
<err>
0
1

ngha
Module b li,khng th kt ni vi mng.
Khng kt ni mng.

33

3
4
10
13
14
15
16
20
22
23
24
30
32
100
107
744
746
770
772

Module khng cho php kt ni mng.


Module khng h tr kt ni.
Cha gn sim.
Sim khng hot ng.
Sim bn.
Sim b li.
Nhp mt m sai.
B nh y.
Khng tm thy.
B nh b li.
Chui qu di.
Khng c mng.
Mng khng kt ni c. Ch thc hin c cc cuc gi khn cp.
Khng nhn ra.
Dch v GPRS khng c kt ni.
Sim y.
Khng nhn c dch v mng.
Khng c tn hiu sim.
Khng c ngun cho sim.
Bng 1.10. Cc thng bo li CME

Thng bo li c dng: +CMS ERROR: <err>


<err>
300
302
303
310
313
314
315
320
331
512
513

ngha
Module b li.
Module khng hot ng.
Khng c h tr.
Cha gn sim.
Sim b li.
Sim bn.
Sim gn sai.
B nh b li,khng hot ng.
Khng c mng.
Sim cha sn sng.
Khng nhn ra sim.
Bng 1.11. Cc thng bo li CMS

1.3. Cm bin khong cch SRF05


Cm bin SRF05 l mt loi cm bin khong cch da trn nguyn l thu pht
siu m. Cm bin gm mt b pht v mt b thu sng siu m. Sng siu m t u
pht truyn i trong khng kh, gp vt cn (vt cn o khong cch ti) s phn x
ngc tr li v c u thu ghi li. Vn tc truyn m thanh trong khng kh l mt
gi tr xc nh trc, t thay i. Do nu xc nh c khong thi gian t lc

34

pht sng siu m ti lc n phn x v u thu s quy i c khong cch t cm


bin ti vt th. Cm bin SRF05 cho khong cch o ti a ln ti 3-4 mt.
SRF05 c th thit lp cch hot ng thng qua cc chn iu khin MODE.
Ni hoc khng ni chn MODE xung GND cho php cm bin c iu khin
thng qua giao tip dng 1 chn hay 2 chn IO.

Hnh 1.11. Hnh nh SRF05

Cch 1 tch ring chn TRIGER v Echo


Modun cm bin SRF05 c hai chn TRIGGER v ECHO ring bit. Khi chn
MODE trng (chn MODE c in tr ko ln VCC, khi trng n s nhn mc
in p VCC) SRF05 s s dng c 2 chn chc nng TRIGGER v ECHO cho vic
iu khin hot ng ca cm bin.

Hnh 1.12. Chn ca module SRF05

35

Hnh 1.13. Gin xung ch 1 ca SRF05

T hnh v m t trn, iu khin SRF05 MODE1 cn cp cho chn


TRIGGER mt xung iu khin vi rng ti thiu 10uS. Sau mt khong thi
gian, u pht sng siu m s pht ra sng siu m, vi x l tch hp trn modun s
t xc nh thi im pht sng siu m v thu sng siu m. Vi x l tch hp ny s
a kt qu thu c ra chn ECHO. rng xung vung ti chn ECHO t l vi
khong cch t cm bin ti vt th.
Cch 2: s dng mt chn cho c echo v trigger.
ch ny, mt chn ca vi x l s iu khin qu trnh pht xung ca cm
bin siu m v vic c tn hiu tr v. Yu cu lc chn MODE cn c ni t
(GND). u tin xut mt xung vi rng ti thiu 10uS vo chn TRIGGERECHO (chn s 3) ca cm bin. Sau vi x l tch hp trn cm bin s pht ra tn
hiu iu khin u pht siu m. Sau 700uS k t lc kt thc tn hiu iu khin, t
chn TRIGGER-ECHO c th c ra mt xung m rng t l vi khong cch t
cm bin ti vt th.

36

Hnh 1.14. Ch 2

37

CHNG II
THIT K H THNG
2.1. Thit k phn cng
2.1.1. S khi h thng

Hnh 2.1. S khi h thng

H thng gm cc khi nh hnh trn c kt ni vi nhau vi cc chc nng


c th sau:
Module control l khi iu khin: nhn d liu t khi cm bin (Module
SENSORS) chc nng giao tip vi Module SIM truyn thng qua GPRS ng
thi giao tip vi module Sensor thu thp d liu cm bin.
Module SIM thc cht l SIM900 dng trong mng di ng truyn thng
GPRS.
Module sensor: l cc cm bin thu thp d liu y l cm bin khong cch
dung thu thp cc tn hiu v khong cch.
Module POWER : y l ngun s dng Acquy, v PIN dng cho tt c cc
module.
Module executable: l module thc thi l cc motor iu khin bnh ca
robot.

38

2.1.2. S m t h thng

Hnh 2.2. M t h thng

H thng c m t nh hnh trn: Robot c kt ni ti mt tn min c


nh trn mng internet vi a ch ip tnh(server) , laptop cng kt ni ti tn min
. Khi c hai cng kt ni ti a ch th khi chng c th giao tip v truyn
thng d liu vi nhau. D liu t Robot l cc khong cch c gi v my vi
tnh theo dng khung truyn, d liu ny c my tnh x l tch ra v tnh ton
v ng i trn phn mm. Phn mm trn my vi tnh c th iu khin t theo
hng quy nh bi cc nt c thit k trn phn mm. Nh vy my tnh lc ny
ng vai tr nh mt Server, robot chnh l mt Client kt ni ti n.

39

2.1.3. S nguyn l in t
a. Module control

Hnh 2.3. Module control

S dng vi iu khin PIC 16F877A vi thch anh 20Mhz cp dao ng cho


Module, vi cc chc nng iu khin cc ng c cc chn RA0, RA1, RA3, RA4.
Chn RD7 dng iu khin vic bt hoc tt module SIM900 d dng transistor
NPN tc ng. Chn RB0 dng kim tra trng thi ca SIM900, RB2 RB4 RB6
tng ng l cc chn T1 T2 T3 dng giao tip cm bin khong cch SRF05.
Chn RC5 c ni vi chn VDD_EXT ca SIM900 c ni vo led bo c
ngun, y l chaand in p ra cung cp p 2.8V . Chn RB7 giao tip ly d liu
t cm bin nhit mt dy DS18B20. Ngoi ra module ny c ni vi cng tc
c ni thng qua in tr ln ngun mc 0 th thc hin reset( khi nhn cng tc).
Chn RX v TX trn module dng giao tip truyn nhn d liu vi module SIM.
Vi iu khin ny c np chng trnh di dng ui .hex, c lp trnh
bng ngn ng C cho vi iu khin PIC thng qua trnh bin dch CCS ca hng
Microchip.

40

b. Module sensor

Hnh 2.4. Module sensor

Module ny s dng 2 loi cm bin l cm bin nhit giao tip 1 dy l


DS18B20 v module cm bin khong cch SRF05.
Cm bin DS18B20
Gm 3 chn c mc nh hnh v trn, chn ngun v d liu c ni ln
ngun thng qua in tr ko mc in p ln cao gip cho vic giao tip
d liu vi vi iu khin tt hn. Chn d liu gia c ni ti chn RB7
ca vi iu khin PIC16F877A trong module Control.
y l loi cm bin s dng chun giao tip 1 dy, cung cp t 9 n 12 bt
cha cc gi tr nhit trong bi s dng 9 bt.
Cm bin khong cch SRF05
y l cm bin khong cch, s dng giao tip khong cch nh cch 2 c
ngha l chn pht v thu tn hiu cng trn chn TRIGER, khi giao tip thc
hin kch chn Triger ln 1 trong 10 micro giy, sau ch tn hiu phn hi
tnh thi gian phn hi t p dng cc cng thc tnh ra khong cch.

41

c. Module SIM

Hnh 2.5. Module SIM

S dng SIM900 kt ni th sim dng kt ni ti mng di ng v kt ni ti


mng internet thng qua GPRS. Trn module s dng cc led bo trng thi c
kt ni ti 2 chn NETLIGHT v STATUS thng qua cc transistor. S dng giap
tip SIM thng qua cc chn nh SIM_VDD, SIM_DATA, SIM_CLK, SIM_RST v
kt ni ti an-ten thng qua chn RF_ANT.

42

d. Khi ngun

Hnh 2.6. Khi ngun

S dng IC AMS1117 chuyn i in p t c-quy 12V xung 5V cung cp


cho vi iu khin PIC v cm bin hot ng. y s dng c ngun PIN in thoi
cung cp ngun 4.1V cho module SIM hot ng. C th dng ngun Ac-quy 12 V
va iu khin ng c, va nui mch nu ni Jum J3. Hoc c th dng ngun
c lp nu khng dng Jum ni.

2.2. Thit k phn mm


2.2.1. Lu chng trnh iu khin
Chng trnh ngt nhn lnh

BEGIN

luu lenh va bat co bao da nhan duoc lenh

RETI
Khi c ngt n th tin hnh lu lnh ang thc hin v bt c bo nhn
c lnh sau kt thc chng trnh ngt quay v chng trnh chnh. Sau tip
tc ch ngt, nu c ngt li quay tr li chng trnh ngt.

43

Chng trnh chnh


BEGIN

Cau hinh SIM900 ket noi GPRS den server, ngat nhan lenh tu server,
lenh tien bat co bao da nhan duoc lenh, chu ky truyen ve = 1s

no

khoang cach truoc < 30Cm?


yes

dung xe, gui thong so khoang cach truoc, trai, phai, nhiet do ve server,
ngung dem thoi gian

no

co bao nhan lenh duoc bat?


yes

lenh tien?
yes
xe di tien,
bat dau dem thoi gian

no

lenh dung?

no

lenh re trai?

yes
dung xe,
bat dau dem thoi gian

no

lenh re phai?

yes

yes

xe re trai 90*,
xe di tien,
bat dau dem thoi gian

xe re phai 90*,
xe di tien,
bat dau dem thoi gian

xoa co bao nhan duoc lenh

thoi gian dem = chu ky truyen ve?

no

yes
gui thong so khoang cach truoc, trai, phai, nhiet do ve server,
reset bo dem thoi gian

Hnh 2.7. Lu thut ton iu khin

44

no

Lu thut ton c m t nh sau:


Khi cp ngun cho mch th thut ton c m t nh sau: Ban u phi cu
hnh SIM900 kt ni GPRS ti a ch server tnh. Thit lp ngt sn sng nhn
lnh t server, thit lp chu k truyn l 1s khi kt ni c ti Server ri tin hnh
chy tin.
Sau kim tra khong cch nhn c, nu khong cch ca cm bin t pha
trc Robot nh hn 30 cm th tin hnh dng xe gi thng s v khong cch trc
tra phi v nhit v Server, ngng m thi gian sau xung kim tra xem c
lnh nhn c t Server hay khng. Nu khong cch ln hn 30 cm th khng dng
xe na m kim tra lnh t Server.
Nu c lnh t Server gi v th tin hnh kim tra, nu l lnh tin th s i tin
v bt u m thi gian, ngc li nu l dng x dng xe tng t nu xe r tri 90
th r v r phi 90 th r phi 90 v bt u m thi gian. Sau xa cc
lnh nhn c v kim tra thi gian m.
Nu khng nhn c thi gian gi v t server hoc ko thc hin lnh no th
nhy xung kim tra thi gian m, nu thi gian m bng chu k truyn th gi
thng s khong cch trc khong cch tri, khong cch phi v nhit v server
v reset b m. Ngc li th quay li qu trnh kim tra khong cch. V lp li cc
bc nh trn.

45

2.2.2. Lu thut ton iu khin trn my tnh

Hnh 2.8. Thut ton trn my tnh

46

M t lu :
Bt u khi chy chng trnh, khi nhn nt open th tin hnh kt ni Socket v
m cng kt ni trn mng v ch client l robot kt ni ti n. Khi c kt ni t
client th tin hnh to ra hai thread gi v nhn song song c lp vi nhau. Nu
cha c kt ni t client th tip tc ch.
Sau khi c kt ni t client ri th tin hnh vic nhn v gi d liu thng qua
hai thread gi v nhn c m t nh sau:
Vi Thread nhn: To ra b m nhn vi 1024 byte cha d liu trong b
m nhn, sau to ra mt i tng v bn l drawPanel, khi c d liu tin
hnh nhn d liu v chuyn i sang dng chui. Sau tin hnh tch chui thnh
cc gi tr khong cch v nhit t ng ng v v bn sau quay li to b
m nhn v tip tc nhn d liu t client.
Vi Thread truyn: Lng nghe s kin khi nhn mt trong cc nt sau tri, phi,
tin li, dng th kim tra trng thi s kin nt nhn cui cng th gi lnh tng
ng ti client l tin, li, quay tri hoc quay phi v dng. Nu khng th quay tr
li chng trnh kim tra nt nhn.

47

CHNG III
KT QU T C
3.1. Sn phm
Sn phm sau khi hon thnh p ng c yu cu ra.

Hnh 3.1. Hnh nh t d ng

48

Hnh 3.2. Hnh nh v bn trn my tnh

3.2. Kt lun v hng pht trin


Sau khi hon thnh ti Robot thm d a hnh iu khin t xa hot
ng ng nh tng v yu cu thit k. Phn mm v c ng i ca
Robot v cc chc nng iu khin c thit lp. Tuy nhin do sai s linh kin v
kh nng nghin cu cn hn ch Robot vn cha vn hnh tt trong cc iu kin
a hnh khc nhau.
V vy hng pht trin ca ti l pht trin thm chc nng nh v cho n
xc nh v tr thc trn bn , nng cp cm bin khong cch thnh camera
con ngi gim st tt hn. C th vn hnh tt trong cc a hnh khc nhaunhm
p ng c cc yu cu ca thc t ca th trng.

49

You might also like