giao trinh thuc hanh vi dieu khien 8051

150
1 TRƢỜNG CAO ĐẲNG NGHCÔNG NGHCAO HÀ NI HÀ NI - 2011 MÔ ĐUN: VI ĐIỀU KHIỂN 8051 Mã số: MĐ 36 NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP Trình độ Trung cp nghvà Cao đẳng ngh

Upload: khoanh-khac-binh-yen

Post on 24-Nov-2015

266 views

Category:

Documents


13 download

TRANSCRIPT

  • 1

    TRNG CAO NG NGH CNG NGH CAO H NI

    H NI - 2011

    M UN: VI IU KHIN 8051 M s: M 36

    NGH: IN T CNG NGHIP

    Trnh Trung cp ngh v Cao ng ngh

  • 2

    M ti liu:.

    M quc t ISBN :..

    M ti liu:.

    M quc t ISBN :..

    Tuyn b bn quyn :

    Ti liu ny thuc loi sch gio trnh.

    Cho nn cc ngun thng tin c th c

    php dng nguyn bn hoc trch dng cho

    cc mc ch v o to v tham kho .

    Mi mc ch khc c lch lc

    hoc s dng vi mc ch kinh doanh thiu

    lnh mnh s b nghim cm.

    Trng Cao ng ngh Cng ngh cao

    H Ni s lm mi cch bo v bn

    quyn ca mnh.

    Trng Cao ng ngh Cng ngh cao

    H Ni cm n v hoan nghnh cc thng

    tin gip cho vic tu sa v hon thin tt

    hn ti liu ny.

    a ch lin h:

    Trng Cao ng ngh Cng ngh cao

    H Ni

    Ty M - T Lim H Ni

    www.hht.edu.vn

  • 3

    LI NI U

    Vi iu khin l mt trong nhng mn chuyn ngnh v mang tnh c th ca

    nghnh in T Cng Nghip. Hin nay trn th gii ngy cng c rt nhiu loi vi

    iu khin ca cc hng khc nhau ra i chng hn: vi iu khin 8051 ca hng

    Atmel, AVR ca Atmel, PIC ca Microchip, H8 ca hng Hitachi, ARM ca Texas

    Intrusment vv

    Trong nhiu nm tm huyt vi dy ngh, chng ti cp nht cc loi m

    hnh vi iu khin tin ch hin i ca cc nc, cc cng ty thit b dy ngh Vit

    Nam. Mt trong nhng m hnh vi iu khin c bn hin nay s dng li vi s l

    8086 ang c s dng dy hc rt ph bin rt nhiu trng i Hc v Cao

    ng trong c nc l vi iu khin AT89S52. V cng c ng dng vo vic

    dy hc trng CN Cng ngh cao H Ni. i i vi cc thit b ny th cn phi

    c cc cun ti liu hng dn thc hnh, thao tc v cc bi tp c bn trn cc m

    hnh.

    V vy chng ti bin son ra cun gio trnh M un mn hc Vi iu Khin

    8051 ph hp vi mi trnh o to ca trng Cao ng ngh, trung cp ngh, s

    cp ngh. Trong gio trnh cung cp tt c cc kin thc lin quan n hng dn s

    dng, cc thao tc u ni, cc bi thc hnh t c bn n nng cao, cc thut ton

    lp trnh t d n kh vi cc ngoi vi h tr ca AT89S52. Vi cun sch ny ngi

    hc c th t thao tc v d dng thc hin bi hc ca mnh. Ngoi ra trong cun sch

    cn c cc bi tp tham kho m ngi hc c th tm hiu v da theo vo thc

    hin bi hc ca mnh

    Mc ch ca cun gio trnh l nhm nng cao kin thc v ni dung hc tp,

    kh nng t hc cho ngi hc, gim bt cc ln thao tc hng dn thc hnh ca

    ngi dy. T s lm tng tnh hiu qu v cht lng ca m un hc tp.

    H Ni, ngy . thng. nm.

    CC TC GI

    Hong c Long

    m Hng Dun

  • 4

    MC LC

    GII THIU V M UN VI IU KHIN 8051 ........................................... 10

    M m un: M 36 ........................................................................................... 10

    Thi lng: 120h (60h l thuyt v 60h thc hnh) ......................................... 10

    V tr, ngha, vai tr m un: .......................................................................... 10

    Mc tiu ca m un: ........................................................................................ 10

    Mc tiu thc hin ca m un: ........................................................................ 10

    Ni dung chnh ca m un: ............................................................................. 10

    S QUAN H TRNH T HC NGH IN T CNG NGHIP ......... 11

    CC HNH THC HC TP CHNH ............................................................... 12

    TRONG M UN/MN HC ............................................................................ 12

    1. Lm vic c lp. ......................................................................................... 12

    2. Hot ng theo nhm. ................................................................................... 12

    3. Nghin cu pht trin ng dng .................................................................... 12

    YU CU V NH GI HON THNH ...................................................... 13

    M UN/MN HC .......................................................................................... 13

    BI 1 ..................................................................................................................... 14

    Gii thiu: .......................................................................................................... 14

    Mc tiu thc hin: ............................................................................................ 14

    Ni dung chnh: ................................................................................................. 14

    1. Cc linh kin dng trong s mch. ....................................................... 14

    Hnh 1.1 S mch khi MCU s dng AT89S52. ....................................... 15

    BI 2 ..................................................................................................................... 18

    Gii thiu: .......................................................................................................... 18

    Mc tiu thc hin: ............................................................................................ 18

    Ni dung chnh: ................................................................................................. 18

    1. S mch v l thuyt iu khin led n. ............................................. 18

    Hnh 2.1 S nguyn l mch led n ........................................................... 18

    Bng 2.1 Bng m iu khin led n .............................................................. 19

  • 5

    2. Bi tp thc hnh: Lp trnh iu khin led n vi cng vo ra ca

    AT89S52. ................................................................................................................ 20

    Hnh 2.2 Lu thut ton lp trnh iu khin Led n. ................................ 20

    BI 3 ..................................................................................................................... 23

    Gii thiu: .......................................................................................................... 23

    Mc tiu thc hin: ............................................................................................ 23

    Ni dung chnh: ................................................................................................. 23

    1. S mch v cch kim tra nt nhn. ..................................................... 23

    Hnh 3.1 S nguyn l mch nt nhn. ........................................................ 23

    Bng 3.1 Bng m s liu ca nt nhn ............................................................ 24

    2. Bi tp thc hnh: Lp trnh c d liu t nt nhn iu khin led n . 24

    Hnh 3.2 Lu thut ton lp trnh kim tra nt nhn iu khin led n. .... 25

    BI 4 ..................................................................................................................... 31

    Gii thiu: .......................................................................................................... 31

    Mc tiu thc hin: ............................................................................................ 31

    Ni dung chnh: ................................................................................................. 31

    1. S mch v cch qut bn phm HEXA. .............................................. 31

    Hnh 4.1 S nguyn l mch bn phm Hexa. .............................................. 31

    Bng 4.1 Bng m iu khin v m d liu u ra bn phm Hexa ................ 32

    2 Bi tp thc hnh: Lp trnh c d liu t bn phm iu khin led n . 33

    Hnh 4.2 Lu thut ton lp trnh c bn phm hexa iu khin led n ... 34

    BI 5 ..................................................................................................................... 43

    Gii thiu: .......................................................................................................... 43

    Mc tiu thc hin: ............................................................................................ 43

    Ni dung chnh: ................................................................................................. 43

    1. S mch v l thuyt iu khin mn hnh led 7 thanh. ....................... 43

    Hnh 5.1 S nguyn l mn hnh LED 7 thanh. ........................................... 44

    Bng 5.1 Bng m hin th s ln led 7 thanh ................................................... 45

    Bng 5.2 Bng m iu khin led 7 thanh ......................................................... 45

  • 6

    2. Bi tp thc hnh: Lp trnh c d liu t bn phm hin th ln mn hnh

    led 7 thanh. .............................................................................................................. 46

    Hnh 5.2 Lu thut ton lp trnh iu khin mn hnh led 7 thanh. ........... 47

    BI 6 ..................................................................................................................... 52

    Gii thiu: .......................................................................................................... 52

    Mc tiu thc hin: ............................................................................................ 52

    Ni dung chnh: ................................................................................................. 53

    1. S mch v l thuyt iu khin mn hnh led ma trn. ....................... 53

    Hnh 6.1 S nguyn l mn hnh LED ma trn. ........................................... 53

    Bng 6.1 Bng m iu khin qut hng ca led ma trn ................................. 54

    Bng 6.2 Bng m phng ch hin th trn led ma trn .................................... 55

    2. Bi tp thc hnh: Lp trnh hin th cc k t ln trn mn hnh led ma

    trn .......................................................................................................................... 56

    Hnh 6.2 Lu thut ton c bn phm hexa hin th ln led ma trn .......... 57

    BI 7 ..................................................................................................................... 64

    Gii thiu: .......................................................................................................... 64

    Mc tiu thc hin: ............................................................................................ 65

    Ni dung chnh: ................................................................................................. 65

    1. S mch v l thuyt iu khin mn hnh LCD16x2. ......................... 65

    Hnh 7.1 S nguyn l mn hnh LCD16x2 ................................................. 66

    Bng 7.1 Bng chc nng cc chn ca LCD16x2 ........................................... 67

    Bng 7.2 Bng m lnh iu khin LCD16x2 .................................................. 68

    Bng 7.3 Bng m k t hin th ln trn LCD16x2 ......................................... 69

    3. Bi tp thc hnh: Lp trnh hin th cc k t ln trn mn hnh

    LCD16x2. ............................................................................................................... 70

    Hnh 7.2 Lu thut ton lp trnh mt my tnh in t .............................. 70

    BI 8 ..................................................................................................................... 80

    Gii thiu: .......................................................................................................... 80

    Mc tiu thc hin: ............................................................................................ 80

    Ni dung chnh: ................................................................................................. 80

  • 7

    1. S mch v cch c d liu t b ADC0804. ..................................... 80

    Hnh 8.1 S nguyn l mch chuyn i tng t s ADC0804 ................. 80

    2. Bi tp thc hnh: Lp trnh giao tip vi b bin i ADC0804. ............ 81

    Hnh 8.2 Lu thut ton lp trnh b o nhit hin ln LCD16x2. ......... 83

    BI 9 ..................................................................................................................... 89

    Gii thiu: .......................................................................................................... 89

    Mc tiu thc hin: ............................................................................................ 89

    Ni dung chnh: ................................................................................................. 89

    1. S mch v l thuyt iu khin b DAC0808. ................................... 89

    Hnh 9.1 S nguyn l mch chuyn i s tng t DAC0808 ................. 90

    2. Bi tp thc hnh: Lp trnh giao tip vi b bin i DAC0808. ............ 90

    Hnh 9.2 Lu thut ton iu khin b bin i DAC0808 ......................... 91

    BI 10 ................................................................................................................. 102

    Gii thiu: ........................................................................................................ 102

    Mc tiu thc hin: .......................................................................................... 102

    Ni dung chnh: ............................................................................................... 102

    1. S mch v l thuyt iu khin ng c bc. ................................. 102

    Hnh 10.1 S nguyn l mch iu khin ng c bc. .......................... 103

    Hnh 10.2 Hnh nh thc t ng c bc ...................................................... 103

    Hnh 10.3 Gin xung iu khin ng c bc ......................................... 104

    2. Bi tp thc hnh: Lp trnh iu khin ng c bc. ........................... 106

    Hnh 10.4 Lu thut ton iu khin ng c bc ................................... 106

    BI 11 ................................................................................................................. 113

    Gii thiu: ........................................................................................................ 113

    Mc tiu thc hin: .......................................................................................... 113

    Ni dung chnh: ............................................................................................... 114

    1. S mch v cch thc truyn thng UART ........................................ 114

    Hnh 11.1 S nguyn l mch giao tip my tnh RS232. ......................... 115

    Hnh 11.2 S la chn ngun xung tc BAUD t Timer ..................... 117

  • 8

    Bng 11.1 Bng la chn ngun xung tc BAUD ..................................... 117

    Bng 11.2 Bng gi tr tnh ton tc BAUD t Timer1 ............................. 118

    Hnh 11.3 S khi ngun xung cung cp tc BAUD t Timer2 ........... 119

    Bng 11.3 Bng gi tr tnh ton tc BAUD t Timer2 ............................. 120

    2. Bi tp thc hnh: Lp trnh giao tip vi my tnh. ............................... 120

    Hnh 11.4 Lu thut ton c nhit v hin th ln my tnh. ............... 121

    BI 12 ................................................................................................................. 127

    Gii thiu: ........................................................................................................ 127

    Mc tiu thc hin: .......................................................................................... 127

    Ni dung chnh: ............................................................................................... 128

    1. S mch v cch thc khi to ch ngt ........................................ 128

    Hnh 12.1 S mch cc chn vo ra ca AT89S51 .................................... 128

    2. Bi tp thc hnh: Lp trnh m sn phm trong mt khong thi gian

    nht nh s dng ngt ngoi. ............................................................................... 134

    Hnh 12.2 Lu thut ton lp trnh b m sn phm ................................ 134

    BI 13 ................................................................................................................. 139

    Gii thiu: ........................................................................................................ 139

    Mc tiu thc hin: .......................................................................................... 139

    Ni dung chnh: ............................................................................................... 139

    1. Bi tp thc hnh: Lp trnh mt b o v khng ch nhit . .............. 139

    Hnh 13.1 Lu thut ton b o v khng ch nhit ............................. 140

    BI 14 ................................................................................................................. 141

    Gii thiu: ........................................................................................................ 141

    Mc tiu thc hin: .......................................................................................... 141

    Ni dung chnh: ............................................................................................... 141

    1. Bi tp thc hnh: Lp trnh mt b iu khin ng c bc ............... 141

    Hnh 14.1 Lu thut ton lp trnh b iu khin ng c bc. .............. 142

    PHC LC ......................................................................................................... 144

    Ph lc 1: Hng dn s dng phn mm vit chng trnh Keil C. ............. 144

  • 9

    Ph lc 2: Hng dn s dng phn mn np chp:........................................ 148

    TI LIU THAM KHO .................................................................................. 150

  • 10

    GII THIU V M UN VI IU KHIN 8051

    M m un: M 36

    Thi lng: 120h (60h l thuyt v 60h thc hnh)

    V tr, ngha, vai tr m un:

    - V tr ca m un: M un c b tr dy sau khi hc song mn vi x l v

    hc trc mn vi mch s lp trnh

    - ngha ca m un: Cung cp cho sinh vin cc kin thc lin quan n vi

    iu khin, cc cu trc lp trnh v lm vic vi cc thanh ghi ca vi iu khin.

    - Vi tr ca m un: y l m un hc bt buc v l mn tin c th

    hc v nghin cu sang cc dng vi iu khin khc cao cp hn.

    Mc tiu ca m un:

    - Vn hnh c cc thit b v dy chuyn sn xut dng vi iu khin

    - Xc nh c cc nguyn nhn gy ra h hng sy ra trong thc t.

    - Kim tra v vit c cc chng trnh iu kin.

    Mc tiu thc hin ca m un:

    - Gim thiu thao tc hng dn v phn tch bi hc ca gio vin

    - Tng cng tnh t hc v t duy phn tch bi ton ca sinh vin.

    Ni dung chnh ca m un:

    Bi 1: Tng quan v khi MCU

    Bi 2: iu khin LED n

    Bi 3: c v kim tra nt nhn

    Bi 4: c d liu t bn phm Hexa

    Bi 5: iu khin mn hnh led 7 thanh

    Bi 6: iu khin mn hnh led ma trn

    Bi 7: iu khin mn hnh LCD16x2

    Bi 8: c d liu t b bin i ADC0804

    Bi 9: iu khin b chuyn i DAC0808

    Bi 10: iu khin ng c bc

    Bi 11: Giao tip ni tip UART

    Bi 12: iu khin ngt

    Bi 13: Lp trnh o v khng ch nhit

    Bi 14: Lp trnh b iu khin ng c bc

  • 11

    S QUAN H TRNH T HC NGH IN T CNG NGHIP

    Ghi ch: Chng trnh mn hc c sp xp tun t t c bn n nng cao v c tnh k tha, cc mn hc k trc s b

    xung v h tr cho cc mn hc k sau. V vy sinh vin phi lm chc c kin thc ca cc mn hc k trc tip thu v pht

    trin mn hc mi mt cch d dng hn, t duy sng to hn.

    Ghp ni MT

    T nng cao

    Profibus

    VK PIC

    FPGA

    PLC nng cao

    Thc tp TN

    n

    Gio dc QP

    Chnh tr

    Php lut

    Th dc

    Ting anh

    Tin hc C

    V k thut

    in k thut

    Linh kin T

    o lng T

    K thut in

    t

    An ton L

    V in

    in c bn

    Vi mch TT

    K thut XS

    My in

    Trang b in

    Lp trnh C

    Thit k mch

    in t CB

    Tin hc VP

    K thut CB

    in t CS

    Thc tp xung

    s

    Vi x l

    Thc t

    PLC

    VK 8051

    Thc tp SX

    Ra trng

  • 12

    CC HNH THC HC TP CHNH

    TRONG M UN/MN HC

    1. Lm vic c lp.

    - Sinh vin phi c tinh thn t gic cao.

    - m bo hiu qu cng vic v bi tp c giao.

    - Trung thc trong qu trnh hc tp v thi.

    2. Hot ng theo nhm.

    - T t chc hot ng theo nhm t 3 n 5 ngi.

    - Cc thanh vin trong nhm phi c thc k lut v on kt

    - C trch nhim trong cng vic ca nhm v bit chia s ti liu, kin thc.

    3. Nghin cu pht trin ng dng

    - Sinh vin c th t chc nghin cu tp th hoc c nhn pht trin mt ng

    dng thc tin lin quan n cc ni dung hc.

    -Trong qu trnh nghin cu i hi s nhy bn, trao i thng thn v vn

    ang vng mc hoc hng i nh th no t n ch.

  • 13

    YU CU V NH GI HON THNH

    M UN/MN HC

    Sau khi hc xong m un mn hc ny ngi hc cn phi t c cc yu cu

    sau y:

    1. Lp trnh v iu khin thnh tho cc chn vo ra ca AT89S52.

    2. Lp trnh v iu khin c b Timer v counter.

    3. Lp trnh v iu khin c ngt ngoi, ngt timer.

    4. Lp trnh v iu khin c b bin i ADC0804.

    5. Lp trnh v iu khin c b bin i DAC0808.

    6. Lp trnh truyn d liu ln my tnh qua cng UART.

    7. Lp trnh iu khin c ng c bc quay.

    8. Thit k v lp trnh mt mch ng dng trong thc t s dng vi iu khin

    AT89S52.

  • 14

    BI 1

    Tn bi: TM HIU KHI MCU M bi: AT89-01

    Gii thiu:

    - Khi MCU s dng vi iu khin 8bit AT89S52 thuc h 8051. c dng

    trong cc mch iu khin c th lp trnh c nhm gip ti u ha thit k, tng

    chnh xc ca mch iu khin. T c th lm tng cht lng v tnh nng ca sn

    phm tt hn.

    Mc tiu thc hin:

    - Gip ngi hc c th hiu r hn v vi iu khin AT89S52

    - Bit c s thit k ca khi MCU.

    - nh hng c cc thao tc cho ngi hc khi kt ni MCU vi cc ngoi vi

    bn ngoi.

    Ni dung chnh:

    1. Cc linh kin dng trong s mch.

    - U7: Vi iu khin AT89S52 thuc h 8051 dng lm MCU lp trnh c d

    liu t ngoi vi v iu khin cc ngoi vi trn kit thc hnh theo lu thut ton v

    chng trnh ca ngi lp trnh. Thng s k thut ca AT89S52:

    + B nh EEPROM ni 4Kbytes

    + B nh RAM 128 bytes

    + C 3 b Timer/Counter 8bit v 16bit

    + C 32 chn vo ra I/O.

    + C 2 u vo ngt ngoi INT0 v INT1.

    + Tn s xung lm vic ti a 30MHz.

    + C 1 giao tip ni tip UART

    + C h thng ng bus d liu v a ch chun Intel cho phep truy cp b

    nh ngoi.

    + Ngun cp 5VDC

  • 15

    Hnh 1.1 S mch khi MCU s dng AT89S52.

    - J6: Cng np chng trnh cho MCU. Khi mun np chng trnh t trn my

    tnh xung ta phi kt ni cng USB vi mch np v ng thi kt ni u ra ca

    mch np ti cng np J6.

    - SW0: Nt nhn dng Reset MCU. Khi MCU ang chy chng trnh nu ta

    mun MCU chy li chng t u th ta nhn vo phm SW0. Lc ny chn RST ca

    MCU s thay i mc tn hiu t 0 ln 1 (0 V ln 5 V- Sn dng). Trong qu trnh

  • 16

    thay i mc gi tr in p MCU s thc hin qu trnh Reset v cho chng trnh

    chy li t u.

    - Y1: Thch anh dng to tn s xung CLOCK cho MCU hot ng. Gi tr

    ca xung CLOCK = 11,0592 MHz. Vi gi tr xung CLOCK ny s lm qu trnh tnh

    gi tr a vo cc b Timer to tn s v nh thi c d dng.

    - PORT0: Khe cm dng kt ni ngoi vi vi PORT iu khin s 0 ca

    MCU. Khi kt ni ta s dng cp cm vo khe cm PORT0 vi khe cm ca ngoi

    vi tng ng. Do PORT0 ca MCU bn trong khng c tr ko ln ngun VCC = 5V

    ln trong qu trnh thit k mch ta phi thit k thm in tr bng RN1 ni cc

    chn iu khin ny ln ngun VCC.

    - PORT1: Khe cm dng kt ni ngoi vi vi PORT iu khin s 1 ca

    MCU. Khi kt ni ta s dng cp cm vo khe cm PORT1 vi khe cm ca ngoi

    vi tng ng.

    - PORT2: Khe cm dng kt ni ngoi vi vi PORT iu khin s 2 ca

    MCU. Khi kt ni ta s dng cp cm vo khe cm PORT2 vi khe cm ca ngoi

    vi tng ng.

    - PORT3: Khe cm dng kt ni ngoi vi vi PORT iu khin s 3 ca

    MCU. Khi kt ni ta s dng cp cm vo khe cm PORT3 vi khe cm ca ngoi

    vi tng ng.

    Cc thanh ghi iu khin vo ra:

    - Trong vi iu khin AT89S52 khng c thanh ghi iu khin hng d liu m

    ch c cc thanh ghi iu khin d liu vo ra l Px (vi x l tn cc thanh ca cc

    Port tng ng: 0, 1, 2, 3). iu khin d liu vo ra trn cc PORT iu khin ta

    ch gn d liu vo cc thanh ghi iu khin tng ng.

    VD: iu khin cc chn PORT0 l u ra mc logic 1.

    P0 = 0xFF;

    iu khin cc chn PORT1 l u ra mc logic 0.

    P1 = 0x00;

    iu khin chn P2.1 l u ra mc logic 1.

    P2^1 = 1;

    iu khin chn P3.7 l u ra mc logic 0:

    P3^7 = 0;

  • 17

    c d liu t PORT0.

    unsigned char du_lieu;

    du_lieu = P0;

    c d liu t chn P1.0

    unsigned char du_lieu;

    du_lieu = P1^0;

    P0: Thanh ghi iu khin d liu vo ra ca PORT0

    P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0

    Bit 7 Bit 0

    P1: Thanh ghi iu khin d liu vo ra ca PORT1

    P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0

    Bit 7 Bit 0

    P2: Thanh ghi iu khin d liu vo ra ca PORT2

    P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

    Bit 7 Bit 0

    P3: Thanh ghi iu khin d liu vo ra ca PORT3

    P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0

    Bit 7 Bit 0

  • 18

    BI 2

    Tn bi: IU KHIN LED N M bi: AT89-02

    Gii thiu:

    - LED c dng rt ph bin v rng di trong tt c cc thit b nh: n bo

    ngun, n nhp nhy vvTrong bi tp ny led n c th dng hin th cc m

    nh phn 8 bit hoc dng a ra cnh bo, bo hiu ty thuc vo ng dng ca

    ngi lp trnh.

    Mc tiu thc hin:

    - Sinh vin bit lp trnh iu khin cc PORT ca MCU theo bit v theo byte

    - Bit vit cc chng trnh con to tr

    - Bit s dng cc lnh gn, lnh khai bo bin, khai bo a ch, cc cu lnh

    dch bit, o bit.

    - Bit s dng cc ton t vng lp v tn, vng lp c iu kin.

    Ni dung chnh:

    1. S mch v l thuyt iu khin led n.

    Cc linh kin dng trong s mch.

    Hnh 2.1 S nguyn l mch led n

  • 19

    - LD0 LD7: Cc LED n c thit k ch A chung cn chn K dng

    iu khin. Khi ta lp trnh tn hiu iu khin LED tch cc mc 0. Ta ch cn xut

    tn hiu iu khin mc 0 vo v tr LED tng ng th LED s sng v ngc li nu

    ta xut tn hiu mc 1 th LED s tt.

    - LED n trong thit k ny c th dng hin th cc m nh phn 8 bit hoc

    dng a ra cnh bo, bo hiu ty thuc vo ng dng ca ngi lp trnh.

    - J22: Khe cm dng ni ton b ngoi vi LED n vi MCU. Khi kt ni

    ngoi vi ny vi MCU ta ch cn dng cp 8 si cm vo khe cm J22 v mt trong

    cc PORT iu khin ca MCU.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc LED t LD0 n

    LD7. (x l tn ca PORT tng ng vi 0, 1, 2, 3). Mc ch kt ni ny thun tin

    cho vic lp trnh.

    Bng 2.1 Bng m iu khin led n

    STT LED

    TRNG THI IU KHIN 8 BIT

    SNG = 0 : TT = 1 M IU KHIN

    BIT7 6 5 4 3 2 1 BIT0 HEXA NH PHN

    1 LD0 1 1 1 1 1 1 1 0 0xFE 0b11111110

    2 LD1 1 1 1 1 1 1 0 1 0xFD 0b11111101

    3 LD2 1 1 1 1 1 0 1 1 0xFB 0b11111011

    4 LD3 1 1 1 1 0 1 1 1 0xF7 0b11110111

    5 LD4 1 1 1 0 1 1 1 1 0xEF 0b11101111

    6 LD5 1 1 0 1 1 1 1 1 0xDF 0b11011111

    7 LD6 1 0 1 1 1 1 1 1 0xBF 0b10111111

    8 LD7 0 1 1 1 1 1 1 1 0x7F 0b01111111

  • 20

    2. Bi tp thc hnh: Lp trnh iu khin led n vi cng vo ra ca AT89S52.

    Dng c chun b:

    + ng h s

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52

    + Cc loi cp kt ni 8 si, 4 si v 2 si.

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton ca chng trnh iu khin led n theo cc trng

    hp sau:

    + Sng lan t phi qua tri.

    + Sng lan t tri qua phi.

    + Sng lan tt dn t tri qua phi

    + Sng lan tt dn t phi qua tri.

    + Sng lan t hai bn vo gia

    + Sng lan t gia ra hai bn.

    - S dng cp 8 si kt ni ln lt cc PORT iu khin P0, P1, P2, P3 n

    ngoi vi LED n.

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

    Hnh 2.2 Lu thut ton lp trnh iu khin Led n.

  • 21

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh iu khin 8 led n sng lan ln lt chy t tri

    qua phi. PORT iu khin l P0.

    - Chng trnh:

    #include

    #include

    #include

    unsigned char du_lieu;

    void delay_us (unsigned int time)

    {

    unsigned int i;

    for (i=0;i

  • 22

    P0 = du_lieu;

    du_lieu = du_lieu

  • 23

    }

    }

    BI 3

    Tn bi: C V KIM TRA NT NHN M bi: AT89-03

    Gii thiu:

    - Nt nhn c dng c dng rt nhiu trong cc thit b iu khin nh: B

    bin tn, my in, my Photo coppy, my CNC, vv N c dng thit lp, ci t

    cc ch iu khin ca thit b.

    Mc tiu thc hin:

    - Bit s dng cc cu lnh kim tra bn phm, kim tra d liu u vo.

    - Bit lp trnh iu khin vo ra cho cc PORT ca MCU.

    - Bit dng cc cu lnh o bit, gn bit, dch bit v cc vng lp.

    - Bit c ng dng ca nt nhn dng lm g t c th thit k xy dng

    cc mch ng dng cn n nt nhn.

    Ni dung chnh:

    1. S mch v cch kim tra nt nhn.

    Hnh 3.1 S nguyn l mch nt nhn.

    - SW1 SW8: 8 nt nhn n c thit k ch MASS chung do tn hiu

    ca nt nhn xut ra khi c bm l tch cc mc 0. Khi ta lp trnh nu tn hiu

  • 24

    c c t PORT iu khin c ni vi nt nhn l gi tr 0 th lc ny nt nhn

    c tc ng v ngc li nu gi tr c c l 1 th nt bm cha c tc ng.

    - Nt nhn l ngoi vi u vo ca MCU c tc dng chn ch iu khin

    hoc chc nng iu khin ty thuc vo mc ch ca ngi lp trnh

    - J34: Khe cm dng ni ton b ngoi vi nt nhn vi PORT ca MCU. Khi

    kt ni nt nhn vi MCU ta dng cp 8 si cm vo khe cm J34 v mt trong cc

    PORT iu khin ca MCU.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc nt nhn SW1

    n SW8. (x l tn ca PORT tng ng vi 0, 1, 2, 3). Mc ch kt ni ny thun

    tin cho vic lp trnh.

    Bng 3.1 Bng m s liu ca nt nhn

    STT NT

    BM

    TRNG THI 8 BIT U RA

    NHN = 0 : KHNG NHN = 1 M D LIU

    BIT7 6 5 4 3 2 1 BIT0 HEXA NH PHN

    1 SW1 1 1 1 1 1 1 1 0 0xFE 0b11111110

    2 SW2 1 1 1 1 1 1 0 1 0xFD 0b11111101

    3 SW3 1 1 1 1 1 0 1 1 0xFB 0b11111011

    4 SW4 1 1 1 1 0 1 1 1 0xF7 0b11110111

    5 SW5 1 1 1 0 1 1 1 1 0xEF 0b11101111

    6 SW6 1 1 0 1 1 1 1 1 0xDF 0b11011111

    7 SW7 1 0 1 1 1 1 1 1 0xBF 0b10111111

    8 SW8 0 1 1 1 1 1 1 1 0x7F 0b01111111

    2. Bi tp thc hnh: Lp trnh c d liu t nt nhn iu khin led n

    Dng c chun b:

    + ng h s

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52.

  • 25

    + Cc loi cp kt ni 8 si, 4 si v 2 si.

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton c nt nhn iu khin led n theo cc trng hp

    sau:

    + Nhn phm SW1: Led LD0 sng nhp nhy 1 ln.

    + Nhn phm SW2: Led LD1 sng nhp nhy 2 ln.

    + Nhn phm SW3: Led LD2 sng nhp nhy 3 ln.

    + Nhn phm SW4: Led LD3 sng nhp nhy 4 ln.

    + Nhn phm SW5: Led LD4 sng nhp nhy 5 ln.

    + Nhn phm SW6: Led LD5 sng nhp nhy 6 ln.

    + Nhn phm SW7: Led LD6 sng nhp nhy 7 ln.

    + Nhn phm SW8: Led LD8 sng nhp nhy 8 ln.

    - S dng cp 8 si kt ni PORT iu khin P0 vi nt nhn v PORT iu

    khin P1 vi led n.

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

    Hnh 3.2 Lu thut ton lp trnh kim tra nt nhn iu khin led n.

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

  • 26

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh bt tt 8 led n t LD0 n LD8 ph thuc vo 8

    nt nhn tng ng t SW1 n SW8. Nu s ln nhn phm l l th n led tng

    ng ca phm c nhn sng. Nu s ln nhn l chn th n led tng ng ca

    phm c nhn s tt. Khi nt nhn c ni vi P0, khi Led n c ni vi P3.

    - Chng trnh:

    #include

    #include

    #include

    sbit LD0 = P3^0;

    sbit LD1 = P3^1;

    sbit LD2 = P3^2;

    sbit LD3 = P3^3;

    sbit LD4 = P3^4;

    sbit LD5 = P3^5;

    sbit LD6 = P3^6;

    sbit LD7 = P3^7;

    sbit SW1= P0^0;

    sbit SW2 = P0^1;

    sbit SW3 = P0^2;

    sbit SW4 = P0^3;

    sbit SW5 = P0^4;

    sbit SW6 = P0^5;

    sbit SW7 = P0^6;

  • 27

    sbit SW8 = P0^7;

    void main (void)

    {

    P3 = 0xFF;

    P0 = 0xFF;

    while(1)

    {

    if(!SW1) LD0 = ~LD0;

    if(!SW2) LD1 = ~LD1;

    if(!SW3) LD2 = ~LD2;

    if(!SW4) LD3 = ~LD3;

    if(!SW5) LD4 = ~LD4;

    if(!SW6) LD5 = ~LD5;

    if(!SW7) LD6 = ~LD6;

    if(!SW8) LD7 = ~LD7;

    }

    }

    bi 2: Vit chng trnh iu khin led n LD0 ph thuc vo 8 nt nhn

    tng ng t SW1 n SW8. Nu cc nt nhn SW1 n SW8 c bm th led LD0

    s nhp nhy vi s ln tng ng vi v tr nt nhn c bm.

    VD: Nt nhn SW1 c bm th nhp nhy 1 ln, SW8 c bm th nhp

    nhy 8 ln. Khi nt nhn c ni vi P0, Led n LD0 c ni vi P3^0.

    - Chng trnh:

    #include

    #include

    #include

    sbit LD0 = P3^0;

    sbit SW1= P0^0;

    sbit SW2 = P0^1;

    sbit SW3 = P0^2;

    sbit SW4 = P0^3;

  • 28

    sbit SW5 = P0^4;

    sbit SW6 = P0^5;

    sbit SW7 = P0^6;

    sbit SW8 = P0^7;

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for (i=0;i

  • 29

    if(!SW3)

    {

    for(i=0;i

  • 30

    if(!SW7)

    {

    for(i=0;i

  • 31

    BI 4

    Tn bi: C D LIU T BN PHM M bi: AT89-04

    Gii thiu:

    - Bn phm l mt ngoi vi khng th thiu ca my tnh, in thoi. N c

    dng nhp d liu. Ngoi ra bn phm cn c thit k v s dng cho cc thit b

    iu khin chuyn dng cn n d liu nhp t bn ngoi vo thc hin mt tnh

    nng no ca phn mm. Bi hc ny s gip ngi hc hiu c cu to, nguyn

    l hot ng v cch qut bn phm HEXA nh th no.

    Mc tiu thc hin:

    - Bit cch xy dng thut ton lp trnh qut bn phm HEXA.

    - Bit s dng cc cu lnh kim tra bn phm, kim tra d liu u vo.

    - Bit lp trnh chng trnh con c bn phm.

    - Hiu c nguyn l cu to ca bn phm HEXA t c th ng dng v

    thit k k cc mch ng dng cn s dng n bn phm HEXA.

    Ni dung chnh:

    1. S mch v cch qut bn phm HEXA.

    Hnh 4.1 S nguyn l mch bn phm Hexa.

  • 32

    - Bn phm c tt c 16 phm t phm s 1 n 9 v cc phm A, B, C, D, # . Bn

    phm c thit kt ch c d liu theo ct v iu khin hng. Cc hng ca

    bn phm c iu khin tch cc mc 0 tc l khi hng no c iu khin mc

    0 th cc phm ca hng c php hot ng. Cn cc phm hng khc trng

    thi cm

    - J33: Khe cm kt ni bn phm vi cc PORT iu khin ca MCU. Khi kt

    ni ta dng cp 8 si cm vo khe cm J33 vi mt trong cc PORT iu khin ca

    vi iu khin.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc chn t 1 n 8

    ca khe cm J33 (x l tn ca PORT tng ng vi 0, 1, 2, 3). Mc ch kt ni ny

    cho 4 bit d liu u ra ca bn phm ni vo 4 bit cao v 4 bit iu khin bn phm

    ni vo 4 bit thp trn PORT iu khin ca MCU.

    Bng 4.1 Bng m iu khin v m d liu u ra bn phm Hexa

    STT M IU KHIN

    PHM

    TRNG THI

    4 BIT CAO U RA

    NHN = 0

    KHNG NHN = 1

    M D LIU

    HEXA NH PHN BIT7 6 5 BIT4 HEXA NH PHN

    1 0xFE 0b11111110

    1 0 1 1 1 0x70 0b01110000

    2 1 0 1 1 0xB0 0b10110000

    3 1 1 0 1 0xD0 0b11010000

    A 1 1 1 0 0xE0 0b11100000

    2 0xFD 0b11111101

    4 0 1 1 1 0x70 0b01110000

    5 1 0 1 1 0xB0 0b10110000

    6 1 1 0 1 0xD0 0b11010000

    B 1 1 1 0 0xE0 0b11100000

  • 33

    3 0xFB 0b11111011

    7 0 1 1 1 0x70 0b01110000

    8 1 0 1 1 0xB0 0b10110000

    9 1 1 0 1 0xD0 0b11010000

    C 1 1 1 0 0xE0 0b11100000

    4 0xF7 0b11110111

    DOT 0 1 1 1 0x70 0b01110000

    0 1 0 1 1 0xB0 0b10110000

    # 1 1 0 1 0xD0 0b11010000

    D 1 1 1 0 0xE0 0b11100000

    2 Bi tp thc hnh: Lp trnh c d liu t bn phm iu khin led n

    Dng c chun b:

    + ng h s

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52

    + Cc loi cp kt ni 8 si, 4 si, 2 si.

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton c d liu t bn phm hexa v iu khin led n

    theo cc trng hp sau:

    + Nhn phm s 1: Led LD0 sng nhp nhy 1 ln.

    + Nhn phm s 2: Led LD1 sng nhp nhy 2 ln.

    + Nhn phm s 3: Led LD2 sng nhp nhy 3 ln.

    + Nhn phm s 4: Led LD3 sng nhp nhy 4 ln.

    + Nhn phm s 5: Led LD4 sng nhp nhy 5 ln.

    + Nhn phm s 6: Led LD5 sng nhp nhy 6 ln.

    + Nhn phm s 7: Led LD6 sng nhp nhy 7 ln.

    + Nhn phm s 8: Led LD8 sng nhp nhy 8 ln.

    - S dng cp 8 si kt ni PORT iu khin P2 vi bn phm v PORT iu

    khin P3 vi led n:

  • 34

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

    Hnh 4.2 Lu thut ton lp trnh c bn phm hexa iu khin led n

  • 35

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh bt tt 8 led n t LD0 n LD7 ph thuc vo 8

    gi tr c c t bn phm. Nu cc phm nhn thuc t 0 n 7 th bt sng cc led

    tng ng. Cn nu cc phm 8, 9, A, B, C, D, DOT, # c nhn th cc led tng

    ng t LD0 n LD7 tt. Cc LED n c ni vi P3, Bn phm ni vi P0.

    - Chng trnh:

    #include

    #include

    #include

    sbit LD0 = P3^0;

    sbit LD1 = P3^1;

    sbit LD2 = P3^2;

    sbit LD3 = P3^3;

    sbit LD4 = P3^4;

    sbit LD5 = P3^5;

    sbit LD6 = P3^6;

    sbit LD7 = P3^7;

    unsigned char du_lieu_key;

    unsigned char read_key(void)

    {

    unsigned char du_lieu[4]={0xFE, 0xFD, 0xFB, 0xF7}, key, keys;

    int i;

  • 36

    for(i=0; i

  • 37

    }

    }

    if(i ==3)

    {

    switch (keys)

    {

    case 0x70: key =13; return key;

    case 0xB0: key =0; return key;

    case 0xD0: key =15; return key;

    case 0xE0: key =14; return key;

    }

    }

    }

    }

    void main (void)

    {

    P3 = 0xFF;

    P0 = 0x00;

    while(1)

    {

    du_lieu_key = read_key();

    switch(du_lieu_key)

    {

    case 0: LD0 = 0;

    case 1: LD1 = 0;

    case 2: LD2 = 0;

    case 3: LD3 = 0;

    case 4: LD4 = 0;

    case 5: LD5 = 0;

    case 6: LD6 = 0;

    case 7: LD7 = 0;

    case 8: LD0 = 1;

  • 38

    case 9: LD1 = 1;

    case 10: LD2 = 1;

    case 11: LD3 = 1;

    case 12: LD4 = 1;

    case 13: LD5 = 1;

    case 14: LD6 = 1;

    case 15: LD7 = 1;

    }

    }

    }

    bi 2: Vit chng trnh iu khin led n LD0 sng nhp nhy vi s ln

    nhp nhy bng gi tr c c t bn phm trong di t 0 n 9, cn cc gi tr cn

    li th led ch tt. Bn phm c ni vi P0, led n LD0 c ni vi P3^0.

    - Chng trnh:

    #include

    #include

    #include

    sbit LD0 = P3^0;

    unsigned char du_lieu_key;

    void delay_us(unsigned int du_lieu)

    {

    unsigned int i;

    for (i=0;i

  • 39

    if(i==0)

    {

    switch (keys)

    {

    case 0x70: key =1; return key;

    case 0xB0: key =2; return key;

    case 0xD0: key =3; return key;

    case 0xE0: key =10; return key;

    }

    }

    if(i ==1)

    {

    switch (keys)

    {

    case 0x70: key =4; return key;

    case 0xB0: key =5; return key;

    case 0xD0: key =6; return key;

    case 0xE0: key =11; return key;

    }

    }

    if(i ==2)

    {

    switch (keys)

    {

    case 0x70: key =7; return key;

    case 0xB0: key =8; return key;

    case 0xD0: key =9; return key;

    case 0xE0: key =12; return key;

    }

    }

    if(i ==3)

    {

  • 40

    switch (keys)

    {

    case 0x70: key =13; return key;

    case 0xB0: key =0; return key;

    case 0xD0: key =15; return key;

    case 0xE0: key =14; return key;

    }

    }

    }

    }

    void main (void)

    { int i;

    P3 = 0xFF;

    P0 = 0x00;

    while(1)

    { LD0 = 1;

    du_lieu_key = read_key();

    switch(du_lieu_key)

    {

    case 1:

    for(i= 0; i

  • 41

    LD0 =1;

    delay_us(10000);

    }

    case 3:

    for(i= 0; i

  • 42

    LD0 =1;

    delay_us(10000);

    }

    case 7:

    for(i= 0; i

  • 43

    BI 5

    Tn bi: IU KHIN MN HNH LED 7 THANH M bi: AT89-05

    Gii thiu:

    - Mn hnh led 7 thanh c s dng ph bin trong cc thit b o ch th s

    nh: B o tn s, ng h o dng in. ng h o in p, cc b o nhit , b

    o m v ng h hin th thi gian vv Do hiu r nguyn l v lp trnh

    hin th c cc s ln mn hnh rt quan trng trong vic chng ta thit k cc sn

    phm in t cn n mn hnh hin th s.

    Mc tiu thc hin:

    - Bit c thut ton qut led 7 thanh.

    - Bit cch xy dng bng m hin th cho led 7 thanh.

    - Lp trnh hin th c s ln mn hnh led 7 thanh.

    - Bit c nguyn l hot ng, u nhc im ca mn hnh led 7 thanh. T

    a ra phng n thay th cho phng php qut led.

    Ni dung chnh:

    1. S mch v l thuyt iu khin mn hnh led 7 thanh.

    - Mn hnh LED 7 thanh c thit k gm 4 LED gi tr c th hin th c t

    0000 n 9999. 4 LED 7 thanh c ni chung cc ng d liu vi nhau. Bn chn

    iu khin ca 4 LED c iu khin bi 4 Transitor C2383.

    - J28: Khe cm kt ni ng iu khin ca mn hnh vi PORT iu khin

    ca MCU. Khi kt ni ta dng cp 4 si ni 4 chn iu khin ca mn hnh n 4

    chn bit cao hoc 4 chn bit thp trn PORT iu khin ca MCU.

    - J27: Khe cm kt ni ng d liu ca mn hnh LED 7 thanh vi PORT

    iu khin ca MCU. Khi ni ta dng cp 8 si cm vo khe cm J27 v PORT

    iu khin ca MCU.

  • 44

    Hnh 5.1 S nguyn l mn hnh LED 7 thanh.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc chn t 8 n 1

    ca khe cm J27 (x l tn ca PORT tng ng vi 0, 1, 2, 3). Mc ch kt ni ny

    thun tin cho vic lp trnh v to bng m hin th trn LED 7 thanh.

  • 45

    Bng 5.1 Bng m hin th s ln led 7 thanh

    STT S

    TRNG THI 8 THANH LED

    SNG = 0 : TT = 1 M D LIU

    a b c d e f g h HEXA NH PHN

    1 0 0 0 0 0 0 0 1 1 0x03 0b00000011

    2 1 1 0 0 1 1 1 1 1 0x9F 0b10011111

    3 2 0 0 1 0 0 1 0 1 0x25 0b00100101

    4 3 0 0 0 0 1 1 0 1 0x0D 0b00001101

    5 4 1 0 0 1 1 0 0 1 0x99 0b10011001

    6 5 0 1 0 0 1 0 0 1 0x49 0b01001001

    7 6 0 1 0 0 0 0 0 1 0x41 0b01000001

    8 7 0 0 0 1 1 1 1 1 0x1F 0b00011111

    9 8 0 0 0 0 0 0 0 1 0x01 0b00000001

    10 9 0 0 0 0 1 0 0 1 0x09 0b00001001

    Bng 5.2 Bng m iu khin led 7 thanh

    STT V TR LED

    HIN TH

    TRNG THI 4 CHN IU

    KHIN

    CHO PHP = 1 : CM = 0

    M IU KHIN

    Led3 Led2 Led1 Led0 HEXA NH PHN

    1 N V 0 0 0 1 0x01 0b0001

    2 CHC 0 0 1 0 0x02 0b0010

    3 TRM 0 1 0 0 0x04 0b0100

    4 NGHN 1 0 0 0 0x08 0b1000

  • 46

    2. Bi tp thc hnh: Lp trnh c d liu t bn phm hin th ln mn hnh led

    7 thanh.

    Dng c chun b:

    + ng h s

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52

    + Cc loi cp kt ni 8 si, 4 si v 2 si.

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton c d liu t bn phm hexa v iu khin hin th

    ln trn mn hnh led 7 thanh theo cc trng hp sau.

    + Nhn phm s 0: Mn hnh s hin th s 0

    + Nhn phm s 1: Mn hnh s hin th m t 0 n 10

    + Nhn phm s 2: Mn hnh s hin th m t 0 n 20

    + Nhn phm s 3: Mn hnh s hin th m t 0 n 30

    + Nhn phm s 4: Mn hnh s hin th m t 0 n 40

    + Nhn phm s 5: Mn hnh s hin th m t 0 n 50

    + Nhn phm s 6: Mn hnh s hin th m t 0 n 60

    + Nhn phm s 7: Mn hnh s hin th m t 0 n 70

    + Nhn phm s 8: Mn hnh s hin th m t 0 n 80

    + Nhn phm s 9: Mn hnh s hin th m t 0 n 90

    - S dng cp 8 si kt ni PORT iu khin P0 vi bn phm hexa v PORT

    iu khin P2 vi mn hnh led 7 thanh.

  • 47

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

    Hnh 5.2 Lu thut ton lp trnh iu khin mn hnh led 7 thanh.

  • 48

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh to b m t 0 n 9999 hin th ln mn hnh led 7

    thanh. Cc chn d liu ca mn hnh led 7 thanh c ni vi P2. Cc chn iu

    khin mn hnh led 7 thanh c ni 4 bit thp ca P1.

    - Chng trnh:

    #include

    #include

    #include

    sbit LED_DON_VI = P1^0;

    sbit LED_CHUC = P1^1;

    sbit LED_TRAM = P1^2;

    sbit LED_NGHIN = P1^3;

    unsigned char led_code[10]={0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F,

    0x01, 0x09 };

    unsigned char don_vi, chuc, tram, nghin;

    void delay_us (unsigned char du_lieu)

    {

    unsigned int i;

    for(i= 0; i

  • 49

    int counter = 0;

    P1 = 0x00;

    while(1)

    {

    counter ++;

    nghin = counter/1000;

    tram = (counter%1000)/100;

    chuc = ((counter%1000)%100)/10;

    don_vi = ((counter%1000)%100)%10;

    P1 = 0x01;

    P2 = led_code[don_vi];

    delay_us(2000);

    P1 = 0x02;

    P2 = led_code[chuc];

    delay_us(2000);

    P1 = 0x04;

    P2 = led_code[tram];

    delay_us(2000);

    P1 = 0x08;

    P2 = led_code[nghin];

    delay_us(2000);

    if(counter == 9999) counter = 0;

    }

    }

    bi 2: Vit chng trnh hin th cc gi tr c c t bn phm t 0 n 9

    ln mn hnh led 7 thanh. Cc chn iu khin mn hnh c ni vi 4 bit thp ca

    P1. Chn d liu ca mn hnh c ni vi P2. Cc chn iu khin v d liu ca

    bn phm hexa c ni vi P0.

    - Chng trnh:

    #include

    #include

  • 50

    #include

    unsigned char led_code[10]={0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F,

    0x01, 0x09 };

    unsigned char du_lieu_key;

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for(i= 0; i

  • 51

    case 0xB0: key =5; return key;

    case 0xD0: key =6; return key;

    case 0xE0: key =11; return key;

    }

    }

    if(i ==2)

    {

    switch (keys)

    {

    case 0x70: key =7; return key;

    case 0xB0: key =8; return key;

    case 0xD0: key =9; return key;

    case 0xE0: key =12; return key;

    }

    }

    if(i ==3)

    {

    switch (keys)

    {

    case 0x70: key =13; return key;

    case 0xB0: key =0; return key;

    case 0xD0: key =15; return key;

    case 0xE0: key =14; return key;

    }

    }

    }

    }

  • 52

    void main (void)

    {

    P2 = 0xFF;

    P0 = 0x00;

    P1 = 0x00;

    while(1)

    {

    du_lieu_key = read_key();

    if((du_lieu_key>=0)&&(du_lieu_key

  • 53

    - Bit c nguyn l hot ng, u nhc im ca mn hnh led ma trn. T

    c th xy ng v pht trin thnh mt mn hnh led ma trn c ln c ng

    dng rt nhiu trong lnh vc bng qung co.

    Ni dung chnh:

    1. S mch v l thuyt iu khin mn hnh led ma trn.

    Hnh 6.1 S nguyn l mn hnh LED ma trn.

    - U31: Led ma trn n sc c 8 ct v 8 hng. Cc hng c ni vi 8

    Transitor t Q1 n Q8. Cc Transitor c iu khin cp ngun cho cc im nh

    trn cng mt hng ca Led ma trn. Cc ct c ni vi khe cm J23 dng qut

    cc im nh ca Led ma trn to phng ch.

  • 54

    - J23: Khe cm dng ni PORT iu khin ca MCU vi cc ct im nh ca

    Led ma trn. Khi kt ni ta dng cp 8 si cm vi khe cm J23 v khe cm PORT

    iu khin ca MCU.

    - J26: Khe cm dng ni cc chn tn hiu iu khin cp ngun cho hng

    im nh ca Led ma trn vi PORT iu khin ca MCU. Khi ni ta dng cp 8 si

    cm vi khe cm J26 v khe cm PORT iu khin ca MCU.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc chn t 8 n 1

    ca khe cm J23 v t chn 8 n chn 1 ca khe cm J26 (x l tn ca PORT tng

    ng vi 0, 1, 2, 3). Mc ch kt ni ny thun tin cho vic lp trnh v to bng

    phng ch hin th trn LED ma trn.

    Bng 6.1 Bng m iu khin qut hng ca led ma trn

    STT HNG

    TRNG THI 8 CHN IU KHIN

    HNG

    BT = 1 : TT = 0

    M D LIU

    H7 H6 H5 H4 H3 H2 H1 H0 HEXA NH PHN

    1 Hng 0 0 0 0 0 0 0 0 1 0x01 0b00000001

    2 Hng 1 0 0 0 0 0 0 1 0 0x02 0b00000010

    3 Hng 2 0 0 0 0 0 1 0 0 0x04 0b00000100

    4 Hng 3 0 0 0 0 1 0 0 0 0x08 0b00001000

    5 Hng 4 0 0 0 1 0 0 0 0 0x10 0b00010000

    6 Hng 5 0 0 1 0 0 0 0 0 0x20 0b00100000

    7 Hng 6 0 1 0 0 0 0 0 0 0x40 0b01000000

    8 Hng 7 1 0 0 0 0 0 0 0 0x80 0b10000000

  • 55

    Bng 6.2 Bng m phng ch hin th trn led ma trn

    STT K T

    M QUT K T 8 CT CA LED MA TRN

    1 2 3 4 5 6 7 8

    1 A 0xFF 0xE7 0xDB 0xBD 0x81 0xBD 0xBD 0xBD

    2 B 0xFF 0xE1 0xDD 0xDD 0xC1 0xBD 0xBD 0xC1

    3 C 0xFF 0xC3 0xBD 0xFD 0xFD 0xFD 0xBD 0xC3

    4 D 0xFF 0xC1 0xBD 0xBD 0xBD 0xBD 0xBD 0xC1

    5 E 0xFF 0xC1 0xFD 0xFD 0xE1 0xFD 0xFD 0x81

    6 F 0xFF 0x81 0xFD 0xFD 0xE1 0xFD 0xFD 0xFD

    7 G 0xFF 0xC3 0xBD 0xFD 0x8D 0xBD 0xBD 0xC3

    8 H 0xFF 0xBD 0xBD 0x81 0xBD 0xBD 0xBD 0xBD

    9 I 0xFF 0xC3 0xE7 0xE7 0xE7 0xE7 0xE7 0xC3

    10 J 0xFF 0xC7 0xDF 0xDF 0xDF 0xDF 0xDD 0xE3

    11 K 0xFF 0xED 0xF5 0xF9 0xF5 0xED 0xDD 0xBD

    12 L 0xFF 0xFD 0xFD 0xFD 0xFD 0xFD 0xFD 0xC1

    13 M 0xFF 0xBD 0x99 0xA5 0xBD 0xBD 0xBD 0xBD

    14 N 0xFF 0xBD 0xB9 0xB5 0xB5 0xAD 0x9D 0xBD

    15 O 0xFF 0xC3 0xBD 0xBD 0xBD 0xBD 0xBD 0xC3

    16 P 0xFF 0xC1 0xBD 0xBD 0xC1 0xFD 0xFD 0xFD

    17 Q 0xFF 0xC3 0xBD 0xBD 0xBD 0xA5 0xDD 0x23

    18 R 0xFF 0xE1 0xDD 0xDD 0xE1 0xF5 0xAD 0xDD

    19 S 0xFF 0xC3 0xBD 0xFD 0xC3 0xBF 0xBD 0xC3

    20 T 0xFF 0x81 0xE7 0xE7 0xE7 0xE7 0xE7 0xE7

    21 V 0xFF 0xBD 0xBD 0xBD 0xBD 0xBD 0xDB 0xE7

    22 W 0xFF 0xBE 0xBE 0xB6 0xB6 0xB6 0xAA 0xDD

    23 X 0xFF 0xBE 0xDD 0xEB 0xF7 0xEB 0xDD 0xBE

  • 56

    24 Y 0xFF 0x7D 0xBB 0xD7 0xEF 0xF7 0xFB 0xFD

    25 Z 0xFF 0x83 0xDF 0xEF 0xF7 0xFB 0xBD 0xC0

    26 @ 0x81 0x7E 0x46 0x5A 0x5A 0x86 0x7E 0x81

    2. Bi tp thc hnh: Lp trnh hin th cc k t ln trn mn hnh led ma trn

    Dng c chun b:

    + ng h s

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52

    + Cc loi cp kt ni 8 si, 4 si v 2 si.

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton hin th cc k t theo gi tr c c t bn phm

    ln trn led ma trn bng phng php qut led theo cc trng hp sau:

    + Nhn phm s 0: Mn hnh s hin th s 0

    + Nhn phm s 1: Mn hnh s hin th s 1

    + Nhn phm s 2: Mn hnh s hin th s 2

    + Nhn phm s 3: Mn hnh s hin th s 3

    + Nhn phm s 4: Mn hnh s hin th s 4

    + Nhn phm s 5: Mn hnh s hin th s 5

    + Nhn phm s 6: Mn hnh s hin th s 6

    + Nhn phm s 7: Mn hnh s hin th s 7

    + Nhn phm s 8: Mn hnh s hin th s 8

    + Nhn phm s 9: Mn hnh s hin th s 9

    + Nhn phm A: Mn hnh s hin th ch A

    + Nhn phm B: Mn hnh s hin th ch B

    + Nhn phm C: Mn hnh s hin th ch C

    + Nhn phm D: Mn hnh s hin th ch D

    + Nhn phm Dot: Mn hnh s hin th du chm

    + Nhn phm #: Mn hnh s hin th k t #

  • 57

    - S dng cp 8 si kt ni PORT iu khin P1 vi cc chn qut hng ca led

    ma trn. Cc chn iu khin P2 ni vi chn qut ct ca mn hnh led ma trn.

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

    Hnh 6.2 Lu thut ton c bn phm hexa hin th ln led ma trn

  • 58

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh hin th cc k t trong bng ch ci latinh ln trn

    mn hnh led ma trn. Cc chn qut ct ca mn hnh c ni vi P2. Cc chn qut

    hng ca led ma trn c ni vi P3.

    - Chng trnh:

    #include

    #include

    #include

    unsigned char code_matrix_row[8]={0x01,0x02,0x04,0x08,

    0x10,0x20,0x40,0x80};

    unsigned char code_matrix_col[200] =

    {

    0xFF,0xE7,0xDB,0xBD,0x81,0xBD,0xBD,0xBD, //A

    0xFF,0xE1,0xDD,0xDD,0xC1,0xBD,0xBD,0xC1, //B

    0xFF,0xC3,0xBD,0xFD,0xFD,0xFD,0xBD,0xC3, //C

    0xFF,0xC1,0xBD,0xBD,0xBD,0xBD,0xBD,0xC1,//D

    0xFF,0xC1,0xFD,0xFD,0xE1,0xFD,0xFD,0x81, //E

    0xFF,0x81,0xFD,0xFD,0xE1,0xFD,0xFD,0xFD, //F

    0xFF,0xC3,0xBD,0xFD,0x8D,0xBD,0xBD,0xC3, //G

    0xFF,0xBD,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,//H

    0xFF,0xC3,0xE7,0xE7,0xE7,0xE7,0xE7,0xC3, //I

    0xFF,0xC7,0xDF,0xDF,0xDF,0xDF,0xDD,0xE3,//J

    0xFF,0xED,0xF5,0xF9,0xF5,0xED,0xDD,0xBD, //K

  • 59

    0xFF,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1, //L

    0xFF,0xBD,0x99,0xA5,0xBD,0xBD,0xBD,0xBD,//M

    0xFF,0xBD,0xB9,0xB5,0xB5,0xAD,0x9D,0xBD, //N

    0xFF,0xC3,0xBD,0xBD,0xBD,0xBD,0xBD,0xC3,//O

    0xFF,0xC1,0xBD,0xBD,0xC1,0xFD,0xFD,0xFD, //P

    0xFF,0xC3,0xBD,0xBD,0xBD,0xA5,0xDD,0x23, //Q

    0xFF,0xE1,0xDD,0xDD,0xE1,0xF5,0xAD,0xDD, //R

    0xFF,0xC3,0xBD,0xFD,0xC3,0xBF,0xBD,0xC3,//S

    0xFF,0x81,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7, //T

    0xFF,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7, //V

    0xFF,0xBE,0xBE,0xB6,0xB6,0xB6,0xAA,0xDD, //W

    0xFF,0xBE,0xDD,0xEB,0xF7,0xEB,0xDD,0xBE, //X

    0xFF,0x7D,0xBB,0xD7,0xEF,0xF7,0xFB,0xFD, //Y

    0xFF,0x83,0xDF,0xEF,0xF7,0xFB,0xBD,0xC0, //Z

    };

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for(i= 0; i

  • 60

    delay_us(1000);

    }

    }

    }

    }

    }

    bi 2: Vit chng trnh hin th cc gi tr A, B, C, D c c t bn phm

    ln trn mn hnh led ma trn. Cc chn qut ct ca mn hnh c ni vi P2. Cc

    chn qut hng ca led ma trn c ni vi P3. Chn iu khin bn phm ni vi P0.

    - Chng trnh:

    #include

    #include

    #include

    unsigned char code_matrix_row[8]={0x01,0x02,0x04,0x08,

    0x10,0x20,0x40,0x80};

    unsigned char code_matrix_col[200] =

    {

    0xFF,0xE7,0xDB,0xBD,0x81,0xBD,0xBD,0xBD, //A

    0xFF,0xE1,0xDD,0xDD,0xC1,0xBD,0xBD,0xC1, //B

    0xFF,0xC3,0xBD,0xFD,0xFD,0xFD,0xBD,0xC3, //C

    0xFF,0xC1,0xBD,0xBD,0xBD,0xBD,0xBD,0xC1,//D

    0xFF,0xC1,0xFD,0xFD,0xE1,0xFD,0xFD,0x81, //E

    0xFF,0x81,0xFD,0xFD,0xE1,0xFD,0xFD,0xFD, //F

    0xFF,0xC3,0xBD,0xFD,0x8D,0xBD,0xBD,0xC3, //G

    0xFF,0xBD,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,//H

    0xFF,0xC3,0xE7,0xE7,0xE7,0xE7,0xE7,0xC3, //I

    0xFF,0xC7,0xDF,0xDF,0xDF,0xDF,0xDD,0xE3,//J

    0xFF,0xED,0xF5,0xF9,0xF5,0xED,0xDD,0xBD, //K

    0xFF,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1, //L

    0xFF,0xBD,0x99,0xA5,0xBD,0xBD,0xBD,0xBD,//M

    0xFF,0xBD,0xB9,0xB5,0xB5,0xAD,0x9D,0xBD, //N

    0xFF,0xC3,0xBD,0xBD,0xBD,0xBD,0xBD,0xC3,//O

    0xFF,0xC1,0xBD,0xBD,0xC1,0xFD,0xFD,0xFD, //P

    0xFF,0xC3,0xBD,0xBD,0xBD,0xA5,0xDD,0x23, //Q

  • 61

    0xFF,0xE1,0xDD,0xDD,0xE1,0xF5,0xAD,0xDD, //R

    0xFF,0xC3,0xBD,0xFD,0xC3,0xBF,0xBD,0xC3,//S

    0xFF,0x81,0xE7,0xE7,0xE7,0xE7,0xE7,0xE7, //T

    0xFF,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7, //V

    0xFF,0xBE,0xBE,0xB6,0xB6,0xB6,0xAA,0xDD, //W

    0xFF,0xBE,0xDD,0xEB,0xF7,0xEB,0xDD,0xBE, //X

    0xFF,0x7D,0xBB,0xD7,0xEF,0xF7,0xFB,0xFD, //Y

    0xFF,0x83,0xDF,0xEF,0xF7,0xFB,0xBD,0xC0, //Z

    };

    unsigned char du_lieu_key;

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for(i= 0; i

  • 62

    }

    if(i ==1)

    {

    switch (keys)

    {

    case 0x70: key =4; return key;

    case 0xB0: key =5; return key;

    case 0xD0: key =6; return key;

    case 0xE0: key =11; return key;

    }

    }

    if(i ==2)

    {

    switch (keys)

    {

    case 0x70: key =7; return key;

    case 0xB0: key =8; return key;

    case 0xD0: key =9; return key;

    case 0xE0: key =12; return key;

    }

    }

    if(i ==3)

    {

    switch (keys)

    {

    case 0x70: key =13; return key;

    case 0xB0: key =0; return key;

    case 0xD0: key =15; return key;

    case 0xE0: key =14; return key;

    }

    }

    }

  • 63

    }

    void main (void)

    {

    int j, k;

    P0 = 0x00;

    while(1)

    {

    du_lieu_key = read_key();

    switch (du_lieu_key)

    {

    case 10:

    for(j=0;j

  • 64

    {

    for(k=0;k

  • 65

    trong cc thit b . Bi hc ny s gip ngi hc hiu r v cu to v cch thc

    iu khin mn hnh LCD16x2.

    Mc tiu thc hin:

    - Bit c thut ton iu khin v hin th ln trn mn hnh LCD16x2.

    - Bit cch xy dng cc hm iu khin cho LCD16x2.

    - Lp trnh hin th c cc k t ln trn LCD16x2

    - Bit c nguyn l hot ng v u nhc im ca LCD16x2 vi cc loi

    mn hnh hin th khc nh th no. T c th vn dng vo vic thit k cc sn

    phm ng dng s dng n mn hnh hin th LCD16x2.

    Ni dung chnh:

    1. S mch v l thuyt iu khin mn hnh LCD16x2.

    - LCD1: Mn hnh LCD16x2 c hai dng k t v mi dng hin th c 16 k

    t. Cc k t c th hin th c theo bng m ASCII. LCD c th lp trnh truyn d

    liu dng 4 bit hoc 8 bit. Nu s dng iu khin d liu 4 bit th ta dng cc bit

    t BD4 n BD7. Nu s dng 8 bit th ta dng cc bit t BD0 n BD7.

    - R14: L bin tr dng iu chnh tng phn trn mn hnh LCD. Nu ta

    iu chnh in u ra bin tr tng ln th tng phn s gim i v ngc li nu

    ta iu chnh in p gim th tng phn s tng ln. Bin tr R14 c tc dng

    trong trng hp k t trn mn hnh b ti khng nhn thy c th ta s iu chnh

    cho tng phn ca mn hnh tng ln n khi ta c th nhn thy k t mt cc

    r rng nht.

  • 66

    Hnh 7.1 S nguyn l mn hnh LCD16x2

    - J20: Khe cm dng kt ni chn iu khin ca LCD vi PORT iu khin

    ca MCU. Khi kt ni ta dng cp 4 si cm vo khe cm J20 v u cn li cm

    vo 3 chn bt k trn PORT iu khin ca MCU.

    - J21: Khe cm dng kt ni cc ng d liu ca LCD vi PORT iu khin

    ca MCU. Khi kt ni ta dng cp 8 si cm vo khe cm J21 v u cn li cm

    vo mt trong cc khe cm PORT iu khin ca MCU.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc chn t 8 n 1

    ca khe cm J21 (x l tn ca PORT tng ng vi 0, 1, 2, 3). Mc ch kt ni ny

    thun tin cho vic lp trnh v ng vi th t cc bit t thp ln cao ca ng d

    liu.

  • 67

    Bng 7.1 Bng chc nng cc chn ca LCD16x2

    TH

    T

    CHN

    K HIU

    CHN CHC NNG M T

    1 VSS Ngun Chn ni vi ngun 0V

    2 VCC Ngun

    Chn ni vi ngun dng cp cho

    LCD hot ng. C gi tr = 5VDC

    3 VEE tng phn

    Chn iu chnh tng phn v

    r nt ca k t hin th.

    4 RS iu khin

    Chn cho php ghi d liu hay ghi

    lnh RS = 0 ghi lnh : RS =1 ghi d

    liu

    5 RW iu khin Cho php ghi hay c: RW = 0 ghi

    RW = 1 c d liu

    6 E iu khin Chn cho php LCD hot ng .

    7 BD0 D liu Chn bit d liu s 0

    8 BD1 D liu Chn bit d liu s 1

    9 BD2 D liu Chn bit d liu s 2

    10 BD3 D liu Chn bit d liu s 3

    11 BD4 D liu Chn bit d liu s 4

    12 BD5 D liu Chn bit d liu s 5

    13 BD6 D liu Chn bit d liu s 6

    14 BD7 D liu Chn bit d liu s 7

    15 A

    n nn mn

    hnh

    Chn cp ngun dng iu

    chnh sng n nn LCD

    16 K

    n nn mn

    hnh

    Chn ni ngun 0V iu chnh

    sng ca n nn LCD

  • 68

    Bng 7.2 Bng m lnh iu khin LCD16x2

    STT M LNH

    CHC NNG HEXA NH PHN

    1 0x01 0b00000001 Xa mn hnh

    2 0x02 0b00000011 a con tr v u dng

    3 0x04 0b00000100 Dch con tr sang tri 1 k t

    4 0x06 0b00000110 Dch con tr sang phi 1 k t

    5 0x05 0b00000101 Dch k t hin th sang phi

    6 0x07 0b00000111 Dch k t hin th sang tri

    7 0x08 0b00001000 Tt con tr, tt hin th

    8 0x0A 0b00001010 Tt hin th, bt con tr

    9 0x0C 0b00001100 Bt hin th, tt con tr

    10 0x0E 0b00001110 Bt hin th, nhp nhy con tr

    11 0x0F 0b00001111 Tt hin th, nhp nhy con tr

    12 0x10 0b00010000 Dch v tr con tr sang tri

    13 0x14 0b00010100 Dch v tr con tr sang phi

    14 0x18 0b00011000 Dch ton b hin th sang tri

    15 0x1C 0b00011100 Dch ton b hin th sang phi

    16 0x80 0b10000000 Dch con tr v u dng th nht

    17 0xC0 0b11000000 Dch con tr hin th v u dng th 2

    18 0x38 0b00111000 Khi to LCD ch 2 hng v ma trn

    5x7

    19 0x28 0b00101000 La chn LCD hot ng ch 4 bit

    20 0x38 0b00111000 La chn LCD hot ng ch 8 bit

  • 69

    Bng 7.3 Bng m k t hin th ln trn LCD16x2

  • 70

    3. Bi tp thc hnh: Lp trnh hin th cc k t ln trn mn hnh LCD16x2.

    Dng c chun b:

    + ng h s

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52

    + Cc loi cp kt ni 8 si, 4 si v 2 si.

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton lp trnh mt my tnh in t c th tnh ton c

    v php ton cng, tr, nhn, chia c s nguyn v s thp phn. S liu c nhp

    vo t bn phm HEXA. Kt qu c hin th ln mn hnh LCD16x2. Lp trnh iu

    khin theo cc phm chc nng sau.

    + Phm A l php cng, B l php tr, C l php nhn, D l php chia.

    + Du chm th hin s ngn cch gia phn nguyn v phn thp phn khi

    nhp gi tr l thp phn.

    + Cc phm t 0 n 9 dng nhp gi tr.

    + Phm # l thay cho du = tnh ra kt qu ca php tnh.

    - S dng cp 8 si kt ni PORT iu khin P1 vi cc chn d liu ca

    LCD16x2. Ba chn iu khin bit thp ca P2 ni vi cc chn iu khin ca

    LCD16x2. Cc chn iu khin bn phm c ni vi P0.

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

    Hnh 7.2 Lu thut ton lp trnh mt my tnh in t

  • 71

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh hin th cc k t c c t bn phm HEXA ln

    trn mn hnh LCD16x2. Cc chn d liu ca mn hnh LCD c ni vi P2. Cc

    chn iu khin ca mn hnh LCD c ni vi 3 chn bit thp ca P3. Cc chn iu

    khin bn phm c ni vi P0.

    - Chng trnh:

    #include

    #include

    #include

    sbit LCD_RS = P3^0;

    sbit LCD_RW = P3^1;

    sbit LCD_E = P3^2;

    unsigned char du_lieu_key;

    unsigned char message[32];

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for(i= 0; i

  • 72

    unsigned char read_key(void)

    {

    unsigned char du_lieu[4]={0xFE, 0xFD, 0xFB, 0xF7}, key, keys;

    int i;

    for(i=0; i

  • 73

    case 0x70: key =7; return key;

    case 0xB0: key =8; return key;

    case 0xD0: key =9; return key;

    case 0xE0: key =12; return key;

    }

    }

    if(i ==3)

    {

    switch (keys)

    {

    case 0x70: key =13; return key;

    case 0xB0: key =0; return key;

    case 0xD0: key =15; return key;

    case 0xE0: key =14; return key;

    }

    }

    }

    }

    void busy_lcd (void)

    {

    unsigned char du_lieu;

    while (1)

    {

    P2 = 0xFF ;

    LCD_RS=0;

    LCD_RW=1;

    LCD_E=1;

    du_lieu = P2 ;

    delay_us(100);

    LCD_E=0;

    if((du_lieu & 0x80) == 0)

    break;

  • 74

    }

    void write_cmd_lcd(unsigned char cmd)

    {

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 0;

    LCD_E = 1;

    P2 = cmd;

    LCD_E = 0;

    }

    void lcd_gotoxy (unsigned char x, unsigned char y)

    {

    if(y==0)

    write_cmd_lcd(0x80+x);

    if(y==1)

    write_cmd_lcd(0xc0+x);

    }

    void init_lcd (void)

    {

    write_cmd_lcd(0x38);

    write_cmd_lcd(0x0C);

    write_cmd_lcd(0x06);

    write_cmd_lcd(0x01);

    write_cmd_lcd(0x02);

    }

    void write_du_lieu_lcd(char du_lieu)

    {

    if(du_lieu=='\n')

    {

    write_cmd_lcd(0xC0);

    return;

    }

  • 75

    if(du_lieu=='\1')

    {

    write_cmd_lcd(0x01);

    return;

    }

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 1;

    LCD_E = 1;

    P2 = du_lieu;

    LCD_E = 0;

    }

    void write_str_lcd(char *str)

    {

    while(*str)

    {

    write_du_lieu_lcd(*str);

    str++;

    }

    }

    void main (void)

    { P0 = 0x00;

    P2 = 0x00;

    P3 = 0x00;

    init_lcd();

    while(1)

    {

    du_lieu_key = read_key();

    sprintf(&message[0],\1 %d, du_lieu_key);

    write_str_lcd(&message[0]);

    delay_us(1000);

    }

  • 76

    }

    bi 2: Vit chng trnh hin th cc ch ln mn hnh LCD16x2 theo cc

    trng hp sau.

    + Phm SW1 c nhn th hin th: Ban vua bam SW1

    + Phm SW2 c nhn th hin th: Ban vua bam SW2

    + Phm SW3 c nhn th hin th: Ban vua bam SW3

    - Cc chn nt nhn c ni vi P0. Cc chn iu khin LCD c ni vi 3

    bit thp ca P3. Cc chn d liu ca LCD c ni vi P2.

    - Chng trnh:

    #include

    #include

    #include

    sbit LCD_RS = P3^0;

    sbit LCD_RW = P3^1;

    sbit LCD_E = P3^2;

    sbit SW1 = P0^0;

    sbit SW2 = P0^1;

    sbit SW3 = P0^2;

    unsigned char message[32];

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for(i = 0; i

  • 77

    LCD_E=1;

    du_lieu = P2 ;

    delay_us(100);

    LCD_E=0;

    if((du_lieu & 0x80) == 0)

    {

    break;

    }

    }

    }

    void write_cmd_lcd(unsigned char cmd)

    {

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 0;

    LCD_E = 1;

    P2 = cmd;

    LCD_E = 0;

    }

    void lcd_gotoxy (unsigned char x, unsigned char y)

    {

    if(y==0)

    write_cmd_lcd(0x80+x);

    if(y==1)

    write_cmd_lcd(0xc0+x);

    }

    void init_lcd (void)

    {

    write_cmd_lcd(0x38);

    write_cmd_lcd(0x0C);

    write_cmd_lcd(0x06);

    write_cmd_lcd(0x01);

  • 78

    write_cmd_lcd(0x02);

    }

    void write_du_lieu_lcd(char du_lieu)

    {

    if(du_lieu=='\n')

    {

    write_cmd_lcd(0xC0);

    return;

    }

    if(du_lieu=='\1')

    {

    write_cmd_lcd(0x01);

    return;

    }

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 1;

    LCD_E = 1;

    P2 = du_lieu;

    LCD_E = 0;

    }

    void write_str_lcd(char *str)

    {

    while(*str)

    {

    write_du_lieu_lcd(*str);

    str++;

    }

    }

    void main (void)

    {

    P2= 0x00;

  • 79

    P3 = 0x00;

    while(1)

    {

    if(!SW1)

    {

    sprintf(&message[0],\1Ban vua bam SW1);

    write_str_lcd(&message[0]);

    delay_us(1000);

    }

    if(!SW2)

    {

    sprintf(&message[0],\1Ban vua bam SW2);

    write_str_lcd(&message[0]);

    delay_us(1000);

    }

    if(!SW3)

    {

    sprintf(&message[0],\1Ban vua bam SW3);

    write_str_lcd(&message[0]);

    delay_us(1000);

    }

    }

    }

  • 80

    BI 8

    Tn bi: C D LIU T B BIN I ADC M bi: AT89-08

    Gii thiu:

    - Cc b bin i ADC c s dng chuyn i dng tn hiu tng t sang

    dng s. c th o c c cc thng s tn hiu tng t v hin th kt qu ln

    mn hnh dng s chng ta cn phi s dng n cc b chuyn i ADC. V vy

    bi hc ny s gip ngi hc hiu c nguyn l hot ng v cch c d liu t

    cc b chuyn i ADC nh th no. T ngi hc s c kh nng vn dng cc b

    chuyn i ADC vo trong cc thit k.

    Mc tiu thc hin:

    - Bit c hot ng ca b ADC0804.

    - Bit cch c d liu u ra ca b bin i ADC

    - Lp trnh tnh ton c kt qu c c dng s sang dng in p tng t

    u vo.

    - Bit c nguyn l hot ng v u nhc im ca b bin i ADC0804.

    T c th vn dng vo vic thit k cc b chuyn i in p tng t sang dng

    s s dng trong cc b o in p, dng in vv

    Ni dung chnh:

    1. S mch v cch c d liu t b ADC0804.

    Hnh 8.1 S nguyn l mch chuyn i tng t s ADC0804

  • 81

    - U8: IC ADC0804 chuyn i gi tr in p tng t sang s vi phn gii

    l 8 bit (T 0 n 255 gi tr) tng ng vi tn hiu in p tng t u vo. Gi tr

    in p tn hiu u vo c tnh bi cng thc sau:

    Cng thc: Vin = 256

    )2*( DATAVref (V)

    Trong :

    + Vin: in p tng t u vo n v l vn

    + Vref: in p tham chiu u vo (0 n 2,5VDC)

    + DATA: Gi tr tn hiu s u ra t DB0 DB7 c c

    - R38: Bin tr to ra tn hiu in p tng t thay i t 0 n 5VDC a

    vo u vo b bin i ADC

    - RV1: Cm bin nhit LM335 dng o nhit mi trng. Tn hiu vt

    l u vo l nhit mi trng c cm bin cm nhn v chuyn sang dng tn

    hiu in p tng t c th o m c vi phn gii l 10mV/ oK. Gi tr nhit

    C c tnh bi cng thc sau:

    Cng thc: ToC = 27310*10 3

    Vout (

    oC)

    Trong :

    + Vout: Gi tr in p cm bin xut ra n v l vn

    - J30: Khe cm dng ni cc bit d liu u ra ca b bin i ADC vi

    PORT iu khin ca MCU. Khi ni ta dng cp 8 si cm vo khe cm J30 v u

    cn li ni vi mt trong cc PORT iu khin ca MCU.

    - SW19: Cng tc dng la chn mt trong 2 tn hiu u vo cm bin nhit

    hoc bin tr a vo b ADC0804

    - SW9: Cng tc dng cho php kt ni chn WR ca ADC vi chn P3.6 ca

    vi iu khin.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc chn t 1 n 8

    ca khe cm J30 (x l tn ca PORT tng ng vi 0, 1, 2, 3). Mc ch kt ni ny

    thun tin cho vic lp trnh v ng vi th t cc bit d liu a vo PORT iu

    khin ca MCU.

    2. Bi tp thc hnh: Lp trnh giao tip vi b bin i ADC0804.

    Dng c chun b:

    + ng h s

  • 82

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52

    + Cc loi cp kt ni 8 si, 4 si v 2 si

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton lp trnh c in p u ra ca cm bin nhit

    LM335 t b bin i ADC0804 sau tnh ton chuyn sang nhit v hin th ln

    trn mn hnh LCD16x2.

    - S dng cp 8 si kt ni PORT iu khin P1 vi cc chn d liu ca

    LCD16x2. Ba chn iu khin bit thp ca P2 ni vi cc chn iu khin ca

    LCD16x2. Cc chn u ra d liu ca b bin i ADC0804 c ni vi P3.

    Chuyn cng tc SW19 ni vi sensor nhit LM335.

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

  • 83

    Hnh 8.2 Lu thut ton lp trnh b o nhit hin ln LCD16x2.

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh c gi tr in p t bin tr R38 sau tnh ton

    v hin th kt qu ln mn hnh LCD16x2, gi tr hin th c phn nguyn v 2 s sau

    du chm. Cc chn d liu ca mn hnh LCD c ni vi P2. Cc chn iu khin

    ca mn hnh LCD c ni vi 3 chn bit thp ca P0. Cc chn d liu u ra ca

    b bin i ADC0804 c ni vi P1.

    - Chng trnh:

    #include

    #include

    #include

    sbit LCD_RS = P0^0;

    sbit LCD_RW = P0^1;

    sbit LCD_E = P0^2;

    sbit WR = P3^6;

    float result_adc;

    unsigned char message[32];

    void delay_us (unsigned int du_lieu)

  • 84

    {

    unsigned int i;

    for(i= 0; i

  • 85

    {

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 0;

    LCD_E = 1;

    P2 = cmd;

    LCD_E = 0;

    }

    void lcd_gotoxy (unsigned char x, unsigned char y)

    {

    if(y==0)

    write_cmd_lcd(0x80+x);

    if(y==1)

    write_cmd_lcd(0xc0+x);

    }

    void init_lcd (void)

    {

    write_cmd_lcd(0x38);

    write_cmd_lcd(0x0C);

    write_cmd_lcd(0x06);

    write_cmd_lcd(0x01);

    write_cmd_lcd(0x02);

    }

    void write_du_lieu_lcd(char du_lieu)

    {

    if(du_lieu=='\n')

    {

    write_cmd_lcd(0xC0);

    return;

    }

    if(du_lieu=='\1')

    {

  • 86

    write_cmd_lcd(0x01);

    return;

    }

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 1;

    LCD_E = 1;

    P2 = du_lieu;

    LCD_E = 0;

    }

    void write_str_lcd(char *str)

    {

    while(*str)

    {

    write_du_lieu_lcd(*str);

    str++;

    }

    }

    void main (void)

    {

    P2 = 0x00;

    P3 = 0x00;

    init_lcd();

    while(1)

    {

    result_adc = (float)(read_adc()*5)/256;

    sprintf(&message[0],\1 Volt = %1.2f (V),result_adc);

    write_str_lcd(&message[0]);

    delay_us(5000);

    }

    }

  • 87

    bi 2: Vit chng trnh c in p trn bin tr R38 t b bin i

    ADC0804 sau hin th gi tr c c bng s ln mn hnh led 7 thanh. Cc chn

    u ra ca b bin i ADC0804 ni vi P0. Cc chn iu khin mn hnh led 7

    thanh c ni vi 4 chn bit thp ca P1, cc chn qut d liu ca mn hnh led 7

    thanh c ni vi P2. Cc chn ca P0 c ni vi dn led n t LD0 n LD7.

    - Chng trnh:

    #include

    #include

    #include

    sbit LED_DON_VI = P1^0;

    sbit LED_CHUC = P1^1;

    sbit LED_TRAM = P1^2;

    sbit LED_NGHIN = P1^3;

    sbit WR = P3^6;

    unsigned char led_code[10]={0x03, 0x9F, 0x25, 0x0D, 0x99, 0x49, 0x41, 0x1F,

    0x01, 0x09 };

    unsigned char don_vi, chuc, tram, nghin;

    unsigned int result_adc;

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for(i= 0; i

  • 88

    void main (void)

    {

    P1 = 0x00;

    P2= 0xFF;

    while(1)

    {

    result_adc = read_adc();

    nghin = result_adc /1000;

    tram = (result_adc %1000)/100;

    chuc = ((result_adc %1000)%100)/10;

    don_vi = ((result_adc %1000)%100)%10;

    P1 = 0x01;

    P2 = led_code[don_vi];

    delay_us(2000);

    P1 = 0x02;

    P2 = led_code[chuc];

    delay_us(2000);

    P1 = 0x04;

    P2 = led_code[tram];

    delay_us(2000);

    P1 = 0x08;

    P2 = led_code[nghin];

    delay_us(2000);

    }

    }

  • 89

    BI 9

    Tn bi: IU KHIN B DAC0808 M bi: AT89-09

    Gii thiu:

    - Cc b DAC c dng chuyn i tn hiu s sang tng t. T tn hiu

    tng t ny s iu khin cc phn t bn dn cng sut bn ngoi ng ct hoc

    phc v cho mt ng dng no chng hn: iu khin tc ng c, iu khin

    sng ca n vv Ngoi ra cc b DAC c phn gii cao cn c ng dng

    vo b to in p tham chiu trong cc mch so snh tng t cn chnh xc cao.

    V vy bi hc ny s gip ngi hc hiu c nguyn l hot ng v cch thc

    iu khin b chuyn i DAC.

    Mc tiu thc hin:

    - Bit c thut ton giao tip vi b bin i DAC0808

    - Bit cch xut d liu s ra b bin i DAC0808

    - Lp trnh tnh ton to in p tng t u ra b bin DAC0808

    - Bit c nguyn l hot ng v u nhc im ca b bin i s sang tng

    t DAC0808 nh th no. T c th vn dng vo vic thit k ra b to in p c

    th thay i c vi phn gii cao lm in p tham chiu hoc in p so

    snh.

    Ni dung chnh:

    1. S mch v l thuyt iu khin b DAC0808.

    - J37: Khe cm dng kt ni cc chn d liu ca b bin i DAC0808 vi

    PORT iu khin ca MCU. Khi kt ni ta dng cp 8 si cm vo khe cm J37 v

    u cn li cm vo 1 trong cc PORT iu khin ca MCU.

    Ch : Khi kt ni phi nh chiu ca cp kt ni sao cho cc chn ca PORT

    iu khin t chn s Px.0 n chn Px.7 phi ni tng ng vi cc chn t 8 n 1

    ca khe cm J37 (x l tn ca PORT tng ng vi 0, 1, 2, 3). Mc ch kt ni ny

    thun tin cho vic lp trnh v ng vi th t cc bit d liu ca PORT iu khin

    a vo b bin i DAC0808.

  • 90

    Hnh 9.1 S nguyn l mch chuyn i s tng t DAC0808

    - U9: IC DAC0808 dng chuyn i tn hiu s sang in p tng t.

    phn gii l 8 bit tng ng vi gi tr s thay i t 0 n 255. Gi tr tr in p

    tng t u ra c tnh bi cng thc.

    Cng thc: Vout = 256

    * DATAVref (V)

    Trong :

    + Vout: in p u ra n v l vn

    + Vref: in p tham chiu u ra (0 n 5VDC)

    + DATA: gi tr tn hiu s a vo b bin i (0 n 255)

    2. Bi tp thc hnh: Lp trnh giao tip vi b bin i DAC0808.

    Dng c chun b:

    + ng h s

    + Kit thc hnh vi iu khin 8051

    + Ocillocope

    + Mch np AT89S52

    + Cc loi cp kt ni 8 si, 4 si, 2 si.

    bi: Hc sinh t thit k v lp trnh theo cc yu cu sau:

    Yu cu:

    - Thit k lu thut ton lp trnh c in p trn bin tr R38 t b bin i

    ADC0804 sau iu khin b bin i DAC0808 to ra in p tng t u ra

  • 91

    bng vi in p c c t b bin i ADC0804. Gi tr in p c c hin th

    ln mn hnh led 7 thanh.

    - S dng cp 8 si kt ni PORT iu khin P1 vi cc chn d liu ca ca

    mn hnh led 7 thanh, cc chn iu khin c ni vi 4 bit thp ca P0. Cc chn

    u ra d liu ca b bin i ADC0804 c ni vi P2. Cc chn d liu ca b

    bin i DAC0808 ni vi P3 sau chuyn cng tc SW19 ni vi bin tr R38.

    Phn tr li: ( Hc sinh v lu thut ton v lp trnh trn my tnh )

    Hnh 9.2 Lu thut ton iu khin b bin i DAC0808

  • 92

    Chng trnh :

    - Hc sinh t vit chng trnh trn my tnh v chy th trn Kit thc hnh.

    Nhn xt:

    - Nhn xt ca gio vin hng dn v bi thc hnh ca hc sinh

    Chng trnh tham kho

    bi 1: Vit chng trnh iu khin b bin i DAC0808 to in p

    u ra thay i t 0 n 5V. S dng nt nhn SW1 lm phm tng in p, nt

    nhn SW2 lm phm gim in p. Gi tr in p tng gim c hin th ln mn

    hnh LCD16x2.

    - Nt nhn SW1 c ni vi P0^0, SW2 ni vi P0^1. Cc chn iu khin

    LCD c ni vi 3 chn bit thp ca P3. Cc chn d liu ca LCD c ni vi P2.

    Cc chn d liu ca DAC0808 c ni vi P1.

    - Chng trnh:

    #include

    #include

    #include

    sbit LCD_RS = P3^0;

    sbit LCD_RW = P3^1;

    sbit LCD_E = P3^2;

    sbit SW1= P0^0;

    sbit SW2= P0^1;

    unsigned int, v1, v2, v3, counter;

    float result_dac;

    unsigned char message[32];

    void delay_us (unsigned int du_lieu)

    {

  • 93

    unsigned int i;

    for(i= 0; i

  • 94

    LCD_E = 0;

    }

    void lcd_gotoxy (unsigned char x, unsigned char y)

    {

    if(y==0)

    write_cmd_lcd(0x80+x);

    if(y==1)

    write_cmd_lcd(0xc0+x);

    }

    void init_lcd (void)

    {

    write_cmd_lcd(0x38);

    write_cmd_lcd(0x0C);

    write_cmd_lcd(0x06);

    write_cmd_lcd(0x01);

    write_cmd_lcd(0x02);

    }

    void write_du_lieu_lcd(char du_lieu)

    {

    if(du_lieu=='\n')

    {

    write_cmd_lcd(0xC0);

    return;

    }

    if(du_lieu=='\1')

    {

    write_cmd_lcd(0x01);

    return;

    }

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 1;

  • 95

    LCD_E = 1;

    P2 = du_lieu;

    LCD_E = 0;

    }

    void write_str_lcd(char *str)

    {

    while(*str)

    {

    write_du_lieu_lcd(*str);

    str++;

    }

    }

    void main (void)

    {

    P2 = 0x00;

    P3 = 0x00;

    P1 = 0x00;

    counter = 0;

    init_lcd();

    while(1)

    {

    if(!SW1) counter ++;

    if(!SW2) counter --;

    if(counter =255) counter = 255;

    result_dac= (float)(counter*5)/256;

    v1 = (unsigned int)(result_adc);

    v2 = (unsigned int)(result_adc*10)%10;

    v3 = (unsigned int)(result_adc*100)%10;

    sprintf(&message[0],\1Input=%d\nVolt=%d.%d%d,counter

    ,v1,v2,v3);

    write_str_lcd(&message[0]);

  • 96

    write_dac(counter);

    delay_us(5000);

    }

    }

    bi 2: Vit chng trnh nhp d liu nguyn t bn phm Hexa. Cc gi tr

    nhp vo c hin th ln mn hnh LCD16x2. Sau khi nhp xong gi tr th nhn

    phm A kt thc qu trnh nhp d liu v thc hin cc cng vic sau:

    + Nu gi tr nhp vo trong khong t 0 n 255 th xut gi tr ra cho b

    bin i DAC0808.

    + Nu gi tr nhp vo ln hn 255 th a ra thng bo dng ch Tran du lieu

    trn mn hnh LCD16x2.

    - Bn phm c ni vi P0, cc chn d liu ca DAC0808 ni vi P1. Cc

    chn iu khin LCD c ni vi 3 chn bit thp ca P3. Cc chn d liu ca LCD

    c ni vi P2.

    - Chng trnh:

    #include

    #include

    #include

    sbit LCD_RS = P3^0;

    sbit LCD_RW = P3^1;

    sbit LCD_E = P3^2;

    unsigned int du_lieu_key, value;

    unsigned char message[32];

    unsigned char warning[32]={\1 Tran du lieu};

    void delay_us (unsigned int du_lieu)

    {

    unsigned int i;

    for(i= 0; i

  • 97

    }

    unsigned char read_key(void)

    {

    unsigned char du_lieu[4]={0xFE, 0xFD, 0xFB, 0xF7}, key, keys;

    int i;

    for(i=0; i

  • 98

    {

    case 0x70: key =7; return key;

    case 0xB0: key =8; return key;

    case 0xD0: key =9; return key;

    case 0xE0: key =12; return key;

    }

    }

    if(i ==3)

    {

    switch (keys)

    {

    case 0x70: key =13; return key;

    case 0xB0: key =0; return key;

    case 0xD0: key =15; return key;

    case 0xE0: key =14; return key;

    }

    }

    }

    }

    void busy_lcd (void)

    {

    unsigned char du_lieu;

    while (1)

    {

    P2 = 0xFF ;

    LCD_RS=0;

    LCD_RW=1;

    LCD_E=1;

    du_lieu = P2 ;

    delay_us(100);

    LCD_E=0;

    if((du_lieu & 0x80) == 0)

  • 99

    {

    break;

    }

    }

    }

    void write_cmd_lcd(unsigned char cmd)

    {

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 0;

    LCD_E = 1;

    P2 = cmd;

    LCD_E = 0;

    }

    void lcd_gotoxy (unsigned char x, unsigned char y)

    {

    if(y==0)

    write_cmd_lcd(0x80+x);

    if(y==1)

    write_cmd_lcd(0xc0+x);

    }

    void init_lcd (void)

    {

    write_cmd_lcd(0x38);

    write_cmd_lcd(0x0C);

    write_cmd_lcd(0x06);

    write_cmd_lcd(0x01);

    write_cmd_lcd(0x02);

    }

    void write_du_lieu_lcd (char du_lieu)

    {

    if(du_lieu=='\n')

  • 100

    {

    write_cmd_lcd(0xC0);

    return;

    }

    if(du_lieu=='\1')

    {

    write_cmd_lcd(0x01);

    return;

    }

    busy_lcd();

    LCD_RW = 0;

    LCD_RS = 1;

    LCD_E = 1;

    P2 = du_lieu;

    LCD_E = 0;

    }

    void write_str_lcd(char *str)

    {

    while(*str)

    {

    write_du_lieu_lcd(*str);

    str++;

    }

    }

    void main (void)

    {

    P0 = 0x00;

    P1 = 0x00;

    P2 = 0x00;

    P3 = 0x00;

    init_lcd();

    while(1)

  • 101

    {

    du_lieu_key = 0;

    value = 0;

    do

    {

    du_lieu_key = read_key();

    if((du_lieu_key>=0)&&(du_lieu_key=0)&&(value

  • 102

    BI 10

    Tn bi: IU KHIN NG C BC M bi: AT89-10

    Gii thiu:

    - c bc c s dng rt nhiu trong cc c cu chuyn ng cn dch

    chuyn nh v chnh xc cao nh: my CNC, my khoan t ng, cc c cu khp

    ca cnh tay robot vv Bi hc ny s gip ngi hc hiu c hot ng ca ng

    c bc v cch thc iu khin ng c bc quay.

    Mc tiu thc hin:

    - Bit c thut ton iu khin ng c bc.

    - Bit cch xc nh c cc u dy ca ng c bc.

    - Lp trnh iu khin ng c bc quay.

    - Bit c cu to v nguyn l hot ng ca ng c bc. u nhc im

    ca ng c v ng dng ca n trong thc t. T sinh vin c th thit k c cc

    ng dng lin quan n ng c bc nh robot, cnh tay my chuyn ng theo

    khp.

    Ni dung chnh:

    1. S mch v l thuyt iu khin ng c bc.

    - Khi ng c bc c thit k s dng cc b cch ly quang l ISOT3. Cc

    b cc ly quang ny c tc dng cch ly ngun iu khin v tn hiu iu khin vi

    ng c trnh tnh trng khi ng c quay s sinh ra sc in ng phn hi tr v

    ngun gy nhiu cho ngun iu khin v tn hiu iu khin.

    + Cc phn t cng sut iu khin khin cc pha ca ng c bc l cc b

    dalington TIP41. Bn pha ca ng c bc c ni tng ng vi 4 b dalington.

    + ng c bc l ng c n cc gm c 4 pha A, B, C, D tng ng l 2

    cun dy AB, CD. gia mi cun dy c trch ra mt u dy chung. u dy

    chung ny c nhim v phn 2 cun dy ra thnh 4 pha tn hiu. Quan st s mch

    hnh nh thc t ca dng c bc bn di:

  • 103

    Hnh 10.1 S nguyn l mch iu khin ng c bc.

    Hnh 10.2 Hnh nh thc t ng c bc

    - J29: Khe cm dng ni cc chn iu khin ng c bc vi PORT iu

    khin ca MCU. Khi ni ta dng cp 4 si cm vo khe cm J29 v u cn li ta

    ni vi 4 bit cao hoc 4 bit thp trn PORT iu khin ca MCU. Ta c gin xung

    iu khin ng c nh sau:

  • 104

    Hnh 10.3 Gin xung iu khin ng c bc

    + Cc tn hiu xung A, C, B, D c a vo iu khin ln lt cc pha A, C,

    B, D. C mi mt xung a vo ng c s quay c 1 bc.

    - J13: Khe cm dng cp ngun cho ng c. Khi cp ngun cho ng c ta

    dng cp 2 si cp vo khe cm J13 v u cn li cm vo ngun cp cho ng c.

    Ch : Ngun cp cho ng c l ngun ring khc vi ngun cp cho mch

    iu khin. Khi ni ta phi nh gi tr ca ngun cp, chiu ca chn ngun dng v

    mass khi ni vo mch khng gy ra hin tng ngn mch. Gi tr ca ngun cp

    phi bng vi gi tr ghi trn thn ca ng c m bo cho ng c hot ng

    ng cng sut.

    - J16: Khe cm dng ni u ra cng sut ca mch iu khin vi cc cun

    dy ca ng c. Khi ni ta dng cp 6 si cm vo khe cm J16 v u cn li

    cm vo khe cm trn thn ca ng c bc. m bo cc pha ca cun dy

    c kt ni ng vi u ra cng sut ca mch ta phi tin hnh kim tra v xc

    nh u dy pha ca ng c bc. Cc bc tin hnh xc nh u dy nh sau:

    Bao gm 3 bc.

    Bc 1: Chun b dng c:

    + ng h kim vn nng

    + Bt v 1 t giy A4

    Bc 2: Xc nh u cc c