You are on page 1of 32

IU KHIN THIT BI

QUA NG DY IN THOAI

2008
TAI VI X LI

VO HOANG MANH HUNG


NGUYN HU CNG
GVBM: PHAM TH DUY
05VTA1-ptit
1/1/2008

MC LC
MC ICH CUA TAI ........................................................................................ 3
II. LINH KIN CN THIT ......................................................................................... 3
I.

1. 8870 ............................................................................................................................ 3
2. 24c04 .......................................................................................................................... 6
3. 4n35 ............................................................................................................................ 7
4. Um66 .......................................................................................................................... 8
5. ULN2003: .................................................................................................................. 8
6. ng c bc: ........................................................................................................... 9
III. THC HIN PHN CNG ................................................................................... 10
1. S khi: ............................................................................................................... 10
2. Mch nhn tn hiu chung: ................................................................................... 11
3. Mch ong tai gia: .................................................................................................. 12
4. Mch nhn va giai ma tn hiu DTMF: ................................................................. 13
5. Mch truy xut b nh cha mt ma: .................................................................... 14
6. Mch to tn hiu phan hi:.................................................................................... 14
7. Mch iu khin ng c bc: ............................................................................. 15
8. Vi x li trung tm: ................................................................................................... 15
9. S mch: ............................................................................................................. 16
IV. Lp tri nh: ................................................................................................................... 18
1. Phn chi nh cua chng tri nh ................................................................................. 18
2. Phn nhn mt ma : ................................................................................................. 19
3. Phn kim tra mt ma : ............................................................................................ 20
4. Phn thay mt ma : .................................................................................................. 21
5. Phn iu khin ng c bc: .............................................................................. 22
6. Phn truy xut b nh: ........................................................................................... 22
a) Phn ghi b nh: ................................................................................................... 26
b) Phn oc b nh ................................................................................................... 27
7. oan code chi nh cua chng trinh (vit bng C) ................................................ 28

DANH SCH HNH V TRONG BO CO


Hinh 1-Cu tao 8870 ............................................................................................................. 3
Hinh 2 - Ma DTMF ................................................................................................................ 4
Hinh 3-Mach lai ..................................................................................................................... 4
Hinh 4-Cu hi nh ngo vao ...................................................................................................... 5
Hinh 7 - c tinh dong, ap cua 4n35..................................................................................... 7
Hinh 5-Cu tao chn cua 4n35 ............................................................................................. 7
Hinh 6-Dang bn ngoai cua 4n35.......................................................................................... 7
Hinh 8 - S chn UM66 ................................................................................................... 8
Hinh 9 - S khi ULN2003 ............................................................................................... 8
Hinh 11 - Cu tao ng c bc .......................................................................................... 9
Hinh 10 - Cu tao mt cp Darlington ................................................................................... 9
Hinh 12 S khi phn cng ........................................................................................ 10
Hinh 13- Tin hiu chung .................................................................................................... 11
Hinh 14 - Mach nhn tin hiu chung ................................................................................. 11
Hinh 15 - Mach ong tai gia ................................................................................................ 12
Hinh 16 - Cach mc 8870 ................................................................................................... 13
Hinh 17 - Kt ni b nh ..................................................................................................... 14
Hinh 18 - Tao tin hiu phan hi ........................................................................................... 14
Hinh 19 - iu khin ng c bc thng qua ULN2003.................................................... 15
Hinh 20 - Vi x li trung tm ................................................................................................. 15
Hinh 21(a) - S mach .................................................................................................... 16
Hinh 22(b) - S mach .................................................................................................... 17
Hinh 23 - kt ni vi ng c .............................................................................................. 22

I.

MC ICH CUA TAI

iu khin thit bi qua ng dy in thoai la mt tai ma khng i t ngi a tng


quan tm va theo ui. y la mt tai hay va co rt nhiu gia tri trong thc t, dung
iu khin thit bi t xa moi khoang cach , min sao in thoai cua ban co th goi
ti c i a im co gn thit bi .
Trong tai nay , chung ti tao ra mt h thng i u khin ng c (dung ong, m
ca hay chay robot chng han ). H thng nay c kim soat bng mt ma co th thay
i c va co s phan hi ti ngi dung bng ting nhac.
II.
LINH KIN CN THIT
1. 8870
8870 la IC giai ma DTMF . No nhn tin hiu DTMF t ng dy in thoai sau o
giai ma thanh 1 s 4 bit tng ng vi ti n hiu DTMF ma no nhn c.

Hinh 1-Cu tao 8870

Dung 8870, ta co th bit c ngi dung a bm s nao trn ban phi m in thoai , t
o a ra ti n hiu iu khin phu hp.
8870 cha 2 b loc thng dai , dung tach cp tone DTMF nhn c thanh 1 tone
thuc nhom tone cao va 1 tone thuc nhom tone thp. B giai ma s nm trong 8870
se xac nhn cp tone DTMF nhn c , nu cp tone nay tn tai trong 1 khoang thi
gian u dai i nh trc thi 4 bit ma tng ng cua no se c chuyn n cac ngo ra
Q1Q4, ng thi 1 ngt chn StD c sinh.

