Professional Documents
Culture Documents
TI
: Trn Th Cnh
Trng HCN H Ni
Khoa in t
MC LC
LI NI U .......................................................................................................5
CHNG 1. TNG QUAN V H VI IU KHIN 8051 ..............................6
1.1 Tm tt v lch s ca 8051 ..........................................................................6
1.2 S khi chung ca h 8051 ......................................................................7
1.3 Cc thnh vin khc ca 8051.......................................................................8
1.3.1 B vi iu khin 8052 ............................................................................8
1.3.2 B vi iu khin 8031 ............................................................................8
1.4 Cc phin bn ca 8051 ................................................................................8
1.4.1 B vi iu khin 8751 ............................................................................9
1.4.2 B vi iu khin AT8951 t Atmel Corporation.....................................9
1.4.3 B vi iu khin DS5000 t hng Dalas Semiconductor ......................11
1.4.4 Phin bn OTP ca 8051......................................................................12
1.4.5 H 8051 t hng Philips.......................................................................12
1.5 Kin trc phn cng ca h Vi iu khin 8051..........................................13
1.5.1 S khi ca 8051/8052/ AT89S52..................................................13
1.5.2 Chc nng cc khi ca 8051/8052/AT89S52......................................13
1.5.2.1 CPU .............................................................................................. 13
1.5.2.2 B nh chng trnh (b nh Rom)...............................................14
1.5.2.3 B nh d liu (b nh Ram) ........................................................14
1.5.2.4 B UART (Universal Ansynchronous Receiver and Transmitter)...14
1.5.2.5 Ba b Timer/Counter 16 bit........................................................... 14
1.5.2.6 WDM (Watch Dog Timer) ............................................................ 14
1.5.2.7 iu khin ngt .............................................................................15
1.5.2.8 B lp trnh (ghi chng trnh ln Flash Rom) .............................. 16
1.5.2.9 B chia tn s................................................................................16
1.5.2.10 Bn cng xut nhp.....................................................................16
1.6 T chc b nh bn trong ca 8051 ............................................................ 16
1.7 Hot ng nh thi ....................................................................................21
1.7.1 Gii thiu............................................................................................. 21
1.7.2 Cc thanh ghi ca b nh thi............................................................. 21
1.7.2.1 Cc thanh ghi ca Timer 0, Timer 1 ..............................................21
1.7.2.2 Cc thanh ghi ca Timer 2............................................................. 24
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Tn ting anh
Tn ting vit
E
EA
Truy cp bn ngoi
External Access
I
IC
IE
IP
Vi mch tch hp
Cho php ngt
Thanh ghi ngt
Intergrated Circuit
Interrupt
Interrupt Priority
O
OV
C trn
Over Flag
P
PSW
PSEN
RAM
R
Random Access Memory
ROM
RST
B nh ch c
Reset
SFR
S
Special Function Register
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
LI CAM OAN
Trong qu trnh thc hin ti tt nghip ny, em xin m bo bi bo co
tt nghip ny l do chnh em thc hin, khng c s sao chp nguyn vn ca bt
k ti liu no. Nu sai em xin chu mi hnh thc k lut ca nh trng.
Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
LI NI U
Ngy nay ngnh k thut in t c vai tr rt quan trng trong cuc sng
ca con ngi. Cc h thng in t ngy nay rt a dng v ang thay th cc cng
vic hng ngy ca con ngi t nhng cng vic n gin n phc tp nh iu
khin tn hiu n giao thng, cc bin qung co, o tc ng c hay cc ng
h s Cc h thng ny c th thit k theo h thng tng t, h thng s hay l
dng vi iu khin. Tuy nhin trong cc h thng in t thng minh hin nay
ngi ta thng s dng vi iu khin hn l cc h thng tng t hay h thng s
bi mt s u im vt tri m vi iu khin mang li l: tin cy cao, gi
thnh thp, d dng thit k, lp t v vn hnh lm c iu chng ta
phi c kin thc v vi iu khin, hiu c cu trc v chc nng ca n.
Sau gn 3 nm hc tp v nghin cu ti trng, vi s ging dy ca cc thy,
c gio trong trng cng vi s hng dn tn tnh ca thy Hong Vn Quang, em
chn ti: Nghin cu v Vi iu khin 8051. Thit k m hnh ng h thi
gian thc hin th trn Led 7 thanh lm n tt nghip vi mong mun p dng
nhng kin thc hc vo thc t phc v nhu cu i sng con ngi. Ni dung ca
ti bao gm 3 chng:
-
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
c Tnh
S Lng
Rom
4 kbyte
Ram
128 byte
B nh Thi
Chn vo/ra
32
Cng ni tip
Ngun ngt
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
c Tnh
8051
8052
8031
Rom
4 kbyte
8 kbyte
Khng c
Ram
128 byte
256 byte
128 byte
B nh thi
Chn vo/ra
32
32
31
Cng ni tip
Ngun ngt
* Da vo bng 1.2 c th thy cc chng trnh vit cho 8051 u chy trn 8052
nhng iu ngc li l khng ng.
1.3.2 B vi iu khin 8031
Mt thnh vin khc na ca 8051 l chp 8031. Chp c coi nh l 8051
khng c Rom trn chp. s dng chp ny phi b sung Rom ngoi cho n,
Rom ngoi phi cha chng trnh m 8031 s np v thc hin. Vi 8051, chng
trnh c cha trong Rom trn chp b gii hn bi 4 kbyte, cn Rom ngoi gn
vi 8031 th c th ln n 64 kbyte. Khi s dng Rom ngoi ch c th cn li
hai cng s dng cho mc ch vo ra, gii quyt vn ny gii php c th
l m rng cng vo ra cho 8031 bng cch s dng vi mch PPI 8255.
1.4 Cc phin bn ca 8051
Mc d 8051 l thnh vin ph bin nht ca h 8051 nhng cn c rt nhiu
phin bn ca n vi nhng tn gi khc nhau ty thuc vo kiu b nh chng
trnh, cng ngh ch to, tn s lm vic
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
10
K hiu
AT89C51
Rom
Ram
4 kbyte 128
Chan
I/O
32
Timer
Ngt VCC
5v
byte
AT89LV51
4 kbyte 128
32
3v
15
3v
8 kbyte 128
15
3v
8 kbyte 128
20 chn/2
hng
32
5v
byte
AT89LV52
20 chn/2
hng
byte
AT89C52
40 chn/2
hng
byte
AT89C2051 2 kbyte 128
40 chn/2
hng
byte
AT89C1051 1 kbyte 64
ng v
40 chn/2
hng
32
3v
byte
40 chn/2
hng
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
11
Rom
Ram
DS5000-8
8kbyte
128
DS5000-32
32kbyte
DS5000T-8
DS5000T-8
Chn
ng
Timer
Ngt
Vcc
32
5V
40
128
32
5V
40
8kbyte
128
32
5V
40
32kbyte
128
32
5V
40
I/O
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
12
M linh kin
Tc
NV-RAM
DS5000-8-8
8kbyte
8MHz
DS5000-8-12
8kbyte
12MHz
DS5000-32-8
32kbyte
8MHz
DS5000T-32-12
32kbyte
8MHz(with RTC)
DS5000-32-12
32kbyte
12MHz
DS5000-8-12
8kbyte
12MHz(with RTC)
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
13
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
14
S2
S1
S0
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
15
S2
S1
S0
S chu k my WDT m
2^14
2^15
2^16
2^17
2^18
2^19
2^20
2^21
S2
S1
S0
Fosc=12MHz Fosc=16MHz
Fosc=20MHz
16,38ms
12,28ms
9,82ms
32,77ms
24,57ms
19,66ms
65,54ms
49,14ms
39,32ms
131,01ms
98,28ms
76,64ms
262,14ms
196,56ms
157,28ms
524,29ms
393,12ms
314,56ms
1,54s
788,24ms
629,17ms
2,10s
1,57s
1,25s
Lp: C T6 K11
Trng HCN H Ni
16
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
17
Khoa in t
a ch bit
a ch
byte
a ch bit
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
18
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
19
Bng 1.8 Cc thanh ghi trng thi chng trnh (PSW: Program Status Word)
BIT
SYMBOL
ADDRESS
DESCRIPTION
PSW.7
CY
D7H
Cary Flag
PSW.6
AC
D6H
PSW.5
F0
D5H
Flag 0
PSW4
RS1
D4H
PSW.3
RS0
D3H
PSW.2
OV
D2H
Overlow Flag
PSW.1
D1H
Reserved
PSW.0
DOH
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
20
RS1
RS0
BANK
Lp: C T6 K11
Trng HCN H Ni
21
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
22
Thanh ghi TMOD cha hai nhm 4 bit dng t ch lm vic cho
Timer 0 v Timer 1.
7
GATE1
C/#T1
M1
M0
GATE0
C/#T0
M1
M0
Bit
Tn
Timer
M t
GATE1
C/#T1
M1
M0
GATE0
C/#T0
M1
M0
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
23
TR1
TF0
TR0
IT1
IE1
IT0
IE0
K hiu
a ch
M t
TCON.7
TF1
8F
C bo trn ca T1, c t bi
phn cng khi c trn, c xa bi
phn mm hoc bi phn cng khi
b VXL ch n chng trnh phc
v ngt
TCON.6
TR1
8EH
TCON.5
TF0
8DH
C bo trn T0
TCON.4
TR0
8CH
TCON.3
IT1
8BH
C ngt do T1
TCON.2
IE1
8AH
C ngt ngoi 1
TCON.1
IT0
89H
C ngt do T0
TCON.0
IE0
88H
C ngt ngoi 0
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
24
Timer 0
TH0(8bit) TL0(8bit)
EXF2
RCLK
TCLK
EXEN2
TR2
C/#T2
CP/#RL2
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
25
Bit
K hiu
a ch
M t
T2CON.7
TF2
CFH
T2CON.6
EXF2
CEH
T2CON.5
RCLK
CDH
T2CON.4
TCLK
CCH
T2CON.3
EXEN2
CBH
T2CON.2
TR2
CAH
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
26
TR0,TR1)
T2CON.1
C/#T2
C9H
T2CON.0
CP/#RL2
C8H
K hiu
M t
T2MOD.7
Khng s dng
T2MOD.6
Khng s dng
T2MOD.5
Khng s dng
T2MOD.4
Khng s dng
T2MOD.3
Khng s dng
T2MOD.2
Khng s dng
T2MOD.1
T2OE
T2MOD.0
DCEN
Lp: C T6 K11
Trng HCN H Ni
27
Khoa in t
1.7.3 Cc ch ca b nh thi
- Ch 0
Lp: C T6 K11
Trng HCN H Ni
28
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
29
- Ch 3
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
30
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
31
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
32
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
33
SM1
SM2
REN
Bit
TB8
RB8
TI
RI
ngha
REN
TB8
RB8
9 bit
C bo ngt khi hon thnh qu trnh truyn 1 byte d liu, c
TI
phi c xa bi phn mm
C bo ngt khi 1 byte d liu c nhn v y , c phi c
RI
xa bi phn mm
Bit cho php ch truyn thng gia nhiu vi iu khin vi
SM2
nhau (Mode2 v 3)
* Trc khi s dng cng, phi khi ng SCON chn ch hot ng cho
cng ni tip.
* Thanh ghi ny c nh a ch theo bit.
- Thanh ghi m truyn nhn cng ni tip (SBUF-Serial Buffer).
SBUF l thanh ghi 8 bit c dng ring cho truyn thng ni tip ca 8051.
Thanh ghi ny c chc nng m cc k t khi chng c nhn v t cng ni tip
hoc c truyn i t cng ni tip, vic truyn nhn qua cng ni tip thc cht l
vic truy xut thanh ghi ny.
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
34
1.8.3 Cc ch hot ng
- Ch 0
Ch 0 l ch m cng ni tip c dng nh mt thanh ghi dch 8 bit. D
liu c truyn/nhn ni tip trn chn RXD, chn TXD c dng pht xung
clock dch bit. Khi truyn/nhn cc byte d liu 8bit,bit c gi tr thp nht(LSB)
c truyn/nhn trc tin v bit MSB c truyn/nhn sau cng.Vic truyn d
liu c bt u bng vic ghi mt byte d liu vo SBUF cn vic nhn d liu
c bt u khi bit REN c t mc 1 v c thu RI= 0. Tc baud ch
0 c nh bng Fosc/12.
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
35
Hnh 1.11 Dng Timer 1 v Timer 2 cung cp tc baud cho cng ni tip
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
36
Khoa in t
Trn hnh 1.11, khi TCLK= RCLK= 1 tc baud ca cng ni tip c cung
cp bi Timer 2. Khc vi Timer 1, Timer 2 c cung cp xung clock c tn s
tn s ca b dao ng thch anh.
Khi cn tc baud khc nhau cho ng truyn v c nhn th c th s dng
c hai b Timer. Nu t TCLK= 1 v RCLK=0 th tc baud ca ng truyn
s c cung cp bi Timer 2, tc baud ca ng nhn s c cung cp bi
Timer 1.
Nu t TCLK=0 v RCLK=1 th tc baud ca ng truyn s c cung cp
bi Timer 1, tc baud ca ng nhn s c cung cp bi Timer 2.
Tc baud ca ch 1:
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
37
- Ch 3
Ch 3 l s kt hp ca ch 1 v ch 2, ngha l cng ni tip hot ng
nh 1 b UART 9 bit v tc baud ca UART thay i ging nh ch 1 ( c
cung cp bi Timer1 v Timer2).
Tc baud ca ch 3:
Lp: C T6 K11
Trng HCN H Ni
38
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
39
Hnh 1.15 Chng trnh trc (a) v sau (b) khi c ngt xy ra
1.9.2 T chc ngt
AT89S52 c 6 ngun ngt:
- Ngt ngoi n t chn #INT0.
- Ngt ngoi n t chn #INT1.
- Ngt do b Timer 0.
- Ngt do b Timer 1.
- Ngt do b Timer 2.
- Ngt do Port ni tip.
6 ngun ngt ny c xa khi reset v c t ring bng phn mm bi cc bit
trong thanh ghi cho php ngt (IE), thanh ghi u tin ngt (IP).
* Thanh ghi cho php ngt IE (Interrupt Enable):
EA
ET2
ES
ET1
EX1
ET0
EX0
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
40
PT2
PS
PT1
PX1
PT0
PX0
Lp: C T6 K11
Trng HCN H Ni
41
Khoa in t
1.9.3 X l ngt
- Khi c mt ngt xut hin v c CPU chp nhnc cc thao tc sau:
+ Hon tt lnh thc thi hin hnh.
+ PC c ct vo Stack.
+ (Trng thi ca ngt hin hnh c lu gi li)
+ Cc ngt c chn li mc ngt.
+ PC np a ch vector ngt ca ISR.
+ Thc thi ISR.
-
Cc c gy ngt.
Bng 1.19 Cc c gy ngt
- Cc vector ngt.
Lp: C T6 K11
Trng HCN H Ni
42
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
43
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
44
Lp: C T6 K11
Trng HCN H Ni
45
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
46
Lp: C T6 K11
Trng HCN H Ni
47
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
48
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
49
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
50
2.1.4.2 Ch hot ng
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
51
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
52
Lp: C T6 K11
Trng HCN H Ni
53
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
54
Khoa in t
- Ci t thi gian.
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
55
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
56
Lp: C T6 K11
Trng HCN H Ni
57
Khoa in t
Vi R=15k, C=151pF
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
58
Vref/2 (V)
H
2.0
1.5
1.28
1.0
0.5
Vin (V)
0-5
0-4
0-3
0 - 2.56
0-2
0-1
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
59
3 b Timer/counter 16 Bit
128 Byte RAM ni.
4 Port xut /nhp I/O 8 bit.
Giao tip ni tip.
64 KB vng nh m ngoi
64 KB vng nh d liu ngoi.
4 s cho hot ng nhn hoc chia.
2.3.2 S chn v chc nng cc chn ca AT89S52
2.3.2.1 S chn ca AT89S52
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
60
* Khi mun s dng Port 0 cho vic xut nhp d liu ta cn ko mt hng in tr
vo Port 0 v ni ln Vcc.
* Port 1 (P1.0-P1.7)
i vi 8051, chc nng duy nht ca Port 1 l chc nng xut nhp cng
Port khc, Port 1 c th xut nhp theo bit v theo byte. Port 1 c dng giao
tip vi thit b ngoi khi c yu cu. Khng c chc nng no khc na gn cho
Port 1, ngoi hai vic trn.
* Ring dng 89Sxx, ba chn P1.5, P1.6, P1.7 c dng np Rom theo chun
ISP 2 chn P1.0, P1.1 c dng cho Timer 2.
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
61
* Port 2 (P2.0-P2.7)
Port 2 (cc chn t 21 n 28) c hai cng dng hoc lm nhim v
xut/nhp hoc l byte a ch cao ca bus a ch 16 bit cho cc thit k c b nh
chng trnh ngoi hoc cc thit k c nhiu hn 256 byte b nh d liu ngoi.
* Port 3 (P3.0-P3.7)
Mi chn trn Port 3 ngoi chc nng xut nhp cn c mt s chc nng
ring, c th nh sau:
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
62
Bit
Tn
Chc nng
P3.0
RXD
P3.1
TXD
P3.2
INT0
Ngt ngoi 0
P3.3
INT1
Ngt ngoi 1
P3.4
T0
Ng vo ca Timer/Counter 0
P3.5
T1
Ng vo ca Timer/Counter 1
P3.6
/WR
P3.7
/RD
Lp: C T6 K11
Trng HCN H Ni
63
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
64
Lp: C T6 K11
Trng HCN H Ni
65
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
66
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
67
dp
M Hex
03h
9Fh
25h
0Dh
99h
49h
41h
1Fh
01h
09h
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
68
Dp
M Hex
C0h
F9h
A4h
B0h
99h
92h
82h
F8h
80h
90h
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
69
Dp
M Hex
3Fh
06h
5Bh
4Fh
66h
6Dh
7Dh
07h
7Fh
6Fh
Lp: C T6 K11
Trng HCN H Ni
70
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
71
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
72
3.1 S nguyn l
Cc linh kin dng trong mch gm: IC AT89S52, IC DS1307, IC 74HC595,
Led 7 thanh, Pin 3V, T 10F, T 33pF, Thch anh 12MHz, Thch anh 32.768kHz,
in tr 10k, Con 3, Con 2, Nt nhn hai chn,v cc linh kin vt t ph tr.
Lp: C T6 K11
Trng HCN H Ni
73
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
74
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
75
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
76
Khoa in t
3.2 S mch in
Lp: C T6 K11
Trng HCN H Ni
77
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
78
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
79
3.4 ng dng
Mch ng h thi gian thc hin th trn led 7 thanh c s dng rng ri
trong cuc sng hng ngy, chng ta c th thy n rt nhiu ni nh trong nh,
trng hc, trong cc cng ty, x nghip. ng dng ch yu l:
+ Dng xem thi gian hng ngy
+ Dng hn gi, bo thc
+ o thi gian trong th thao
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
80
KT LUN
Sau mt thi gian lm n tt nghip cng vi vic thit k, thi cng mch
v m hnh m phng theo thc t. Kt qu thu c ca em gn nh p ng c
yu cu ra.V mt n nh v hiu qu lm vic ca mch l mch hot ng tt
tuy nhin vn cn mt s im mc phi do yu t v mt thi gian, kinh nghim
ca em lm ti v mc tin cy trong hot ng v n nh ca linh kin.
Trong thi gian lm n v thc hin nhng cng vic em nhn c s
gip tn tnh ca Thy Hong Vn Quang cng nh cc thy c trong khoa in
T. V vy gip em hon thnh n tt nghip mt cch c hiu qu v gip
em c thm nhiu kin thc, kinh nghim trong cc cng vic sau ny.
Do thi gian c hn, kinh nghim cha c nhiu nn vic hon thnh n
khng th trnh khi thiu st. Kt qu t c ca n l:
u im:
+ Mang tnh thc t, ng dng cao trong i sng.
+ Gi thnh hp l.
Nhc im:
+ Tc iu khin ca 8051 cn hn ch.
+ Tnh thm m cha cao.
Hng Pht Trin Ti:
+ Dng cc dng vi iu khin khc nh PIC, AVR thit k ra ng h vn
nin tng t.
+ Ln hn chng ta c th to ln cc ng dng ln hn ca Vi iu Khin vo
vic phc v mc ch ca con ngi.
+ Thit k thm chng trnh i lch dng sang lch m.
+ Thay i ting chung bo thc bng bn nhc mnh yu thch.
Lp: C T6 K11
Trng HCN H Ni
81
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
82
Khoa in t
PH LC
TRNH DCH KEILC V CHNG TRNH NP PROLOAD V4.1 CHO
8051
1 Gii thiu
Trong k thut lp trnh vi iu khin ni chung, ngn ng lp trnh c s dng
thng chia lm 2 loi: Ngn ng bc thp v Ngn ng bc cao. Ngn ng bc cao
l cc ngn ng gn vi ngn ng con ngi hn, do vic lp trnh bng cc
ngn ng ny tr nn d dng v n gin hn. C th k n mt s ngn ng lp
trnh bc cao nh C, Basic, Pascal trong C l ngn ng thng dng hn c
trong k thut vi iu khin. V bn cht, s dng cc ngn ng ny thay cho ngn
ng bc thp l gim ti cho lp trnh vin trong vic nghin cu cc tp lnh v xy
dng cc cu trc gii thut. Chng trnh vit bng ngn ng bc cao cng s
c mt phn mm trn my tnh gi l trnh bin dch (Compiler) chuyn sang
dng hp ng trc khi chuyn sang m my. Khi s dng ngn ng C ngi lp
trnh khng cn hiu su sc v cu trc ca b vi iu khin. C ngha l vi mt
ngi cha quen vi mt vi iu khin cho trc s xy dng c chng trnh
mt cch nhanh chng hn, do khng phi mt thi gian tm hiu kin trc ca vi
iu khin . V vic s dng li cc chng trnh xy dng trc cng d
dng hn, c th s dng ton b hoc sa cha mt phn.
Cc bn c th vo trang wed: http://www.mediafire.com/?nwdgtdlj1ln
download.
Phn mm m phng hu hiu Protues 7.5: http://www.mediafire.com/?kjniri54zzj
2 Hng dn s dng KeilC V3.0
Sau khi ci t xong th c ng dn sau: C:\Keil\UV3.v c Icon trn Destop:
Lp: C T6 K11
Trng HCN H Ni
83
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
84
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
85
Khoa in t
Tip theo kch chut vo File chn New m ca s son tho lp trnh. Sau
khi chn s c giao din nh sau:
Tip theo kch chut vo File chn Save As th thy ca Save As hin ra. Hy
t tn cho file lp trnh (nh t l *.C). Ri chn Save.
Lp: C T6 K11
Trng HCN H Ni
86
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
87
Khoa in t
Sau khi lp trnh xong, lc ny mn hnh son tho c giao din nh sau:
Lp: C T6 K11
Trng HCN H Ni
88
Khoa in t
Sau khi hon tt cng vic chnh cc thng s th nhp chut phi vo file .c,
ri chn Build target (phm tt l F7) bt u qu trnh bin dch.
Lp: C T6 K11
Trng HCN H Ni
89
Khoa in t
Nu nh chng trnh lp trnh sai hoc thiu th lc bin dch chng trnh s
bo li. Sau khi sa li thnh cng th khi bin dch thnh cng. Lc ny tm
ng link: C:\Keil\UV3 ly file.hex. By gi dng mch np, np cho
AT89S52 hoc c th a vo Protues chy m phng.
3 M lp trnh
#include<regx52.h>
sbit SDA=P1^0;
sbit SCL=P1^1;
sbit mode1=P3^3;
sbit up=P3^4;
sbit down=P3^5;
sbit h_g=P3^6;
sbit mode2=P3^7;
sbit dulieu=P3^0;
sbit chot=P3^1;
sbit dich=P3^2;
sbit dich1=P2^2;
sbit dulieu1=P2^0;
sbit chot1=P2^1;
Lp: C T6 K11
Trng HCN H Ni
90
Khoa in t
sbit dich2=P2^5;
sbit dulieu2=P2^3;
sbit chot2=P2^4;
sbit dulieu3=P1^2;
sbit chot3=P1^3;
sbit dich3=P1^4;
sbit dulieu4=P1^5;
sbit chot4=P1^6;
sbit dich4=P1^7;
sbit coi=P0^0;
int idata
chuc_giay,don_vi,chuc_phut,don_vi_phut,chuc_gio,don_vi_gio,hg=0,hp=0,mo=0,ti
et=0;
int idata
thu_tuan,don_vi_ngay,chuc_ngay,don_vi_thang,chuc_thang,don_vi_nam,chuc_nam
;
int idata
sec1,sec2,h,p,s,t=0,b=0,k=0,g=0,n=0,d=0,mode=0,ht_thu,ht_ngay,ht_thang,ht_nam,
set1=0,tuan;
code unsigned int M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void che_do();
void hien_thi4();
void delay(unsigned int t)
{
unsigned int i;
for(i=0;i<=t;i++);
}
unsigned char bcd_to_dec(unsigned char bien)
{
unsigned char chuc,don_vi,so;
chuc=bien>>4;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
91
Khoa in t
don_vi=bien&0x0f;
so=chuc*10+don_vi;
return so;
}
unsigned char dec_to_bcd(unsigned char x)
{
unsigned char chuc,don_vi,so;
chuc=x/10;
don_vi=x%10;
so=(chuc<<4)|don_vi;
return so;
}
void start()
{
SCL=0;
SDA=1;
SCL=1;
SDA=0;
SCL=0;
}
void stop()
{
SCL=0;
SDA=0;
SCL=1;
SDA=1;
SCL=0;
}
void write_data(unsigned char da_ta)
{
int i;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
92
Khoa in t
bit bitdata;
for(i=0;i<=7;i++)
{
bitdata=da_ta&0x80;
SDA=bitdata;
da_ta<<=1;
SCL=1;
SCL=0;
}
SDA=1;
SCL=1;
bitdata=SDA;
SCL=0;
}
unsigned char read_data(unsigned char x)
{
int i;
unsigned char da_ta;
bit bitdata;
SDA=1;
da_ta=0;
for(i=0;i<=7;i++)
{
SCL=1;
bitdata=SDA;
da_ta<<=1;
da_ta=da_ta|bitdata;
SCL=0;
}
SDA=x;
SCL=1;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
93
Khoa in t
SCL=0;
SDA=1;
return da_ta;
}
void hien_thi1(int a,int b,int c,int d)
{
int j,y;
for(j=0;j<=7;j++)
{
y=a;
y=y&0x80;
if(y==0x80)
dulieu=1;
else
dulieu=0;
dich=0;
delay(1);
dich=1;
a=a*2;
}
for(j=0;j<=7;j++)
{
y=b;
y=y&0x80;
if(y==0x80)
dulieu=1;
else
dulieu=0;
dich=0;
delay(1);
dich=1;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
94
Khoa in t
b=b*2;
}
for(j=0;j<=7;j++)
{
y=c;
y=y&0x80;
if(y==0x80)
dulieu=1;
else
dulieu=0;
dich=0;
delay(1);
dich=1;
c=c*2;
}
for(j=0;j<=7;j++)
{
y=d;
y=y&0x80;
if(y==0x80)
dulieu=1;
else
dulieu=0;
dich=0;
delay(1);
dich=1;
d=d*2;
}
chot=0;
delay(1);
chot=1;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
95
}
void hien_thi2(int a,int b,int c,int d,int e,int f,int g,int h,int k,int l)
{
int j,y;
for(j=0;j<=7;j++)
{
y=a;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
a=a*2;
}
for(j=0;j<=7;j++)
{
y=b;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
b=b*2;
}
for(j=0;j<=7;j++)
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
96
Khoa in t
{
y=c;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
c=c*2;
}
for(j=0;j<=7;j++)
{
y=d;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
d=d*2;
}
for(j=0;j<=7;j++)
{
y=e;
y=y&0x80;
if(y==0x80)
dulieu1=1;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
97
Khoa in t
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
e=e*2;
}
for(j=0;j<=7;j++)
{
y=f;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
f=f*2;
}
for(j=0;j<=7;j++)
{
y=g;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
98
Khoa in t
g=g*2;
}
for(j=0;j<=7;j++)
{
y=h;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
h=h*2;
}
for(j=0;j<=7;j++)
{
y=k;
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
k=k*2;
}
for(j=0;j<=7;j++)
{
y=l;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
99
Khoa in t
y=y&0x80;
if(y==0x80)
dulieu1=1;
else
dulieu1=0;
dich1=0;
delay(1);
dich1=1;
l=l*2;
}
chot1=0;
delay(1);
chot1=1;
}
void hien_thi3(int a,int b,int c,int d)
{
int j,y;
for(j=0;j<=7;j++)
{
y=a;
y=y&0x80;
if(y==0x80)
dulieu2=1;
else
dulieu2=0;
dich2=0;
delay(1);
dich2=1;
a=a*2;
}
for(j=0;j<=7;j++)
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
100
Khoa in t
{
y=b;
y=y&0x80;
if(y==0x80)
dulieu2=1;
else
dulieu2=0;
dich2=0;
delay(1);
dich2=1;
b=b*2;
}
for(j=0;j<=7;j++)
{
y=c;
y=y&0x80;
if(y==0x80)
dulieu2=1;
else
dulieu2=0;
dich2=0;
delay(1);
dich2=1;
c=c*2;
}
for(j=0;j<=7;j++)
{
y=d;
y=y&0x80;
if(y==0x80)
dulieu2=1;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
101
Khoa in t
else
dulieu2=0;
dich2=0;
delay(1);
dich2=1;
d=d*2;
}
chot2=0;
delay(1);
chot2=1;
}
void hien_thi4(int a,int b)
{
int j,y;
for(j=0;j<=7;j++)
{
y=a;
y=y&0x80;
if(y==0x80)
dulieu3=1;
else
dulieu3=0;
dich3=0;
delay(1);
dich3=1;
a=a*2;
}
for(j=0;j<=7;j++)
{
y=b;
y=y&0x80;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
102
Khoa in t
if(y==0x80)
dulieu3=1;
else
dulieu3=0;
dich3=0;
delay(1);
dich3=1;
b=b*2;
}
chot3=0;
delay(1);
chot3=1;
}
void hien_thi5(int a,int b)
{
int j,y;
for(j=0;j<=7;j++)
{
y=a;
y=y&0x80;
if(y==0x80)
dulieu4=1;
else
dulieu4=0;
dich4=0;
delay(1);
dich4=1;
a=a*2;
}
for(j=0;j<=7;j++)
{
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
103
Khoa in t
y=b;
y=y&0x80;
if(y==0x80)
dulieu4=1;
else
dulieu4=0;
dich4=0;
delay(1);
dich4=1;
b=b*2;
}
chot4=0;
delay(1);
chot4=1;
}
void update()
{
int du_lieu=0;
start();
write_data(0xd0);
write_data(0x00);
du_lieu=sec1+(sec2<<4);
du_lieu=du_lieu&0x7f;
write_data(du_lieu);
du_lieu=dec_to_bcd(t);
write_data(du_lieu);
du_lieu=dec_to_bcd(b);
write_data(du_lieu);
du_lieu=dec_to_bcd(k);
write_data(du_lieu);
du_lieu=dec_to_bcd(g);
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
104
Khoa in t
write_data(du_lieu);
du_lieu=dec_to_bcd(n);
write_data(du_lieu);
du_lieu=dec_to_bcd(d);
write_data(du_lieu);
stop();
}
void updatetime()
{
start();
write_data(0xd0);
write_data(0x00);
start();
write_data(0xd1);
s=read_data(0);
p=read_data(0);
h=read_data(0);
ht_thu=read_data(0);
ht_ngay=read_data(0);
ht_thang=read_data(0);
ht_nam=read_data(1);
stop();
s=bcd_to_dec(s);
p=bcd_to_dec(p);
h=bcd_to_dec(h);
ht_thu=bcd_to_dec(ht_thu);
ht_ngay=bcd_to_dec(ht_ngay);
ht_thang=bcd_to_dec(ht_thang);
ht_nam=bcd_to_dec(ht_nam);
chuc_giay=s/10;
don_vi=s%10;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
105
Khoa in t
chuc_phut=p/10;
don_vi_phut=p%10;
chuc_gio=h/10;
don_vi_gio=h%10;
thu_tuan=ht_thu%10;
tuan=ht_thu/10;
don_vi_ngay=ht_ngay%10;
chuc_ngay=ht_ngay/10;
don_vi_thang=ht_thang%10;
chuc_thang=ht_thang/10;
don_vi_nam=ht_nam%10;
chuc_nam=ht_nam/10;
}
void set_min()
{
int min1,min2;
do
{
che_do();
if(up==0)
{
while(up==0);
t++;
if(t==60)
t=0;
}
if(down==0)
{
while(down==0);
t--;
if(t==-1)
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
106
Khoa in t
t=59;
}
min1=t%10;
min2=t/10;
hien_thi2(0xff,0xff,0xff,0xff,0xff,0xff,M[min2],M[min1],0xff,0xff);
hien_thi3(0xff,0xff,0xff,0xff);
hien_thi5(0xff,0xff);
delay(30000);
}
while(mode==1);
}
void set_hour()
{
int hour1,hour2;
do
{
che_do();
if(up==0)
{
while(up==0);
b++;
if(b==24)
b=0;
}
if(down==0)
{
while(down==0);
b--;
if(b==-1)
b=23;
}
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
107
Khoa in t
hour1=b%10;
hour2=b/10;
hien_thi2(0xff,0xff,0xff,0xff,M[hour2],M[hour1],0xff,0xff,0xff,0xff);
hien_thi3(0xff,0xff,0xff,0xff);
hien_thi5(0xff,0xff);
delay(30000);
}
while(mode==2);
}
void set_thu()
{
int thu,chuc;
do
{
che_do();
if(up==0)
{
while(up==0);
k++;
if(k==8)
k=1;
}
if(down==0)
{
while(down==0);
k--;
if(k==0)
k=7;
}
chuc=k/10;
thu=k%10;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
108
hien_thi2(0xff,0xff,M[chuc],M[thu],0xff,0xff,0xff,0xff,0xff,0xff);
hien_thi3(0xff,0xff,0xff,0xff);
hien_thi5(0xff,0xff);
delay(30000);
}
while(mode==3);
}
void set_day()
{
int day1,day2;
do
{
che_do();
if(up==0)
{
while(up==0);
g++;
if(g==32)
g=1;
}
if(down==0)
{
while(down==0);
g--;
if(g==0)
g=31;
}
day1=g%10;
day2=g/10;
hien_thi2(M[day2],M[day1],0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff);
hien_thi3(0xff,0xff,0xff,0xff);
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
109
Khoa in t
hien_thi5(0xff,0xff);
delay(30000);
}
while(mode==4);
}
void set_thang()
{
int thang1,thang2;
do
{
che_do();
if(up==0)
{
while(up==0);
n++;
if(n==13)
n=1;
}
if(down==0)
{
while(down==0);
n--;
if(n==0)
n=12;
}
thang1=n%10;
thang2=n/10;
hien_thi5(M[thang2],M[thang1]);
hien_thi2(0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff);
hien_thi3(0xff,0xff,0xff,0xff);
delay(33000);
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
110
Khoa in t
}
while(mode==5);
}
void set_nam()
{
int nam1,nam2;
do
{
che_do();
if(up==0)
{
while(up==0);
d++;
if(d==100)
d=0;
}
if(down==0)
{
while(down==0);
d--;
if(d==-1)
d=99;
}
nam1=d%10;
nam2=d/10;
hien_thi2(0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff);
hien_thi3(M[nam1],M[nam2],0xff,0xff);
hien_thi5(0xff,0xff);
delay(30000);
}
while(mode==6);
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
111
Khoa in t
}
void set_time()
{
set_min();
if(mode==2)
set_hour();
if(mode==3)
set_thu();
if(mode==4)
set_day();
if(mode==5)
set_thang();
if(mode==6)
set_nam();
if(mode==7)
update();
}
void update_thu(int da_ta1)
{
int du_lieu;
start();
write_data(0xd0);
write_data(0x03);
du_lieu=dec_to_bcd(da_ta1);
write_data(du_lieu);
stop();
}
void che_do()
{
if(mode1==0)
{
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
112
Khoa in t
while(mode1==0);
mode++;
if(mode==8)
mode=0;
}
}
void hen_gio()
{
int chuc_gio=0,donvi_gio=0,chuc_phut=0,donvi_phut=0;
if(mode2==0)
{
while(mode2==0);
mo++;
}
if(mo==1)
{
if(up==0)
{
while(up==0);
hp++;
if(hp==60)
hp=0;
}
if(down==0)
{
while(down==0);
hp--;
if(hp==-1)
hp=59;
}
chuc_phut=hp/10;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
113
Khoa in t
donvi_phut=hp%10;
hien_thi1(M[donvi_phut],M[chuc_phut],0xff,0xff);
}
if(mo==2)
{
if(up==0)
{
while(up==0);
hg++;
if(hg==24)
hg=0;
}
if(down==0)
{
while(down==0);
hg--;
if(hp==-1)
hg=23;
}
chuc_gio=hg/10;
donvi_gio=hg%10;
hien_thi1(0xff,0xff,M[donvi_gio],M[chuc_gio]);
}
if(mo>=3)
{
chuc_phut=hp/10;
donvi_phut=hp%10;
chuc_gio=hg/10;
donvi_gio=hg%10;
hien_thi1(M[donvi_phut],M[chuc_phut],M[donvi_gio],M[chuc_gio]);
if((hg==h)&&(hp==p))
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
114
Khoa in t
coi=0;
else
coi=1;
}
}
void ht_tiet()
{
int chuc_tiet,donvi_tiet;
chuc_tiet=tiet/10;
donvi_tiet=tiet%10;
hien_thi4(M[chuc_tiet],M[donvi_tiet]);
}
void tiet_hoc()
{
if(h<=6)
{
coi=1;
hien_thi4(0xff,0xff);
}
if((h==6)&&(p<45))
{
coi=1;
hien_thi4(0xff,0xff);
}
if((h==6)&&(p==45)&&(s<5))
coi=0;
if(((h==6)&&(p>=45))||((h==7)&&(p<30)))
{
coi=1;
tiet=1;
ht_tiet();
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
115
Khoa in t
}
if((h==7)&&(p==30)&&(s<5))
coi=0;
if((h==7)&&(((p>=30))&&(p<35)))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==7)&&(p==35)&&(s<5))
coi=0;
if(((h==7)&&(p>=35))||((h==8)&&(p<20)))
{
coi=1;
tiet=2;
ht_tiet();
}
if((h==8)&&(p==20)&&(s<5))
coi=0;
if((h==8)&&((p>=20)&&(p<25)))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==8)&&(p==25)&&(s<5))
coi=0;
if(((h==8)&&(p>=25))||((h==9)&&(p<10)))
{
coi=1;
tiet=3;
ht_tiet();
}
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
116
Khoa in t
if((h==9)&&(p==10)&&(s<5))
coi=0;
if((h==9)&&((p>=10)&&(p<20)))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==9)&&(p==20)&&(s<10))
coi=0;
if(((h==9)&&(p>=20))||((h==10)&&(p<5)))
{
coi=1;
tiet=4;
ht_tiet();
}
if((h==10)&&(p==5)&&(s<5))
coi=0;
if((h==10)&&((p>=5)&&(p<10)))
{
hien_thi4(0x82,0xc7);
coi=1;
}
if((h==10)&&(p==10)&&(s<10))
coi=0;
if((h==10)&&((p>=10)&&(p<55)))
{
coi=1;
tiet=5;
ht_tiet();
}
if((h==10)&&(p==55)&&(s<5))
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
117
Khoa in t
coi=0;
if(((h==10)&&(p>=55))||((h==11)&&(p==0)))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==11)&&(p==0)&&(s<10))
coi=0;
if((h==11)&&((p>=0)&&(p<45)))
{
coi=1;
tiet=6;
ht_tiet();
}
if((h==11)&&(p==45)&&(s<5))
coi=0;
if(((h==11)&&(p>=45))||((h==12)&&(p<30)))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==12)&&(p==30)&&(s<10))
coi=0;
if(((h==12)&&(p>=30))||((h==13)&&(p<15)))
{
coi=1;
tiet=7;
ht_tiet();
}
if((h==13)&&(p==15)&&(s<5))
coi=0;
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
118
Khoa in t
if((h==13)&&(p>=15)&&(p<20))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==13)&&(p==20)&&(s<10))
coi=0;
if(((h==13)&&(p>=20))||((h==14)&&(p<5)))
{
coi=1;
tiet=8;
ht_tiet();
}
if((h==14)&&(p==5)&&(s<5))
coi=0;
if((h==14)&&((p>=5)&&(p<10)))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==14)&&(p==10)&&(s<10))
coi=0;
if((h==14)&&((p>=10)&&(p<55)))
{
coi=1;
tiet=9;
ht_tiet();
}
if((h==14)&&(p==55)&&(s<5))
coi=0;
if(((h==14)&&(p>=55))||((h==15)&&(p<5)))
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
119
Khoa in t
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==15)&&(p==5)&&(s<10))
coi=0;
if((h==15)&&((p>=5)&&(p<50)))
{
coi=1;
tiet=10;
ht_tiet();
}
if((h==15)&&(p==50)&&(s<5))
coi=0;
if((h==15)&&((p>=50)&&(p<55)))
{
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==15)&&(p==55)&&(s<10))
coi=0;
if(((h==15)&&(p>=55))||((h==16)&&(p<40)))
{
coi=1;
tiet=11;
ht_tiet();
}
if((h==16)&&(p==40)&&(s<5))
coi=0;
if((h==16)&&((p>=40)&&(p<45)))
{
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
120
Khoa in t
coi=1;
hien_thi4(0x82,0xc7);
}
if((h==16)&&(p==45)&&(s<10))
coi=0;
if(((h==16)&&(p>=45))||((h==17)&&(p<30)))
{
coi=1;
tiet=12;
ht_tiet();
}
if((h==17)&&(p==30)&&(s<5))
coi=0;
if((h==17)&&(p>30))
{
coi=1;
hien_thi4(0xff,0xff);
}
if(h>=18)
{
coi=1;
hien_thi4(0xff,0xff);
}
}
void main()
{
coi=1;
while(1)
{
updatetime();
Lp: C T6 K11
Trng HCN H Ni
121
Khoa in t
hien_thi2(M[chuc_ngay],M[don_vi_ngay],M[tuan],M[thu_tuan],M[chuc_gio],M[do
n_vi_gio],M[chuc_phut],M[don_vi_phut],M[chuc_giay],M[don_vi]);
hien_thi3(M[don_vi_nam],M[chuc_nam],M[0],M[2]);
hien_thi5(M[chuc_thang],M[don_vi_thang]);
if(ht_thu==0)
{
ht_thu=1;
update_thu(ht_thu);
}
che_do();
if(mode==1)
set_time();
if(mode==7)
{
updatetime();
hien_thi2(M[chuc_ngay],M[don_vi_ngay],M[tuan],M[thu_tuan],M[chuc_gio],M[do
n_vi_gio],M[chuc_phut],M[don_vi_phut],M[chuc_giay],M[don_vi]);
hien_thi3(M[don_vi_nam],M[chuc_nam],M[0],M[2]);
hien_thi5(M[chuc_thang],M[don_vi_thang]);
}
if(h_g==0)
hen_gio();
if(h_g==1)
{
hien_thi1(0xff,0xff,0xff,0xff);
mo=0;
}
if((ht_thu>1)&&(ht_thu<7))
tiet_hoc();
if((ht_thu==1)||(ht_thu==7))
{
SVTH: Trn Th Cnh
Lp: C T6 K11
Trng HCN H Ni
Khoa in t
122
hien_thi4(0xff,0xff);
coi=1;
}
}
}
4 Chng trnh np Proload V4.1.
Download http://www.dung80.com/index_files/page0015.htm
- Bc 1 : Sau khi download v v ci t chng trnh ln h thng my tnh.
- Bc 2 : Chnh thng s ca cng COM ca my tnh nh sau.
+ Tip theo kch chut vo Device Manager v nhn sang bn phi mn hnh ta
nhn p chut vo Port (COM&LPT), ri kch chut phi vo Plolific USB-toSerial Bridge(COM3), bn chn Properties mt ca s xut hin.
Lp: C T6 K11
Trng HCN H Ni
123
Khoa in t
Sau khi thit lp xong thng s cho cng COM, kch p chut vo biu
tng
trn mn hnh Deskop, nu mch kt ni thnh cng chng trnh s bo.
Lp: C T6 K11
Trng HCN H Ni
124
Khoa in t
Lp: C T6 K11
Trng HCN H Ni
125
Khoa in t
72-79
1-70,80-124
Lp: C T6 K11