Upload
khang-trinh-bui
View
222
Download
0
Embed Size (px)
Citation preview
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
1/111
cng ng dng lp trnh C cho vi iu khin 8051
Bi 1! "g#n ng$ C % &rnh d'ch ()il C
*+ "g#n ng$ C cho vi iu khin
1, -i.i thi/u ng#n ng$ C
&rong k thut lp trnh vi iu khin ni chung, ng#n ng$ lp trnh2c 34 dng thng chi6 l7 lo9i! "g#n ng$ :c th;p v "g#n ng$:c c6o+
"g#n ng$ :c c6o l cng c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
2/111
+1+1 (iu d$ li/u trong C
(iu ZF B?t) (hong gi< tr'
Ch6r 1 [18 % \1]
^n3ign)d ch6r 1 0 % 55
*nt [_]`8 [ \_]`]
^n3ign)d int 0 [ 55_5
aong b [1b]b8_`b8 [ \1b]b8_`b]
^n3ign)d long b 0 % bb`]5lo6t b
e (h6i :
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
3/111
C
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
4/111
Bit 1
Z:it 1
Zzr 8
Zzr1` 1`[ :it ! dng kh6i :
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
5/111
+1+b+ Con tr
(hi t6 kh6i :
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
6/111
(iu d$ li/u c;u trMc l 7Et tp h2p c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
7/111
R6j, :j jbS
Ghp chi6 l;? ph=nd
6:
R6j, :j j1S
++ Ghp to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
8/111
++bGhp
to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
9/111
+_ C;u trMc chng trnh C
+_+1 C;u trMc chng trnh
e C;u trMc
1+ (h6i :
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
10/111
Ioid 76inRS
(h6i :
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
11/111
C
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
12/111
e Ch th' izd)z
Ch th' izd)z n? thng dng :iAn d'ch c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
13/111
)ndiz
c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
14/111
o9n chng trnh 1
)l3)
o9n chng trnh
-ii thPch! nDu di)ufki)n Mng th J4 lP mo9n chng trnh 1 :Antrong cyn 36i th J 4 l mo9n chng trnh 1
\ CKu l/nh lL6 chQn!
C;u trMc! 3itchR:i)nS
c63) gi6ftrif1! c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
15/111
\ Iyng lYp J
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
16/111
2.1. Khi to cho Project.
t9o 1 pro)ct 7.i chQn project New project nh 36u!
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
17/111
Ep tho9i create new project hi/n r6 nh 36u!
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
18/111
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
19/111
&rong n? c 1 lo9t c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
20/111
t9o 7Et l) cod) c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
21/111
2c c46 3 36u!
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
22/111
C
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
23/111
BK? gi trong hnh nhn th;? trong Zourc) -roup 1 c l) I*q^+C+ c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
24/111
Gh=n cuFi cng cV6 c#ng vi/c kh@i t9o l c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
25/111
2.2. Son tho chn! tr"nh.
C
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
26/111
2.#. $i%n &'ch ()t chn! tr"nh.
Z6u khi 3o9n tho Jong nh;n Ctrl\Z nh.+ "h. Jong c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
27/111
:iAn d'ch chng trnh thnh l) c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
28/111
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
29/111
&rong hEp tho9i hi/n r6, hT? ch)ck vo Cr)6t il) nh ch dn!
chQn th t
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
30/111
hin thi c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
31/111
C
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
32/111
ch9? chng trnh c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
33/111
Bi ! iu khin a)d n, a)d ] th6nh v nMt nh;n
*+ in th' a)d n
$i ton3Ghp ni LED dn vi chn P1.0 ca vi iu khin, vit
chn! t"#nh iu khin LED nh$p nh%& vi th'i !ian t"( )* 1+.
\ au thut to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
34/111
Z&sw&
(h@i t9o h/ thFng
Z
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
35/111
hil)Rti7)[[S
e[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[h67 chinh[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[e
void 76inRvoidS
hil)R1S
a)d j :6t :6t a)d
d)l6?R5000S tr) 13
a)d j t6t t6t a)d
d)l6?R5000S tr) 13
**+ GhFi h2p a)d v nMt nh;n
1+ GhFi h2p a)d n v nMt nh;n
$i ton3 -t n L/d c ni vi chn P1.0 ca vi iu
khin. -t cn! t2c 34564 ni vi chn P7.0 v* cn! t2c 348P ni vi
chn P7.1 ca vi iu khin. h9& vit chn! t"#nh iu khin khi
:;t cn! t2c 34564 th# L/d +an!, khi :;t cn! t2c 348P th# L/d t2t.
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
36/111
Zt6rt
a)d j t6t
Zt6rt j 0
Ztop j 0
a)d j t6t
a)d j :6t
\ au thut gii cV6 :i to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
37/111
\ Chng trnh iu khin!
ejjjjjjjjjjjjjjjjjjBo ti)n Julijjjjjjjjjjjjjjjjjjje
includ)s&8J51+h qinh k)7 l) thu vi)n
d)n) :6t 1 qinh nghi6 gi6 tri :6t d)n a)d
d)n) t6t 0 qinh nghi6 gi6 tri t6t d)n a)d
ejjjjjjjjjjjjjjjjjjkh6i :6o:i)njjjjjjjjjjjjjjjjjje
3:it a)d j G10 (h6i :6o :i)n a)d ki)u :it ch6n G1+0
3:it Z&G j G_0 cong t6c Z&G d) t6t a)d
3:it Z&sw& j G_1 cong t6c Z&sw& d) :6t a)d
ejjjjjjjjjjjjjjjjjjj h67chinhjjjjjjjjjjjjjjjjjje
void 76inRvoidS
a)d j t6t :6n d6u t6t a)d
hil)R1S
izRRZ&sw&jj0SRZ&Gjj1SS
a)d j :6t
izRRZ&sw&jj1SRZ&Gjj0SS
a)d j t6t
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
38/111
+ GhFi h2p a)d ] th6nh v nMt nh;n
C
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
39/111
] 1 1 1 1 0 0 0 1 8z
8 0 0 0 0 0 0 0 1 80
0 0 1 0 0 0 0 1 8b
$i ton3
-t c ni vi chn P7.?, h9& );p t"#nh iu khin
> + )@n $n phA> tB 0 n C v* hin th t"n L/d F thanh.
\ au thut gii!
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
40/111
Z&sw&
q)7j0
ct6cjj0
d)7\\
d)7j10
d)7j0
hin thi r6 a)d ] th6nh
\ Chng trnh iu khin!
ejjjjjjjjjjjjjjjjjjBo ti)n Julijjjjjjjjjjjjjjjjjjje
includ)s&8J51+h qinh k)7 l) thu vi)n
ejjjjjjjjjjjjjjjjj(h6i :6o :i)n to6ncucjjjjjjjjjjjjje
3zr d6t6G j 0J0 du li)u l6 G1
76 ] th6nh tu 0 d)n l6
0J81h,0Jczh,0Jh,0J8`h,0Jcch,0J6b,0J60h,0J8zh,0J80h,0J8bh+
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
41/111
3:it ct6c j G_b
un3ign)d ch6r d)7j0
ejjjjjjjjjjjjjjjjjjjj(h6i :6oh67jjjjjjjjjjjjjjjjjje
e[[[[[[[[[[[[[[[[[[[[[[[[[[[[h67d)l6?jjjjjjjjjjjjjjjjjjjjjjjje
void d)l6?Rlong ti7)S
hil)Rti7)[[S
e[[[[[[[[[[[[[[[[[[[[[[chuong trinh con ki)7 tr6 co phi7nh6n[[[[[[[[[[[[[e
void phi7f6nRvoidS
izRct6cjj0S co phi7 nh6n
d)l6?R500S chong rung phi7
hil)Rct6cjj0S Cho nh6 phi7
d)l6?R500S chong rung phi7
d)7\\ t6ng :i)n d)7
izRd)7jj10S d)7j0
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
42/111
e[[[[[[[[[[[[[[[[hi)n thi 3o l6n 6nphi7[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[e
void 3ol6nf6nRvoidS
3itchRd)7S
c63) 0! d6t6Gj0J81:r)6k
c63) 1! d6t6Gj0Jcz:r)6k
c63) ! d6t6Gj0J:r)6kc63) _! d6t6Gj0J8`:r)6k
c63) b! d6t6Gj0Jcc:r)6k
c63) 5! d6t6Gj0J6b:r)6k
c63) `! d6t6Gj0J60:r)6k
c63) ]! d6t6Gj0J8z:r)6k
c63) 8! d6t6Gj0J80:r)6k
c63) ! d6t6Gj0J8b:r)6k
e[[[[[[[[[[[[[[[[[[[[[[[[[chuong trinh
chinh[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[evoid 76inRvoidS
d6t6G j 0J81 :6n d6u l6 3o 0
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
43/111
hil)R1S
phi7f6nRS
3ol6nf6nRS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
44/111
Bi _ in th' aCq, -i6o tiDp :n phP7 )J, in th' 76 trn a)d
*+ aCq
1. 4h5p n6i vi 7i8/ 9hi:n v;i ?2.
@ Bng 7# t 3 chKn cV6 aCq 1`J!
ChKn ( hi/u * x# t
1 I33 [ x633
Icc [ qng ngun 5v
_ I [ C;p ngun iu khin tng ph
b wZ * wZj0 chon th6nh ghi l/nh
wZj1 chon th6nh ghi d$ li/u
5 w * wj1 Qc d$ li/u, wj1 ghi
` * Cho php
] qB0 * Bit d$ li/u
8 qB1 * "t
qB * "t
10 qB_ * "t11 qBb * "t
1 qB5 * "t
1_ qB` * "t
1b qB] * "t
ChKn 15 v 1` l s v (+ " 2c nFi v.i chKn cV6 1 con a)ddng 3
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
45/111
2. N!/%n lB hot 7)n! cCa
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
46/111
[ ChKn qB0[qB]! K? l ng d$ li/u 8 :Pt, 2c dng g4ith#ng tin lAn aCq hoYc Qc nEi dung c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
47/111
#. PhDn l/En tp3
9& vit chn! t"#nh hin th t"n LHDI
DJn! 1 chK MNE4
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
48/111
Hhn! t"#nhI
ejjjjjjjjj:o ti)n Ju lijjjjjjjjjjjjjjje
includ)s&8J51+h
includ)3tring+h
ejjjjjjjjjjjkh6i :6o :i)n to6n cucjjjjjjjjjjjje
3zr aCqd6t6 j 0Js0 cong G, 8 :it du li)u+
3:it B j 0Js] co :6n, :it qB]+
3:it wZ j G_0 chon th6nh ghi
3:it w j G_1 docghi
3:it " j G_ cho ph)p chot du li)u
ejjjjjjjjjjjc6c chuong trinh con cu6aCqjjjjjjjjjje
e[[[[[[[[[[[[[[ki)7 tr6 3u 36n 36ng cu6 aCq[[[[[[[[[[[[[[[[[[[[[[[[e
void 6itRvoidS
wZj0 chon th6nh ghi l)nh
wj1 oc tu aCq
aCqd6t6j0J gi6 tri 0J
hil)RBS ki)7 tr6 co :6n
"j0 du6 Jung c6o Juong th6p ) chot+
"j1 du6 ch6n cho ph)p l)n c6o
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
49/111
e[[[[[[[[[[[[[[[[[[[[[[[[thi)t l6p l)nh cho aCq[[[[[[[[[[[[[[[[[[[[[[[[[[e
void aCqcontrolRun3ign)d ch6r JS
wZj0chon th6nh ghi l)nh
wj0ghi l)n aCq+
aCqd6t6jJ gi6 tri J
"j1cho ph)p 7uc c6o
"j0Jung c6o Juong th6p
6itRSoi aCq 36n 36ng+
e[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[(hoi t6o aCq[[[[[[[[[[[[[[[[[[[[[[[[[e
void aCqinitRvoidS
aCqcontrolR0J_8S dong v6 76 tr6n 5J]
aCqcontrolR0J0)S:6t 76n hinh, :6t con tro
aCqcontrolR0J01SJo6 76n hinh
e[[[[[[[[[[[[[[[[[[[[[[[[[thi)t l6p du li)u cho aCq[[[[[[[[[[[[[[[[[e
void aCqrit)Run3ign)d ch6r cS
wZj1ghi du li)u
wj0ghi du li)u l)n aCq
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
50/111
aCqd6t6jcgi6 tri C
"j1cho ph)p 7uc c6o
"j0Jung c6o Juong th6p
6itRScho
void aCqrit)3Run3ign)d ch6r e3S
un3ign)d ch6r d6t6 l)n3,count
l)n3j3trl)nR3S
zorRcountj0countl)n3count\\S
aCqrit)ReR3\countSS
ejjjjjjjjjjjjjjjjjjjjjchuong trinhtr)jjjjjjjjjjjjjjjje
void d)l6?Rlong ti7)S
hil)Rti7)[[S
ejjjjjjjjjjjjjjjjjjjjjjjjh67chinhjjjjjjjjjjjjjjjjjje
void 76inRvoidS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
51/111
aCqinitRS khoi t6o aCq
aCqcontrolR0J8S du6 con tro d)n vi tri thu b dong 1
aCqrit)RIS
aCqrit)R*S
aCqrit)RS
aCqrit)R&S
aCqrit)R S
aCqrit)R"S
aCqrit)RsS
aCqrit)RxS
aCqcontrolR0JC0S
aCqrit)3RI* q*^ (*"S
hil)R1S vong l6p vo h6n
**+ -i6o tiDp :n phP7 )J R76 trn phP7 bJbS
1+ &hut to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
52/111
+ Chng trnh
9& vit chn! t"#nh Zc >a t";n phA> v* hin thi + th[ tQ
phA> t"n LHD.
Hhn! t"#nhI
ejjjjjjjjj:o ti)n Ju lijjjjjjjjjjjjjjje
includ)s&8J51+h
Mng
&r l9i kDt Xu phP7
T nh;n
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
53/111
includ)3tring+h
d)n) 1 G1f0
d)n) G1f1
d)n) _ G1f
d)n) b G1f_
ejjjjjjjjjjjkh6i :6o :i)n to6n cucjjjjjjjjjjjje
3zr aCqd6t6 j 0Js0 cong G, 8 :it du li)u+
3:it B j 0Js] co :6n, :it qB]+
3:it wZ j G_0 chon th6nh ghi
3:it w j G_1 docghi
3:it " j G_ cho ph)p chot du li)u
includ)aCq+h &hu vi)n aCq tu J6? dung
e[[[[[[[[ h67 doc phi7 nh6n tu 76 tr6n phi7 bJb[[[[[[[[[[[[[[[e
un3ign)d ch6r Ghi7RvoidS
un3ign)d ch6r phi7nh6n, d)7, chot
phi7nh6nj0
chotj18
d)7jb
hil)Rd)7[[S
G1jchot
izR1S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
54/111
d)l6?R500S
phi7nh6njd)7\1
d)l6?R500S
)l3) izRSd)l6?R500S
phi7nh6njd)7\5
d)l6?R500S
)l3) izR_S
d)l6?R500S
phi7nh6njd)7\
d)l6?R500S
)l3) izRbS
d)l6?R500S
phi7nh6njd)7\1_
d)l6?R500S
chotj1
r)turn phi7nh6n
void vi)phi7Run3ign)d ch6r phi7nh6nS
izRphi7nh6n10S
aCqrit)Rphi7nh6n\b8S
)l3)
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
55/111
aCqrit)Rphi7nh6n10\b8S
aCqrit)Rphi7nh6n10\b8S
void 76inRvoidS
un3ign)d ch6r phi7nh6nj0
aCqinitRS
aCqrit)3R6? "h6n Ghi7SaCqcontrolR0JC0S
hil)R1S
phi7nh6njGhi7RS
izRphi7nh6nS
aCqcontrolR0J01S
aCqrit)3R6? "h6n Ghi7S
aCqcontrolR0JC0S
vi)phi7Rphi7nh6nS
***+ in th' 76 trn a)d
1+ &hut to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
56/111
+ K? dLng chng trnh
Bi to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
57/111
qinh nghi6 c6c h6ng 3o
d)n) "h6nh 10
d)n) &rung:inh 5
d)n) Ch67 50
d)n) Cucch67 ]5
d)n) Zi)uch67 150
d)n) xJ6nh 1
d)n) xdo d)n) xc67 _
(h6i :6o 76ng chu hi)n thi
un3ign)d ch6r cod) xcod){5`|j
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,55,1,1,1,1,e a e
0,`_,],1_`,],`_,e s e
0,55,1bb,1bb,1bb,`,e G e
0,
0,18,18,55,18,18,e & e
0,55,1bb,1bb,1bb,111,e w e
0,1,1,55,1,1,e * e0,55,`,b,`,55,e " e
0,55,1`,1`,1`,55,e e
0,
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
58/111
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
59/111
0,
0,55,`,b,`,55,e " e
0,1`,1,1,1_],]8,e - e
0,5b,1,1,1,5b,e ^ e
0,
0,1`,1,1,1,]0,e C e
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
(h6i :6o :i)n to6n cuc
un3ign)d ch6r d6t6 Zt6rt,nd,&ocdol6p,i,,k
un3ign)d ch6r d6t6 xd6t61{_|,xd6t6{_|,x6u
un3ign)d ch6r d6t6 qk1,qk,qk_,qkb,qk5
(h6i :6o ngu?)n 76u c6c h67
void d)l6?Run3ign)d long ti7)S
un3ign)d ch6r xuRun3ign)d ch6r 3o7uS
void qoRun3ign)d ch6r chi3oS
void 6nhRun3ign)d ch6r chi3oSvoid C67Run3ign)d ch6r chi3oS
void qo:?t)Run3ign)d ch6r chi3oS
void 6nh:?t)Run3ign)d ch6r chi3oS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
60/111
void C67:?t)Run3ign)d ch6r chi3oS
void Ch6?chudoRvoidS
void Ch6?chuJ6nhRvoidS
void Ch6?chuc67RvoidS
void Ch6?chuRvoidS
void &6o76ngnh6pnh6?RvoidS
void "h6pnh6?J6nhRvoidSvoid "h6pnh6?c67RvoidS
void "h6pnh6?doRvoidS
void &6o76ngl)nRvoidS
void aJ6nhRvoidS
void adoRvoidS
void ac67RvoidS
void a)nRvoidS
eeeeeeeeeeeeeeeeeex6 nguon c6c h67eeeeeeeeeeeeeeeeeeeeeeeee
67 t6o tr)
void d)l6?Run3ign)d long ti7)S
hil)Rti7)[[S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
61/111
(hoi h67 hi)n thi chu ch6? tu tr6i 36ng ph6i
void 6nhRun3ign)d ch6r chi3oS
CaC(j1
qs&sj0
CaC(j0
GJ6nhjxcod){chi3o|
d)l6?R1S
GJ6nhj0
void qoRun3ign)d ch6r chi3oS
CaC(j1
qs&sj0
CaC(j0
Gdojxcod){chi3o|
d)l6?R1S
Gdoj0
void C67Run3ign)d ch6r chi3oS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
62/111
CaC(j1
qs&sj0
CaC(j0
GJ6nhjxcod){chi3o|
GdojGJ6nh
d)l6?R1S
Gdoj0
GJ6nhj0
void Ch6?chuc67RvoidS
zorRijZt6rt\1iqk1i\\S
&ocdol6pj"h6nh
hil)R&ocdol6p[[S
qs&sj1
qkji\_
zorRjiqk\\SC67RS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
63/111
void Ch6?chuJ6nhRvoidS
zorRijZt6rt\1iqk1i\\S
&ocdol6pj"h6nh
hil)R&ocdol6p[[S
qs&sj1
qkji\_zorRjiqk\\S6nhRS
void Ch6?chudoRvoidS
zorRijZt6rt\1iqk1i\\S
&ocdol6pj"h6nh
hil)R&ocdol6p[[S
qs&sj1
qkji\_
zorRjiqk\\SqoRS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
64/111
void Ch6?chuRvoidS
qk1jnd[_1
izRx6ujjxJ6nhSCh6?chuJ6nhRS
)l3) izRx6ujjxdoSCh6?chudoRS
)l3) Ch6?chuc67RS
(hoi h67 hi)n thi chu nh6p nh6? t6i cho
void C67:?t)Run3ign)d ch6r chi3oS
CaC(j1
qs&sj0
CaC(j0
GJ6nhjxd6t6{chi3o|
GdojGJ6nh
d)l6?R1S
Gdoj0
GJ6nhj0
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
65/111
void qo:?t)Run3ign)d ch6r chi3oS
CaC(j1
qs&sj0
CaC(j0
Gdojxd6t6{chi3o|
d)l6?R1SGdoj0
void 6nh:?t)Run3ign)d ch6r chi3oS
CaC(j1
qs&sj0
CaC(j0
GJ6nhjxd6t6{chi3o|
d)l6?R1S
GJ6nhj0
void "h6pnh6?doRvoidS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
66/111
hil)R&ocdol6p[[S
qs&sj1
zorRkj0k_k\\Sqo:?t)RkS
void "h6pnh6?J6nhRvoidS
hil)R&ocdol6p[[Sqs&sj1
zorRkj0k_k\\S6nh:?t)RkS
void "h6pnh6?c67RvoidS
hil)R&ocdol6p[[S
qs&sj1
zorRkj0k_k\\SC67:?t)RkS
void &6o76ngnh6pnh6?RvoidS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
67/111
zorRij0i_i\\S
xd6t6{i|j0
qkbjnd[Zt6rt
qk5jR_[qkbS
qkbj_[qk5
zorRijqk5iqkbi\\S
xd6t6{i|jxcod){Zt6rt\i[qk5|
void "h6pnh6?RvoidS
un3ign)d ch6r d)7nh6?
d)7nh6?j10
&6o76ngnh6pnh6?RS
hil)Rd)7nh6?[[S
&ocdol6pj"h6nh
izRx6ujjxJ6nhS"h6pnh6?J6nhRS
)l3) izRx6ujjxdoS"h6pnh6?doRS
)l3) "h6pnh6?c67RS
Caswj0
d)l6?R150S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
68/111
Caswj1
(hoi h67 hi)n thi chu di tu duoi l)n
un3ign)d ch6r xuRun3ign)d ch6r 3o7uS
izR3o7uS r)turn 1
)l3) r)turn exuR3o7u[1S
void &6o76ngl)nRvoidS
zorRij0i_i\\S
xd6t6{i|j0
qkbjnd[Zt6rt
qk5jR_[qkbS
qkbj_[qk5
zorRijqk5iqkbi\\S
xd6t61{i|jxcod){Zt6rt\i[qk5|
ij8
void ac67RvoidS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
69/111
un3ign)d ch6r d6t6 d)7
&ocdol6pj&rung:inh
hil)R&ocdol6p[[S
qs&sj1
zorRd)7j0d)7_d)7\\S
CaC(j1qs&sj0
CaC(j0
GJ6nhjxd6t6{d)7|
GdojGJ6nh
d)l6?R1S
GJ6nhj0
Gdoj0
void adoRvoidS
un3ign)d ch6r d6t6 d)7
&ocdol6pj&rung:inh
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
70/111
hil)R&ocdol6p[[S
qs&sj1
zorRd)7j0d)7_d)7\\S
CaC(j1
qs&sj0
CaC(j0
Gdojxd6t6{d)7|d)l6?R1S
Gdoj0
void aJ6nhRvoidS
un3ign)d ch6r d6t6 d)7
&ocdol6pj&rung:inh
hil)R&ocdol6p[[S
qs&sj1
zorRd)7j0d)7_d)7\\S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
71/111
CaC(j1
qs&sj0
CaC(j0
GJ6nhjxd6t6{d)7|
d)l6?R1S
GJ6nhj0
void a)nRvoidS
&6o76ngl)nRS
hil)Ri[[S
zorRjqk5qkb\\S
xd6t6{|j xd6t61{|xuRiS
izRx6ujjxJ6nhSaJ6nhRS
)l3) izRx6ujjxdoSadoRS
)l3) ac67RS
zorRij0i]i\\S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
72/111
zorRjqk5qkb\\S
xd6t6{|j xd6t6{|e
izRx6ujjxJ6nhSaJ6nhRS
)l3) izRx6ujjxdoSadoRS
)l3) ac67RS
e67 chinhevoid 76inRvoidS
&xqj0J01
GJ6nhj0
Gdoj0
G_j1`
hil)R1S
Zt6rtj0ndj1bx6uj_
Ch6?chuRS
Zt6rtj0ndj1]x6uj1
a)nRS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
73/111
Zt6rtj1ndjb8x6uj1
a)nRS
Zt6rtj50ndj`1x6uj1
a)nRS
Zt6rtj`_ndj8]x6uj1
a)nRS
Zt6rtj8ndj118x6uj1
a)nRS
Zt6rtj10ndj1b_x6uj1a)nRS
Zt6rtj1b5ndj1`8x6uj1
a)nRS
Zt6rtj1]0ndj18]x6uj1
a)nRS
Zt6rtj18ndj1bx6uj1
a)nRS
Zt6rtj0ndj1]x6uj
"h6pnh6?RS
Zt6rtj1ndjb8x6uj"h6pnh6?RS
Zt6rtj50ndj`1x6uj
"h6pnh6?RS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
74/111
Zt6rtj`_ndj8]x6uj
"h6pnh6?RS
Zt6rtj8ndj118x6uj
"h6pnh6?RS
Zt6rtj10ndj1b_x6uj
"h6pnh6?RS
Zt6rtj1b5ndj1`8x6uj
"h6pnh6?RS
Zt6rtj1]0ndj18]x6uj"h6pnh6?RS
Zt6rtj18ndj1bx6uj
"h6pnh6?RS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
75/111
Bi 5! -i6o tiDp sqC [ 4 l ngUt
*+ -i6o tiDp sqC
\Chng trnh!
includ)r)gJ51+h
includ)3tring+h
ejjjjjjjjjjjkh6i :6o :i)n to6n cucjjjjjjjjjjjje
3zr aCqd6t6 j 0Js0 cong G, 8 :it du li)u+
3:it B j 0Js] co :6n, :it qB]+3:it wZ j 0J:0 chon th6nh ghi
3:it w j 0J:1 docghi
3:it " j 0J: cho ph)p chot du li)u
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
76/111
includ)acd+h &hu vi)n aCq tu J6? dung
d)n) wq G_f_
d)n) w G_fb
d)n) *"&w G_f5
e[[[[[[[[ 67 tr) [[[[[[[[[[[[[[[e
void d)l6?Rlong ti7)S
hil)Rti7)[[S
e[[[[[[[[ h67 doc phi7 nh6n tu 76 tr6n phi7 bJb[[[[[[[[[[[[[[[e
void vi)Run3ign)d ch6r v6lS
un3ign)d ch6r v6r
izRv6l10S
aCqrit)Rv6l\b8S
)l3) izRv6l100S
aCqrit)Rv6l10\b8S
aCqrit)Rv6l10\b8S
)l3)
v6rjv6l10
aCqrit)Rv6r10\b8S
aCqrit)Rv6r10\b8S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
77/111
aCqrit)Rv6l10\b8S
void 76inRvoidS
un3ign)d ch6r sqCv6lj0
wqj0
aCqinitRS
aCqcontrolR0J8_SaCqrit)3RsqC080bS
hil)R1S
wj1
wj0
hil)R*"&wS
sqCv6ljG1
aCqcontrolR0J01S
aCqcontrolR0J8_S
aCqrit)3RsqC080bS
aCqcontrolR0JC0S
vi)RsqCv6lSd)l6?R5000S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
78/111
**+ ap trnh J4 l ngUt
1. N!Gt ti(er0co/nter.
1.1. c chH to trI cCa ti(er v cch tBnh ton !i tr' np
vo ti(er. a. chH 7) 13
[ @ chD E 1 l :E 'nh thi 1` :it, do c
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
79/111
\ B! tPnh to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
80/111
\ B1! n9p gi< tr' cho th6nh ghi thiDt lp chD E &xq v.iti7)r 7uFn 34 dng+
\ B! n9p vo & gi< tr' 7 :6n =u+
\B_! kh@i Eng :E 'nh thi+\ Bb! ki7 tr6 c :
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
81/111
\ kh6i :-t _un!vun! vi t@n + 1k` i _[n! b0 >[c 1 v* b0 >[c 0 t"nchn P1.0.
e*i !iViI
[ t6 c ! z j 1k & j 110003 j 1000u3 &"j & j & j
500u3+ "h v? chu k Jung l Fi Jng nAn h6i ph=n n? :E D7 D7giFng nh6uRt9o tr khong thi gi6n :>ng nh6uS+ n46 chu k =u :ED7 t9o tr 500u3 cho 7c 0, 36u khi :E D7 D7 Dn gi< tr' nhcV6 th6nh ghi ch6 l th c :
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
82/111
ejjjjjjjjjjjjjkh6i :6o:i)njjjjjjjjjjjjjjjjjjjjje
3:it Jung j G10
ejjjjjjjjjjjjjjkh6i :6o h67jjjjjjjjjjjjjjjjjje
e[[[[[[[[[[[[[[[[[[[[[[[[[[chuong trinh phuc vu ng6t ti7)r0 t6oJung[[[[[[[[[[[[[[[[[[[[e
void ti7)r0fintRvoidS int)rrupt 1
&0j0 Jo6 co :6o tr6n ti7)r0
Jung j Jung t6o 7uc 1 r6 ch6n G1+0&0 j 0Jz) R`55_`[500Sh)J j0z)0c Rth6ch 6nh 1xS
&a0 j 0J0c
ejjjjjjjjjjjjjchuong trinh chinhjjjjjjjjjjjjje
void 76inRvoidS
s j 1 cho ph)p ng6t to6n cuc
&0 j 1 cho ph)p ng6t &0
&xq j 0J01 ti7)r0 ch) do 1
Jung j 0 gi6 tri :6n d6u cu6 Jung 7uon t6o
&0 j 0Jz) R`55_`[500Sh)J j0z)0c Rth6ch 6nh 1xS
&a0 j 0J0c
&w0 j 1 khoi dong ti7)r
hil)R1S GC"j1 khong l67 gi c6 d) doi ng6t+
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
83/111
Bi ton 2: +\ d]n! :- nh th'i vi n!2t ca tXY Wn! hW + hinth )n LHD.
=hn! tr"nh3
ejjjjjjjjjjjjjjjjkh6i :6o thuvi)njjjjjjjjjjjjjjje
includ)r)gJ51+h
includ)3tring+h
d)n) aCqd6t6 G
3:it wZjG_0
3:it wjG_1
3:it "jG_
3:it BjaCqd6t6]
includ)lcd+h
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
84/111
ejjjjjjjjjjjjjkh6i :6o:i)njjjjjjjjjjjjjjjjjjjjje
un3ign)d ch6r d6t6 &i7){8|
un3ign)d ch6r d6t6 i
ejjjjjjjjjjjjjjkh6i :6o h67jjjjjjjjjjjjjjjjjje
void &1073RvoidS int)rrupt 1 u3ing 0
&w0j0
&0j0Jq8
&a0j0J
&w0j1
izR&i7){0|jjS
&i7){0|j0
izR&i7){1|jjS
&i7){1|j0izR&i7){|jjS
&i7){|j0
izR&i7){_|jj5S
&i7){_|j0
izR&i7){b|jjS
&i7){b|j0izR&i7){5|jj5S
&i7){5|j0
izR&i7){`|jj&i7){]|S
&i7){`|j0
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
85/111
&i7){]|\\
)l3)izR&i7){`|jj_&i7){]|jjS
&i7){`|j0&i7){]|j0
)l3) &i7){`|\\
)l3) &i7){5|\\
)l3) &i7){b|\\
)l3) &i7){_|\\
)l3) &i7){|\\
)l3) &i7){1|\\
)l3) &i7){0|\\
aCqrit)R&i7){]|\b8SaCqrit)R&i7){`|\b8SaCqrit)R!S
aCqrit)R&i7){5|\b8SaCqrit)R&i7){b|\b8SaCqrit)R!S
aCqrit)R&i7){_|\b8SaCqrit)R&i7){|\b8SaCqrit)R!S
aCqrit)R&i7){1|\b8SaCqrit)R&i7){0|\b8S
aCqcontrolR0JC0S
ejjjjjjjjjjjjjjChuong trinh chinhjjjjjjjjjjjjjjjjjje
void 76inRS
&xqj1sj1
&0j1
&0j0Jq8
&a0j0J
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
86/111
zorRij0i8i\\S&i7){i|j0
aCqinitRS
aCqrit)3Rqong ho 3oS
aCqcontrolR0JC0S&w0j1
hil)R1SGC"j1
2.
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
87/111
2.2. cch lp tr"nh3
[ lp trnh cho ngUt cV6 vi iu khin t6 phi thLc 3L hi/u :nch;t cV6 ngUt v Xu< trnh thLc hi/n ngUt cV6 vi iu khin din r6+
[ 7u viDt h7 ngUt nh 36u!Ioid n67)RvoidSint)rrupt JRJ l 3F th tL ngUt ngoi J j 0 hoYc
S
chng trnh phc v ngUt
[ &rong chng trnh chPnh t6 phi c th6o t
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
88/111
e*i !iViI
ejjjjjjjjjjjjjjjjjjBo ti)n Ju
lijjjjjjjjjjjjjjjjjjjeinclud)s&8J51+h qinh k)7 l) thu vi)n
d)n) :6t 1 qinh nghi6 gi6 tri :6t d)n a)d
d)n) t6t 0 qinh nghi6 gi6 tri t6t d)n a)d
ejjjjjjjjjjjjjjjjjjkh6i :6o:i)njjjjjjjjjjjjjjjjjje
3:it a)d1 j G10 (h6i :6o :in a)d kiu :it ch6n G1+0
3:it a)d j G11 (h6i :6o :in a)d kiu :it ch6n G1+0
ejjjjjjjjjjjjjjjjj (h6i :6oh7jjjjjjjjjjjjjjjjjje
e[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[h67 tr) [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[e
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
89/111
void d)l6?Rlong ti7)S
hil)Rti7)[[S
void *"&f0RvoidS int)rrupt 0 chuong trinh phuc vu ng6t
a)d1jt6t
a)dj:6t
d)l6?R5000S
a)d1j:6ta)djt6t
e[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[h67 chinh[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[e
void 76inRvoidS
sj1 cho ph)p ng6t to6n cuc0j1 cho ph)p ng6t ngo6i 0
*&0j1 ng6t kich ph6t 3uon
a)d1j:6t
a)djt6t
hil)R1S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
90/111
Bi `! iu khin Eng c qC, Eng c Z)rvo, Eng c :.c
1+ #ng c qC
+ Eng c Z)rvo
_+ Eng c :.c RZt)p 7otorS
iu khin Eng c :.c v.i tFc E t~ng d=n t 5 Dn 100 vp, 7il=n chu?n tFc E t~ng 5vp thi gi6n chu?n 13, hin th' tFc E trAnaCq+
\ Chng trnh!
includ)r)gJ51+h
includ)3tring+h
d)n) aCqd6t6 G
3:it wZjG_0
3:it wjG_1
3:it "jG_
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
91/111
3:it BjaCqd6t6]
includ)lcd+h
un3ign)d ch6r d6t6 B?t)c6o1,B?t)th6p1
un3ign)d ch6r d6t6 Buoc,":uoc
un3ign)d ch6r d6t6 x:uoc{b|j1bb,1,`,b8
void vi)3p))dRun3ign)d ch6r 3p))dS
void ul?Run3ign)d ch6r "3p))dS
void qkdongcoRvoidS int)rrupt 1 u3ing 0
&w0j0
&0jB?t)c6o1
&a0jB?t)th6p1
&w0j1
G1jx:uoc{Buoc|
Buoc\\
izRBuocjjbSBuocj0
void ul?Run3ign)d ch6r 3p))dS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
92/111
un3ign)d int d6t6 Chuki1,Chuki
un3ign)d int d6t6 t671,t67
&w0j0
vi)3p))dR3p))dS
":uocj00
t67j10000":uoc
t671j`0003p))d
Chuki1jt671et67
Chukij`55_5[Chuki1B?t)c6o1jChuki5`
B?t)th6p1jChuki5`
&w0j1
void d)l6?Run3ign)d long ti7)S
hil)Rti7)[[S
void vi)3p))dRun3ign)d ch6r 3p))dS
un3ign)d ch6r d6t6 61,6
aCqcontrolR0Jc0S
61j3p))d10
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
93/111
3p))dj3p))d10
6j3p))d10
3p))dj3p))d10
aCqrit)R3p))d\b8S
aCqrit)R6\b8S
aCqrit)R61\b8S
aCqrit)3RRvongphutSS
void 76inRS
un3ign)d ch6r d6t6 i
&xqj1]
sj1
aCqinitRS
&0j1
aCqcontrolR0J80S
aCqrit)3RC& q( qC :uoc S
aCqcontrolR0Jc0S
aCqrit)3RI!5[100RvpSS
d)l6?R100000S
hil)R1S
Buocj
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
94/111
zorRij5i101iji\5S
aCqcontrolR0J01S
aCqcontrolR0J80S
aCqrit)3RC& q( qC :uoc S
ul?RiS
d)l6?R500000S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
95/111
Bi ]! -i6o tiDp Ii iu khin v.i x
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
96/111
l:i)nthi+or)Color j
l3)*z Rc:color+&)Jt j x6u J6nhS &h)n
x6u j
tJtchu+or)Color j v:-r))n
l:i)nthi+or)Color j 00
l3)*z Rc:color+&)Jt j x6u c67S &h)n
x6u j _
tJtchu+or)Color j 80
l:i)nthi+or)Color j 80 nd *z
nd Zu:
Griv6t) Zu: c:colorf-otocu3RS
Z)nd()?3 q"
nd Zu:
Griv6t) Zu: c7dCod)fClickRS
x3gBoJ Cod)RtJtchuS
nd Zu:
Griv6t) Zu: c7dJitfClickRS
*z xZCo771+Gortp)n &h)n
xZCo771+Gortp)n j 6l3)
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
97/111
nd *z
nd
nd Zu:
unction Cod)R3 s3 ZtringS s3 Ztring
qi7 i s3 *nt)g)r
3 j w)pl6c)R3, , S
or i j 1 &o a)nR3S
Cod) j Cod) s3cRxidR3, i, 1SS ")Jt
nd unction
Griv6t) Zu: p)nGortRS
qi7 3 s3 Ztring
xZCo771+Z)tting3 j 5]`00,",8,1
xZCo771+Co77Gort j 1
xZCo771+Gortp)n j &ru)
xZCo771+*nputa)n j 0
3 j xZCo771+*nput
x3gBoJ Gort did op)n
nd Zu:
Griv6t) Zu: c7dp)nportfClickRS
*z xZCo771+Gortp)n &h)n
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
98/111
xZCo771+Gortp)n j 6l3)
nd *z
p)nGort
nd Zu:
Griv6t) Zu: c7dZ)ndfClickRS
qi7 3 s3 Ztring
*z xZCo771+Gortp)n j 6l3) &h)n
x3gBoJ Gort did not op)n
p)nGort
nd *z
*z xZCo771+Gortp)n &h)n
tJtchu+&)Jt j ^C63)RtJtchu+&)JtS
3 j ChrRx6uS ChrRa)nRtJtchu+&)JtSS tJtchu+&)Jt ChrR55S
qo hil) RxZCo771+utBu)rCount 0S
aoop
xZCo771+utput j 3
nd *z
nd Zu:
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
99/111
Griv6t) Zu: c7dZtopfClickRS
xZCo771+utput j ChrR50S
x3gBoJ Gort Ztop)d
nd Zu:
Griv6t) Zu: or7fao6dRS
tJtchu+or)Color j v:w)d
tJtchu+&)Jt j q s" -G "*
x6u j 1
nd Zu:
Griv6t) Zu: or7fw)3i)RS
*z Rx)+indoZt6t) j 1S &h)n
x)+)ight j b000
x)+idth j ]_0
nd *z
nd Zu:
Griv6t) Zu: tJtchuf-otocu3RS
tJtchu+Z)lZt6rt j 0
tJtchu+Z)la)ngth j a)nRtJtchuS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
100/111
nd Zu:
+ Chng trnh vi iu khin
\ &hut to
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
101/111
`5,0,`_,],1_`,],`_,e s e
``,0,55,1b5,1b5,1b5,110,e B e
`],0,1`,1,1,1,]0,e C e
`8,0,55,1,1,1,1`,e q e
`,0,55,1b5,1b5,1b5,1,e e
]0,0,55,1bb,1bb,1bb,18,e e
]1,0,1`,1,1,1_],]8,e - e
],0,55,1`,1`,1`,55,e e
]_,0,1,1,55,1,1,e * e]b,0,,1,1_0,5,18,e e
]5,0,55,b,_`,``,1,e ( e
]`,0,55,1,1,1,1,e a e
]],0,55,`b,_,`b,55,e x e
]8,0,55,`,b,`,55,e " e
],0,1`,1,1,1,1`,e e
80,0,55,1bb,1bb,1bb,`,e G e
81,0,1`,1,1__,1_0,15,e e
8,0,55,1bb,1bb,1bb,111,e w e
8_,0,8,1bb,1bb,1bb,]8,e Z e
8b,0,18,18,55,18,18,e & e85,0,5b,1,1,1,5b,e ^ e
8`,0,5,,_,,5,e I e
8],0,55,1,_,1,55,e e
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
102/111
88,0,1,b0,1`,b0,1,e e
8,0,b,1`,15,1`,b,e e
0,0,1_1,1__,15_,1`1,1_e e
eeeeeeeqinh nghi6 c6c ch6n v6 c6c cong di)u khi)neeeee
3zr GJ6nhj0J0
3zr Gdoj0Js0
3:it Cl)6rjG_b3:it q6t6jG__
3:it ClockjG_
eeeeeeeeeeeeee(h6i :6o :i)n to6n cuceeeeeeeeeeeee
un3ign)d ch6r d6t6 (tnh6n,nh6n76u,,i,x6Jc,Count,na6p
un3ign)d ch6r d6t6 x6u,Ch6?,t67,d)7
un3ign)d ch6r d6t6 xC{]`|,x{_|
eeeeeeeeee(hoi h67 chuong trinheeeeeeeeee
67 ng6t noi ti)p
void "g6tnoiti)pRvoidS int)rrupt b u3ing 0
izRw*Sw*j0
t67jZB^
izRt67jj50S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
103/111
Ch6?j1ijj]]d)7j8
Countj0
Cl)6rj0
)l3)
izRnh6n76uS
x6ujt67
Ch6?j1ijj]]d)7j8
Countjnh6n76uj0
G1jGj0Cl)6rj0
)l3) izRt67jj55S
Cl)6rj1
Ch6?j0
(tnh6njnh6n76uj1
)l3)
izR(tnh6nS
x6Jcjt67
(tnh6nj0
)l3) izRCount]`Countx6JcS
xC{Count|jt67Count\\
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
104/111
void (hoit6oRvoidS
GC"j18
sj1
Zj1
Zx0j0Zx1j1
(tnh6njnh6n76uj1
Ch6?j1
G0jG1jGj0
G_f0j1
na6pj1
67 t6o tr)
void d)l6?RvoidS
un3ign)d ch6r d6t6 iij10
hil)Ri[[S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
105/111
67 hi)n thi 76u c67
void C67RvoidS
hil)Rna6p[[S
q6t6j1
zorRj0_\\S
Clockj1
q6t6j0Clockj0
GdojGJ6nhjx{|
d)l6?RS
GJ6nhjGdoj0
67 hi)n thi 76u J6nh
void 6nhRvoidS
hil)Rna6p[[S
q6t6j1
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
106/111
zorRj0_\\S
Clockj1
q6t6j0
Clockj0
GJ6nhjx{|
d)l6?RS
GJ6nhj0
67 hi)n thi 76u do
void qoRvoidS
hil)Rna6p[[S
q6t6j1
zorRj0_\\S
Clockj1
q6t6j0
Clockj0
Gdojx{|
d)l6?RS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
107/111
Gdoj0
67 th6? doi 76ng hi)n thi
void ch6ng)RvoidS
x{0|jx{1|x{1|jx{|x{|jx{_|x{_|jx{b|
x{b|jx{5|x{5|jx{`|x{`|jx{]|x{]|jx{8|x{8|jx{|x{|jx{10|x{10|jx{11|x{11|jx{1|
x{1|jx{1_|x{1_|jx{1b|x{1b|jx{15|x{15|jx{1`|
x{1`|jx{1]|x{1]|jx{18|x{18|jx{1|x{1|jx{0|
x{0|jx{1|x{1|jx{|x{|jx{_|x{_|jx{b|
x{b|jx{5|x{5|jx{`|x{`|jx{]|x{]|jx{8|
x{8|jx{|x{|jx{_0|x{_0|jx{_1|
67 ti7 vitri ki tu hi)n thi trong :6ng chu c6i v6 chu 3o
un3ign)d ch6r Chi3oRun3ign)d ch6r chrS
un3ign)d ch6r d6t6 nd,Zt6rt,xid,xct67
izRchrjjxch6r{0|{0|S
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
108/111
r)turn 0
)l3) izRchrjjxch6r{_5|{0|S
r)turn _5
)l3)
ndj_5
Zt6rtj0
hil)R1S
xidjRnd\Zt6rtS
xct67jxch6r{xid|{0|izRchrjjxct67S
r)turn xid
)l3) izRchrxct67S
ndjxid
)l3)
Zt6rtjxid
void Ch6?chuRvoidS
un3ign)d ch6r vitri
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
109/111
zorRj0_\\S
x{|j0
zorRij0iCounti\\S
izRxC{i|jj_S
ch6ng)RS
x{_1|j0
izRx6ujjxJ6nhS6nhRS)l3) izRx6ujjxdoSqoRS
)l3) C67RS
ch6ng)RS
x{_1|j0
izRx6ujjxJ6nhS6nhRS
)l3) izRx6ujjxdoSqoRS
)l3) C67RS
)l3)
vitrijChi3oRxC{i|S
zorRd)7j1d)7]d)7\\S
ch6ng)RSx{_1|jxch6r{vitri|{d)7|
izRx6ujjxJ6nhS6nhRS
)l3) izRx6ujjxdoSqoRS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
110/111
)l3) C67RS
izRCh6?S
zorRij0i_i\\S
ch6ng)RS
x{_1|j0
izRx6ujjxJ6nhS6nhRS)l3) izRx6ujjxdoSqoRS
)l3) C67RS
Chuong trinh chinh
void 76inRS
(hoit6oRS
w"j1
hil)R1Shil)RCh6?S
Ch6?chuRS
7/24/2019 Cng ng Dng Lp Trnh C Cho Vi iu Khin 8051
111/111