FLOW FHIGH
97
697
697
770
770
770
852
852
852
941
941
941
697
770
852
941

1209
1336
1477
1209
1336
1477
1209
1336
1477
1336
1209
1477
1633
1633
1633
1633

Key (ref.)

Q4

Q3

Q2

Q1

1
2
3
4
5
6
7
8
9
0
S
#
A
B
C
D

0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0

0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0

0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0

1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0

Hinh 2 - Ma DTMF

Mach lai

Hinh 3-Mach lai

Trc khi a ra ngoai 4 bit ma tng ng vi cp tone nhn c , b nhn kim tra
khoang thi gian tn tai cua tin hiu . Vic kim tra da vao thi hng RC g n ngoai
qua ngo Est.

Est ln cao khi co 1 cp tone DTMF c nhn din . ESt con ln cao chng nao cp
tone nay con tn tai . ESt ln cao lam Vc tng ln . Sau khoang thi gian t GTP, Vc vt
mc ngng V TSt (khoang 2,22,5V), 4bit ma tng ng se c chuyn n cht
ngo ra. Luc nay chn GT kich hoat l am Vc tip tuc tng n V DD. Cui cung, sau khi
dng 1 thi gian ngn cht ngo ra n i nh, c ngo ra mach lai (steering output flag,
StD) ln cao, bao hiu rng cp tone nhn c a c chp nhn va 4 bit ma tng
ng a c chuyn n ngo ra.
Mach lai hoat ng ch trai ngc xac minh nhng oan ngt quang gia cac
tin hiu . Nh vy , b nhn se bo qua nhng s ngt quang tin hiu qua ngn
cung
nh nhng tin hiu qua ngn.
Kha nng nay cung vi tinh nng cho php chon thi hng bn ngoai cho php ngi
thit k co th iu chi nh h thng 1 cach phong phu phu hp muc ich h thng
Cu hi nh ngo vao: co 2 loai cu hinh ngo vao
+ Cu hi nh gm 1 ngo vao, ta se s dung cu hinh nay
+ Cu hi nh gm cp ngo vao sai bit

Hinh 4-Cu hi nh ngo vao

Ngo vao 8870 bao gm 1 opamp co ngo vao sai bit va 1 ngun phn cc Vref
phn cc ngo vao cua b khuch ai VDD/2. R hi tip ngo ra cua opamp ( GS)
dung iu chinh li cua tin hiu vao.
Thach anh 3.58MHz dung tao dao ng cho 8870.

2. 24c04
24C04 la b nh ni giao tip theo chun I 2C. Kt ni cua loai b nh nay rt
gian, lai nho gon. Tuy nhin, phn giao tip cua no vi vi x li lai phc tap.

24C04 giao tip vi vi x li bng 2 ngo SDA va SCL. SCL tao xung nhi p con SDA la
ng d liu.
Chc nng cua 24c04:
+ Truyn d liu qua bus 2 dy
+ Giao tip vi P, trong o P la thit bi chu, 24C04 la thit bi nhn. P se
quyt inh ch lam vic.
Cac c tinh ki thut cua 24C04:
-

Dung lng 512 bytes (4Kb)


24c04 co th lu c 512 mt ma tr ln, nu lp tri nh tt.
Tn s 400kHz i vi ngun cung cp 5V
Chu ki clock SCL ti thiu la 2,5s
Thi gian clock SCL ln cao ti thiu 0.6s
Thi gian SCL xung thp ti thiu 1.2s
Vi x li phai ch trong thi gian u duy tri trang thai
Thi gian i trang thai ln cao ti a 0.3s
Thi gian i trang thai ln cao 0.3s
co th i trang thai ngay, khng phai ch
Thi gian BUS ranh trc khi truyn d liu mi (sau lnh STOP) ti thiu
1.2s
Thi gian chu ki ghi d liu ti a 5ms i vi 24c04
Thi gian cn gi trang thai START/STOP 0.6s
Thi gian thit lp data (SDA) trc khi a SCL ln cao ti thiu 0.1us
Thi gian co data out ti a 0.9us
phai ch it nht 1us sau khi SCL xung thp mi bt u ly d liu ngo
SDA

Chc nng cua cac chn:


-

SDA: la chn d liu ni tip, co th truyn ia chi va d liu 2 chiu. y la


chn open drain cho nn cn mc thm in tr pull -off khoang 1k i vi tc
truyn 100kHz va 2k i vi tc 400kHz. 1
1 s chu y i vi SDA:
+ Khi chuyn d liu SDA chi c thay i khi SCL xung thp.

+ SDA thay i khi SCL cao dung bao hiu iu kin bt u (START) va
kt thuc (STOP)
- SCL: xung clock dung ng b hoa vic truyn d liu
ngo vao SCL va SDA a co mach loc trit tiu nhiu
3. 4n35

Hinh 6-Dang bn ngoai cua 4n35

Hinh 5-Cu tao chn cua 4n35

Cu tao cua 4n35 gm 1 photoDiode va 1 phtotransistor. Khi co dong qua


