-
Phn 1: L thuyt thit k I.Gii thiu khi qut v 89C51 1.phn cng: c im
v chc nng hot ng ca cc IC h MSC-51 hn tn tng t nhau, y ta gii thiu
89c51 vi cc c im chnh sau:
- 4KB EPROM ni - 128 byte RAM ni - 4 port xut / nhp (I/O port) 8
bit - 2 b nh thi 16 bit - Giao tip ni tip - 64kb Rom ngi - 64kb Ram
ngi - 210 v tr nh nh v bit, mi v tr mt bit - 4us cho hot ng nhn hoc
chia
1. cu trc bn trong ca IC 89C51.
+ Thnh phn chnh ca vi iu khin 8051 la b x l trung tm hay con gi
l CPU. CPU bao gm:
- Thamh ghi tch lu A
-
- Thanh ghi tch lu B, dng cho php nhn v chia - n v logic hc ALU
- T trng thi chng trnh PSW - 4 bank thanh ghi - Con tr ngn xp - Ngi
ra cn c b nh chng trnh, b gii ma lnh, b iu khin thi
gian v logic + n v x l trung tm nhn trc tip xung t b dao ng +
Chng trnh ang chy c th cho dng li nh mt khi iu khin bn trong. Cc
ngun ngt c th l cc bin c bn ngi, s trn b m nh thi hoc cng c th l
giao din ni tip. + 2 b nh thi 16 bit hot ng nh mt b m. + Cc cng
port 0, port 1, port 2, port 3 c s dng vo mc ch iu khin, cng port 3
c thm cc ng dn iu khin dng trao i vi mt b nh bn ngi, hoc u ni giao
din ni tip cng nh cc ng dn ngt bn ngi. + Giao din ni tip c cha mt b
truyn v mt b nhn khng ng b lm vic c lp vi nhau. Tc truyn qua cng ni
tip c th t trong di rng v c n nh bng mt b nh thi. + Trong vi diu
khin 8051 cn c hai thnh phn quan trng khc l b nh v cc thanh ghi +B
nh cn c Ram v Rom dng lu d liu v m lnh. + Cc thanh ghi s dng lu d
thng tin trong qu trnh x l. Khi CPU lm vic, n lm thay ni dung ca cc
thanh ghi
2. S chn 89c51: - port 0: c hai chc nng t chn 32 n chn 39 trong
cc thit k nh.(khng dng b nh m rng). c hai chc nng nh cc ng I/O. i
vi cc thit k c ln( vi b nh m rng) n c kt hp knh gia cc Bus. - Port
1: l port I/O trn cc chn t chn s 1 n chn
s 8. c th dng cc thit b ngi nu cn. Port 1 khng c chc nng khc v
th chng ta ch c dng trong cc thit b ngi.
- Port 2: l port cng dng kp trn cc chn 21 n 28 c dng nh cc ng
xut nhp hoc byte cao ca bus a ch i vi cc thit k m rng.
- Port 3: l port cng dng kp trn cc chn 10 n chn 17. Cc chn ca
port ny c nhiu chc nng, cc cng dng chuyn i c lin h vi cc c tn c bit
ca 8051/8031 nh bng sau:
U1
AT89C51
9
1819
202930
31
40
12345678
2122232425262728
1011121314151617
3938373635343332
RST
XTAL2XTAL1
GNDPSEN
ALE/PROGEA/VPP
VCC
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INT0P3.3/INT1
P3.4/T0P3.5/T1
P3.6/WRP3.7/RD
P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
-
Bit Tn Chc nng chuyn i P3.0 RXD D liu nhn cho port ni tip P3.1
TXD D liu pht cho port ni tip P3.2 INTO Ngt 0 bn ngi P3.3 INT1 Ngt
1 bn ngi P3.4 T0 Ng vo ca timer/courter 0 P3.5 T1 Ng vo ca
timer/courter 1 P3.6 WR Xung ghi b nh d liu ngi P3.7 RD Xung c b nh
d liu ngi
+ Chn PSEN: l chn 29, c 4 tn hiu iu khin, l tn hiu cho php b nh
chng trnh m rng v thng c ni ln chn OE ca mt Eprom cho php c cc byte
m lnh. PSEN mc thp trong thi gian ly lnh. Cc m nh phn ca chng trnh
c c t Eprom qua bus v c cht vo thanh ghi lnh ca 8051 gii m lnh. Khi
thi hnh chng trnh trong Rom ni PSEN s th ng (mc cao). + Chn ALE:
(cht) Tn hiu ra ALE trn chn 30 tng hp vi cc thit b lm vic vi cc x l
8585,8088,8051 dng ALE mt cch tng t cho lm vic gii cc knh cc Bus a
ch v d liu khi port 0 c dng trong ch chuyn i ca n: va l Bus d liu
va l byte thp ca a ch, ALE l tn hiu cht a ch vo vo mt thanh ghi bn
ngi trong na u ca chu k b nh. Sau cc ng port 0 dng xut hoc nhp d
liu trong na sau ca chu k b nh. Cc xung tn hiu ALE c tc bng 1/6 ln
tn s dao ng trn chp v c th c lm xung nhp cho cc h thng. Nu xung trn
8051 l 12MHZ th ALE c tn s 2MHZ. Ch ngoi tr khi thi hnh lnh Movx,
mt xung ALE b mt. Chn ny cng c lm ng vo cho xung lp trnh cho Eprom
trong 8051. + Chn EA: (truy xut ngi):Tn hiu vo EA trn chn 31 thng c
mc ln mc cao(+5V) hoc mc thp(GND). Nu mc cao, 8051 thi hnh chng
trnh t Rom ni trong khong a ch thp(4K). Nu mc thp chng trnh chi c
thi hnh t b nh m rng. Khi dng 8031, EA lun c ni mc thp v khng c b
nh chng trnh trn chp. Nu EA c ni mc thp b nh bn trong chng trnh
8051 s b cm v thi hnh chng trnh Eprom m rng. Ngi ta cn dng chn EA
lm chn cp in p 21V khi lp trnh cho Eprom trong 8051. + Chn
RST(reset): Khi tn hiu ny c a ln mc cao(t nht phi 2 chu k my), cc
thanh ghi trong 8051 c ti nhng gi tr thch hp khi ng h thng. + Cc ng
vo b dao ng trn chip:
-
Nh thy cc hnh trn,8051 c b dao ng trn chip. N thng c ni vi thch
anh gia hai chn 18 v 19. Cc t gia cng cn thit nh v. Tn s thch anh
thng thng l 12MHZ + Cc chn ngun: 8051 vn hnh vi ngun n +5V(VCC) c
ni vo chn 40 v chn 20 c ni GND
II. Gii thiu v IC thi gian thc DS12C887: 1. S chn ch sau:
AD0-AD7: Bus a hp a ch/d liu. NC: B trng. MOT: La chn loi Bus.
CS: Ng vo la ch RTC AS: cht a ch. R/ W: Ng vo c ghi. DS: Cht d liu.
RESET: Ng vo reset. IRQ: Nh ra yu cu ngt. SQW: Ng ra sng vung. VCC:
Ngun cung cp +5V. GND: Mass
2. Chc nng cc chn: - GND, VCC: ngun cung cp cho thit b nhng chn
trn. Vcc l in p
ng vo +5v. Khi in p 5v c cung cp ng chun, thit b c truy cp y v d
liu c th c v ghi. Khi Vcc thp hn 4.25v, qu trnh c v ghi b cm tuy
nhin chc nng gi thi gian vn c tip tc khng b nh hng bi in p b st gim
bn ngi. Khi Vcc rt xung thp hn 3v, Ram v b nh gi c chuyn sang ngun
nng lng bn trong.
- MOT: l chn c tnh linh hot la chn gia hai loi Bus. Khi c ni ln
Vcc, Bus nh thi Motorola c la chn. Khi c ni xung GND
U1
DS12887
1923
24
12
4567891011
14
17
1
18
15
13
IRQSQW
VCC
GND
AD0AD1AD2AD3AD4AD5AD6AD7
AS
DS
MOT
RST
R/W
CS
-
hoc khng ni, Bus nh thi Intel c la chn. Chn c in tr ko xung bn
trong c gi tr khong 20K.
- SQW: c th xut tn hiu ra t 1 trong 13 loi c cung cp t 15 trng
thi c chia bn trong ca RTC. Tn s ca chn SQW c th thay i bng cch lp
trnh thanh ghi A. Tn hiu SQW c th m hoc tt khi ta s dng bit SQWE
trong thanh ghi B. Tn hiu SQW khng xut hin khi khi Vcc thp hn
4.25v
- AD0-AD7: Bus a hp tit kim chn bi v thng tin a ch v thng tin d
liu c dng chung ng tn hiu. Cng ti nhng chn, a ch c sut trong sut
phn th 1 ca chu k Bus v c dng cho d liu trong phn th 2 ca chu k. a
hp a ch/ d liu khng lm chm thi gian truy cp ca DS12C887 khi bus
chuyn t a ch sang d liu xp ra trong sut thi gian truy cp Ram ni. a
ch phi c gi tr trc khi xut hin sn xung ca AS/ALE ti thi im m
DS12C887 cht a ch t AD0 ti AD7. D liu phi c hin th v gi n nh trong
sut phn sau ca DS hoc xung WR. Trong chu k c ca DS12C887 ng ra 8
bit ca d liu trong sut phn sau ca DS hoc xung RD. Chu k c c thc hin
xong v Bus tr v trng thi tng tr cao cng nh khi DS bt u xung thp
trong trng hp nh thi Motorola hoc khi RD ln cao trong trng hp nh
thi Intel.
- AS: xung dng cung cp xung cht a ch trong vic phc hp Bus. Sn
xung ca AS/ ALE lm cho a ch b cht li bn trong ca DS12C887. Sn ln
tip theo khi xut hin trn Bus AS s b x a ch bt chp chn CS c c chn
hay khng. Lnh truy cp c th gi ti bn c hai cch.
- DS: chn DS/ RD c hai kiu s dng tu thuc vo mc ca chn MOT. Khi
chn MOT c ni ln Vcc, Bus nh thi Motorola c la chn. Trong kiu ny DS
l xung dng trong sut phn sau ca chu k Bus v c gi l Data Strobe.
Trong sut chu k c, DS bo hiu thi gian m DS12C887 oc iu khin bus i.
Trong chu k c, xung qut ca DS l nguyn nhn lm DS12C87 cht d liu c
ghi. Khi chn MOT c ni xung GND, Bus nh thi Intel c la chn. Trong
kiu ny, chn DS c gi l Read(RD) xc nh chu k thi gian khi DS12C887 iu
khin bus c d liu. Tn hiu RD c cng nh ngha vi tn hiu OE trong b nh
ring.
- R/ W: c hai cch hot ng. Khi chn MOT c kt ni ln Vcc cho ch nh
thi Motorola, R/ W ang ch ch ra hoc l chu k hin ti l chu k c hoc
ghi. Chu ky i hi chn R/ W phi mc cao khi chn DS mc cao. Chu k i hi
chn R/W mc thp trong sut qu trnh cht tn hiu ca DS. Khi chn MOT c ni
GND cho ch nh thi Intel,
-
tn hiu R/ W l tn hiu hot ng mc thp c gi l WR. Trong ch ny chn R
/W c nh ngha nh tn hiu Write Enable trong Ram chung.
- CS: tn hiu la chn phi oc xc nh mc thp chu k bus DS12C887 c s
dng. CS phi c gi trong trng thi hot ng rtong sut DS v AS ca ch nh
thi Motorola v trong sut RD v WR ca ch nh thi Intel. Chu k bus khi
chn v tr m khng chn CS s cht a ch nhng s khng c bt k s truy cp no.
Khi Vcc thp hn 4.25Volts, chc nng bn trong ca DS12C887 ngn chn s
truy cp bng cchkhng cho php lla chn nh vo CS. Hnh ng ny nhm bo v c
d liu ca ng h thi gian thc bn trong cung nh d liu Ram trong sut qu
trnh mt ngun.
- IRQ: l ng ra hot ng mc thp, c th s dng ng vo ngt ti b vi x
l.Ng ra IRQ\ mc thp khi bit l nguyn nhn lm ngt v ph hp vi bit cho
php ngt c t(set). x chn IRQ\ chng trnh ca b vi x l thng thng c t
thanh ghi C. Chn Reset cng b x trong lc ngt. Khi khng c trng tgi
ngt no c s dng, trng thi IRQ\ mc tng tr cao. Nhiu thit b ngtc th ni
ti IRQ\ Bus l mt ng ra m v yu cu mt in tr ko ln bn ngi.
- RESET: khng hiu lc i vi lch, ng h hoc Ram. ch cp ngun, chn
reset c th b ko xung trong thi gian cho php n nh ngun cung cp.
3. Cu trc bn trong ca DS12C887.
-
a.s a ch ca Real time clock
S a ch ca DS12C887 c trnh by bao gm 113 byte Ram thng dng, 11
byte Ram m thnh phn bao gm ng h thi gian thc, lch, d liu bo gi v 4
byte c s dung cho vic iu khin v thng bo tnh trng. Tt c 128 byte c
th c ghi hoc c trc tip t nhnh trng hp sau:
- Thanh ghi C v D l hai thanh ghi ch c - Bit th 7 ca thanh ghi A
l bit ch c. - Bit cao ca byte th hai l bit ch c
Thi gian v c bng cch c cc byte b nh hin co. Thi gian, lch v bo
gi c t hoc gn gi tr bng cch ghi gi tr byte Ram thch hp. Ni dung ca
10 byte cha thi gian lch v bo gi u c th hin th hai dng nh phn hoc
BCD. Trc khi ghi ln cc thanh ghi thi gian , lch v bo gi bn trong,
bit SET thanh ghi B phi c t mc 1 ngn nga s cp nht c th xy ra trong
qu trnh ghi . Thm vo na l ghi ln 10 thanh ghi ch thi gian, lch v bo
gi mt nh dng la chn(BCD hay nh phn), bit chn kiu d liu DM ca thanh
ghi B phi c t mc logic thch hp. Tt c 10 byte thi
-
gian lch v bo gi phi s dng cng kiu d liu. Bit c t thanh ghi B nn
c x sau khi bit kiu d liu c ghi cho php ng h thi gian thc cp nht
byte thi gian v lch. Vo lc u ng h thi gian cp nht mt kiu c la chn.
Kiu d liu khng th thay i m khng khi ng li 10 byte d liu. Bng sau
trnh by nh dng nh phn v BCD ca thi gian lch v bo gi. Bit la chn kiu
hin th 24-12 khng th thay i m khng khi ng li thanh ghi gi. Khi nh
dng kiu 12 gi c chn bit cao ca byte gi tng ng vi PM khi n c t mc
logic 1. Byte thi gian lch v byte bo gi lun c truy cp bi v chng c m
gp i, mi giy mt ln 11byte c nng cp v c kim tra tnh trng bo gi. Nu
lnh c d liu thi gian v lch din ra trong qu trnh cp nht, mt vn pht
sinh l c th thi gian gi, pht, giy c th khng chnh xc, xc xut c kkhng
chnh xc d liu thi gian v lch l rt thp. Sau y ta tm hiu cc thanh ghi
iu khin trong DS12C887. - Thanh ghi A: MSB LSB BIT7 BIT6 BIT5 BIT4
BIT3 BIT2 BIT1 BIT0 UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0 + UIP: l bt
trng thi m c th theo di c, khi bit UIP mc 1, qu trnh cp nht s sm xy
ra. Khi bit UIP mc 0, qu trnh cp nht s khng xy ra t nht 244Us. Nhng
thng tin v thi gian lch v bo gi trong Ram c y cho vic truy cp khi
bit UIP mc 0. Bit UIP l bit ch c v khng b nh hng bi chn reset. Khi
ghi bit SET thanh ghi B ln mc 1 ngn chn qu trnh cp nht v x bit trng
thi UIP. + DV2, DV1, DV0: 3bit trn c s dng bt tt b dao ng v ci t li
qu trnh m xung. Khi c t 010 th l s kt hp duy nht bt b dao ng ln v
cho php RTC gi thi gian. Khi c t 11X s cho php b dao ng nhng gi qu
trnh m xung mc reset. Qu trnh cp nht tip theo s sm din ra sau 500ms
sau khi kiu 010 c ghi vo DV1, DV2, DV3. + RS3, RS2, RS1,RS0: 4bit
loi la chn la chn 1 trong 13 loi ca b chia 15 trng thi hoc khng cho
php xut tn hiu chia ra ngi. Loi c la chn c th pht ra sng vung(chn
SQW) hoc ngt theo chu k. Ngi s dng c th s dng mt trong nhng cch
sau:
- Cho php ngt vi bit PIE - Cho php xut ng ra chn SQW vi bit
SQWE. - Cho php c hai hot ng cng mt lc v cng mt loi. - Khng kch hot
c hai.
Bng sau lit k chu k ngt vi tn s sng vung m c th la chn vi bit
RS. C 4 bit c ghi v khng b nh hng bi chn reset.
-
- Thanh ghi B: BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 SET PIE
AIE UIE SQWE DM 24/12 DSE
- SET: Khi bit SET mc 0, thng thng qu trnh cp nht bng cch tng
bin m 1 ln mt giy. Khi bit SET c ln vo mc 1 mi qu trnh cp nht u b
cm, v chng trnh c th bt u khi ng byte thi gian v lch m khng c qu
trnh cp nht no xy ra trong qu trnh khi ng, chu k c c th thc thi cng
mt kiu. SET l bit c ghi v khng chu nh hng bi Reset hoc cc chc nng
bn trong ca DS12C887.
- PIE: Bit cho php ngt theo chu k, l bit c ghi, n cho php bit c
ngt theo chu k trong thanh ghi C iu khin chn IRQ\ xung mc thp tu
thuc vo t l phn b ca RS3 n RS0 thanh ghi A.
- AIE: Bit cho php ngt bo gi, l bit c ghi m khi c t ln 1 n cho
php bit c bo gi(AF) thanh ghi C cho php ngt IRQ\. Tn hiu ngt bo gi
din ra tt c cc giy khi c 3 byte bo gi cha m bo gi c th hin nh phn
nh sau 11XXXXXX. Cc chc nng bn trong ca DS12C887 khng b nh hng bi
chn AIE.
- UIE: Bt cho php kt thc qu trnh ngt cp nht, l bit c ghi m cho
php bit c kt thc qu trnh cp nht thanh ghi C cho php ngt IRQ\. Chn
Reset mc 0 hoc chn SET mc 1 s x bit UIE.
- SQWE: l bit cho php xut sng vung, c t ln mc 1, mt tn hiu sng
vung c tn s c t v tr c la chn ca bit RS3 n RS0 s iu khin sng ra ti
chn SQW. Khi bit SQWE c t mc thp, chn SQW s c gi mc thp. SQWE l bit
c ghi v c x khi Reset. SQWE c t ln 1 khi c cp Vcc.
- DM: Bit kiu d liu qui nh khi no l thng tin lch v thi gian nh
dng nh phn hoc BCD. Bit DM c t bi chng trnh c th nh dng thch hp v c
th c khi c yu cu. Bit ny khng b thay i khi Reset. Mc 1 ca DM s hin
th d liu nh phn, mc 0 hin th d liu BCD.
- 24/ 12: Bit xc nh kiu byte gi. Khi mc 1 n hin th kiu 24 gi,
bit 0 hin th 12 gi. Bit ny khng nh hng bi cc chc nng bn trong hoc
chn reset.
- DSE: Bit cho php nh cng khai. Bit ny cng khng b nh hng bi chc
nng bn trong hoc chn reset.
- Thanh ghi C: MSB LSB BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0
IRQF PF AF UF 0 0 0 0
-
- IRQF: Bit c yu cu ngt c t ln 1 khi nhng iu di y ng:
PF=PIE=1 AF=AIE=1 UF=UIE=1 u c ngha l
IRQF=(PF.PIE)+(AF.AIE)+(UF.UIE). Bt c lc no bit IRQF c t ln 1, chn
IRQ\ c t xung mc thp. Bit c PF,AF v UF c x khi thanh ghi C c chng
trnh c hoc chn reset mc thp.
- Thanh ghi D: BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 VRT 0 0 0
0 0 0 0 VRT: Bit thi gian v Ram hp l, biu th tnh trng ca pin c kt
ni chn VBAT. Bit ny khng phi l bit ghi c v lun c gi tr l 1 khi c,
nu hin th mc 0, ngun nng lng pin bn trong cn v c hai mc d liu thi
gian thc ln d liu Ram u b nghi ng. Bit ny khng b nh hng bi chn
reset. III. IC gi m 74LS247 L loi IC dng gii m s nh phn 4 bit (s
BCD) sang m 7 on. IC gm 16 chn, hot ng vi ngun 5V. A,B,C,D: 4 ng vo
RBI, LT, BI/RBO c ni ln ngun. a,b,cg l chn ra led 7 on.
Led 7on y ta dng loi Ant chung.
-
Phn 2: Thit k v thi cng
I.S nguyn l v s mch in:
-
D3
LED
100
D
LED1
LOA
1K
U2
76421
3
5
910
ABCDE
CA
DP
FG
TANG
E
1K
VCC
C
G
LED2
AD1AD4
A1015
F
BCD1
BCD1
U2
76421
3
5
910
ABCDE
CA
DP
FG
LS1
SPEAKER
8K2
U2
76421
3
5
910
ABCDE
CA
DP
FG
VCC
AD6
150
LOA
1K
AD4
G
WRITE
A
A1015
VCC
B
R2
RESISTOR SIP 9
1 23456789
F
C
TANG
G
READ
AD5
NGAT
150
BA
LED1
1K
D
AD3
VCC
E
VCC
VCC
LED
U2
76421
3
5
910
ABCDE
CA
DP
FG
ALE
A1015 A1015
VCC
D
AD0
AD3
VCC
LED6
AD0
AD0
LED4
10UF
12MVCC
F
AD4
LED5
A
10K
READ
BCD4
F
BCD4
WRITE
C
D
VCC
A
VCC
CB
AD7
LED5
AD7
EF
B
LED4
AD3
A1015
G
AD2
150
VCC
D
LED3
GF
BCD3
CHUYENVCC
E
33P
ALE
VCC
B
AD6
BCD3
VCC 1
3
2OUT
GN
DIN
Q2NPN
1K
VCC
CHUYEN
AD6
B
VCC
AD2
U2
76421
3
5
910
ABCDE
CA
DP
FG
C
G
150
D
A
3.3V
VCC
C
LED
LED2
E
AD1 BCD2
VCC
F
GIAM
U2
76421
3
5
910
ABCDE
CA
DP
FG
U1
DS12887
19
23
2412
4567891011
14
17
1
18
15
13
IRQ
SQW
VC
CG
ND
AD0AD1AD2AD3AD4AD5AD6AD7
AS
DS
MOT
RST
R/W
CS
DE
LED3
NGAT
AD2
U3AT89C51
9
1819
202930
31
40
12345678
2122232425262728
1011121314151617
3938373635343332
RST
XTAL2XTAL1
GN
DPSEN
ALE/PROG
EA/VPP
VC
C
P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INT0P3.3/INT1
P3.4/T0P3.5/T1
P3.6/WRP3.7/RD
P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
AD5
G
A
BCD2
VCC
150
VCC
GIAM
33P
VCC
AD7
AD5
A
U4
74LS47
7126
453
1312111091514
168
D0D1D2D3
BI/R
BO
RB
ILT
ABCDEFG
VC
CG
ND
AD1
LED6A1015
E
B
C
150
-
S mch hin th
S mch x l
II. Lu gii thut.
BEGIN
MAIN
BT BIN HN GI
BEGIN
LCALL ENABLE_RTC
LCALL
-
ENABLE_RTC
CHN THANH GHI TRONG RTC
DOC_DATA
CHN GI TR THCH HP GHI VO THANH
GHI TRONG VXL
CHN NH CHA GI TR GI PHT GIY TRONG VXL
LY GI TR GI PHT GIY T RTC
A VO VXL
HEX_BCD
CHUYN 10 VO THANH GHI B
LY A CHIA B
BYTE THP L GI TR HNG N V
BYTE CAO L GI TR HNG CHC
CHUYN VO RTC QUA THANH GHI R0 CA VXL
CHUYN TNG NH CHA GI,PHT,GIY
VO THANH GHI A
HIN TH
CHN LED 1
ORL VI GI TR THCH HP BT
LED
LED K TIP
NGT
HIN TH 1
-
S S S S S S S S
P3.2=0LOOP1
P3.2=0
HIN TH 1
THOT NGT
P3.3=0
P3.4=0
P3.5=0
TNG GI TR PHT
GIM GI TR PHT
CHUYN 1 TNG GI TR PHT
P3.3=0
A=0 TNG PHT A=60
INC A
HEX_TO_BCD
LOOP 1 GIM GI TR PHT
P3.4=0
A=59 GIM PHT A=0
-
S S S S S
TNG GI TR GI
P3.3=0
A=0 TNG GI A=24
INC A
HEX_TO_BCD
LOOP 2 GIM GI TR GI
P3.4=0
A=23 GIM GI A=0
DEC A
HEX_TO_BCD
-
S S S S S
CHUYN 1
P3.5=0
A=0 RETURN1
LOOP 2
R2=0
LOOP 2
P3.2=0
HIN TH 2
THOT NGT
P3.3=0
P3.4=0
P3.5=0
TNG GI TR GI
GIM GI TR GI
CHUYN2
CHUYN 2
P3.5=0 LOOP 1
-
S III. Chng trnh. $MOD51 ORG 00H LJMP MAIN ORG 03H LJMP NGAT ORG
30H MAIN: MOV R3,#1 ;BIEN HEN GIO CHAN LE BEGIN: LCALL ENABLE_RTC
LED5 BIT P1.1 LED6 BIT P1.0 MOV IE,#81H MOV R2,#0 MOV 20H,#0 ;O NHO
CHUA GIAY MOV 21H,#0 ;O NO CHUA PHUT MOV 22H,#0 ;O NHO CHUA GIO MOV
23H,#0 ;O NHO DON VI CUA GIAY MOV 24H,#0 ;O NHO CHUC CUA GIAY MOV
25H,#0 ;O NHO DON VI CUA PHUT MOV 26H,#0 ;O NHO CHUC CUA PHUT MOV
27H,#0 ;O NHO DON VI CUA GIO MOV 28H,#0 ;O NHO CHUC CUA GIO LCALL
DOC_DATA ;LCALL CHOPTAT ;2 LED DON CHOP TAT THEO NHIP GIAY LCALL
HEX_BCD LCALL HIEN_THI SJMP BEGIN
;****************************************** DOC_DATA: MOV R0,#0 MOV
R1,#20H X12: MOVX A,@R0 MOV @R1,A MOV R7,#0 MOV R7,20H
;****************************************** ;DOAN CHUONG TRINH DE
HEN GIO ;****************************************** CJNE
R3,#00,GIO_CHAN LJMP GIO_LE GIO_CHAN: CJNE R7,#00,THOAT_1 MOV
R7,#00 MOV R7,21H
CJNE R7,#00,THOAT_1 MOV R7,#00
A=0 RETURN2
R2=0
-
MOV R7,22H CJNE R7,#22,AA LJMP CHUONG_CHAN AA: CJNE R7,#20,BB
LJMP CHUONG_CHAN BB: CJNE R7,#18,CC LJMP CHUONG_CHAN CC: CJNE
R7,#16,DD LJMP CHUONG_CHAN DD: CJNE R7,#14,EE LJMP CHUONG_CHAN EE:
CJNE R7,#12,FF LJMP CHUONG_CHAN FF: CJNE R7,#10,GG LJMP CHUONG_CHAN
GG: CJNE R7,#8,HH LJMP CHUONG_CHAN HH: CJNE R7,#6,THOAT LJMP
CHUONG_CHAN X11: LJMP X12 THOAT_1: LJMP THOAT GIO_LE: MOV R7,#00
MOV R7,22H CJNE R7,#21,II LJMP CHUONG_LE II: CJNE R7,#19,JJ LJMP
CHUONG_LE JJ: CJNE R7,#17,KK LJMP CHUONG_LE KK: CJNE R7,#15,LL LJMP
CHUONG_LE LL: CJNE R7,#13,MM LJMP CHUONG_LE MM: CJNE R7,#11,NN LJMP
CHUONG_LE NN: CJNE R7,#9,OO LJMP CHUONG_LE OO: CJNE R7,#7,THOAT
CHUONG_LE: ;GIO LE THI BAO CHUONG LE CLR P1.3 LCALL DELAY_CHUONG
;THOI GIAN CHUONG REO SETB P1.3
MOV R3,#1 LJMP THOAT CHUONG_CHAN: ;GIO CHAN THI BAO CHUONG CHAN
CLR P1.4 LCALL DELAY_CHUONG ;THOI GIAN CHUONG REO SETB P1.4
MOV R3,#00 ;*************************************************
THOAT: INC R0 INC R0
-
INC R1 CJNE R0,#06,X11 RET
;******************************************** ENABLE_RTC: MOV
R0,#0AH MOV A,#0AFH MOVX @R0,A MOV R0,#0BH MOV A,#0EH MOVX @R0,A
RET ;******************************************** ;DOAN CHUONG
TRINH DOC TU RTC VAO VXL
;******************************************** DOC: MOV R0,#0 MOV
R1,#20H X1: MOVX A,@R0 MOV @R1,A INC R0 INC R0 INC R1 CJNE
R0,#06,X1 RET ;*********************************************
;********************************************* ;CHUYEN TU SO HEX
SANG BCD ;********************************************* HEX_BCD:
MOV A,20H MOV B,#10 DIV AB MOV 23H,B MOV 24H,A MOV A,21H MOV B,#10
DIV AB MOV 25H,B MOV 26H,A MOV A,22H MOV B,#10 DIV AB MOV 27H,B MOV
28H,A RET ;*********************************************
;********************************************* ;DOAN CHUONG TRINH
QUET LED ;********************************************* HIEN_THI:
MOV A,23H ORL A,#0F0H MOV P2,A CLR LED6
-
SETB LED5 LCALL DELAY MOV A,24H ORL A,#0F0H MOV P2,A CLR LED5
SETB LED6 LCALL DELAY MOV A,25H ORL A,#70H MOV P2,A SETB LED6 SETB
LED5 LCALL DELAY MOV A,26H ORL A,#0B0H MOV P2,A SETB LED6 SETB LED5
LCALL DELAY MOV A,27H ORL A,#0D0H MOV P2,A SETB LED6 SETB LED5
LCALL DELAY MOV A,28H ORL A,#0E0H MOV P2,A SETB LED6 SETB LED5
LCALL DELAY RET
;***************************************************
;*************************************************** ;DOAN CHUONG
TRINH NGAT DE CHINH GIO PHUT ;CO LONG VAO CHUONG TRINH CHON LED DE
LED NHAP NHAY ;***************************************************
NGAT: MOV R0,#0BH MOV A,#80H MOVX @R0,A LCALL HIEN_THI1 JNB
P3.2,NGAT LOOP1: LCALL HIEN_THI1 JNB P3.2,THOAT_NGAT JNB
P3.3,TANG_GIATRI_PHUT JNB P3.4,GIAM_GIATRI_PHUT JNB P3.5,CHUYEN1
LJMP LOOP1 THOAT_NGAT: LCALL HIEN_THI JNB P3.2,THOAT_NGAT MOV R0,#0
MOV A,20H
-
MOVX @R0,A LCALL HEX_BCD LCALL HIEN_THI MOV R0,#0AH MOV A,#0AFH
MOVX @R0,A MOV R0,#0BH MOV A,#0EH MOVX @R0,A RETI CHUYEN1: LCALL
HIEN_THI JNB P3.5,CHUYEN1 INC R2 MOV A,R2 CJNE A,#2,RETURN MOV
R2,#0 RETURN: LJMP LOOP2 TANG_GIATRI_PHUT: LCALL HIEN_THI MOV A,21H
INC A CJNE A,#60,CONT_1 MOV A,#0 CONT_1: MOV 21H,A MOV R0,#2 MOVX
@R0,A LCALL HEX_BCD LJMP LOOP1 GIAM_GIATRI_PHUT: LCALL HIEN_THI MOV
A,21H CJNE A,#0,CONT_3 MOV A,#60 CONT_3: DEC A MOV 21H,A MOV R0,#2
MOVX @R0,A LCALL HEX_BCD LJMP LOOP1 LOOP2: LCALL HIEN_THI2 JNB
P3.2,THOAT_NGAT JNB P3.3,TANG_GIATRI_GIO JNB P3.4,GIAM_GIATRI_GIO
JNB P3.5,CHUYEN2 LJMP LOOP2 CHUYEN2: LCALL HIEN_THI2 JNB
P3.5,CHUYEN2 INC R2 MOV A,R2 CJNE A,#2,RETURN2
-
MOV R2,#0 RETURN2: LJMP LOOP1 TANG_GIATRI_GIO: LCALL HIEN_THI
MOV A,22H INC A CJNE A,#24,CONT_22 MOV A,#0 CONT_22: MOV 22H,A MOV
R0,#4 MOVX @R0,A LCALL HEX_BCD LJMP LOOP2 GIAM_GIATRI_GIO: LCALL
HIEN_THI MOV A,22H CJNE A,#0,CONT_42 MOV A,#24 CONT_42: DEC A MOV
22H,A MOV R0,#4 MOVX @R0,A LCALL HEX_BCD LJMP LOOP2
;**************************************************
;************************************************** ;DOAN CHUONG
TRINH LAM CHO PHUT CHOP TAT
;************************************************** HIEN_THI1: MOV
A,23H ORL A,#0F0H MOV P2,A CLR LED6 SETB LED5 LCALL DELAY MOV A,24H
ORL A,#0F0H MOV P2,A CLR LED5 SETB LED6 LCALL DELAY MOV A,25H ORL
A,#0F0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY LCALL PHUTTAT MOV
A,26H ORL A,#0F0H
-
MOV P2,A SETB LED6 SETB LED5 LCALL DELAY LCALL PHUTTAT MOV A,27H
ORL A,#0D0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY MOV A,28H ORL
A,#0E0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY LCALL
DELAY_THOIGIANLEDSANG RET PHUTTAT: MOV A,23H ORL A,#0F0H MOV P2,A
CLR LED6 SETB LED5 LCALL DELAY MOV A,24H ORL A,#0F0H MOV P2,A CLR
LED5 SETB LED6 LCALL DELAY MOV A,25H ORL A,#0F0H MOV P2,A SETB LED6
SETB LED5 LCALL DELAY MOV A,26H ORL A,#0F0H MOV P2,A SETB LED6 SETB
LED5 LCALL DELAY MOV A,27H ORL A,#0D0H MOV P2,A SETB LED6 SETB LED5
LCALL DELAY
-
MOV A,28H ORL A,#0E0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY
RET ;***********************************************
;*********************************************** ;DOAN CHUONG TRINH
LAM CHO GIO CHOP TAT
;*********************************************** HIEN_THI2: MOV
A,23H ORL A,#0F0H MOV P2,A CLR LED6 SETB LED5 LCALL DELAY MOV A,24H
ORL A,#0F0H MOV P2,A CLR LED5 SETB LED6 LCALL DELAY MOV A,25H ORL
A,#70H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY MOV A,26H ORL
A,#0B0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY MOV A,27H ORL
A,#0F0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY LCALL GIOTAT MOV
A,28H ORL A,#0F0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY LCALL
GIOTAT LCALL DELAY_THOIGIANLEDSANG
-
RET GIOTAT: MOV A,23H ORL A,#0F0H MOV P2,A CLR LED6 SETB LED5
LCALL DELAY MOV A,24H ORL A,#0F0H MOV P2,A CLR LED5 SETB LED6 LCALL
DELAY MOV A,25H ORL A,#70H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY
MOV A,26H ORL A,#0B0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY MOV
A,27H ORL A,#0F0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY MOV
A,28H ORL A,#0F0H MOV P2,A SETB LED6 SETB LED5 LCALL DELAY RET
;**************************************************
;;************************************************* ;DOAN CHUONG
TRINH DE 2LED DON CHOP TAT
;************************************************** CHOPTAT: CLR
P1.2 LCALL DELAY_CHOPTAT SETB P1.2 LCALL DELAY_CHOPTAT RET
;**************************************************
-
;************************************************** ;DOAN CHUONG
TRINH DELAY 2.5MS DE QUET LED
;************************************************** DELAY: PUSH 00H
PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H
POP 00H RET ;**************************************************
;************************************************** ;DOAN CHUONG
TRINH TAO THOI GIAN BAT CHUONG BAO LAU
;************************************************** DELAY_CHUONG:
MOV R7,#250 LAP3: MOV R6,#250 ;LCALL CHOPTAT LCALL DOC LCALL
HEX_BCD LCALL HIEN_THI DJNZ R6,$ DJNZ R7,LAP3 RET
;***************************************************
DELAY_THOIGIANLEDSANG: MOV R7,#5 LAP1: MOV R6,#10 LCALL DOC LCALL
HEX_BCD LCALL HIEN_THI DJNZ R6,$ DJNZ R7,LAP1 RET
;************************************************** DELAY_CHOPTAT:
MOV R7,#36 LAP2: MOV R6,#100 LCALL DOC LCALL HEX_BCD LCALL HIEN_THI
DJNZ R6,$ DJNZ R7,LAP2 RET
END
III. Phn 3: Phn kt
-
I. Ti liu tham kho: - Gio trnh Vi X L(trng H CNTP.HCM)-Phm Quang
Tr. - www.diendandientu.com.vn - www.alldatasheet.com
II. Li kt: Lm c mt sn phm thc t v c gi tr th tht l thch th.Mt ln
na em xin cm n cc thy c gio khoa c-in t v thy Trn Nguyn Bo Trn rt
nhiu. chc cc thy c di do sc kho v lun l ngn uc sng ch dn cho chng
em trn con ng pha trc.