Professional Documents
Culture Documents
Baocaottcn05dt3 Nhom3
Baocaottcn05dt3 Nhom3
Phn 1
+ 128 byte RAM + 4 port I/0 8 bit + Hai b nh thi 16 bits + Giao tip ni tip + 64KB khng gian b nh chng trnh ngoi + 64 KB khng gian b nh d liu ngoi a. Port0: l port c 2 chc nng, trn chn t 32 n 39 ca MC 8951. Trong cc thit k c nh khng dng b nh ngoi, P0 c s dng nh l nhng cng I/O. Cn trong cc thit k ln c yu cu mt s lng ng k b nh ngoi th P0 tr thnh cc ng truyn d liu v 8 bit thp ca bus a ch. b. Port1: l mt port I/O chuyn dng, trn cc chn 1-8 ca MC8951. Chng c s dng vi mt mc ch duy nht l giao tip vi cc thit b ngoi khi cn thit. c. Port2: l mt cng c cng dng kp trn cc chn 21 28 ca MC 8951. Ngoi chc nng I/O, cc chn ny dng lm 8 bit cao ca bus a ch cho nhng m hnh thit k c b nh chng trnh ROM ngoi hoc b nh d liu RAM c dung lng ln hn 256 byte. d. Port3: l mt cng c cng dng kp trn cc chn 10 17 ca MC 8951. Ngoi chc nng l cng I/O, nhng chn ny kim lun nhiu chc nng khc na lin quan n nhiu tnh nng c bit ca MC 8951, c m t trong bng sau:
Tn RxD TxD
INT0 INT1
Chc nng chuyn i Ng vo d liu ni tip. Ng xut d liu ni tip. Ngt ngoi 0. Ngt ngoi 1. Ng vo TIMER 0. Ng vo ca TIMER 1. iu khin ghi d liu ln b nh ngoi. iu khin c b nh d liu ngoi.
T0 T1
WR
RD
Nhm 3 Lp 05DT3
Page 2
e. PSEN (Program Store Enable): 8951 c 4 tn hiu iu khin, PSEN l tn hiu ra trn chn 29. N l tn hiu iu khin cho php truy xut b nh chng trnh m rng v thng c ni n chn OE (Output Enable) ca mt EPROM cho php c cc byte m lnh ca chng trnh. Tn hiu PSEN mc thp trong sut phm vi qu trnh ca mt lnh. Cc m nh phn ca chng trnh c c t EPROM qua bus v c cht vo thanh ghi lnh ca 8951 gii m lnh. Khi thi hnh chng trnh trong ROM ni PSEN s mc cao. f. ALE (Address Latch Enable ): Tn hiu ra ALE trn chn 30 tng hp vi cc thit b lm vic vi cc x l 8585, 8088. 8951 dng ALE gii a hp bus a ch v d liu, khi port 0 c dng lm bus a ch/d liu a hp: va l bus d liu va l byte thp ca a ch 16 bit . ALE l tn hiu cht a ch vo mt thanh ghi bn ngoi trong na u ca chu k b nh. Sau , cc ng Port 0 dng xut hoc nhp d liu trong na sau chu k ca chu k b nh. Cc xung tn hiu ALE c tc bng 1/6 ln tn s dao ng trn chip v c th c dng l ngun xung nhp cho cc h thng. Nu xung trn 8951 l 12MHz th ALE c tn s 2MHz. Chn ny cng c lm ng vo cho xung lp trnh cho EPROM trong 8951. g. EA (External Access): Tn hiu vo EA trn chn 31 thng c ni ln mc cao (+5V) hoc mc thp (GND). Nu mc cao, 8951 thi hnh chng trnh t ROM ni trong khong a ch thp (4K). Nu mc thp, chng trnh ch c thi hnh t b nh m rng. Ngi ta cn dng chn EA lm chn cp in p 21V khi lp trnh cho EPROM trong 8951. h. RST (Reset): Ng vo RST trn chn 9 l ng reset ca 8951. Khi tn hiu ny c a ln mc cao (trong t nht 2 chu k my), cc thanh ghi trong 8951 c a vo nhng gi tr thch hp khi ng h thng. i. OSC: 8951 c mt b dao ng trn chip, n thng c ni vi thch anh gia hai chn 18 v 19. Tn s thch anh thng thng l 12MHz. j. POWER: 8951 vn hnh vi ngun n +5V. Vcc c ni vo chn 40 v Vss (GND) c ni vo chn 20.
1.2 Gii thiu v cc ng dng iu khin 1.2.1 iu khin Bn phm - Ma trn phm
Nhm 3 Lp 05DT3 Page 3
J1 1
C0
C1
C2
C3 H0
P P P P P P P P
1 .0 1 .1 1 .2 1 .3 1 .4 1 .5 1 .6 1 .7
1 2 3 4 5 6 7 8 CON8
3 H1
3 H2
3 H3
thc hin ma trn bn phm ta dng phng php qut phm. Qut ct v c d liu ti hng hoc ngc li. Theo hnh v th cc ct cch nhau 1 n v, cc hng cch nhau 4 n vi. Vy gi tr ca bn phm c tnh theo cng thc sau Bp= C+h.4 Trong : Bp: Gi tr ca phm c nhn. C: Ct c qut. H: Hng c phm nhn. V d: Khi ta qut ct C0 m phm 4 c nhn th H1 nhn c tn hiu. Vy gi tr nhn c ca bn phm l Bp = 0 + 1.4 = 4. Khi mch cn nhiu phm th ta mi t chc ma trn phm gim s lng cng s dng cho bn phm. Khi mch khng cn nhiu phm th ta c th dng phm nh sau:
V cc R 1 R 1 4
Nhm 3 Lp 05DT3
Page 4
p 1 .0
1.2.2 Hin th ra LED 7 on * Khi giao tip vi LED 7 on ta c nhiu cch giao tip khc nhau. Xut d liu trc tip ra cng: ch s dng khi c t led hin th. Khi c nhiu LED hin th th ta dng phng php qut c s mch c bn nh sau:
5V U 2 7 1 2 6 R 17 J3 1 2 3 4 5 6 7 8 C ON8 1 2 3 6 4 5 3 5 D D D D 0 1 2 3 J2 A B C D E F G B I/R B O 13 12 11 10 9 15 14 4 a b c d e f g 1 2 3 4 5 6 7 8 D A T A LE D 7D 7447 Q2 8 R4 R 5 V C C _ C IR C L E U 1 A B C G1 G 2A G 2B GND Q3 16 R6 Y Y Y Y Y Y Y Y 0 1 2 3 4 5 6 7 15 14 13 12 11 10 9 7 R 7 Q4 R8 R 9 Q5 R 10 le d 1 le d 2 le d 3 le d 4 le d 5 le d 6 le d 7 le d 8 1 2 3 4 5 6 7 8 D IE U K H IE N L E D J1 V C C _ C IR C L E R 1 Q1 R2 R3
LT R B I GND
R 18
74LS 138
VCC
VCC
16
R 11 Q6 R 12 R 13 Q7 R 14 R 15 Q8 R 16
Nhm lnh s hc Nhm lnh logic Nhm lnh dch chuyn d liu Nhm lnh x l bit Nhm lnh r nhnh
Ghi ch: Rn Direct @Ri Sourse Dest #data #data16 Bit Rel Addr11 Addr16 nh a ch thanh ghi s dng R0-R7 a ch 8 bit trong RAM ni (00-FFh) nh a ch gin tip s dng thanh ghi R0 v R1 ton hng ngun, c th la Rn hoc @Ri ton hng ch, c th la Rn or Direct hoc @Ri hng s 8 bit cha trong lnh hng s 16 bit a ch trc tip ( 8 bit) ca 1 bit offset 8 bit c du a ch 11 bit trong trang hin hnh a ch 16 bit
1.3.1 Nhm lnh s hc ADD A,source ADD A,#data ADDC A,source ADDC A,#data SUBB A,source SUBB A,#data
Nhm 3 Lp 05DT3
Cng ton hng ngun vi A Cng #data vo thanh ghi A Cng ton hng ngun vi A v c nh (A)(A)+(C)+#data Tr bt A bi ton hng ngun v s mn ( c nh) (A)(A)-(C)-#data
Page 6
INC A INC source DEC A DEC source INC DPTR MUL AB DIV AB DA A
Tng A ln 1 n v
Gim A i 1 n v
Tng DPTR ln 1 n v Nhn A vi B Chia A bi B Hiu chnh thp phn thanh ghi A
ANL A,source ANL A,#data ANL direct,A ANL direct,#data ORL A,source ORL A,#data ORL direct,A ORL direct,#data XRL A,source XRL A,#data XRL direct,A XRL direct,#data CLR A CPL A RL A RLC A
Nhm 3 Lp 05DT3
(A)(A) AND (source) (A)(A) AND (#data) (direct)(direct) AND (A) (direct)(direct) AND (#data) (A)(A) OR(source) (A)(A) OR(#data) (direct)(direct) OR (A) (direct)(direct) OR (#data) (A)(A) XOR (source) (A)(A) XOR (#data) (direct)(direct) XOR (A) (direct)(direct) XOR (#data) Xa A Ly b A Quay tri A Quay vng thanh ghi A qua tri 1 bit c thanh ghi c
Page 7
RR A RRC A SWAP A
Quay phi thanh ghi A Quay vng thanh ghi A qua phi 1 bit c thanh ghi c i ch 4 bit thp v 4 bit cao ca thanh ghi A cho nhau
MOV A,source MOV A,#data MOV dest,A MOV dest, source MOV dest,#data MOV DPTR,#data16 MOVC A,@A + DPTR MOVC A,@A + PC MOVX A,@Ri MOVX A,@DPTR MOVX @Ri,A MOVX @DPTR,A PUSH direct POP direct XCH A,source XCHD A,@Ri
Asource A#data destA destsource dest#data DPTR#data16bit A@A+DPTR A@A+PC A@Ri A@DPTR @RiA @DPTRA Ct A vo stack (SP)(SP)+1 Ly A ra stack Trao i cc byte i ch 4 bit thp ca A vi @Ri
Xa c carry xung 0, c nh hng n c carry Xa bit xung 0 , khng nh hng n c carry Set c carry ln 1, c nh hng n c carry Set bit ln 1, khng nh hng n c carry
Page 8
CPL C CPL bit ANL C,bit ANL C,/bit ORL C,bit ORL C,/bit MOV C,bit MOV bit,C JC rel JNC rel JB bit,rel JNB bit,rel JBC bit,rel
o bit c carry, c nh hng n c carry o bit, khng nh hng n c carry (C)(C) AND (bit) , c nh hng n c carry (C)(C) AND NOT (bit) , khng nh hng n c carry (C) (C) OR (bit) , tc ng n c carry (C) (C) OR NOT (bit) , tc ng n c carry (C) (bit) c carry b tc ng (bit) (C) , khng nh hng n c carry Nhy nu C bng 1 Nhy nu C bng 0 Nhy nu bit bng 1 Nhy nu bit bng 0 Nhy nu bit bng 1 ri xa bit i
ACALL addr11 LCALL addr16 RET RETI AJMP addr11 LJMP addr16 SJMP rel
Lnh gi chng trnh con tuyt i trong 2k Lnh gi chng trnh con tuyt i trong 64k Kt thc chng trnh con tr v chng trnh chnh Kt thc th tc phc v ngt quay v chng trnh chnh Nhy tuyt i khng iu kin trong 2k Nhy tuyt i khng iu kin trong 64k Nhy ngn khng iu kin trong (-128-127)byte (PC)(PC)+2 (PC)(PC)+byte 2
JMP @A + DPTR
Nhm 3 Lp 05DT3
(PC)(A)+DPTR JZ rel JNZ rel CJNE A,direct,rel CJNE A,#data,rel CJNE Rn,#data,rel CJNE @Ri,#data,rel DJNZ Rn,rel DJNZ direct,rel NOP Nhy nu A bng 0 Nhy nu A khc 0 So snh v nhy nu A khc direct So snh v nhy nu A khc #data So snh v nhy nu Rn khc #data So snh v nhy nu @Ri khc #data Gim v nhy nu Rn khc 0 Gim v nhy nu direct khc 0 Khng lm g
1.4 Giao tip cng ni tip 1.4.1 Gii thiu Port ni tip hot ng song cng(full duplex), ngha l c kh nng thu v pht ng thi. S dng 2 thanh ghi chc nng c bit SBUF (a ch byte l 99H) & SCON (a ch byte l 98H) truy xut port ni tip. Vic ghi ln SBUF s np d liu pht, v vic c SBUF s truy xut d liu nhn c, thc ra c 2 SBUF ring r. SCON cha cc bit trng thi v iu khin, thanh ny c nh a ch bit. Tn s hot ng ca port ni tip hay cn gi l tc baud (baud rate) c th c nh hoc thay i.
Nhm 3 Lp 05DT3
Page 10
SM1, SM0: chn ch ca port ni tip SM2: cho php truyn thng a x l REN: cho php thu, phi c set nhn cc k t TB8: bit th 9 c pht ch 2 & 3 RB8: bit th 9 nhn c TI: c ngt pht, c set ngay sau khi kt thc vic pht 1 k t; c xa bi phn mm RI: c ngt thu, c set ngay sau khi kt thc vic thu 1 k t; c xa bi phn mm 1.4.3 Cc ch hot ng
Nhm 3 Lp 05DT3
Page 11
Khi pht v thu d liu 8-bit, bit LSB c pht hoc thu trc tin Tc baud c nh = fOSC/12 Chn RxD dng cho c vic thu pht d liu trong khi TxD dng lm chn xut clock dch bit
Pht: Ghi vo SBUF D liu c dch ra ngoi trn chn RxD (P3.0) Xung clock dch bit c gi ra trn chn TxD (P3.1) Mi bit hp l truyn i trn RxD trong 1 chu k my Thu:
Ch c khi ng khi REN = 1 & RI = 0, ngha l phi set REN = 1 thi im bt u chng trnh & xa RI bt u cng vic thu d liu. D liu c dch vo chn RxD bi xung clock dch bit (tc ng sn ln).
UART l b thu pht d liu ni tipvi mi k t d liu c ng trc bi 1 bit start v ng sau bi 1 bit stop. Thnh thong 1 bit parity c chn vo. Hot ng ch yuca UART l bin d liu pht t // thnh nt v bin d liu thu t nt thnh //
Page 12
Nhm 3 Lp 05DT3
C ngt pht TI c set bng 1 ngay khi bit stop xut hin trn TxD
Vic nhn c khi ng bi 1 chuyn trng thi t 1 xung 0 trn ng RxD (bit start) Bit start sau c b qua & 8 bit d liu sau c nhn tun t vo thanh ghi dch bit ca port ni tip. Khi c 8 bit c nhn, ta c: * Bit th 9 (bit stop) RB8 ca SCON * 8 bit d liu c np vo SBUF * C ngt thu RI c set
Nhm 3 Lp 05DT3
Page 13
Phn 2
S khi
BN PHM
KHI X L TRUNG TM
BN 1
BN 2
BN 3
LED HIN TH
LED HIN TH
LED HIN TH
Nhm 3 Lp 05DT3
Page 14
Phn 3
2.1 S nguyn l
KHOI MACH XU LY TRUNG TAM AT89S52
P O R JT 20 P O R JT 11 V C C P O R J 3T 2 P O R JT 43
C 1 1 0 4 40 U 1 P P P P P P P P P P P P P P P P 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 3 3 3 3 3 3 3 3 1 2 3 4 5 6 7 8 1 1 9 8 7 6 5 4 3 2 2 2 0. 0 /2 A 2 1. 1 /2 A .2 2 / A 2 .3 3 / A 2 .4 4 / A 2 .5 5 / A 2 .6 6 / A 2 .7 7 / A
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
R 4
1 . 7 K
VC C
2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9
P P P P P P P P P P P P P P P P
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
. . . . . . . . . . . . . . . .
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
/ / / / / / / /
A P A P AP AP AP AP AP AP
D D D2 D2 D2 D2 D2 D2
1 2 8 3 9 41 0 51 1 61 2 71 3 81 4 1 5
P P P P P P P P R X _ M C U P T X _ M C UP P P P P P P
2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3
. . . . . . . . . . . . . . . .
8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
9 8 7 6 5 4 3 2 9 8 7 6 5 4 3 2
R 1 4
3 . 7 K V C C
C R 4
1 2 . 7 K
1 0 P 3 . 0 / R 1 1X D P 3 . 1 / T1 X2 D P 3 . 2 / I 1N 3 T 0 P 3 . 3 / I 1N 4 T 1 P 3 . 4 /1 T 5 0 P 3 . 5 /1 T 6 1 P 3 . 6 / W 7 R 1 P 3 . 7 / R D 3 0 L A1 L E / P R 9O 2 L 2 P S E N G N D P P G
R 4 4 . 7 1
K V C C
3 C
3 2
P 1 P R 1 0
1 1 . 0 5 9 C C C 5 1 0 u 2 R 6 1 0 K M
9 8 X T A X T A 9 1 E R
V C C H z
A / V S T
5 0
20
T 8 9
5 2
4 S S W W
C R 9 2 7 0
R 7 1 2 0 J R 1 0 2 7 0 R X 1 R X 2 T X 1 T X 2 4 3 2 1 7
VC C
T 1 O
1 TT 1 I N C C C C 1 1 2 2 1 + 3 4 + 5 -
C H 1 1 E A D E R 4
u F
2 IN 2 IN 2O U T 2O U T
F 15 8 10 7 9
R 8 1 2 0
R T T R
Nhm 3 Lp 05DT3
Page 15
R S 4 8 5
M C U
R X _ M C U T X _ M C U
C H E A D E R 4 R R 1 7
2 U 7 D D R M A I E E R X 4 8 5 A B O 6 7 1
T X _ M
C 4 U 3 2
R 1 4 1 2 0
R R
K H O I
J 5
N G U O N
V U 2L M G N D V I N V 7 8 O 0 5 U 2 T / T O R 1 0 C L E 0 C D
1 2
C 4 3 3 u F
D 1 L E D G N D
Nhm 3 Lp 05DT3
Page 16
6 2
0 9 / S
K H O I
H I E N
T H I
L E D
V C
T R E N
C
C A C
B A N
V J 1 2 C C 2 7 0 9
1 2
16
U 7 1 2 6 R J 1 1 8 7 6 5 4 3 2 1 C O N 8 2 2 2 2 1 1 P P P P P P P P 2 2 2 2 2 2 2 2 . . . . . . . . 0 1 2 3 4 5 6 7 U 3 2 A 1 B 0 C D 8 9 G G 1 2 1 9 3 5 D D D D
0 1 2 3
L T R B
I G N D B
A B C D E F G I / R
1 1 1 1 9 1 1 4 B
3 2 1 0 5 4 O
a b c d e f g
1 2 3 4 5 6 7 8 C O N 8
A 1 0 k 2 7 0
1 1
a b c d e f g
1 2 3 4 5 6 7 8
a b c d e f g p L E 4 D 7
a b c d e f g
1 2 3 4 5 6 7 8
a b c d e f g p L E 5 D 7
a b c d e f g
1 2 3 4 5 6 7 8
9 a b c d e f g p L 6 E D 7 a b c d e f g D 8 7 1 2 3 4 5 6 7 8 s a b c d e f g p L 9 E D 7 E 9 a b c d e f g D 7 1 2 3 4 5 6 7 8 s 9 a b c d e f g p L E D 7 E
VC C
A 1 0 k 2 7 0
1 2
7 V 1 7
4 4 C
7 A 1 0 k 2 7 0 1 3 a b c d e f g 1 2 3 4 5 6 7 8 a b c d e f g p L E 7 D 7 0 1 5 9 9 a b c d e f g 1 2 3 4 5 6 7 8 s a b c d e f g p L s s 9
24
Y Y Y Y Y Y
Y Y Y Y Y Y Y Y Y Y
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 1 1 01 11 21 31 41 5
VC C
A 1 0 k 2 7 0
1 4
G N D
0 1 3 4 5 6 7
7 V C C
4 1
12
R R R R R R R R R R R
3 3 4 4 4 4 4
8 9 0 1 2 3 4
A X D X D X D T I A A A E O O O N N N N 1 2 3 S H H H A 1 2 3 N H 1 0 k 2 7 0 1 0 k 2 7 0
1 5
1 6
5 a b c d e f g 1 2 3 4 5 6 7 8 a b c d e f g p
A 1 0 k 2 7 0
1 7
a b c d e f g D 7
1 2 3 4 5 6 7 8
a b c d e f g p L
L A D 2 L E D D 3 L E D D 4 L E D D 5 L E D D 6 L E D D 7 L E D D 8 L E D 1 0 k 2 7 0 1 8 0 1 5
XAN H 2
XAN H 3
XAN H 1
A 1 0 k
1 9
Nhm 3 Lp 05DT3
Page 17
D O 1
D O 2
D O 3
T IE N S A N H
16
L T R B GND
a b c d e f g
1 2 3 4 5 6 7 8
a b c d e f g p B A 4 N 1 _
a b c d e f g 1
1 2 3 4 5 6 7 8
a b c d e f g p B
7 V 1
C 7
VCC
1 2
a b c d e f g p B 7 A
a b c d e f g p B
VC C
24
Y Y Y Y Y Y
1 1 1 1 1 1 4
GND
0 1 3 4 5 6 7
12
R R V J 1 4 J 1 2 C 1 D E R 2 1 1 5 1 2 R 1 R R H E A D E R 2 1 R R 0 2 0 C C 1 R 2 0 2
1 2 0 k 2 2 2 k 2 2
9 7
0 A Q 1
1 7
a b c d e f g p M A
a b c d e f g p M
Nhm 3 Lp 05DT3
Page 18
2.2 S mch in
Nhm 3 Lp 05DT3
Page 19
Nhm 3 Lp 05DT3
Page 20
Nhm 3 Lp 05DT3
Page 21
Nhm 3 Lp 05DT3
Page 22
2.3 Mch chnh dng 89C51 Tnh ton thit k : Phn mch main dng 89SC51 :
Hai chn 18&19 c ni vi t thch anh tn s 12 MHz to dao ng trn chip. Tnh ton in tr ko ln cc port0, port1, port2: + VOL=0.45(V), IOL=1.6(mA), IIL=0.05 mA RPmin=
5 0.45 = 2.87(K ) 1.6 0.05
Vy iu kin chn in tr ko ln: 2.87(K) RP 17.3(K) Chn in tr ko ln: RP=4.7(K) Tnh in tr mch reset h thng: Ng vo reset (RST) mc cao trn chn ny trong hai chu k my trong khi b dao ng ang hot ng s reset AT89C51: VIHmin= 0.7VCC=0.7*5=3.5(V) VIHmax=VCC+0.5=5+0.5=5.5(V), ITL=0.65(mA) RRST=
5.5 = 8.46(K ) 0.65
in tr RE: R E=
in tr RB:
Page 23
Nhm 3 Lp 05DT3
IB=
RB =
Chn RB=10(K )
Nhm 3 Lp 05DT3
Page 24
Phn 4
Chng trnh chnh:
Lu thut ton
Begin Ci t mc nh
C yu cu ly STT khng ? S
Nhm 3 Lp 05DT3
Page 25
Yu cu nhp m Bn 1 ?
Yu cu nhp m Bn 2 ?
Yu cu nhp m Bn 2 ?
Yu cu m ca ?
CT Con MOCUA
Nhm 3 Lp 05DT3
Page 26
Begin
PHIM = 0F H
S PHIM = 0C H Bn 1 ang ch nhp m S Chuyn sang trng thi yu cu nhp m vo bn 1 Chuyn sang trng thi yu cu mi ngi tip theo vo bn 1 S
PHIM = 0D H
PHIM = 0EH S
Bn 3 ang ch nhp m
Chuyn sang trng thi yu cu nhp m vo bn 3 Chuyn sang trng thi yu cu mi ngi tip theo vo bn 3
RET
Begin
To m
Lu m vo nh tip theo
RET
Begin
C ngi ch khng ?
RET
Begin
CT con nhap ma
CT con so sanh ma
Nhp m ng ?
Nhp sai 3 ln ?
CT con m ca
RET
Gi 1 byte
Ly d liu STT bn 1
Gi 1 byte
Ly d liu STT bn 2
Gi 1 byte
Ly d liu STT bn 3
Gi 1 byte
Gi 1 byte
Gi 1 byte
Gi 1 byte
Gi 1 byte
Kt thc
Gi d liu vo SBUF
S Kim tra TI = 1 ? Xa TI
Kt thc
Xa RI
Xa RI
RETI
Nhm 3 Lp 05DT3
Page 32
Begin
PHIM = 0Bh S
CT con nhp s t bn phm Lu s va nhp vo TONGSO
Lu s va nhp vo PASS
RET
Nhm 3 Lp 05DT3
Page 33
Begin
RET
PHIM = 0AH
(phm kt thc nhp)
Nhm 3 Lp 05DT3
Page 34
Begin
Ging nhau ?
RET
Nhm 3 Lp 05DT3
Page 35
Begin
CT con nhap ma
CT con so sanh ma
Nhp m ng ? S S Nhp sai 3 ln ? Chuyn qua trng thi yu cu mi ngi tip theo vo ti bn .
CT con m ca
RET
Begin
Xut phm ra nh nh sn
RET
Begin
Chia s d cho 10
Rnh
Bn
Led sng
RET
Gim R5
Gim R5 S
R5 = 0 ? Xa bit DANGMO
Nhm 3 Lp 05DT3
Page 39
Phn 5
LED1 EQU 3EH LED2 EQU 3FH LED3 EQU 40H CUAMO1 BIT 08H CUAMO2 BIT 09H CUAMO3 BIT 0AH SONGUOI EQU 41H PHIM EQU 31H STT EQU 32H TONGSO EQU 33H
STT_MOI EQU 34H ; LA STT DUOC MOI` TIEP THEO VAO` STT_TG EQU 35H ; LA O NHO TRUNG GIAN DE LUU TRUNG GIAN STT STT1 EQU 36H STT2 EQU 37H STT3 EQU 38H MA EQU 39H MA1 EQU 3AH MA2 EQU 3BH MA3 EQU 45H LUU EQU 3CH MA_KT EQU 3DH MA_KH EQU 46H SN1 EQU 42H SN2 EQU 43H SN3 EQU 44H PASS EQU 45H
Nhm 3 Lp 05DT3 Page 40
; ; ;
TT_BAN1 BIT 01H ; DE BAO' TRANG THAI' LA DANG BUSY HAY FREE TT_BAN2 BIT 02H ; NEU = 1 THI` FREE, = 0 THI` BUSY TT_BAN3 BIT 03H ; TT_BAN BIT 20H KT_LAYSTT BIT 08H ; NHAP_MA1 BIT 04H ; DE BAT TRANG THAI CAC BAN` DA GOI STT VAO` VA` CHO NHAP MA NHAP_MA2 BIT 05H ; NEU = 0 THI` KO CAN NHAP MA, NEU = 1 THI CHO` DE NHAP MA NHAP_MA3 BIT 06H ; NHAP_MA BIT 18H DUNG_SAI BIT 07H ; YC_NHAPMA1 BIT 19H YC_NHAPMA2 BIT 0FH YC_NHAPMA3 BIT 1AH MOCUA BIT 1BH DONGCUA BIT 1CH DANGMO BIT 1DH DUNGCUA BIT 1EH ;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0000H LJMP MAIN_CHINH ORG 000BH LJMP T0ISR ORG 0023H LJMP SPISR ORG 0030H MAIN_CHINH:
Nhm 3 Lp 05DT3 Page 41
LCALL SETTINGCOM LCALL CAIDAT_MACDINH LCALL CAI_DAT_BAN_PHIM SETB EA LCALL SEND LCALL HT_LED MAIN_PHU: LCALL QUETPHIM_KT JNB KT_LAYSTT,EXIT_LAYSTT LCALL LAY_STT LCALL HT_LED LCALL SEND EXIT_LAYSTT: JNB TT_BAN1,EXIT_MOI1 LCALL MOI1 LCALL HT_LED LCALL SEND EXIT_MOI1: JNB TT_BAN2,EXIT_MOI2 LCALL MOI2 LCALL HT_LED LCALL SEND EXIT_MOI2: JNB TT_BAN3,EXIT_MOI3 LCALL MOI3 LCALL HT_LED LCALL SEND
Nhm 3 Lp 05DT3 Page 42
EXIT_MOI3: JNB YC_NHAPMA1,EXIT_YC_NHAPMA1 LCALL NHAP_BAN1 LCALL HT_LED LCALL SEND EXIT_YC_NHAPMA1: JNB YC_NHAPMA2,EXIT_YC_NHAPMA2 LCALL NHAP_BAN2 LCALL HT_LED LCALL SEND EXIT_YC_NHAPMA2: JNB YC_NHAPMA3,EXIT_YC_NHAPMA3 LCALL NHAP_BAN3 LCALL HT_LED LCALL SEND EXIT_YC_NHAPMA3: JNB MOCUA,EXIT_MOCUA LCALL MO_CUA LCALL HT_LED EXIT_MOCUA: LCALL HT_LED LJMP MAIN_PHU
T0ISR: JNB DANGMO,DUNG_CUA DEC R5 CJNE R5,#00H,EXIT_NGAT SETB DUNGCUA CLR DANGMO MOV R5,#20H SETB P3.6 SETB P3.7 LJMP EXIT_NGAT DUNG_CUA: JNB DUNGCUA,DONG_CUA DEC R5 CJNE R5,#00H,EXIT_NGAT CLR DUNGCUA MOV R5,#50H CLR P3.6 SETB P3.7 LJMP EXIT_NGAT DONG_CUA: DEC R5 CJNE R5,#00H,EXIT_NGAT
Nhm 3 Lp 05DT3 Page 44
SETB P3.6 SETB P3.7 CLR ET0 EXIT_NGAT: MOV TH0,#22H MOV TL0,#0B9H RETI
;;;;;;;;;;;;CT CON CAI DAT MAC DINH;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CAIDAT_MACDINH: CLR RI MOV SONGUOI,#100 MOV STT,#00H MOV STT_MOI,#00H MOV TONGSO,#00H MOV STT1,#00H MOV STT2,#00H MOV STT3,#00H MOV LED1,#00H MOV LED2,#00H MOV LED3,#00H MOV MA,#00H MOV MA_KH,#00H CLR TT_BAN1 CLR TT_BAN2 CLR TT_BAN3
Nhm 3 Lp 05DT3 Page 45
clr cuamo1 clr cuamo2 clr cuamo3 MOV SN1,#00H MOV SN2,#00H MOV SN3,#00H MOV PASS,#00H CLR NHAP_MA1 CLR NHAP_MA2 CLR NHAP_MA3 CLR YC_NHAPMA1 CLR YC_NHAPMA2 CLR YC_NHAPMA3 CLR KT_LAYSTT CLR DANGMO CLR MOCUA CLR DONGCUA SETB P3.6 SETB P3.7 RET
;;;;;;;;;;;;;;;;;;CT CON CAI DAT BAN PHIM;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CAI_DAT_BAN_PHIM: LCALL KEY_PAD JNB 11,CAI_DAT_BAN_PHIM MOV A,PHIM
Nhm 3 Lp 05DT3 Page 46
CJNE A,#0BH,EXIT_CDBP CLR 11 LCALL NHAP_MA_1 MOV SONGUOI,MA MOV MA,#00H LCALL HT_LED LCALL NHAP_MA_2 MOV PASS,MA MOV MA,#00H MOV LED1,#00H MOV LED2,#00H LCALL HT_LED EXIT_CDBP: CLR 11 RET ;;;;;;;;;;;;CT CON QUET PHIM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; QUETPHIM_KT: LCALL KEY_PAD MOV A,PHIM CLR 11 CJNE A,#0FH,RB1 SETB KT_LAYSTT MOV PHIM,#0FFH LJMP EXIT_Q2 RB1: CJNE A,#0CH,RB2
Nhm 3 Lp 05DT3 Page 47
RANH_BAN1: JB NHAP_MA1,NM1 SETB TT_BAN1 MOV PHIM,#0FFH LJMP EXIT_Q2 NM1: SETB YC_NHAPMA1 LJMP EXIT_Q2 RB2: CJNE A,#0DH,RB3 RANH_BAN2: JB NHAP_MA2,NM2 MOV PHIM,#00H SETB TT_BAN2 LJMP EXIT_Q2 NM2: SETB YC_NHAPMA2 LJMP EXIT_Q2 RB3: CJNE A,#0EH,EXIT_Q2 RANH_BAN3: JB NHAP_MA3,NM3 MOV PHIM,#00H SETB TT_BAN3 LJMP EXIT_Q2 NM3: SETB YC_NHAPMA3 EXIT_Q2: RET ;;;;;;;;;;;;;;;;;CT CON LAY STT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Nhm 3 Lp 05DT3 Page 48
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LAY_STT: MOV A,STT CJNE A,SONGUOI,LAYSTT CLR KT_LAYSTT LJMP EXIT_LAY_STT LAYSTT: INC STT CLR 11 LCALL TAO_MA CLR KT_LAYSTT EXIT_LAY_STT: RET
;;;;;;;;;;;;;;;CT CON MOI` NGUOI VAO` ;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MOI1: MOV LED1,#00H MOV A,STT_MOI CJNE A,STT,BD_MOI1 MOV STT1,#00H LJMP KT1 BD_MOI1: INC STT_MOI MOV STT1,STT_MOI CLR TT_BAN1 SETB NHAP_MA1
Nhm 3 Lp 05DT3 Page 49
KT1: RET
MOI2: MOV LED2,#00H MOV A,STT_MOI CJNE A,STT,BD_MOI2 MOV STT2,#00H LJMP KT2 BD_MOI2: INC STT_MOI MOV STT2,STT_MOI CLR TT_BAN2 SETB NHAP_MA2 KT2: RET
MOI3: MOV LED3,#00H MOV A,STT_MOI CJNE A,STT,BD_MOI3 MOV STT3,#00H LJMP KT3 BD_MOI3: INC STT_MOI MOV STT3,STT_MOI
Nhm 3 Lp 05DT3 Page 50
;;;;;;;;;;;;;;;;CHUONG TRINH CON NHAP MA VAO BAN PHIM;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NHAP_BAN1: MOV R1,#00 LOOP1: LCALL NHAP_MA_1 INC R1 MOV A,STT1 LCALL SOSANH_MA JB DUNG_SAI,MO_CUA_BAN1 MOV MA,#00H MOV LED1,#00H LCALL HT_LED CJNE R1,#03,LOOP1 SETB TT_BAN1 CLR NHAP_MA1 CLR YC_NHAPMA1 MOV LED1,#00H LJMP KT_1 MO_CUA_BAN1: INC SN1
Nhm 3 Lp 05DT3 Page 51
MOV LED1,STT1 CLR NHAP_MA1 CLR YC_NHAPMA1 SETB MOCUA KT_1: RET
NHAP_BAN2: MOV R1,#00 LOOP2: LCALL NHAP_MA_2 INC R1 MOV A,STT2 LCALL SOSANH_MA JB DUNG_SAI,MO_CUA_BAN2 MOV MA,#00H MOV LED2,#00H LCALL HT_LED CJNE R1,#04,LOOP2 SETB TT_BAN2 CLR NHAP_MA2 CLR YC_NHAPMA2 MOV LED2,#00H LJMP KT_2 MO_CUA_BAN2: INC SN2 MOV LED2,STT2
Nhm 3 Lp 05DT3 Page 52
NHAP_BAN3: MOV R1,#00 LOOP5: ACALL NHAP_MA_3 INC R1 MOV A,STT3 ACALL SOSANH_MA JB DUNG_SAI,MO_CUA_BAN3 MOV MA,#00H MOV LED3,#00H LCALL HT_LED CJNE R1,#04,LOOP5 SETB TT_BAN3 CLR NHAP_MA3 CLR YC_NHAPMA3 MOV LED3,#00H LJMP KT_3 MO_CUA_BAN3: INC SN3 MOV LED3,STT3 CLR NHAP_MA3
Nhm 3 Lp 05DT3 Page 53
;;;;;;;;;;;CHUONG TRINH CON NHAP PHIM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; NHAP_MA_1: NHAP_M11: LCALL KEY_PAD JB 11,EXIT_M11 LJMP NHAP_M11 EXIT_M11: MOV A,PHIM CJNE A,#0AH,EN_MA11 LJMP EXIT_EN1 EN_MA11: MOV MA,A MOV LED1,MA LCALL HT_LED CLR 11 NHAP_M21: LCALL KEY_PAD JB 11,EXIT_M21 LJMP NHAP_M21
Nhm 3 Lp 05DT3 Page 54
EXIT_M21: MOV A,PHIM CJNE A,#0AH,EN_MA21 LJMP EXIT_EN1 EN_MA21: MOV MA2,PHIM MOV A,MA MOV B,#10 MUL AB MOV B,MA2 ADD A,B MOV MA,A MOV LED1,MA LCALL HT_LED CLR 11 NHAP_M31: LCALL KEY_PAD JB 11,EXIT_M31 LJMP NHAP_M31 EXIT_M31: MOV A,PHIM CJNE A,#0AH,EN_MA31 LJMP EXIT_EN1 EN_MA31: MOV MA3,PHIM MOV B,#10 MOV A,MA
Nhm 3 Lp 05DT3 Page 55
MUL AB MOV B,MA3 ADD A,B MOV MA,A MOV LED1,MA LCALL HT_LED CLR 11 ENTER1: CLR 11 LCALL KEY_PAD MOV A,PHIM CJNE A,#0AH,ENTER1 MOV PHIM,#0FFH EXIT_EN1: CLR 11 RET
NHAP_MA_2: NHAP_M12: LCALL KEY_PAD JB 11,EXIT_M12 LJMP NHAP_M12 EXIT_M12: MOV A,PHIM CJNE A,#0AH,EN_MA12 LJMP EXIT_EN2 EN_MA12:
Nhm 3 Lp 05DT3 Page 56
MOV MA,A MOV LED2,MA LCALL HT_LED CLR 11 NHAP_M22: LCALL KEY_PAD JB 11,EXIT_M22 LJMP NHAP_M22 EXIT_M22: MOV A,PHIM CJNE A,#0AH,EN_MA22 LJMP EXIT_EN2 EN_MA22: MOV MA2,PHIM MOV A,MA MOV B,#10 MUL AB MOV B,MA2 ADD A,B MOV MA,A MOV LED2,MA LCALL HT_LED CLR 11 NHAP_M32: LCALL KEY_PAD JB 11,EXIT_M32 LJMP NHAP_M32
Nhm 3 Lp 05DT3 Page 57
EXIT_M32: MOV A,PHIM CJNE A,#0AH,EN_MA32 LJMP EXIT_EN2 EN_MA32: MOV MA3,PHIM MOV B,#10 MOV A,MA MUL AB ADD A,MA3 MOV MA,A MOV LED2,MA LCALL HT_LED CLR 11 ENTER2: CLR 11 LCALL KEY_PAD MOV A,PHIM CJNE A,#0AH,ENTER2 CLR 11 MOV PHIM,#00H EXIT_EN2: CLR 11 RET
NHAP_MA_3: NHAP_M13:
Nhm 3 Lp 05DT3 Page 58
LCALL KEY_PAD JB 11,EXIT_M13 LJMP NHAP_M13 EXIT_M13: MOV A,PHIM CJNE A,#0AH,EN_MA13 LJMP EXIT_EN3 EN_MA13: MOV MA,A MOV LED3,MA LCALL HT_LED CLR 11 NHAP_M23: LCALL KEY_PAD JB 11,EXIT_M23 LJMP NHAP_M23 EXIT_M23: MOV A,PHIM CJNE A,#0AH,EN_MA23 LJMP EXIT_EN3 EN_MA23: MOV MA2,PHIM MOV A,MA MOV B,#10 MUL AB MOV B,MA2 ADD A,B
Nhm 3 Lp 05DT3 Page 59
MOV MA,A MOV LED3,MA LCALL HT_LED CLR 11 NHAP_M33: LCALL KEY_PAD JB 11,EXIT_M33 LJMP NHAP_M33 EXIT_M33: MOV A,PHIM CJNE A,#0AH,EN_MA33 LJMP EXIT_EN3 EN_MA33: MOV MA3,PHIM MOV B,#10 MOV A,MA MUL AB ADD A,MA3 MOV MA,A MOV LED3,MA LCALL HT_LED CLR 11 ENTER3: CLR 11 LCALL KEY_PAD MOV A,PHIM CJNE A,#0AH,ENTER3
Nhm 3 Lp 05DT3 Page 60
;;;;;;;;;;;;;CHUONG TRINH CON TAO MA VA LUU MA;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; TAO_MA: ADD A,PASS MOV B,STT MUL AB MOV B,#12 MUL AB ADD A,STT MOV MA_KH,A LUU_MA: MOV LUU,#7FH MOV A,STT MOV STT_TG,A INCREASE: INC LUU DJNZ STT_TG,INCREASE MOV R0,LUU MOV @R0,MA_KH RET
Nhm 3 Lp 05DT3
Page 61
;;;;;;;;;;;CHUONG TRINH SO SANH MA;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SOSANH_MA: MOV LUU,#7FH MOV STT_TG,A INCREASE1: INC LUU DJNZ STT_TG,INCREASE1 MOV R0,LUU MOV MA_KT,@R0 MOV A,MA CJNE A,MA_KT,NHAP_SAI SETB DUNG_SAI LJMP EXIT_SS NHAP_SAI: CLR DUNG_SAI EXIT_SS: RET
10,EXT1 ;bit bao hieu trong than chuong trinh keypad R3,BACK1
R3,#50
ACALL GET_KEY LCALL HT_LED JB DJNZ SETB MOV EXT1: NOP RET GET_KEY: MOV MOV A,#0FEH R2,#0 10,BACK2 R3,BACK3 11 ;bit bao hieu o chuong trinh ngoai 11
PHIM,R6
Nhm 3 Lp 05DT3
CJNE
R2,#4,SCAN_ROW
SJMP NO_CODE ROW_0: MOV ADD SETB MOV A,R2 A,#0 10 R6,A
SJMP EXIT ROW_1: MOV ADD SETB MOV A,R2 A,#4 10 R6,A
SJMP EXIT ROW_2: MOV ADD SETB MOV A,R2 A,#8 10 R6,A
SJMP EXIT ROW_3: MOV ADD SETB MOV A,R2 A,#12 10 R6,A
10
HIENTHI_TS1: MOV A,STT1 MOV B,#100 DIV AB ADD A,#00H MOV P0,A ACALL DELAYMS MOV A,B MOV B,#10 DIV AB ADD A,#10H MOV P0,A ACALL DELAYMS MOV A,B ADD A,#20H MOV P0,A ACALL DELAYMS
Nhm 3 Lp 05DT3
Page 65
HIENTHI_TS2: MOV A,STT2 MOV B,#100 DIV AB ADD A,#30H MOV P0,A LCALL DELAYMS MOV A,B MOV B,#10 DIV AB ADD A,#40H MOV P0,A LCALL DELAYMS MOV A,B ADD A,#50H MOV P0,A LCALL DELAYMS
HIENTHI_TS3: MOV A,STT3 MOV B,#100 DIV AB ADD A,#60H MOV P0,A ACALL DELAYMS MOV A,B
Nhm 3 Lp 05DT3 Page 66
MOV B,#10 DIV AB ADD A,#70H MOV P0,A ACALL DELAYMS MOV A,B ADD A,#80H MOV P0,A ACALL DELAYMS
HIENTHI_STT: MOV A,STT MOV B,#100 DIV AB ADD A,#90H MOV P0,A ACALL DELAYMS MOV A,B MOV B,#10 DIV AB ADD A,#0A0H MOV P0,A ACALL DELAYMS MOV A,B ADD A,#0B0H MOV P0,A
Nhm 3 Lp 05DT3 Page 67
ACALL DELAYMS
HIENTHI_MA: MOV A,MA_KH MOV B,#100 DIV AB ADD A,#0C0H MOV P0,A ACALL DELAYMS MOV A,B MOV B,#10 DIV AB ADD A,#0D0H MOV P0,A ACALL DELAYMS MOV A,B ADD A,#0E0H MOV P0,A ACALL DELAYMS
HIENTHIB1: MOV A,LED1 MOV B,#100 DIV AB ADD A,#00H MOV P2,A LCALL DELAYMS
Nhm 3 Lp 05DT3 Page 68
MOV A,B MOV B,#10 DIV AB ADD A,#10H MOV P2,A LCALL DELAYMS MOV A,B ADD A,#20H MOV P2,A LCALL DELAYMS JB TT_BAN1,MO1 MOV P2,#0A0H LCALL DELAYMS LJMP HT_2 MO1: MOV P2,#90H LCALL DELAYMS HT_2:
HIENTHIB2: MOV A,LED2 MOV B,#100 DIV AB ADD A,#30H MOV P2,A ACALL DELAYMS
Nhm 3 Lp 05DT3 Page 69
MOV A,B MOV B,#10 DIV AB ADD A,#40H MOV P2,A ACALL DELAYMS MOV A,B ADD A,#50H MOV P2,A ACALL DELAYMS JB TT_BAN2,MO2 MOV P2,#0C0H ACALL DELAYMS LJMP HT_3 MO2: MOV P2,#0B0H ACALL DELAYMS ;MOV STT2,#00H HT_3:
HIENTHIB3: MOV A,LED3 MOV B,#100 DIV AB ADD A,#60H MOV P2,A ACALL DELAYMS
Nhm 3 Lp 05DT3 Page 70
MOV A,B MOV B,#10 DIV AB ADD A,#70H MOV P2,A ACALL DELAYMS MOV A,B ADD A,#80H MOV P2,A ACALL DELAYMS JB TT_BAN3,MO3 MOV P2,#0E0H ACALL DELAYMS LJMP HT_4 MO3: MOV P2,#0D0H ACALL DELAYMS ;MOV STT3,#00H HT_4:
RET
;;;;;;;;Chuong trinh con Mo cua;;;;;;;;;;;;;;;;; MO_CUA: SETB P3.6 CLR P3.7 CLR MOCUA
Nhm 3 Lp 05DT3 Page 71
MOV TH0,#22H MOV TL0,#0B9H SETB TR0 SETB ET0 SETB DANGMO MOV R5,#50 RET
;;;;;;;;SETTINGCOM;;;;;;; SETTINGCOM: MOV MOV MOV SETB RET ;;;;;;;;;;;;; CT SEND_CHAR ;;;;;;;;;; SEND_CHAR: MOV SBUF,A SCON,#52H TMOD,#21H TH1,#-3 TR1
Nhm 3 Lp 05DT3
;;;; NHAP DU LIEU TU MT ;;; DELAYMS: MOV R7,08H LOOP_DELAY: DEC R7 CJNE R7,#00H,LOOP_DELAY RET END
Nhm 3 Lp 05DT3 Page 73
Nhm 3 Lp 05DT3
Page 74
Phn 6
Nhm 3 Lp 05DT3
Page 75
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CPort, ExtCtrls, Menus;
type TForm1 = class(TForm) ComPort1: TComPort; Memo1: TMemo; Timer1: TTimer; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Edit2: TEdit; Edit3: TEdit; GroupBox2: TGroupBox; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; Label3: TLabel; GroupBox4: TGroupBox; Label4: TLabel; MainMenu1: TMainMenu; hietlap1: TMenuItem; Cauhinh1: TMenuItem; Exit1: TMenuItem; Nhm 3 Lp 05DT3 Page 76
hongtin1: TMenuItem; Nhom51: TMenuItem; GroupBox3: TGroupBox; Ban1: TEdit; Ban3: TEdit; Ban2: TEdit; Label5: TLabel; Label6: TLabel; Label7: TLabel; GroupBox5: TGroupBox; Label8: TLabel; Label9: TLabel; Label10: TLabel; TSBan1: TEdit; TSBan3: TEdit; TSBan2: TEdit; GroupBox6: TGroupBox; TS: TEdit; Label11: TLabel; Label12: TLabel; Ma: TEdit; GroupBox7: TGroupBox; Button2: TButton; Sn: TEdit; Pass: TEdit; Label13: TLabel; Label14: TLabel; procedure Button6Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); Nhm 3 Lp 05DT3 Page 77
procedure Button10Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Nhom51Click(Sender: TObject); procedure Cauhinh1Click(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure ComPortRxChar(Sender: TObject; Count: Integer); procedure Button2Click(Sender: TObject);
implementation
{$R *.dfm}
procedure TForm1.Button6Click(Sender: TObject); var data: String; begin if ComPort1.Connected then begin data:='d'; ComPort1.WriteStr(data); Memo1.Text:='LED CHAY'; end Nhm 3 Lp 05DT3 Page 78
procedure TForm1.Timer1Timer(Sender: TObject); var ngay: Tdate; begin Edit3.Text:=timetostr(now()); ngay:=now(); Edit2.Text:= datetostr(ngay); end;
procedure TForm1.Button8Click(Sender: TObject); begin ComPort1.ShowSetupDialog; Memo1.Text:='CONG COM DA DUOC THIET LAP'; end;
procedure TForm1.Button9Click(Sender: TObject); begin if ComPort1.Connected then begin ComPort1.Close; Button9.Caption:='MO COM'; Memo1.Text:='CONG COM DA DUOC DONG'; Label4.Caption:='DISCONNECTED'; end else begin Nhm 3 Lp 05DT3 Page 79
ComPort1.Open; Button9.Caption:='DONG COM'; Memo1.Text:='CONG COM DA DUOC MO'; Label4.Caption:='CONNECTED'; end end;
procedure TForm1.Button11Click(Sender: TObject); begin if messagedlg('Ban co muon thoat khong?',mtconfirmation,[mbok,mbcancel],0)=mrok then begin ComPort1.Close; close; end end;
procedure TForm1.FormCreate(Sender: TObject); begin Ban1.Text:='FREE' ; Ban2.Text:='FREE' ; Ban3.Text:='FREE' ; Nhm 3 Lp 05DT3 Page 80
TS.Text:='0' Ma.Text:='0';
if ComPort1.Connected then begin Label4.Caption:='CONNECTED'; Memo1.Text:='CONG COM DANG MO'; end else begin Label4.Caption:='DISCONNECTED'; Memo1.Text:='CONG COM CHUA DUOC MO'; end; end;
procedure TForm1.Nhom51Click(Sender: TObject); begin messagedlg('THI NGHIEM VI DIEU KHIEN'+ chr(13)+ chr(13)+ ' Thuc hien: Nhom 5 Lop 05DT3'+ chr(13)+ ' ' ' ' ' ' Danh sach nhom:'+ chr(13)+''+chr(13)+ 1. Le Phu Hung'+ chr(13)+ 2. Duong Thi Thanh Huyen'+chr(13)+ 3. Ngo Quoc Hung' +chr(13)+ 4. Nguyen Thi Cam Linh' +chr(13)+ 5. Duong Quoc Huy'+chr(13),mtinformation,[mbok],0);
end;
procedure TForm1.Exit1Click(Sender: TObject); begin if messagedlg('Ban co muon thoat khong?',mtconfirmation,[mbok,mbcancel],0)=mrok then begin ComPort1.Close; close; end end;
procedure TForm1.Button2Click(Sender: TObject); var data,data1:integer; begin if (Sn.Text='') or (Pass.Text='') then begin messagedlg('Nhap du lieu can goi vao !',mtwarning,[mbok],0); exit; end else if (strtoint(Sn.Text) < strtoint(TS.Text)) begin messagedlg('Khong duoc nhap nho hon tong so khach hang da dang ki!!',mtinformation, [mbok],0); end else if ComPort1.Connected then begin data:=StrToInt(Sn.Text); data1:=StrToInt(Pass.Text); ComPort1.Write(data,1); ComPort1.Write(data1,1); Memo1.Text:='DU LIEU DA GOI DI'; Nhm 3 Lp 05DT3 Page 82 then
end else begin Memo1.Text:='CONG COM CHUA DUOC MO'; end; end;
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer); var str,ban11,ban22,ban33:string; begin ComPort1.ReadStr(str,count); TS.Text := inttostr(ord(str[1])); ban11 := inttostr(ord(str[2])); ban22 := inttostr(ord(str[3])); ban33 := inttostr(ord(str[4])); Ma.Text := inttostr(ord(str[5]));
//Current2.Text:=inttostr(ord(str[5])); //Current2.Text:=inttostr(ord(str[6]));
begin Ban1.Text :='FREE'; Ban2.Text :='FREE'; Ban3.Text :='FREE'; end else if (ban11='0') and (ban22='0') then begin Ban1.Text:='FREE'; Ban2.Text:='FREE'; Ban3.Text:=ban33; end else if (ban22='0') and (ban33='0') then begin Ban1.Text:=ban11; Ban2.Text:='FREE'; Ban3.Text:='FREE'; end else if (ban11='0') and (ban33='0') then begin Ban1.Text:='FREE'; Ban2.Text:=ban22; Ban3.Text:='FREE'; end else if (ban11='0') begin Ban1.Text:='FREE'; Ban2.Text:=ban22; Ban3.Text:=ban33; end else if (ban22='0') then begin Nhm 3 Lp 05DT3 Page 84 then
Ban1.Text:=ban11; Ban2.Text:='FREE'; Ban3.Text:=ban33; end else if (ban33='0') then begin Ban1.Text:=ban11; Ban2.Text:=ban22; Ban3.Text:='FREE'; end else begin Ban1.Text:=ban11; Ban2.Text:=ban22; Ban3.Text:=ban33; end; end; end.
Nhm 3 Lp 05DT3
Page 85