photoDiode, anh sang phat ra t photoDiode se lam photoTransistor dn .
ng dung cua 4n35 dung tao tin hiu cho vi x li.
c tinh dong va ap cua photoDiode trong 4n35 nh sau:

Hinh 7 - c tinh dong, ap cua 4n35

4. Um66

Hinh 8 - S chn UM66

y la 1 IC nhac n gian , gia re, no c nap sn 1 bai nhac n m . Ta co th tn


dung no tao m thanh phan hi cho ngi dung.
S chn cua UM66 nh sau:
1
2
3
Out
Vin
GND
Thng thng Vin khoang 3V, in ap chn Out khoang 0.8V.
5. ULN2003:

Hinh 9 - S khi ULN2003

Bn trong ULN2003 la mt loat cac cp transitor NPN mc darlington theo s sau:

Output

Input

Hinh 10 - Cu tao mt cp Darlington

Khi u vao Input mc cao , cp darlington dn cho phep dong t chn output
xung mass . in ap cng COM co
tac dung gii han ap ngo Output
,
VOutput>VCOM+VD thi toan b dong ra ngoai qua cng COM.
Ngc lai , khi Input mc thp , cp trasistor khoa lai , khng cho dong vao t
Output.
Xt trn phng din logic thi co th xem Output la cng ao cua Input . Tuy nhin ,
mc cao cua output khng nht thit la 5V ma co th la 12V hay bao nhiu tuy ngun
ngoai mc vao output.
Ta se dung ULN2003 lam b m iu khin cho ng c.
6. ng c bc:

Hinh 11 - Cu tao ng c bc

ng c bc loai 6 dy co cu tao nh hi nh trn . Phn rotor co 1 nam chm vi nh cu


con phn stator gm 2 nam chm in c gn c i nh . Cac cc cua nam chm in
stator do chung ta iu khin, bng cach cp cac gia tri ap cac chn A , A, B, B, VM.

Mt cach n gian iu khin ng c bc loai nay la cp sn in ap


2 chn
VM=12V, sau o cho cac chn A, A, B, B xung thp, bin stator tng ng thanh cac
nam chm vi cac cc khac nhau, hut rotor quay, lam ng c quay.

III. THC HIN PHN CNG


1. S khi:

Hinh 12 S khi phn cng

10

2. Mch nhn tn hiu chung:


Tin hiu chung co dang tng chui hinh sine ngt quang, 2s co, 4s khng.

Hinh 13- Tin hiu chung

Bin 7590 Vrms, tn s 25Hz


VCC1

C2

2
1

Notes:
C2=0.47u/250V
C1=10uF/50V
R6'=1.8K
R7=1.2K
4N35
C3=10uF/50V
DZ=12V

R7

D5

T/R

~
2
1

CB
+

DZ

R6'

1
U12

C3
~

C1
2

4
4N35

Hinh 14 - Mach nhn tin hiu chung

C2 co tac dung ngn dong DC, ng thi giam bin tin hiu chung vao mach cam
bin.
Diode cu dung chinh lu tin hiu vao, tng gp i tn s.
C3, C1: loc tin hiu n inh, it nhp nh. Tn s tin hiu qua diode cu c tng
gp i nn loc d dang hn
Dz: loc nhiu , tin hiu < 12V khng th i qua.

11

Opto 4N35: khi co chung, photodiode bc xa lam phototransistor dn, ngo ra cua
mach cam bin mc 0. Ngoai ra, opto con dung tach tng cam bin chung va
tng x li tin hiu.
Tom lai: ngo ra cua mach cam bin chung mc
+ 0 khi co tin hiu chung
+ 1 khi khng co tin hiu chung
3. Mch ong tai gia:

3
VCC3

1
2

R8
2
1

1N4007

LED1

RELAY SPST
D6

14

TG

R11
1

C9
+

Q1

DTMFIN / LINE

1
2

RL1
4

Notes:
R8=330
R9=8.2K
R10=220
DZ1=,DZ2=4.7V
R11=2.7K
Q1,Q2=2N2383
C8,C9=10UF/50V
LED1
RELAY1
BIEN THE
1:1

R9
7404

DZ1

Q2

T/R1

R10
2
1

DZ2

C8

Hinh 15 - Mach ong tai gia

Mach ong tai gia gm 2 phn:


+ Phn ong ngt relay
+ Phn tao tai gia
Khi co ti n hiu iu khin t vi x li qua ngo TG thi Q1 dn, tao dong qua relay , lam
ong phn mach tao tai gia
Diode cu phn mach tao tai gia co tac dung chng ao cc (tin hiu ao cc thng
dung tinh cc in thoai).
Tng ai ni vi cac thu bao thn g qua 2 dy TIP va RING . Dong i qua ng dy
nay co gia tri trong khoang 25 mA n 40 mA (trung bi nh chon 35 mA)
Tng tr DC khi gac may lun >20 K
Tng tr AC khi gac may t 4K n 10K

12

Tng tr DC khi nhc may <1K (t 0,2K n 0,6K ).


