Đề Cương Ứng Dụng Lập Trình C Cho Vi Điều Khiển 8051

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