Do o , chc nng cua phn tao tai gia o la thay th
1 thu bao tht s v mt tr
khang. Tr khang DC cua tai gia se <300, con tr khang AC cua no trong khoang
70030%.
Tu C3 se ngn tin hiu DC , chi cho t in hiu AC mang ni dung thoai hay DTMF i
qua. y, chung ta dung 1 bin th 1:1 cach li tin hiu AC gia phn tin hiu vao
vi phn x li ti n hiu va phan hi
(DTMF IN ly ti n hiu DTMF t bn ngoai
vao/LINE tin hiu phan hi)
4. Mch nhn va giai ma tn hiu DTMF:

C4 R1

1
2
3
4

R2

DTMF IN
0.1uF100K

100K

VCC

U8

18

VCCD

IN+
TOE
INGS
VREFST/GT
EST

C2
7
Y2
8

IC
IC

Q0
Q1
Q2
Q3

C5
17

0.1uF

6.8K
16

R3

15

IRQ

11
12
13
14

Q0
Q1
Q2
Q3

5
3.579MHZ 6

OSC2

GND

C6

OSC1 STD

10

MT 8870

Hinh 16 - Cach mc 8870

Nu phat hin cp tone DTMF thi 8870 sinh ra 1 ngt chn STD, ng thi 4bit ma
tng ng vi ti n hiu DTMF nhn c a n cac chn Q 0,Q1,Q2,Q3. Cac chn
nay c a n vi x li.

13

5. Mch truy xut b nh cha mt ma:


24C04 la b nh ni tip , s dung 2 chn SCL va SDA giao tip vi vi x li trung
tm. Ta ni 2 chn nay n vi x li , cac chn con lai (tr chn ngun ) ni t. Nh

U18
1
2
3
4

A0

VCC

A1

WP

A2

SCL

GND

SDA

VCCV

7
6

SCL

SDA

AT2404
Hinh 17 - Kt ni b nh

vy, i a chi cua 24C04 khi giao tip vi vi x li la 1010000.


6. Mch to tn hiu phan hi:
phan hi cac thao tac cua ngi dung , ta dung chip UM66 tao ting nhac . Chn
nhac1 ly ngun t vi x li , chn NHAC a vao ng LINE sau bin th 1:1 cua
nhac1

um66
2k
NHAC
33n
5k
Hinh 18 - Tao tin hiu phan hi

mach ong tai gia.


Bin tr 5k co tac dung chi nh m lng cua ting nhac.
Ngoai UM66, ta co th dung loai chip nhac cua Trung Quc , gia 1000/1 con ch
Nht Tao.

14

7. Mch iu khin ng c bc:

Hinh 19 - iu khin ng c bc thng qua ULN2003

Loai ng c bc c s dung trong tai nay khng hoat ng nu cp mc in


ap 5V, vi vy , cn phai cp ngun ngoai
12V cho no , ng thi dung b m
ULN2003 giao tip vi vi x li . Luc nay mc logic cao cua D 0, D1, D2, D3 tng
ng vi 12V. Mc logic cua cac chn iC la nghi ch ao cua cac chn iB .
8. Vi x li trung tm:

1
2
3
4
5
6
7
8

CHUONG
Q3
Q2
Q1
Q0
C10

C11

Y1

19
18

VCCV

C12
R12
100

31
9

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15

P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD

XTAL1
XTAL2

ALE/PROG
PSEN

EA/VPP
RST

GND

TAI
nhac1
nhac2
nhac3

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7

R11'

20

4 39
3 38
2 37
1 36
35
34
33
32

VCC

40

VCCV

21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17

A1
A2
A3
A4
A5
A6
A7
A8
SCL
SDA
IRQ1

30
29

AT89C51

SW2
8.2K

Hinh 20 - Vi x li trung tm

Ta thit lp cach kt ni nh trn hi nh, trong o:


-

Chn P0.0 P0.3 :iu khin ng c bc


Chn P0.4
:nhc tai gia, tich cc mc thp

15

Chn P0.5 P0.7 :phat ting nhac, phat tin hiu phan hi
Chn P1.0
:cam bin chung (xung 0 khi co chung)
Chn P1.1 P1.4 :ma tng ng vi tin hiu DTMF nhn c
(MSB:P1.1;LSB:P1.4)
Chn P3.0
:ni vi SCL cua 24C04
Chn P3.1
:ni vi SDA cua 24C04
Chn P3.2
:nhn ngt t 8870

9. S mch:

D7

VCCT
VCCD
VCCV

D8

2
1

VIN

VOUT

R19
SW6

3
C14

LED
LED
LED
LED

R18

1000U

GND

J33

CON2

R16
R15

78XX/SM
SW DIP-4

N
T
D
V

J11
1
2

1
2
3 DC

NGUON 5V, 12V

LS3

SW4
5

J1
1
2

4
1
2

SW KEY -SPDT
RELAY SPDT

R23

1N1

nhac2
nhac1
um66

R28

um66

330

Q3
SC2383

LED

R24
NHAC
NHAC

R22
4.7K

C13 33n4
R29

2
1

C13 33n

2
1

R25
J10
nhac3

um66
R26

J12
NHAC

AM THANH PHAN HOI

C13 33n3
R27

MACH DIEU KHIEN THIET BI

Hinh 21(a) - S mach

16

C10

C11
VCCV

RT

4k
RT2

Y1

SW2

R12
100

2
3
4
5
6
7
8
9

2
3
4
5
6
7
8
9

VCCV

39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7

P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15

P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
ALE/PROG
PSEN

P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
XTAL1
XTAL2

4k
RT3

RT1

21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
30
29

AT89C51

EA/VPP
RST

2
3
4
5
6
7
8
9

2
3
4
5
6
7
8
9

A1
A2
A3
A4
A5
A6
A7
A8
SCL
SDA
IRQ1
P3.3
P3.4
P6
P7
P8
1
2
3
4
5
1
2

J31

ALE/PSEN

S1
S2
S3
S4
S5
S6
S7
S8

A8
A7
A6
A5
A4
A3
A2
A1

S8
S7
S6
S5
S4
S3
S2
S1

D1
D2
D3
D4
D5
D6
D7
D8

A8
A7
A6
A5
A4
A3
A2
A1

2
3
4
5
6
7
8
9

p2
A0
A1
A2
A3
A4
A5
A6
A7

B0
B1
B2
B3
B4
B5
B6
B7

B0
B1
B2
B3
B4
B5
B6
B7

DIR
OE

A0
A1
A2
A3
A4
A5
A6
A7

p1

DIR
OE

2
3
4
5
6
7
8
9
1
19

DIR
OE

A0
A1
A2
A3
A4
A5
A6
A7

p0

VCCV

1
19

2
3
4
5
6
7
8
9
1
19

VCCV

18
17
16
15
14
13
12
11

18
17
16
15
14
13
12
11

4
3
2
1

1
2
3
4
5
6
7
8

J27

TAI

DCB

3
2
1

nhac1
nhac2
nhac3

Q0
Q1
Q2
Q3
CHUONG

J28

TANG DEM

B0
B1
B2
B3
B4
B5
B6
B7

VCCV

18
17
16
15
14
13
12
11

TAI
IRQ

TELE

VCCT

2
1

CAM BIEN CHUONG & NHAC TAI GIA


Q1,Q2=2N2383
R6'=1.8K
C1=10uF/50V
R7=1.2K
C3=10uF/50V
R8=330
C8,C9=10UF/50V
R9=8.2K
C15=0.47u/250V
R10=220
DZ1=DZ2=4.7V
R11=2.7K
DZ=12V
R16=3k
4N35

14

R8
LED1
7404
R11
2
8

6
7

SCL

WP

1N4007

4N35

IRQ1

T
R

U12

R7

A1

VCC

U18

A2

SDA

A0

GND

AT2404

Q1 T

2
1
VCCT

SCL
SDA

BO NHO NGOAI

CHUONG

20
VCC
GND
10

D1
D2
D3
D4
D5
D6
D7
D8
S1
S2
S3
S4
S5
S6
S7
S8
19
18
31
9

VCCV

C12

D1
D2
D3
D4
D5
D6
D7
D8

VCCV

8.2K

SCL
SDA
IRQ1
P3.3
P3.4
P6
P7
P8
4k

20
VCC
GND
10

VI XU LI

VCCV

VCCV

4k

VI XU LI:
89C51
CRYSTAL 12MHz
C10,C11=33PF
C12=0.1uF
R11'=8.2K
RT1-4=4.7k
R12=100

C1

C15

CAP

C3

R6'

VCCV

DZ

D6

2
1

8
5

RELAY DPDT

LS5

C4

R9

C8

R1

100K
0.1uF

NHAC

1:1

C9 BIEN THE

Q2

R10

R2

100K

C2

Y2

5
6

1
2
3
4

U8

DZ2

4.7V

IN+
TOE
INGS
VREFST/GT

EST

Q0
Q1
Q2
Q3

OSC1 STD

OSC2

IC
IC

10

17

16

15

11
12
13
14

MT 8870

6.8K

DZ1
4.7V

Q0
Q1
Q2
Q3

IRQ

R3

DTMF IN

0.1uF

C5

VCCD

CAM BIEN CHUONG & NHAC TAI GIA

DTMF IN

3.579MHZ

C6

GIAI MA DTMF:
R1, R2 = 100 k 1%
R3 = 6.8 k 1%
C4= 100 nF 5%
C5= 100 nF 10%*
C6 =C2 33pF 10%
X-tal = 3.579545 MHz

GIAI MA DTMF

18

VCC

GND

20
VCC
GND
10

40
VCC
GND
20

Hinh 22(b) - S mach

17

IV. Lp tri nh:


1. Phn chi nh cua chng tri nh
BEGIN

Sai
CO CHUNG?

ung
Sai
U 5 HI
CHUNG?
ung
NHC TAI GIA

NHP MT MA

UNG MT
MA?

ung

Sai

PHIM * HAY #

Phim khac

Phim *

Phim #
CHAY NG C

THAY MT MA

END

18

2. Phn nhn mt ma:

BEGIN

Sai
PHIM *?
ung

DAI MT MA sl=0

ung

PHIM #?

Sai
PHIM *?

ung

Sai
NHN MT MA
TH sl VAO
Pass[sl], sl++

NHP LAI MT MA
sl=0

TRA V CHUI
MT MA

END

19

3. Phn kim tra mt ma:


BEGIN

OC DAI MT MA
T B NH VAO npas

Sai
Npas=sl?

ung

i=1

Sai

Inpas

ung

OC PHN MT MA
TH i T B NH VAO
tam

tam=Pass[i]?

MT MA UNG

Sai

ung

TNG i

MT MA SAI

END

20

4. Phn thay mt ma:

BEGIN

DAI MT MA sl=0

ung

PHIM #?

Sai

PHIM *?

ung

Sai
NHN MT MA
TH sl VAO
Pass[sl], sl++

NHP LAI MT MA
sl=0

LU MT MA MI
VAO B NH

END

21

5. Phn iu khin ng c bc:


Co 3 ch hoat ng cho ng c bc loai 6 dy s dung trong tai. Mun ng

Hinh 23 - kt ni vi ng c

c hoat ng trong ch nao thi ta cp cac bit tng ng vi cac chn D0, D1, D2, D3
nh bang sau:

=D0
=D1
=D2
=D3

6. Phn truy xut b nh:


Phn lp tri nh cho 24c04 c anh gia la kho nht trong toan b chng tri nh . Phai
nm ki hoat ng cua 24c04 thi mi lam c.
Cac trang thai trn ng BUS 2 dy SDA va SCL:
-

BUS ranh
+ SDA va SCL u ln cao
+ Trang thai nay phai c duy tri it nh t 4.7s gia mi ln oc, ghi d liu

Bt u truyn d liu
+ SDA t 1 0 khi SCL==1 : START

Kt thuc truyn d liu


+ SDA t 0 1 khi SCL==1: STOP

22

Nhn d liu
+ Sau START, SDA c inh khi SCL=1 nhn d liu
+ D liu chi c thay i khi SCL=0
+ Trong mi chu ki xung, chi co ti a 1 bit c truyn

Xac nhn (ACK):


+ Gia cac byte d liu phai b sung 1 clock xac nhn byte
+ xac nhn byte: phai ko SDA line xung thp (gi SDA==0 sut qua
trinh SCL==1). Vic nay do 24c04 am nhn trong qua tri nh ghi d liu.
+ Kt thuc byte cui cung thi khng xac nhn ma cn gi ai phong BUS
(SDA==1 khi SCL==1)

Khi ng trc khi dung 24c04


Sau khi reset h thng hay sau khi STOP, 24C04 cn c reset theo cac bc
+ Trong nhiu nht 9 chu ki clock
+ Xt xem SDA co mc cao hay khng mi khi SCL mc cao
+ Nu co tao tin hiu START
c tinh BUS:
+ iu kin truyn d liu: BUS khng bn
+ ng data phai n inh khi clock ln cao
+ Thay i d liu trong luc clock ln cao ng vi k START va STOP
anh i a chi
+ Sau START, P phai chuyn 1 byte iu khin cha ia chi cua 24LC04 va 1 bit
R/~W (cho phep oc hay ghi)
+ Byte ia chi cua 24C04 co dang 1010xxxY vi Y la R/~W
+ Khi bt u truyn d liu, dang bit chuyn qua lai nh sau: S1010xxxYZ vi
- S: START
- Y: R/~W
- Z: ACK

23

+ 24C04 giam sat BUS lin tuc xac nhn ia chi tng ng cua no
+ 24C04 phat sinh bit acknowledge nu ung ia chi va no khng trong ch bn
(ang trong qua trinh ghi ni chng han)
GHI BYTE:
+ Sau loat tin hiu S1010xxxYZ (Z do 24C04 gy ra) la byte ia chi cua d liu cn
ghi
+ Byte ia chi nay c ghi vao con tro ia chi cua 24C04
+ 24C04 xac nhn byte ia chi.
+ P chuyn byte d liu cho ia chi a xac i nh trong 24C04
+ 24C04 xac nhn ln na
+ P tao tin hiu STOP
+ i 5ms cho qua trinh ghi (tin hanh trong 24C04)
- Ch
+ B m ia chi ni se khng tng ln ma gi ia chi cu sau khi ghi xong
+ Nu co tin hiu STOP khi cha kt thuc day lnh ghi thi qua trinh ghi se c huy
+ Nu nhiu hn 8 bit d liu c gi trc lnh STOP thi 24C04 xoa cac byte a
load trc o va load lai buffer
+ Nu co nhiu byte c chuyn trong 1 lnh thi chi co byte cui c lu.
+ Nu co nhiu byte c chuyn trong 1 lnh thi trong qua trinh truyn , nu byte
cui cha u 8 bit thi qua trinh ghi se bi huy
+ 24C04 dung mach xac inh ngng Vcc tt ch ghi/xoa logic nu Vcc<1.5V
(24AA00 va 24C04) hay <3.8V i vi 24C00
XC NHN (acknowledge polling)
+ 24C04 khng xac nhn chng nao cha ghi xong nhn bit khi nao chu ki ghi kt
thuc
+ Khi P ra lnh STOP cui day lnh ghi d liu, 24C04 bt u chu ki ghi ni.
+ Khi gi day lnh ghi S1010xxxYZ, nu 24C04 ang bn thi khng co tin hiu xac
nhn, phai gi lai day lnh ghi

24

C
+ Thit lp nh qua trinh ghi nhng Y==1
+ Co 3 kiu oc d liu c ban
- oc tai ia chi hin tai
- oc ngu nhin
- oc theo th t
(Ghi chi co 1 kiu: ghi tai ia chi xac inh)
oc tai ia chi hin tai
+ B m d liu tro n ia chi byte sau cung c truy xut
+ T ng tng ln 1 sau mi ln oc
+ Sau day lnh oc, 24C04 tao tin hiu ACK va truyn 8 bit d liu
+ P khng xac nhn vic truyn d liu ma sinh tin hi u STOP va 24C04 ngng gi
d liu
oc ngu nhin
+ Phai co 1 ia chi d liu thit lp trc
+ Thit lp bng ia chi trong lnh ghi
+ Sau khi ia chi d liu c gi thi P gi tip START lam qua trinh ghi kt thuc
nhng con tro ia chi vn nm vi tri c thit lp trong day lnh ghi trc o.
Day lnh gi i co dang S1010xxxYZxxxxxxxxZS (Y=0: ghi, Z: do 24C04)
+ Gi tip day lnh iu khin vi Y=1 S1010xxxY
+ 24C04 gi ACK va day 8 bit d liu
+ P phat sinh tin hiu STOP
+ B m ia chi se tro n ia chi tip theo sau ia chi va oc
oc theo th t
+ Thit lp ban u ging nh oc ngu nhin
+ Sau khi oc byte u tin, khng phat sinh STOP ma tao ACK

25

+ 24C04 se tip tuc gi tip 8 bit d liu k


a. Phn ghi b nh:

BEGIN

START

GI BYTE I A CHI GHI


CUA 24C04: 0xa0

Sai

ung
ACK?

GI BYTE I A CHI CUA


D LIU CN GHI

Sai

ung
ACK?

GI BYTE D LIU
CN GHI

Sai

ung
ACK?

STOP

CH I T NHT 5ms CHO


QUA TRINH GHI NI

END

26

b. Phn oc b nh

BEGIN

START

GI BYTE I A CHI GHI


CUA 24C04: 0xa0

Sai
ACK?

ung

GI BYTE I A CHI CUA


D LIU CN OC

ACK?

Sai

ung

START

GI BYTE I A CHI
OC CUA 24C04: 0xa1

ACK?

Sai

ung

OC BYTE D
LIU T 24C04

STOP

END

27

7. oan code chi nh cua chng trinh (vit bng C)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

#include <reg51.h>
#include <intrins.h>
#define NGAT0 0
#define NGAT1 3
//timer1
#define max 40
typedef unsigned char ii;
sbit kochuong=P1^0;
sbit taigia=P0^4;
sbit SDA=P3^1;
sbit SCL=P3^0;
sbit kongat=P3^2;
sbit
sbit
sbit
sbit

B3=P1^1;
B2=P1^2;
B1=P1^3;
B0=P1^4;

sbit nhac1=P0^5;
sbit nhac2=P0^6;
sbit nhac3=P0^7;
ii pass[max];
ii npas,sl;
bit started,xong;
ii buoc;
ii nwait;
void delay(int t)
{
int j;
for (j=0;j<1000*t;j++)
_nop_();
}
void delay_i2c()
{
while(0);
while(0);
}
void start_i2c()
{
SDA=1;
SCL=1;
delay_i2c();
SDA=0;
delay_i2c();
SCL=0;

52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102

delay_i2c();
}
void stop_i2c()
{
SDA=0;
SCL=0;
delay_i2c();
SCL=1;
delay_i2c();
SDA=1;
delay_i2c();
}
ii rx_i2c(ii ACK)
{
ii d=0,x;
SDA=1;// tha noi cong
// qua trinh doc du lieu tu
ngoai vao
for (x=0;x<8;x++)
{
d<<=1;
SCL=1;
while(SCL==0);
// khi da co canh len thi doc
du lieu tu ngoai vao
delay_i2c();
if (SDA) d|=1;
SCL=0;
}
//
// tao xung ACK luu y la co
xet xem la co can tao xung ACK
khong
if (ACK) SDA=0;
else SDA=1;
SCL=1;
delay_i2c();
SCL=0;
SDA=1;//release the SDA line
return d;
}
bit tx_i2c(ii trans)
{
ii x;
bit ACK;
SCL=0;
for (x=0;x<8;x++)
{
if(trans&0x80) SDA=1;
else SDA=0;
trans<<=1;

28

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154

SCL=1;
delay_i2c();
SCL=0;
delay_i2c();
}
//giai phong duong truyen de
doi tin hieu ack
SDA=1;
SCL=1;
//
delay_i2c();
while(SCL==0);
ACK=SDA;
SCL=0;//pull down all line
return ACK;
}
void write(ii dc,ii dl)
{
bit ok=0;
while (!ok)
{
start_i2c();
if (tx_i2c(0xA0)) {continue;}
if (tx_i2c(dc)) {continue;}
if (tx_i2c(dl)) {continue;}
stop_i2c();
delay(3);//chu ki ghi du lieu
ok=1;
}
}

ii read(ii dc)
{
ii d;
while (1)
{
start_i2c();
//tao dia chi de doc
if (tx_i2c(0xA0)) {continue;}
if (tx_i2c(dc)) {continue;}
start_i2c();
if(tx_i2c(0xA1))
{continue;}//read
d=rx_i2c(0);//doc 1 byte voi
xung N_ACK
stop_i2c();
return d;
}
}

155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207

void cho(int t)
ts
{
int i;
for (i=0;i<t*20;i++)
//cho 50ms
{
TMOD &= 0xf0;
TMOD |= 0x01;
ET0 = 0;
TH0 = 0x6f;
TL0 = 0xff;
TF0 = 0;
TR0 = 1;
while (!TF0);
TR0 = 0;
}
}

//cho

void nhanchuong()
{
ii dem=0;
long t;
P2=0x0f;
while (kochuong) P2=~P2;
while (dem<5)
{
dem++;
P2=dem;
cho(1);
//tranh nhieu
while (!kochuong);
//2s co chuong
t=0;
cho(2);
//tranh nhieu
while ((kochuong)&&(t<50000))
t++;
if (t>=50000) //qua 4s ma
khong co chuong do lai
{dem=0;
P2=0x0f;
while (kochuong) P2=~P2;//doi
den khi co chuong lai
}
}
}

bit ok()
{

29

208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260

ii i;
npas=read(0);
if (npas!=sl) return 0;
for (i=1;i<=npas;i++)
{
if
(pass[i]!=read(i))
return 0;
}
return 1;
}
void delaydc()
{
ii i;
for (i=0;i<300;i++);
}
void mocua()
{
ii i;
for (i=0;i<240;i++)
{
P0&=0xf0;
P0+=1;
delaydc();
P0&=0xf0;
P0+=2;
delaydc();
P0&=0xf0;
P0+=4;
delaydc();
P0&=0xf0;
P0+=8;
delaydc();
}
}
void err()
{
EX0=0;
nhac2=1;
cho(5);
nhac2=0;
EX0=1;
}
void startPass()
{
EX0=0;
nhac1=1;
cho(5);
nhac1=0;
EX0=1;

261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313

}
void accept()
{
EX0=0;
nhac3=1;
cho(5);
nhac3=0;
EX0=1;
}
void changePass()
{
ii i;
switch (P2)
{
case 11: {sl=0;
startPass();
break;}
case 12: { EX0=0;
write(0,sl);
for (i=1;i<=sl;i++)
write(i,pass[i]);
accept();
xong=1;
break;}
default: { sl++;
pass[sl]=P2;

}
}
void run()
{
switch (P2)
{
case 12: {EX0=0;
accept();
mocua();
xong=1;
break;}
//mo cua
case 11: {buoc=1; sl=0;
startPass();
break;}
//thay mat
khau
}
}
void checkPass()
{
switch (P2)
{
case 11: {sl=0;
startPass();
break;}

30

314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366

case 12: { if (ok())


{buoc=2;
accept();}
else
{err();
xong=1;
break;}
default:
{sl++;
pass[sl]=P2;
delay(1000);
//chong nhieu
}
}
}

void poll() interrupt NGAT0


//cho IRQ\ xuong thap
{
P2=(ii)((ii)B3<<3)+((ii)B2<<2)
+((ii)B1<<1)+(ii)B0;
EX0=0;
P0=0;
//tat tieng
nhac
nwait=0;
//thoi gian
nguoi dung khong tac dong
switch (buoc)
{case 0: {checkPass();
break;}
case 1:
{changePass();
break;}
case 2: {run();
break;}
}
while (!kongat);
EX0=1;
}
void inPass()
{
ii i;
write(0,8);
for (i=1;i<=8;i++)
write(i,i);
}

367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406

cho(1);
}
}
void timer1_init()
{
TMOD &= 0x0f;
TMOD |= 0x10;
TH1 = 0;
TL1 = 0;
TR1 = 1;
}
void wait() interrupt NGAT1
//cho 65535 us
{
nwait++;
if (nwait>200)
xong=1;
}
main()
{
//NHAP MAT KHAU BAN DAU VAO BO
NHO
//inPass();
//confirm();
while(1)
{
xong=0;
buoc=0;
nwait=0;
TR1=0;
EA=EX0=ET1=0;
P0=P1=P2=P3=0xff;
nhac1=nhac2=nhac3=0;
nhanchuong();
taigia=0;
EA=EX0=ET1=1;
timer1_init();
startPass();
while (!xong) P2=nwait;
}}

void confirm()
{
ii i;
for (i=0;i<9;i++)
{
P2=read(i);

31

You might also like