thi nghiem vi xu ly va vi dieu khien

Upload: phuongnd

Post on 07-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    1/72

    I HC QUC GIA TP.HCMTRNG I HC BCH KHOAKHOA KHOA HC V K THUT MY TNH

    TH NGHIMVI XL - VI IU KHIN

    BM K thut My tnh

    2011

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    2/72

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    3/72

    Mc LcMc Lc .............................................................................................................................. 1Bi 1 : Gii thiu MPLAB IDE v KIT PIC .................................................................. 1

    1.1 Mi trng pht trin MPLAB ................................................................................. 1

    1.2 Np file hex vo vi iu khin PIC........................................................................... 61.3 Debug dng MpLab SIM........................................................................................ 101.4 Debug onchip dng Mplab ICD2............................................................................ 121.5 Bi tp ..................................................................................................................... 12

    Bi 2 : Kho st cng xut nhp ................................................................................... 132.1 Kin thc lin quan................................................................................................. 13

    2.1.1 Cc thanh ghi iu khin cng xut nhp ........................................................ 132.1.2 Kt ni mch .................................................................................................... 13

    2.2 Cc bc hin thc yu cu 1 ................................................................................. 142.3 Chng trnh mu yu cu 1................................................................................... 162.4 Cc bc hin thc yu cu 2 ................................................................................. 17

    2.5 Chng trnh mu yu cu 2................................................................................... 182.6 Bi tp ..................................................................................................................... 20Bi 3 : Kho st cch ngt qung, giao tip LCD k t ............................................ 21

    3.1 Kin thc lin quan................................................................................................. 213.1.1 Tm tt cc thanh ghi iu khin ngt ............................................................. 21

    3.2 Cc bc hin thc yu cu 1 ................................................................................. 223.3 Chng trnh mu yu cu 1................................................................................... 243.4 LCD k t 2x16 ...................................................................................................... 26

    3.4.1 Hnh dng v ngha cc chn: ....................................................................... 263.4.2 T chc vng nhca LCD............................................................................. 273.4.3 Cc lnh giao tip vi LCD ............................................................................. 30

    3.4.4 Khi to LCD................................................................................................... 313.5 Cc bc hin thc yu cu 2 ................................................................................. 323.6 Bi tp ..................................................................................................................... 37

    Bi 4 : Kho st bnh thi ........................................................................................ 384.1 Cc bc hin thc yu cu 1 ................................................................................. 384.2 Chng trnh mu ................................................................................................... 404.3 Bi tp ..................................................................................................................... 42

    Bi 5 : K thut qut ma trn phm .............................................................................. 435.1 Kt ni mch ma trn phm..................................................................................... 435.2 Cc bc hin thc ................................................................................................. 445.3 Bi tp ..................................................................................................................... 48

    Bi 6 : K thut qut LED............................................................................................ 496.1 Cu to LED 7 on v LED ma trn..................................................................... 496.2 Kt ni mch ........................................................................................................... 516.3 Cc thanh ghi lin quan v cch iu khin............................................................ 526.4 Cc bc hin thc. ................................................................................................ 556.5 Bi tp ..................................................................................................................... 58

    Bi 7 : Kho st b truyn nhn ni tip ...................................................................... 597.1 Cc bc hin thc. ................................................................................................ 59

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    4/72

    7.2 Chng trnh mu ................................................................................................... 617.3 Bi tp ..................................................................................................................... 63

    Bi 8 : Kho st khi chuyn i A-D.......................................................................... 648.1 Cc bc hin thc ................................................................................................. 648.2 Bi tp ..................................................................................................................... 65

    Bi 9 : Kho st cc khi chc nng c bit khc ...................................................... 669.1 Cc bc hin thc PWM....................................................................................... 669.2 Chng trnh mu ................................................................................................... 679.3 Bi tp ..................................................................................................................... 68

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    5/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 1 : Gii thiu MPLAB IDE v KIT PIC

    Ni dung :To project trn MPLAB IDE.

    Vit chng trnh ASM.Dch v np chng trnh vo vi iu khin PIC.Chy v gri chng trnh.

    1.1 Phn cng th nghim ICD2 v PICDEM 2 PLUS.

    B h trlp trnh dng vi my tnh ICD2 (In-Circuit Debugger).

    Cng ni tip

    ICD2

    USB

    Ni vi cardPICDEM

    Ni vimy tnh

    S kt ni ICD2

    Kit th nghim PICDEM 2 Plus c cc c im nh hnh sau :

    1. cm DIP 18, 28 v 40 chn (c th cm 3 linh kin nhng ch dng 1 mi ln).2. n p +5V dng cho ngun 9V, 100 mA AC/DC hay pin 9V.3. u cm DB-9 theo chun giao tip RS-232.4. u cm qua b lp trnh In-Circuit Debugger (ICD).5. Bin tr5K dng cho tn hiu nhp tng t.6. Ba nt nhn dng to tn hiu kch t bn ngoi v reset.7. LED ngun.8. Bn LED ch th cho PORTB.9. Jumper J6 ngt LED ch th RB0 (khi nhp tn hiu t nt nhn RB0).

    B mn K Thut My Tnh 1 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    6/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    10.B dao ng (OSC) 4 MHz.11.Ni lp thm thch anh dao ng nu cn.12.Thch anh dao ng 32.768 kHz to xung clock cho Timer1.13.Jumper J7 ngt dao ng RC c sn (khong 2 MHz).14.EEPROM ni tip 32K x 8 bit.

    15.Mn hnh LCD.16.Kn Piezo.17.Vng lp thm linh kin.18.Cm bin nhit TC74.

    1.2 Mi trng pht trin MPLAB

    Bc 1. Chy phn mm MPLAB:Start_|All Programs_|Microchip_|MPLAB IDE v8.00_|MPLAB IDE.

    Bc 2. Chn Menu :Project_|Project Wirazd

    Chn Nextca s Welcome

    Bc 3. Chn s hiu PIC cn s dng (PIC18F4520) ri bm Next:

    Chn tool Microchip MPASM Toolsuite ti Active Toolsuite.Bc 4.

    B mn K Thut My Tnh 2 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    7/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Chn MPASM Assembler (mpasmwin.exe) ti Tollsuite Contents.

    Click Next qua ca s k.Bc 5. Nhn Browse chn th mc v nh tn project.

    Chn th vin thng qua file .INC v .LKR thm vo project

    B mn K Thut My Tnh 3 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    8/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    C:\Program Files\Microchip\MPASM Suite\LKR\18f4520.lkrC:\Program Files\Microchip\MPASM Suite\P18F4520.INC

    Click Next s thy nh sau :

    ClickFinish. Ta sc mt project nh hnh sau:

    B mn K Thut My Tnh 4 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    9/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bc 6. Thm file vo d n theo cc bc sau :Mt project n gin nht phi gm c 2 thnh phn Source files v Hearder Files.

    Th mc Source files cha file text *.asm hoc file *.c cha code lp trnh. Th mcHearder Files cha file *.h hoc *.INC: file c sn ca microchip.

    Nu bn qun khng thm cc file cn c vo th lm theo hng dn sau :

    ADD header file: ( Copy header file vo th mc cha project tin cho vic sdng sau ny).

    ca s la chn

    Chn header file ph hp vi PICmnh chn. Open.

    ADD source file: Click chn Newtrn toolbar:

    Ca s hin ln nh sau: TMenu

    bar chn File_|Save lu.

    Thc hin Save, t tn viui .asm vo th mc cha dn.

    Nhp phi vo Source Fileschn Add file >>> chn filechng ta va to xong.

    Chng ta hon tt victhm file vo cc th mcSource files v Header files.

    B mn K Thut My Tnh 5 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    10/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Cng vic tip theo l vit code (trong ca s text editor ca source file).i vi project ln dng nhiu source file v header file, ta lm li qu trnh thm file

    vo d n nhiu ln.

    1.3 Np file hex vo viiu khin PIC

    Sau khi to c mt project, ta tin hnh build n to ra *.hex. C th m t cngvic nh sau:

    V d, ta c mt chng trnh cho PIC nh sau:;===================================================

    ; Name: BaiTN1.asm

    ; Project: Nhap du lieu tu nut nhan RA4.; Khi nut RA4 duoc nhan thi led don RB0 sang,

    ; Khi khong nhan RA4 thi led don RB0 tat

    ; Author: BKIT HARDWARE CLUB; Homepage: http://www.bkit4u.com/forum

    ; Creation Date: 7 - 31 - 2009

    ;===================================================

    list p=18f4520#include p18f4520.inccode 0goto start

    ;vung dinh nghia du lieuudata

    ;vung dinh nghia cac chuong trinh conPRG codestart call init

    ;chuong trinh chinhmain

    btfsc PORTA,RA4 ;cho nhan nut RA4bra mainbsf LATB,RB0 ;Bat LED RB0

    swoffbtfss PORTA,RA4 ;cho nhan nut RA4bra swoffbcf LATB,RB0 ;tat LED RB0bra main ;Lap lai cong viec

    ;chuong trinh khoi dong ban dau

    initbcf TRISB,RB0 ;khoi dong RB0 la cong xuatbsf TRISA,RA4 ;khoi dong RA4 la cong nhapreturnend

    By gichng ta lu chng trnh va vit thnh BaiTN1.asm vo mt th mc to project pha trn. compile chng trnh ta vo menu Project_|Build All nh hnhbn di.

    B mn K Thut My Tnh 6 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    11/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Nu vic build tht bi, nhng vic ny th khng mong mun, ta c thy kt qu nhhnh sau:

    B mn K Thut My Tnh 7 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    12/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Nu thnh cng, ta s thy hnh sau:

    Nu vic build thnh cng, chng trnh s dch BaiTN1.asm thnh BaiTN1.hextrong cng th mc chng trnh BaiTN1.asm. Sau khi c c file hex, cng victip theo l lm th no np c file Hex xung board. u tin, chn mch np bngcch vo menu Programmer_|Select Programmer_|Mplab ICD2 nh hnh sau :

    Sau khi chn Mplab ICD2 xong th ta s thy giao din nh sau:

    B mn K Thut My Tnh 8 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    13/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Mt thao tc cn lm gip ta c th dch chng trnh, np v chy tng l vomenu Programmer_|Settings_|Program chn mc Automatically nh hnh sau :

    By gita c th dch, np v chy d n vi thao tc menu Project_|Build All (hocnhn Ctrl-F10).

    Nu thnh cng th chng trnh sc dch, np ra card PICDEM v chy ngay.

    B mn K Thut My Tnh 9 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    14/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Nu tht bi, xem thng tin bo li trong ca s Output khc phc v lm li tbc Build All.

    Trng hp thnh cng m chng trnh chy khng ng, ta phi s dng cng cDebugger tm li theo mt trong hai cch sau.

    1.4 Debug dng MpLab SIM

    Bc 1. Chn Debugger bng menuDebugger_|Select Debugger_|Mplab SIM

    Bc 2. Tham kho menu Debugger. Xut hin nhiu chc nng h trdebug.

    Ty ta c th m phng c chng trnh ca mnh mt cch d dng.

    Cc chc nng thng dng :Run (F9): chy chng trnh, chng trnh s chy lin tc n khi no cbreakpoint th dng.Breakpoints (F2): to ra breakpoint ti v tr hin ti ca con tr (cng c th

    "double click" vo hng code mnh mong mun t Breakpoint).Step Into (F7): chy tng bc, vo trong chng trnh con (nu gp).Step Over (F8): chy tng bc, gi chng trnh con cng xem nh 1 bc.Reset: trvu chng trnh.

    B mn K Thut My Tnh 10 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    15/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bc 3. Khi debug th ta cng cn phi bit gi tr ca cc thanh ghi cng nh b nhca chip nh th no, xem c cc gi tr ny th chng ta qua menu View.

    xem c gi tr ca cc thanh ghi trong PIC ta chn menu View_|File registerss xut hin ca s nh hnh sau:

    xem c gi tr ca cc thanh ghi SFR th ta chn View_|Special FunctionRegisters s xut hin ca s nh hnh sau:

    Hay xem mt v thanh ghi m ta quan tm th c th dng Watch xem bngcch vo menu View_|Watch th hnh sau s xut hin:

    Mun xem thanh ghi no, ta ch vic chn thanh ghi tng ng trong combobox bntrn, sau nhn Add SFR.

    B mn K Thut My Tnh 11 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    16/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    1.5 Debug onchip dng Mplab ICD2.

    Cng ging nh debug trn Mplab SIM, Mplab ICD2 cng c nhng tnh nng tngt, nhng khi s dng Mplab ICD2 th cn phi c mch debug, v cc hin tng xy raging nh khi chy thc t.

    1.6 Bi tpCi tin chng trnh BaiTN1.asm khi nhn RA4 s thy 4 LED t RB3 n RB0sng nhu ra mt bm 4 bit nh phn tng dn (mi ln nhn tng 1).

    B mn K Thut My Tnh 12 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    17/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 2 : Kho st cng xut nhp

    Ni dung:Kho st hot ng ca nt nhn, LED.Kho st cc thanh iu khin cng xut nhp.Tnh ton thi gian thc thi lnh, vit chng trnh con lm nhim v delay.Vit chng trnh kim tra nt nhn v hin th kt qu kim tra ra LED.

    Yu cu:Vit chng trnh xut d liu ra 4 led n m t 0 -> 15 -> 0. Thi gian gia

    cc ln m ln 1 n v l 1s.Nhp d liu t nt nhn RA4. Khi nt RA4 c nhn th led n RB0 sng,

    khi khng nhn RA4 th led n RB0 tt.

    2.1 Kin thc lin quan

    2.1.1 Cc thanh ghi iu khin cng xut nhpMi Port c ba thanh ghi iu khin hot ng chnh:Cc bit trong thanh ghi TRIS: thit lp chn tng ng l ng vo (logic 1) hoc

    ng ra (logic 0).Cc bit trong thanh ghi PORT: c mc logic t chn tng ng.Cc bit trong thanh ghi LAT: ghi mc logic ra chn tng ng.

    2.1.2 Kt ni mchV tr LED hin th v nt nhn trn board nh hnh di y:

    B mn K Thut My Tnh 13 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    18/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    LED hin th c kt ni nh sau:

    Mun cc LED sng, cc chn RBi tng ng phi ln mc 1. Ring LED D2 cnphi ni jumper J6 li mi sng c khi RB0=1.

    L do c jumper JP6 l do chn RB0 cn c dng lm ng nhp nt nhn RB0.

    Nh vy, lc no mun dng chn RB0 l ng xut LED th ng jumper JP6 li.Ngc li, hJP6 s dng RB0 lm ng nhp nt nhn.Cc nt nhn c kt ni nh sau:

    Nt nhn RA4, RB0 khi c nhn s lm cho chn tng ng mc logic 0.Cn thit lp cc chn RA4 v RB0 l ng vo.

    B dao ng chnh l b dao ng ngoi tn s 4 MHz c kt ni nh sau:

    Trn kit th nghim, thch anh Y2 c s dng cho tt c cc bi th nghim.

    2.2 Cc bc hin thc yu cu 1Bc 1. To project mi ging nh hng dn chng 1 ly tn project l Led_don,

    to file led_don.asm v chn chip 18f4520. Ta c hnh sau:

    B mn K Thut My Tnh 14 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    19/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bc 2. Include file p18f4520.inc vo file led_don.asm.Bc 3.

    Bc 4.

    Khi to PORTB l cng xut cc bit RB0-RB3.init clrf PORTB ;

    bcf TRISB,RB0 ; RB0 xutbcf TRISB,RB1 ; RB1 xutbcf TRISB,RB2 ; RB2 xutbcf TRISB,RB3 ; RB3 xutreturn

    Bc 5.

    To hm delay1ms c s dng bin delay (nh ngha trong udata) nh sau :udata

    delay res 1 ; nh ngha bin delay. . .

    delay1ms ; Gn ng 1 ms vi xung clock 4 MHzclrf delay ; xa bin delay (vng lp 256 ln)

    dl_1 nop

    decfsz delaybra dl_1return

    Ty ta c th to ra c hm delay1s bng cch gi hm delay1ms 1000 lndelay1s movlw .4

    movwf delay_1sadl_2 movlw .250 ; bt u vng lp ngoi

    B mn K Thut My Tnh 15 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    20/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    movwf delay_1sbdl_3 call delay1ms ; bt u vng lp trong

    decfsz delay_1sbbra dl_3 ; kt thc vng lp trong (250 lan)decfsz delay_1sa

    bra dl_2 ; kt thc vng lp ngoi (4 ln)return

    Bc 6. Vit chng trnh cho hm begin thc hin cc yu cu ca bi :begin incf LATB

    call delay1sbra begin ; lp li sau mi giy

    2.3 Chng trnh mu yu cu 1;=====================================;; Name: led_don.asm

    ; Project: Xut d liu ra 4 led n m t 0

    15

    0.; Thi gian gia cc ln m ln 1 n v l 1s.; Author: BKIT HARDWARE CLUB; Homepage: http://www.bkit4u.com/forum; Creation Date: 7 - 31 - 2009;======================================;

    list p=18f4520#include p18f4520.inccode 0goto start

    ; Vung du lieuudata

    delay res 1delay_1sa res 1delay_1sb res 1; Vung bat dau codePRG codestart call init; chuong trinh chinhbegin incf LATB

    call delay1sbra begin ; lap lai sau moi giay

    ; Ham khoi dong ban dauinit clrf PORTB ;

    bcf TRISB,RB0 ; cau hinh RB0 xuatbcf TRISB,RB1 ; cau hinh RB1 xuatbcf TRISB,RB2 ; cau hinh RB2 xuatbcf TRISB,RB3 ; cau hinh RB3 xuatreturn

    B mn K Thut My Tnh 16 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    21/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    ; Ham lam tre 1ms voi tan so dao dong 4MHzdelay1ms ; Gan dung voi xung clock 4 MHz

    clrf delay ; xoa bien delay (vong lap 256 lan)dl_1 nop

    decfsz delay

    bra dl_1return; Ham lam tre 1s = 1000 x 1msdelay1s movlw .4

    movwf delay_1sadl_2 movlw .250 ; bat dau vong lap ngoai (4 lan)

    movwf delay_1sbdl_3 call delay1ms ; bat dau vong lap trong (250 lan)

    decfsz delay_1sbbra dl_3 ; ket thuc vong lap trongdecfsz delay_1sa

    bra dl_2 ; ket thuc vong lap ngoaireturnend

    Sau khi c chng trnh mu ta thc hin vic compile chng trnh v np xungmch chy chng trnh nh hng dn chng 1.

    2.4 Cc bc hin thc yu cu 2Bc 1. To project mi ging nh hng dn chng 1 ly tn project l Nut_nhan

    v chn chip 18f4520. Ta c hnh sau:

    B mn K Thut My Tnh 17 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    22/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Include filep18f4520.inc vo file nut_nhan.asm.Bc 2.Bc 3.

    Bc 4.

    Khi to PORTB bit RB0 l cng xut (jumper JP6 ng) v PORTA bit RA4l cng nhp.

    init clrf PORTBbcf TRISB,RB0 ; RB0 xut

    bsf TRISA,RA4 ; RA4 nhpreturnVit chng trnh cho hm main thc hin yu cu ca bi

    main btfsc PORTA,RA4 ; chn khi RA4 c nhnbra mainbsf LATB,RB0 ; bt sng LED RB0

    swoff btfss PORTA,RA4 ; chn khi RA4 c nhbra swoffbcf LATB,RB0 ; tt LED RB0bra main ; lp li qu trnh

    2.5 Chng trnh mu yu cu 2;=====================================;

    ; Name: nut_nhan.asm

    ; Project: Nhp dliu tnt nhn RA4.; Khi nt RA4 c nhn th ledn RB0 sng,; Khi khng nhn RA4 th ledn RB0 tt; Author: BKIT HARDWARE CLUB; Homepage: http://www.bkit4u.com/forum

    ; Creation Date: 7 - 31 - 2009

    ;======================================;

    list p=18f4520#include p18f4520.inccode 0goto start

    ; Vung du lieuudata

    ; Chuong trinh nay khong su dung bien; Vung bat dau codePRG codestart call init; chuong trinh chinhmain btfsc PORTA,RA4 ; cho den khi RA4 duoc nhan

    bra main

    bcf LATB,RB0 ; bat sang LED RB0swoff btfss PORTA,RA4 ; cho den khi RA4 duoc nha

    bra swoffbcf PORTB,RB0 ; tat LED RB0goto main ; lap lai qua trinh

    ; Ham khoi dong ban dauinit clrf PORTB

    bcf TRISB,RB0 ; RB0 xuat

    B mn K Thut My Tnh 18 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    23/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    bsf TRISA,RA4 ; RA4 nhapreturnend

    Sau khi c chng trnh mu ta thc hin vic compile chng trnh v np xungmch chy chng trnh nh hng dn chng 1.

    B mn K Thut My Tnh 19 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    24/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    2.6 Bi tpa) Vit chng trnh khi nhn RA4 th cc led s sng m ln, mi ln nhn m

    ln 1 n v.b) Vit chng trnh sao cho mi ln nhn RA4 th 2 led tri v 2 led phi thay nhau

    sng.c) To hiu ng light river trn 4 led ca board mch starter kit. Nhn RA4 thay

    i chiu ca light river.

    B mn K Thut My Tnh 20 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    25/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 3 : Kho st c ch ngt qung, giao tip LCD k t

    Ni dung:

    Kho st cc nguyn nhn gy ngt qung, cch x l ngt qung, tnh u tingia cc ngt ca vi iu khin PIC 18F4520.Kho st ngt ngoi ca vi iu khin PIC 18F4520.iu khin LCD k t 2 x 16.

    Yu cu:1. Vit chng trnh khi to 2 ngt:

    Ngt ngoi INT0 (nhn ngt qua nt nhn RB0, Jumper JP6 h) vi u tincao. Ngt timer 0 vi u tin thp.

    Trong chng trnh ngt ngoi INT0 bt 3 led n RB1, RB2, RB3 sng cng lc.Trong chng trnh timer 0 sau 1s khi 3 led c bt trong ngt ngoi th tt 3

    led n RB1, RB2, RB3 cng lc.2. Vit chng trnh hin th k t ln LCD.

    3.1 Kin thc lin quan3.1.1 Tm tt cc thanh ghi iu khin ngtThanh ghi INTCON:

    Thanh ghi PIE1:

    Thanh ghi PIE2:

    Thanh ghi PIR1:

    Thanh ghi PIR2:

    B mn K Thut My Tnh 21 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    26/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Siu khin ngt:

    3.2 Cc bc hin thc yu cu 1Bc 1. To project mi ging nh hng dn chng 1 ly tn project l Interrupt,

    to file interrupt.asm v chn chip 18f4520. Ta c hnh sau:

    Bc 2. Include file p18f4520.inc vo file interrupt.asmBc 3. Khi to PortB l output s dng cc lnh clrf, bcf

    init clrf LATB ; RB1-RB3 la cong xuatbcf TRISB,RB1

    B mn K Thut My Tnh 22 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    27/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    bcf TRISB,RB2bcf TRISB,RB3movlw .10 ; khoi dong bien delay=10movwf delayreturn

    Bc 4.

    Bc 5.

    Khi to timer 0 to ngt 100 ms (vi xung clock 4 MHz, chn prescaler 2:1, sm 50000), cho ngt timer 0 c u tin thp.init_timer0

    bsf RCON,IPEN ; cho phep uu tien ngat.bcf INTCON2,TMR0IP ; timer0 uu tien thapbcf INTCON,TMR0IF ; xoa co ngat timer0bsf INTCON,TMR0IE ; cho phep ngat timer0bsf INTCON,GIEH ; cho phep ngat uu tien caobsf INTCON,GIEL ; cho phep ngat uu tien thapclrf T0CON ; prescaler 2:1movlw HIGH (-50000) ; nap so dem 50000 cho timer0

    movwf TMR0Hmovlw LOW (-50000)movwf TMR0Lbsf T0CON,TMR0ON ; cho phep timer0 demreturn

    Bc 6.

    Khi to ngt ngoi 0 tch cc cnh xung.i vi ngt ngoi INT1 v INT2, u tin ph thuc vo 2 bit INT1IP v INT2IP

    trong thanh ghi INTCON3. Cn vi ngt ngoi INT0 th u tin lun l cao.init_int0

    bcf INTCON2,INTEDG0 ; tac dong canh xuongbcf INTCON,INT0IF ; xoa co ngatbsf INTCON,INT0IE ; cho phep ngat ngoai INT0return

    Bc 7.

    Vit chng trnh cho ngt ngoi 0, bt 3 n led n cng sng v khi to ligi tr cho bin delay 1s sau th ngt timer s tt 3 n .

    int0_isrbcf INTCON,INT0IFbsf LATB,RB1bsf LATB,RB2bsf LATB,RB3movlw .10movwf delayreturn

    Vit chng trnh cho ngt timer0, sau 1s sau khi led c bt sng th n slm cho led tt.

    Thi gian timerm ln 1 n vc tnh bng cng thc :t = (1/(Focs/4))*prescaler = (1/(4Mhz/4))*2) =2s

    Nh vy, mun c thi khong 100 ms (100000s), ta cn m 50000 ln.timer0_isr

    bcf INTCON,TMR0IF

    B mn K Thut My Tnh 23 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    28/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    decfsz delay,1bra timer0_isr_1bcf LATB,RB1bcf LATB,RB2bcf LATB,RB3

    movlw .10movwf delaytimer0_isr_1

    bcf T0CON,TMR0ONmovlw HIGH (-50000) ; nap lai so dem 50000 cho timer0movwf TMR0Hmovlw LOW (-50000)movwf TMR0Lbsf T0CON,TMR0ON ; cho phep timer0 dem laireturn

    3.3 Chng trnh mu yu cu 1;=====================================;

    ; Name: led_don.asm

    ; Project: Vit chng trnh khi to 2 ngt:; -Ngt ngoi 0 vi u tin cao.; -Ngt timer 0 vi u tin thp.; -Ngt INT0 : bt 3 ledn RB1, RB2, RB3 sng cng ;lc; -Ngt timer0 : tt 3 ledn RB1, RB2, RB3 sau 1s; Author: BKIT HARDWARE CLUB

    ; Homepage: http://www.bkit4u.com/forum

    ; Creation Date: 7 - 31 - 2009;======================================;

    list p = 18f4520#include P18f4520.inccode 0goto mainorg 08Hgoto isr_highorg 18Hgoto isr_low

    ; Vung du lieuudata

    delay res 1; Vung bat dau codePRG codemain

    call initcall init_timer0call init_int0goto $

    B mn K Thut My Tnh 24 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    29/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    ; Ham khoi dong ban dauinit clrf LATB ; RB1-RB3 la cong xuat

    bcf TRISB,RB1bcf TRISB,RB2bcf TRISB,RB3

    movlw .10 ; khoi dong bien delay=10movwf delayreturn

    ; Ham khoi dong timer0init_timer0

    bsf RCON,IPEN ; cho phep uu tien ngat.bcf INTCON2,TMR0IP ; timer0 uu tien thapbcf INTCON,TMR0IF ; xoa co ngat timer0bsf INTCON,TMR0IE ; cho phep ngat timer0bsf INTCON,GIEH ; cho phep ngat uu tien caobsf INTCON,GIEL ; cho phep ngat uu tien thap

    clrf T0CON ; prescaler 2:1movlw HIGH (-50000) ; nap so dem 50000 cho timer0movwf TMR0Hmovlw LOW (-50000)movwf TMR0Lbsf T0CON,TMR0ON ; cho phep timer0 demreturn

    ; Ham khoi dong int0init_int0

    bcf INTCON2,INTEDG0 ; tac dong canh xuongbcf INTCON,INT0IF ; xoa co ngatbsf INTCON,INT0IE ; cho phep ngat ngoai INT0return

    ; Ham xu ly ngat timer0timer0_isr

    bcf INTCON,TMR0IFdecfsz delay,1bra timer0_isr_1bcf LATB,RB1bcf LATB,RB2bcf LATB,RB3movlw .10movwf delay

    timer0_isr_1bcf T0CON,TMR0ONmovlw HIGH (-50000) ; nap lai so dem 50000 cho timer0movwf TMR0Hmovlw LOW (-50000)movwf TMR0Lbsf T0CON,TMR0ON ; cho phep timer0 dem lai

    B mn K Thut My Tnh 25 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    30/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    return; Ham xu ly ngat int0int0_isr

    bcf INTCON,INT0IFbsf LATB,RB1

    bsf LATB,RB2bsf LATB,RB3movlw .10movwf delayreturn

    ; Ham xu ly ngat uu tien caoisr_high

    call int0_isrretfie

    ; Ham xu ly ngat uu tien thapisr_low

    call timer0_isrretfieend

    Sau khi c chng trnh mu ta thc hin vic compile chng trnh v np xungmch chy chng trnh nh hng dn chng 1.

    3.4 LCD k t2x163.4.1 Hnh dng v ngha cc chn:

    Tn chn Mc logic M tGND - t (0V)VCC - Ngun (+5V)VEE - Chnh contrast (0 VCC)RS 0

    1D0-D7 l gi tr lnh

    D0-D7 l gi tr d liuR/W 0

    1Ghi gi tr vo LCD

    c gi tr ra t LCD

    B mn K Thut My Tnh 26 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    31/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    E 01

    T 1 xung 0

    Cm truy xut LCDLCD hot ng trao i d liu

    D liu/Lnh a vo LCDD0 0/1 Bit 0/LSBD1 0/1 Bit1

    D2 0/1 Bit2D3 0/1 Bit3D4 0/1 Bit4D5 0/1 Bit5D6 0/1 Bit6D7 0/1 Bit7/MSBA - Chn Anode ca n nnK - Chn Cathode ca n nn

    3.4.2 T chc vng nh ca LCDDisplay Data Ram (DDRAM): lu tr m k t hin th ra mn hnh. M ny ging

    vi m ASCII. C tt c 80 nhDDRAM. Vng hin th tng ng vi ca s gm 16 nhhng u tin v 16 nh hng th hai. Chng ta c th to hiu ng dch chbng cch s dng lnh dch (m t sau), khi ca s hin th s dch em li hiu ngdch ch.

    Character Generator Ram (CGRAM): lu tr tm mu k t do ngi dng nhngha. Tm mu k t ny tng ng vi cc m k t D7-D0 = 0000*D2D1D0 (* manggi tr ty nh 0 hay 1).

    B mn K Thut My Tnh 27 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    32/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Character Generator Rom (CGROM): lu tr cng cc mu k t tng ng vi mASCII. Di y l bng nh x gia m k t v mu k t.

    B mn K Thut My Tnh 28 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    33/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Chng ta mun hin th ch CE gia hng u tin, gi s ca s hin thangbt u t v tr u tin (hng th nht hin th d liu ca nht 0x00 n 0x0f, hng

    th hai hin th d liu ca nht 0x40 n 0x4f, y l v tr home). Gi tr ca nh0x07 l 0x43 (k t C), ca nh0x08 l 0x45 (k t E).

    Chng ta mun hin th ch gi hng th hai, gi s c s hin thang v trhome. Trong bng mu k t chng ta thy khng c mu . Lc ny chng ta phinh ngha mu 5x8 im, gm c 8 byte, sau lu vo v tr ca mu k tCGRAM th nht. Lc ny gi tr ca nh0x47 l 0x00 hoc 0x08 (v tr ca mu kt CGRAM th nht ).

    B mn K Thut My Tnh 29 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    34/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    3.4.3 Cc lnh giao tip vi LCD

    Lnh RS RW D7 D6 D5 D4 D3 D2 D1 D0Thi gianthc thi

    Clear display0 0 0 0 0 0 0 0 0 1 1.52ms

    Return home0 0 0 0 0 0 0 0 1 * 1.52ms

    Entry mode set0 0 0 0 0 0 0 1 I/D SH 37s

    Display on/offcontrol

    0 0 0 0 0 0 1 D C B 37s

    Cursor/Displayshift

    0 0 0 0 0 1S/C

    R/L

    * * 37s

    Function set0 0 0 0 1 DL N F * * 37s

    Set CGRAMaddress

    0 0 0 1 CGRAM address 37s

    Set DDRAMaddress

    0 0 1 DDRAM address 37s

    Read BUSY flag(BF)

    0 1 BF DDRAM address 0s

    Write toDDRAM or

    CGRAM1 0 D7 D6 D5 D4 D3 D2 D1 D0 43s

    Read fromDDRAM or

    CGRAM

    1 1 D7 D6 D5 D4 D3 D2 D1 D0 43s

    Cc bit trn bng tm tt cc lnh c ngha nh sau:

    I/D 1 Increment 0 DecrementSH 1 Entire shift on 0 Entire shift offS/C 1 Display shift 0 Cursor moveR/L 1 Shift to the Right 0 Shift to the LeftDL 1 8 bits 0 4 bitsN 1 2 Lines 0 1 LinesF 1 5x10 dots Font 0 5x8 dots FontBF 1 Internally operating 0 Can accept instruction

    Trn kit th nghim LCD k t 2x16 c kt ni vo Port D ch 4 bit. ch4 bit, c hay ghi mt byte phi tin hnh ci d liu hai ln, ln u l 4 bit cao, lnth hai l 4 bit thp.

    B mn K Thut My Tnh 30 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    35/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    3.4.4 Khi to LCDS kt ni LCD:

    Q2MMBT2222A

    VCC

    R20 2.2KRD7

    RD4RD5RD6

    Vss1

    Vdd2

    Vee3

    RS4

    R/W5

    E6

    D07

    D18

    D29

    D310

    D411

    D512

    D613

    D714

    A

    15

    LCD1

    RD3RD2RD1RD0

    K16 LCD k t 2x16

    Trc khi xut k t ra mn hnh LCD, LCD controller phi c khi to khi mic cp ngun. Trnh t khi to nh lc sau. Trn lc , lnh Display clear cgi tr 0x01 c gi hai ln, ln u l 4 bit cao c gi tr 0x0, ln th hai l bn bit thpc gi tr 0x01. Lnh Function set gi hai ln gi tr 0x2.

    B mn K Thut My Tnh 31 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    36/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bt ngun(chn PD7 out ra mc logic 1)

    Ch ti thiu 30ms(i VDD > 4.5V)

    Gi lnhFunction set

    RS RW D7 D6 D5 D4

    0 0 0 0 1 0

    0 0 0 0 1 0

    0 0 N F * *

    Ch ti thiu 39s

    0 0 0 0 0 0

    0 0 1 D C B

    Ch ti thiu 39s

    0 0 0 0 0 0

    0 0 0 0 0 1

    Kt thc khi to

    0 0 0 0 0 0

    0 0 0 1 I/D SH

    Gi lnhDisplay on/off control

    RS RW D7 D6 D5 D4

    Gi lnhEntry mode set

    RS RW D7 D6 D5 D4

    Gi lnhDisplay clear

    RS RW D7 D6 D5 D4

    3.5 Cc bc hin thc yu cu 2Bc 1. To project mi ging nh hng dn chng 1 ly tn project l LCD, to

    file lcd.asm v chn chip 18f4520. Ta c hnh sau:

    B mn K Thut My Tnh 32 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    37/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bc 2. Include file p18f4520.inc vo file lcd.asmBc 3.

    Bc 4.

    Da vo s nguyn l kt ni vi iu khin vi LCD k t ta define li ddng s dng hn.

    #define LCD_D4 LATD, RD0 ; LCD data bits#define LCD_D5 LATD, RD1#define LCD_D6 LATD, RD2#define LCD_D7 LATD, RD3

    #define LCD_D4_DIR TRISD, RD0 ; LCD data bits#define LCD_D5_DIR TRISD, RD1#define LCD_D6_DIR TRISD, RD2#define LCD_D7_DIR TRISD, RD3

    #define LCD_E LATD, RD6 ; LCD E clock#define LCD_RW LATD, RD5 ; LCD read/write line#define LCD_RS LATD, RD4 ; LCD register select line

    #define LCD_E_DIR TRISD, RD6#define LCD_RW_DIR TRISD, RD5#define LCD_RS_DIR TRISD, RD4

    #define LCD_INS 0#define LCD_DATA 1

    Vit hm xut d liu 4 bit ra cho LCD k t :LCDWriteNibble

    B mn K Thut My Tnh 33 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    38/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    btfss STATUS, C ; Set theregister select

    bcf LCD_RS btfsc STATUS, C bsf LCD_RS

    bcf LCD_RW ; Set writemode bcf LCD_D4_DIR ; Set data bits to

    outputs bcf LCD_D5_DIR bcf LCD_D6_DIR bcf LCD_D7_DIR NOP ; Small NOP bsf LCD_E ; Setup to clock data NOP ; Small

    NOP btfss temp_wr, 7 ; Set highnibble

    bcf LCD_D7 btfsc temp_wr, 7 bsf LCD_D7 btfss temp_wr, 6 bcf LCD_D6 btfsc temp_wr, 6 bsf LCD_D6 btfss temp_wr, 5 bcf LCD_D5 btfsc temp_wr, 5 bsf LCD_D5 btfss temp_wr, 4 bcf LCD_D4 btfsc temp_wr, 4 bsf LCD_D4 NOP ; Small NOP bcf LCD_E ; Send the datareturn

    Bc 5. Tip tc ta vit hm truyn lnh (command) cho lcd k t.Macro LCDWrite_command c mt i s l data, ta dng i s ny truyn lnh

    cho lcd. y, LCD ta thit lp ch 4 bt nn khi truyn lnh n cng ch cn 4 bit iu khin. Trong macro ny data1 ch s dng 4 bit cao m thi.

    LCDWrite_command macro data1 bcf LCD_RS ;write commandmovlw data1

    B mn K Thut My Tnh 34 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    39/72

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    40/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    lil11movlw 0xFFmovwf delayrcall DelayXCyclesdecfsz COUNTER,F

    bra lil11LCDWrite_command 0x20LCDWrite_command 0x20LCDWrite_command 0x80LCDWrite_command 0x00LCDWrite_command 0xf0LCDWrite_command 0x00LCDWrite_command 0x10call LongDelay ;2mscall LongDelay ;2ms

    LCDWrite_command 0x00LCDWrite_command 0x20

    call Lcd_clearreturn

    Bc 8. n y ta c th vit chng trnh hin th k t ln lcd k t. tng thc hin y l lc u ta khai bo mt vng nhgm 32 nh tng

    ng vi 32 v tr trn lcd k t. Hm lcd_display ca chng ta s thc hin mt vic ngin l ly d liu cha trong vng nh ny ra hin th ln lcd k t. Cn ngi dngmun hin th ln lcd th ch cn update gi tr vo vng nhny l xong.

    Lcd_displaymovff INDF0,temp_wr1movlw .0cpfseq temp_wr1goto Lcd_display1movlw 0x20movwf temp_wr1

    Lcd_display1LCDWrite_data temp_wr1

    INCF FSR0LCLRF WREGADDWFC FSR0H,F

    MOVLW .0cpfseq flag_linegoto Lcd_display_line2

    ;display line1INCF index_of_lcdMOVLW MAX_INDEX

    B mn K Thut My Tnh 36 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    41/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    CPFSEQ index_of_lcdGOTO Exit_Lcd_displayCLRF Index_of_lcdMOVLW .1MOVWF flag_line

    Set_cursor .0,.1goto Exit_Lcd_display

    ;display line2Lcd_display_line2

    INCF index_of_lcdMOVLW MAX_INDEXCPFSEQ index_of_lcdGOTO Exit_Lcd_displayCLRF Index_of_lcdMOVLW .0

    MOVWF flag_lineMovlw HIGH Lcd_bufferMovwf FSR0HMovlw LOW Lcd_bufferMovwf FSR0LSet_cursor .0, .0

    Exit_Lcd_displayRETURN

    3.6 Bi tpa) Vit chng trnh chy ch qua LCD.b) Vit chng trnh thay i ch hin th trn LCD khi nhn nt.

    B mn K Thut My Tnh 37 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    42/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 4 : Kho st bnh thi

    Ni dung:

    Kho st cc ch hot ng ca cc bnh thi.Kho st cc thanh ghi iu khin bnh thi.S dng bnh thi trong chng trnh.

    Yu cu:S dng b timer 1 c sau 1s m ln 1 n v ri xut gi tr ra led n.Vit chng trnh s dng bnh thi lm ng hiu khin n giao thng.

    4.1 Cc bc hin thc yu cu 1Bc 1. To project mi ging nh hng dn chng 1 ly tn project l timer v

    chn chip 18f4520. Ta c hnh sau:

    Include filep18f4520.inc vo file timer.asmBc 2.Bc 3.

    Bc 4.

    Khi to PORTB l cng xut.init clrf PORTB ; ton b PORTB l cng xut

    clrf TRISB

    returnKhi to cc vector ngt.a ch 0x00 bt u chng trnh chnh.a ch 0x08 a ch ca vector ngt c u tin caoa ch 0x18 a ch ca vector ngt c u tin thp.

    code 0goto mainorg 0x000008 ; high priority interrupt vector

    B mn K Thut My Tnh 38 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    43/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    goto isr_highorg 0x000018 ; low priority interrupt vectorgoto isr_low

    ; Vung du lieuudata

    bien res 1; Vung bat dau codePRG codemain

    call init. . .

    ;interrupt sevice routine for high priority interruptisr_high . . .

    retfie;interrupt sevice routine for low priority interruptisr_low . . .

    retfieBc 5.

    Bc 6.

    Khi to ngt timer0 pht ra ngt 100ms (vi xung clock 4 MHz, chn prescaler2:1, sm 50000).

    ;=====================;

    ; Initializing timer 0: 16BIT

    ;=====================;init_timer0

    bsf RCON,IPEN ; cho phep uu tien ngat.bcf INTCON2,TMR0IP ; timer0 uu tien thapbcf INTCON,TMR0IF ; xoa co ngat timer0

    bsf INTCON,TMR0IE ; cho phep ngat timer0bsf INTCON,GIEH ; cho phep ngat uu tien caobsf INTCON,GIEL ; cho phep ngat uu tien thapclrf T0CON ; prescaler 2:1movlw HIGH (-50000) ; nap so dem 50000 cho timer0movwf TMR0Hmovlw LOW (-50000)movwf TMR0Lbsf T0CON,TMR0ON ; cho phep timer0 demreturn

    Vit chng trnh con chy trong timer, sau 1s tng gi tr hin th ra ngoi ledn.

    V c 100ms th c ngt mt ln, do sau 1s ta tng ln mt gi tr th cn 10 lnngt nh vy, nn ban u ta phi khi to cho bin delay = 10. V y l hm chnh thchin chc nng ca bi tp 1.

    timer0_isrbcf INTCON,TMR0IFdecfsz delay,1

    B mn K Thut My Tnh 39 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    44/72

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    45/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    ;we have to know something

    ;1. External clock: 4Mhz (this ex);2. Timer0 Prescaler: 1/2 (this ex)

    ;cycle of timer0 = 1/((Fexternal/4)/2) = 0.5us

    ;===========================================;

    init_timer0 bsf RCON,IPEN ; cho phep uu tien ngat.bcf INTCON2,TMR0IP ; timer0 uu tien thapbcf INTCON,TMR0IF ; xoa co ngat timer0bsf INTCON,TMR0IE ; cho phep ngat timer0bsf INTCON,GIEH ; cho phep ngat uu tien caobsf INTCON,GIEL ; cho phep ngat uu tien thapclrf T0CON ; prescaler 2:1movlw HIGH (-50000) ; nap so dem 50000 cho timer0movwf TMR0Hmovlw LOW (-50000)

    movwf TMR0Lbsf T0CON,TMR0ON ; cho phep timer0 demreturn

    ;===============================================;

    ; interrupt service routine for high priority interrupts;===============================================;

    isr_high ; high priority isr - do nothingretfie

    ;===============================================;

    ;interrupt service routine for low priority interrupts;===============================================;

    isr_lowcall timer0_isrretfie

    ;===============================================;

    ; Timer0 interrupt service routine

    ;===============================================;timer0_isr

    bcf INTCON,TMR0IFdecfsz delay,1bra timer0_isr_1incf LATBmovlw .10movwf delay

    timer0_isr_1bcf T0CON,TMR0ONmovlw HIGH (-50000) ; nap lai so dem 50000 cho timer0movwf TMR0Hmovlw LOW (-50000)

    B mn K Thut My Tnh 41 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    46/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    movwf TMR0Lbsf T0CON,TMR0ON ; cho phep timer0 dem laireturnend

    Yu cu 2 ca bi thc hnh ny xem nh bi tp

    4.3 Bi tpa) Dng bnh thi to xung vung chu k 10ms, duty cycle 30%.

    B mn K Thut My Tnh 42 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    47/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 5 : K thut qut ma trn phm

    Ni dung:

    Kho st cu to, hot ng ca ma trn phm.Tm hiu k thut ly d liu t ma trn phm, chng rung phm nhn.Yu cu:

    Vit chng trnh ly d liu t phm nhn sau hin th gi tr ca phm nhnra led n.

    5.1 Kt ni mch ma trn phm

    1 4

    2 3

    SW1

    1 4

    2 3

    SW2

    1 4

    2 3

    SW3

    1 4

    2 3

    SW4

    1 4

    2 3

    SW5

    1 4

    2 3

    SW6

    1 4

    2 3

    SW7

    1 4

    2 3

    SW8

    1 4

    2 3

    SW9

    1 4

    2 3

    SW10

    1 4

    2 3

    SW11

    1 4

    2 3

    SW12

    1 4

    2 3

    SW13

    1 4

    2 3

    SW14

    1 4

    2 3

    SW15

    1 4

    2 3

    SW16

    RD11

    RD02

    RD33

    RD24

    RD55

    RD46

    RD77

    RD68

    RE19

    RE010

    GND11

    VCC12

    J4

    CON12A

    ROW2

    ROW1

    ROW4

    ROW3

    COLUMN1 COLUMN2 COLUMN3 COLUMN4

    COL1 COL2 COL3 COL4

    R1

    10K

    R2

    10K

    R3

    10K

    R4

    10K

    VCC R5100R

    R6100R

    R7100R

    R8100R

    COL2COL4ROW2ROW4

    COL1COL3ROW1ROW3

    VCC

    Ma trn phm gm 16 phm nhn kt ni chung 4 hng v 4 ct. Bn ct COL1-COL4ni vo bn bit thp ca Port D D0-D3. Bn hng ROW1-ROW4 ni vo bn bit cao caPort D D4-D7. Bn hng c ni vi in trko ln m bo mc logic 1 khi phmkhng c nhn.

    B mn K Thut My Tnh 43 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    48/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    5.2 Cc bc hin thcBc 1. To project mi ging nh hng dn chng 1 ly tn project l Key v

    chn chip 18f4520. Ta c hnh sau:

    Include filep18f4520.inc vo file key.asmBc 2.Bc 3. Define cc port tng ng vi hng v ct ca ma trn phm d s dng sau

    ny. Da vo s mch ta nh ngha nh sau:

    B mn K Thut My Tnh 44 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    49/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    #define COLUMN_1 PORTD, 0#define COLUMN_2 PORTD, 1#define COLUMN_3 PORTD, 2#define COLUMN_4 PORTD, 3

    #define ROW_1 PORTD, 4#define ROW_2 PORTD, 5#define ROW_3 PORTD, 6#define ROW_4 PORTD, 7

    Bc 4.

    Bc 5.

    Khi to input v output cho cc port tng ng. y column l output, cnrow l input. Portb dng hin th led n cng c cu hnh l output.

    INIT_IO;assigning PORTB is a digital outputMOVLW 0x0FMOVWF ADCON1

    ; setup portb for outputsCLRF TRISBCLRF PORTBMOVLW 0x0FMOVWF TRISDMOVLW 0xFFMOVWF PORTDRETURN

    Bc 6.

    Khi to timer, phn ny chng ta hc t chng 4, ta c th c mt hmkhi to timern gin nh sau:

    INIT_TIMER0

    BSF RCON,IPEN ;enable priority interrupts.BSF INTCON2,TMR0IPBSF INTCON,TMR0IFBSF INTCON,TMR0IEBSF INTCON,GIEHBSF INTCON,GIELCLRF T0CONMOVLW 0x3cMOVWF TMR0HMOVLW 0xAFMOVWF TMR0LBSF T0CON,TMR0ONRETURN

    Vit hm Get_key vi 2 i s. i s th nht c tn l temp_wr, chnh l gitr output tng ng vi cc ct ca ma trn phm, i s th 2 c tn l colchnh l gi tr bt u ca mi ct. V d ct 1 th gi tr bng 0, ct 2 th gitr bng 1, ct 3 th gi tr bng 2 v ct 4 th gi tr bng 3.

    GET_KEYBTFSS temp_wr, 0

    B mn K Thut My Tnh 45 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    50/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    BCF COLUMN_1BTFSS temp_wr, 0BSF COLUMN_1BTFSS temp_wr, 1BCF COLUMN_2

    BTFSS temp_wr, 1BSF COLUMN_2BTFSS temp_wr, 2BCF COLUMN_3BTFSS temp_wr, 2BSF COLUMN_3BTFSS temp_wr, 3BCF COLUMN_4BTFSS temp_wr, 3BSF COLUMN_4

    BTFSC PORTD,4 ;BIT TEST F, SKIP IF SETGOTO NEXT_BUTTON_1MOVLW .0MOVWF KeyReg1GOTO EXIT_GET_KEY

    NEXT_BUTTON_1BTFSC PORTD,5 ;BIT TEST F, SKIP IF SETGOTO NEXT_BUTTON_2MOVLW .4MOVWF KeyReg1GOTO EXIT_GET_KEY

    NEXT_BUTTON_2BTFSC PORTD,6 ;BIT TEST F, SKIP IF SETGOTO NEXT_BUTTON_3MOVLW .8MOVWF KeyReg1GOTO EXIT_GET_KEY

    NEXT_BUTTON_3BTFSC PORTD,7 ;BIT TEST F, SKIP IF SETGOTO NEXT_BUTTON_2MOVLW .12MOVWF KeyReg1

    EXIT_GET_KEYMOVFF COL,WADDWF KeyReg1,dRETURN

    Bc 7. Da vo hm Get_key trn ta c th hon thin hm Scan_button mt cch ddng. y ta nhc li cch m s l phm nhn d liu ngc trv l ti

    B mn K Thut My Tnh 46 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    51/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    mt thi im ch cho mt ct c tch cc (y l mc 0) sau c ngcgi tr t cc hng. Hng 1 tng ng vi ct 1 l s 0, tng t hng 2 vi ct1 l s 4

    Khi nhn phm th s c hin tng rung phm, gii quyt trng hp ny ta cmt cch gii quyt y l c d liu 3 ln lin tip mi ln cch nhau 10ms, sau so

    snh 3 gi trc c. Nu 3 gi tr bng nhau th ta xem nh c mt nt nhn cnhn. Trong hm Scan_button ta dng 3 bin KeyReg1, KeyReg2 v KeyReg3 lu gitr ca 3 ln c d liu lin tip, khi kim tra 3 bin ny c gi tr bng nhau th ta s luvo bin KeyReg v xut d liu ra PORTB.

    Scan_buttonMOVFF KeyReg2,KeyReg3MOVFF KeyReg1,KeyReg2

    MOVLW 0x0EMOVWF temp_wrMOVLW .0

    MOVWF COLCALL GET_KEY

    MOVLW 0x0DMOVWF temp_wrMOVLW .1MOVWF COLCALL GET_KEY

    MOVLW 0x0BMOVWF temp_wrMOVLW .2MOVWF COLCALL GET_KEY

    MOVLW 0x07MOVWF temp_wrMOVLW .3MOVWF COLCALL GET_KEY

    MOVFF KeyReg1,WCPFSEQ KeyReg2GOTO EXIT_SCAN_BUTTONCPFSEQ KeyReg3GOTO EXIT_SCAN_BUTTON

    MOVFF KeyReg,WCPFSEQ KeyReg1GOTO Scan_button1

    B mn K Thut My Tnh 47 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    52/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    GOTO EXIT_SCAN_BUTTONScan_button1

    MOVFF KeyReg1,KeyRegCALL Button_process

    EXIT_SCAN_BUTTONRETURNBc 8.Nh gii thut trn ni l c mi 10ms th ta c d liu mt ln, cho iu

    ny c thc hin d dng th ta phi dng n interrupt timer. Ta khi to mtinterrupt timer c sau 10ms th interrupt mt ln. lm c iu ny cc bnc th xem li chng timer c th lm vic mt cch d dng.

    y ch gii thiu cho cc bn l hm Timer0_routine, hm ny c gi tronginterrupt timer v trong hm ny ta gi hm Scan_button trn.

    TIMER0_ROUTINE

    BCF INTCON,TMR0IF

    BCF T0CON,TMR0ONMOVLW 0x3cMOVWF TMR0HMOVLW 0xafMOVWF TMR0LBSF T0CON,TMR0ONCALL SCAN_BUTTONRETURN

    5.3 Bi tpa) Ci tin hm chng rung phm, khi nhn 1 phm th phi sau 1 thi gian

    TimeOutForKey th mi tch cc phm nhn .b) Vit ng dng ng h casio n gin (hin th gi, ngy, cho php chnh sa

    ngy gi) s dng ma trn phm v LCD.

    B mn K Thut My Tnh 48 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    53/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 6 : K thut qut LED

    Ni dung:Kho st cu to, hot ng ca LED 7 on, LED ma trn.Tm hiu k thut qut LED 7 on v LED ma trn.

    Yu cu:Vit chng trnh cho php hin th gi tr ra led 7 on v led ma trn.

    6.1 Cu to LED 7on v LED ma trnLED 7 on gm c 7 on c nh du: a, b, c, d, e, f, g v mt im dp.

    LED 7 on c hai loi l Common Anode v Common Cathode, tng ng cc LEDni chung Anode hay ni chung Cathode.

    LED ma trn 8x8 hai mu c b tr thnh 8 hng v 8 ct. Mi im c hai LED.

    B mn K Thut My Tnh 49 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    54/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Cc LED trn cng mt hng ni chung Anode, cc LED cng loi trn cng mt ctni chung Cathode.

    B mn K Thut My Tnh 50 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    55/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    6.2 Kt ni mch

    Row.5

    Red.5

    Green.5

    Red.6

    Green.1

    Green.6

    Green.7

    Row.6

    Green.8

    Row.7

    Red.7

    Red.1

    Row.8

    Red.8

    Green.2

    Row.1

    Row.2

    GR1

    24

    RD1

    23

    RW1

    22

    GR2

    21

    RD2

    20

    RW2

    19

    GR3

    18

    RD3

    17

    GR5

    1

    RD5

    2

    RW5

    3

    GR6

    4

    RD6

    5

    RW6

    6

    GR7

    7

    RD7

    8

    RW7

    9

    GR8

    10

    RW3

    16

    GR4

    15

    RD4

    14

    RW4

    13

    RD8

    11

    RW8

    12

    ML1LED 8x8x2

    Red.3

    Green.3

    Red.4

    Green.4

    Row.3

    Row.4

    ENABLE_LED3

    C

    E

    G

    e1 d2

    g10

    c4

    dot5

    b6 a7

    f9

    Vcc

    3

    Vcc

    8

    8.

    LED3

    led7

    F

    BA

    ENABLE_LED4

    DC

    E

    G

    e1 d2

    g10

    c4

    dot5

    b6 a7

    f9

    Vcc

    3

    Vcc

    8

    8.

    LED4

    led7

    F

    BA

    DOT

    D

    G

    ENABLE_LED1

    DOT

    Ee

    1 d2

    g10

    c4

    dot5

    b6 a7

    f9

    Vcc

    3

    Vcc

    8

    8.

    LED1

    led7

    A

    C

    F

    B

    DOT

    D

    DOT

    E

    G

    ENABLE_LED2

    e1 d2

    g10

    c4

    dot5

    b6 a7

    f9

    Vcc

    3

    Vcc

    8

    8.

    LED2

    led7

    A

    CD

    F

    B

    Red.2

    Mch LED mrng gm c 4 LED 7 on v 1 LED ma trn hai mu xanh . Mchc ni vo mt phn ca Port PICtail. D liu c dch ni tip v c ci bi IC74HC595, TPIC6595. Module SPI ca PIC m nhn vic dch d liu ni tip thng quachn d liu SDO v chn clock dch SCK. Sau khi dch 4 byte, tn hiu LATCHchuyn t mc 0 ln mc 1 sy d liu ca 4 byte tm ra 4 byte ng ra QA-QH tngng. Tn hiu CLR_DISP tch cc mc 0 khng cho php hin th.

    B mn K Thut My Tnh 51 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    56/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    U1 TPIC6595

    SCK

    SDO

    VCC

    VCC

    VCC

    R5330R6330

    Red.1

    R7330

    R8330

    R1330

    Red.4Red.3Red.2

    Red.6Red.5

    Red.8

    Red.7

    R2330R3330R4330

    Row.2 ENABLE_LED2Row.1 ENABLE_LED1

    COM10

    V+

    9

    IN11

    IN22

    IN33

    IN44

    IN55

    IN66

    IN77

    IN88

    OUT118

    OUT217

    OUT316

    OUT415

    OUT514

    OUT613

    OUT712

    OUT811

    U3

    UDN2981

    Row.6Row.5

    Row.3 ENABLE_LED3

    Row.8Row.7

    Row.4 ENABLE_LED4

    R13100R14100R15100

    Green.1

    R16100

    Green.3Green.2

    R9100

    Green.6Green.5Green.4

    Green.8Green.7

    R10100R11100R12100

    LATCHCLR_DISP

    R21330R22330

    A

    R23330

    B

    R24330

    C

    R17330

    ED

    DOTGF

    R18330R19330R20330

    SDI3

    SRCLR8

    G9

    RCLK12

    SRCLK13

    SDO18

    DRAIN04

    DRAIN15

    DRAIN26

    DRAIN37

    DRAIN414

    DRAIN515

    DRAIN616

    DRAIN717

    U3 TPIC6595

    VCC

    SDO

    VCC

    LATCHSCK

    LATCH

    SDO9

    CLR10

    G13

    SDI14

    SRCLK11 RCLK12

    QA15

    QB1

    QC2

    QD3

    QE4

    QF5

    QG6

    QH7

    U4 74HC595

    CLR_DISP

    SCK

    LATCH

    CLR_DISP

    SCK

    CLR_DISP

    SCKLATCH

    SDI3

    SDO18

    SRCLR8

    G9

    RCLK12

    DRAIN04

    SRCLK13

    DRAIN15

    DRAIN26

    DRAIN37

    DRAIN414

    DRAIN515

    DRAIN6

    16

    DRAIN7 17

    SDI3

    SRCLR8

    G9

    RCLK12

    SRCLK13

    SDO18

    DRAIN04

    DRAIN15

    DRAIN26

    DRAIN37

    DRAIN414

    DRAIN515

    DRAIN616

    DRAIN717

    U2 TPIC6595

    VCC

    GND1 +5V2 RC23 RC14 RC05 RA2

    6 RA17 RA08 RC39 RC4

    10 RC511 RA312

    PICtail

    CON12

    6.3 Cc thanh ghi lin quan v cch iu khin- Thanh ghi trng thi SSPSTAT:

    B mn K Thut My Tnh 52 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    57/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    - Thanh ghi iu khin SSPCON1:

    - S khi module Synchronous Serial Port:

    Vi s mch trn, mi ln c mt hng LED LED ma trn hay mt con LED 7on hin th d liu. Li dng hin tng lu nh ca mt, d liu ca mi hng LEDma trn hay mi con LED 7 on c xut ra tun t hng (con) ny n hng (con)khc, chng ta s thy c hnh nh ca c mn hnh ma trn LED hay ca c 4 con

    LED 7 on.Khi tt c cc hng LED ma trn v tc c cc con LED 7 on c hin th

    (qut) qua mt ln, ta ni hin th mt frame. mt khng cm thy hnh nh b rungth s ln hin th frame trong mt giy phi ln hn 24 ln (thng l 30 ln).

    u tin tn hiu CLR_DISP tch cc (mc 0) khng cho LED hin th, sau dchbn byte d liu, tn hiu LATCH chuyn t mc 0 ln mc 1 a d liu mong munsn sn ng ra, cui cng a tn hiu CLR_DISP ln mc 1 cho php LED hin th dliu mong mun. C nh vy lp li chu trnh ny.

    B mn K Thut My Tnh 53 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    58/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bn byte d liu c dch ra mi ln c ngha tng ng l d liu ca mt hngLED , d liu ca mt hng LED xanh, d liu ca mt con LED 7 on, iu khinhng (con) LED no hin th.

    Cch iu khin c minh ha thng qua hnh sau :

    Gi tr ca byte control ch cha nhiu nht mt bit 1. Nh hnh v, cn 12 ln xutd liu (4 byte) cho 1 frame gm c LED ma trn v LED 7 on, 8 ln xut d liu cho1 frame gm ch c LED ma trn (khng quan tm ni dung hin th LED 7 on), 4 ln

    B mn K Thut My Tnh 54 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    59/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    xut d liu cho 1 frame gm ch c LED 7 on(khng quan tm ni dung hin th LEDma trn).

    6.4 Cc bc hin thc.Bc 1. To project mi ging nh hng dn chng 1 ly tn project l Led v chn

    chip 18f4520. Ta c hnh sau:

    Include filep18f4520.inc vo fileLed_matran.asmBc 2.Bc 3.

    Bc 4.

    Khai bo cc buffer cn thit vit driver cho led. V y ta vit driver nnmi ngi khi s dng nhng module ny s khng s dng nhng hm mchng ta vit trong ny ch c th thao tc trn cc buffer m thi.

    GREEN_SCREEN_BUFFER RES .8RED_SCREEN_BUFFER RES .8SEVEN_LED_BUFFER RES .8COLUMN_BUFFER RES .8

    INDEX_OF_BUFFER RES .1

    RED_DATA RES .1GREEN_DATA RES .1SEVEN_LED_DATA RES .1COLUMN_DATA RES .1

    Ngoi ra nhn vo mch ta c th d dng nhn thy c rng d liu cachng ta c truyn theo kiu truyn ng b ni tip, chnh xc hn yngi ta s dng chc nng SPI truyn d liu. Do ta phi cu hnh cho

    chip lm sao c th hot ng c ch SPI ny.INIT_SPI

    CLRF SSPCON1 ;SET Fspi = f/4BSF SSPCON1,5 ;ENALBLE SPI MODEBCF TRISC,5BCF TRISC,3RETURN

    B mn K Thut My Tnh 55 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    60/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Trn y ta mi ch khi to module SPI n c th hot ng nhng nhn li smch ta li thy c thm vi kt ni na t vi iu khin ra IC74595. IC ny hotng c th ta cn thm mt chn to clock c th chuyn d liu ni tip ra songsong ca IC ny. Ta define thm cho chn Latch ca IC 74595.

    #define LATCH_DIR TRISA,1

    #define LATCH_DATA PORTA,1ng thi khi to cc PORT lin quan:INIT

    MOVLW 0x0FMOVWF ADCON1

    BCF LATCH_DIRBCF LATCH_DATACLRF INDEX_OF_BUFFERRETURN

    Bc 5.

    Bc 6.

    Ngoi ra thc hin c bi ny khng th no thiu timerc, v hin

    th ra led ma trn ta phi qut tng ct led trn ma trn led.Khi nhn vo cu to ca ma trn led ta thy hin thc mt hnh g trn matrn led th ta phi qut led, v ti mt thi im ch c th hin th mt ct led m thi.Nhvo hin tng lu nh mt m khi qut vi tn s cao th mt ta s thy nh l ct sng ch khng phi chp nhy na.

    Vy lm sao bit c ta qut led vi tn s bao nhiu l hp l. Nh trong phim nhkhi xem phim thc cht ta bit l n ang chy vi tn s l 24 hnh /s. y ta cng gis nh vy, c mn hnh ca led cng chp nhy vi tn s l 24 hnh/s, m mi hnh taphi qut 8 ln v c 8 ct. T ta c th suy ra tn s ta cn phi qut cho mi ct l8x24 ln/s. Ty ta c th d dng tnh c timer ca chng ta cn bao nhiu c thqut led c mt cch d dng.

    INIT_TIMER0BSF RCON,IPEN ;enable priority interrupts.BSF INTCON2,TMR0IPBSF INTCON,TMR0IFBSF INTCON,TMR0IEBSF INTCON,GIEHBSF INTCON,GIELCLRF T0CONMOVLW 0x3cMOVWF TMR0HMOVLW 0xAFMOVWF TMR0LBSF T0CON,TMR0ONRETURN

    Ban u ta khi to cc buffer hin th cng nh qut ct led. d dngtrong vic s l ta s khi to cho Column_Buffer cc gi tr tng ng lm sao,khi xut ra n ch tch cc mt ct ca led m thi. y gi s tch cc ti mict l tch cc mc cao th ta c th khi to cho Column_buffer cc gi tr sau:0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80.

    B mn K Thut My Tnh 56 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    61/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bc 7.

    Bc 8.

    n y mi s chun b xong, ta c th bt u vit hm hin th d liura led. u tin ta s vit mt macro SPI_transmit vi i s s l gi tr byte sc truyn ni tip ra ngoi.

    SPI_TRANSMIT MACRO TEMP_DATA;Has data been received (transmit complete)?

    BTFSS SSPSTAT, BFGOTO $-2 ;NoMOVF TEMP_DATA, W ;W reg = contents of TXDATAMOVWF SSPBUFENDM

    Bc 9.

    Tip theo l lm sao ly d liu t cc buffera vo cc bin tng ngxut ra led. Ta vit thm mt Macro na gm 2 i s l buffer v temp_data.Macro ny s lm nhim v l ly d liu ti v tr (c lu trong binindex_of_buffer) ca buffer lu vo temp_data.

    UPDATE_DATA MACRO BUFFER,TEMP_DATAMOVLW HIGH BUFFER

    MOVWF FSR0HMOVLW LOW BUFFERMOVWF FSR0L

    MOVFF INDEX_OF_BUFFER,WADDWF FSR0L,FCLRF WADDWFC FSR0HMOVFF INDF0,TEMP_DATAENDM

    Bc 10.

    Nh trn gii thiu xut d liu ra led, ngoi vic dng module SPI xut d liu ta cn phi c thm mt tn hiu clock tc ng ln IC74595 th dliu ni tip ca ta mi chuyn qua song song v hin th ra led. Do ta phivit thm mt hm to clock trn chn define khi ny l Latch_data.

    CLOCK_STORAGEBSF LATCH_DATANOPNOPBCF LATCH_DATANOPNOPBSF LATCH_DATARETURN

    Cui cng l hm quan trng nht, hm ny c gi trong timer thc hinvic qut led.

    DISPLAYCALL INCREASING_INDEXUPDATE_DATA RED_SCREEN_BUFFER,RED_DATAUPDATE_DATAGREEN_SCREEN_BUFFER,GREEN_DATA

    B mn K Thut My Tnh 57 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    62/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    UPDATE_DATASEVEN_LED_BUFFER,SEVEN_LED_DATAUPDATE_DATA COLUMN_BUFFER,COLUMN_DATASPI_TRANSMIT RED_DATASPI_TRANSMIT GREEN_DATA

    SPI_TRANSMIT SEVEN_LED_DATASPI_TRANSMIT COLUMN_DATACALL CLOCK_STORAGERETURN

    6.5 Bi tpa) Xy dng ng dng cho php s 1234 chy qua cc led 7 on.b) Xy dng ng dng cho php 1 dng ch chy qua led ma trn.

    B mn K Thut My Tnh 58 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    63/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 7 : Kho st b truyn nhn ni tip

    Ni dung:

    Kho st cng COM my PC, cc thng s truyn ni tip.Kho st b truyn ni tip ca PIC.Tm hiu cch s dng chng trnh Hyper Terminal truyn nhn ni ti p trn

    my PC.Yu cu:

    Vit chng trnh giao tip gia my tnh v vi iu khin PIC.

    7.1 Cc bc hin thc.Bc 1. To project mi ging nh hng dn chng 1 ly tn project l Uart v

    chn chip 18f4520. Ta c hnh sau:

    Include filep18f4520.inc vo file uart.asmBc 2.Bc 3. Khi to PortB l output, PORTC.6 l output, PORTC.7 l input.

    INIT_PORTCLRF LATB ; Clear PORTB output latchesCLRF TRISB ; Config PORTB as

    all outputsBCF TRISC,6 ; Make RC6 an output

    B mn K Thut My Tnh 59 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    64/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    BSF TRISC,7RETURN

    Bc 4.

    Bc 5.

    Khi to cc vector ngtorg 00000h ; Reset Vectorgoto Start

    org 00008h ; Interrupt vectorgoto IntVector

    StartGOTO $

    IntVectorRETFIE

    Bc 6.

    Khi to cho ngt UART, tc 9600baud ti tn s 4Mhz.

    INIT_UARTMOVLW 19h ; 9600 baud @4MHzMOVWF SPBRG

    BSF TXSTA,TXEN ;Enable transmit

    BSF TXSTA,BRGH ; Select highbaud rate

    BSF RCSTA,SPEN ; Enable Serial PortBSF RCSTA,CREN ; Enable

    continuous receptionBCF PIR1,RCIF ; Clear RCIF

    Interrupt FlagBSF PIE1,RCIE ; Set RCIE

    Interrupt EnableBSF INTCON,PEIE ; Enable

    peripheral interruptsBSF INTCON,GIE ; Enable global

    interruptsRETURN

    Vit chng trnh trong ngt thc hin nhim v nhn mt d liu t my tnhtruyn xung sau gi li k t cho my tnh nhn li.

    IntVector btfss PIR1,RCIF ; Did USART cause

    interrupt?goto ISREnd ; No, some other interruptmovlw 06h ; Mask out unwanted bitsandwf RCSTA,W ; Check for errors

    B mn K Thut My Tnh 60 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    65/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    btfss STATUS,Z ; Was either error status bitset?

    goto RcvError ; Found error, flag it

    movf RCREG,W ; Get input data

    movwf LATB ; Display on LEDsmovwf TXREG ; Echo character backgoto ISREnd ; go to end of ISR, restore

    context, return

    RcvError bcf RCSTA,CREN ; Clear receiver status bsf RCSTA,CRENmovlw 0FFh ; Light all LEDsmovwf PORTBgoto ISREnd ; go to end of ISR, restore

    context, returnISREnd

    retfie

    7.2 Chng trnh mu;=====================================;

    ; Name: uart.asm; Project: Vit chng trnh giao tip gia my tnh v vi iu khin PIC.; Author: BKIT HARDWARE CLUB

    ; Homepage: http://www.bkit4u.com/forum; Creation Date: 8 - 8 - 2009

    ;======================================;

    list p=18F4520 ; set processor typeinclude

    ;************************************************************; Reset and Interrupt Vectors

    org 00000h ; Reset Vectorgoto Start

    org 00008h ; Interrupt vectorgoto IntVector

    ;************************************************************; Program begins here

    B mn K Thut My Tnh 61 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    66/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    org 00020h ; Beginning of program EPROMStart

    CALL INIT_PORTCALL INIT_UART

    Main

    goto Main ; loop to self doing nothingINIT_PORT

    clrf LATB ; Clear PORTB output latchesclrf TRISB ; Config PORTB as all

    outputs bcf TRISC,6 ; Make RC6 an output bsf TRISC,7 ; Make RC7 an inputRETURN

    INIT_UART

    movlw 19h ; 9600 baud @4MHzmovwf SPBRG

    bsf TXSTA,TXEN ; Enable transmit bsf TXSTA,BRGH ; Select high baud rate

    bsf RCSTA,SPEN ; Enable Serial Port bsf RCSTA,CREN ; Enable continuous

    reception

    bcf PIR1,RCIF ; Clear RCIF Interrupt Flag bsf PIE1,RCIE ; Set RCIE Interrupt Enable bsf INTCON,PEIE ; Enable peripheral

    interrupts bsf INTCON,GIE ; Enable global interruptsRETURN

    ;************************************************************; Interrupt Service Routine

    IntVector btfss PIR1,RCIF ; Did USART cause

    interrupt?goto ISREnd ; No, some other interrupt

    movlw 06h ; Mask out unwanted bitsandwf RCSTA,W ; Check for errors btfss STATUS,Z ; Was either error status bit

    set?

    B mn K Thut My Tnh 62 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    67/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    goto RcvError ; Found error, flag it

    movf RCREG,W ; Get input datamovwf LATB ; Display on LEDsmovwf TXREG ; Echo character back

    goto ISREnd ; go to end of ISR, restorecontext, return

    RcvError bcf RCSTA,CREN ; Clear receiver status bsf RCSTA,CRENmovlw 0FFh ; Light all LEDsmovwf PORTBgoto ISREnd ; go to end of ISR, restore

    context, return

    ISREndretfieend

    7.3 Bi tpa) Vit chng trnh trn PC, gi 1 chui string xung board, dng ch ny s chy

    qua led ma trn hoc LCD.b) Khi nhn 1 phm trn board nhn, s gi 1 chui string ln PC qua cng COM,

    vit chng trnh trn PC nhn chui string ny v in ra giao din.

    B mn K Thut My Tnh 63 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    68/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 8 : Kho st khi chuyn i A-D

    Ni dung:

    Kho st hot ng khi chuyn i A-D.Kho st cc thanh ghi iu khin hot ng khi chuyn i A-D.Yu cu:

    Vit chng trnh c v hin th gi trin p thay i bi bin tr.

    8.1 Cc bc hin thcBc 1. To project mi ging nh hng dn chng 1 ly tn project l a2d v chn

    chip 18f4520. Ta c hnh sau:

    Include filep18f4520.inc vo file a2d.asmBc 2.Bc 3. Khi to module ADC ta c th s dng mt cch d dng.

    InitializeADMovlw B'00000100' ; Make RA0,RA1,RA4 analog inputsmovwf ADCON1movlw B'11000001' ; Select RC osc, AN0

    selected,

    movwf ADCON0 ; A/D enabledmovlw 0x01movwf ADCON2call SetupDelay ; delay for 15 instruction

    cycles bsf ADCON0,GO ; Start first A/D conversionreturn

    B mn K Thut My Tnh 64 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    69/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    khi to c module ADC ta ch cn quan tm ch yu ti cc thanh ghiADCCON1, ADCCON0, ADCON2. Nh chng trnh khi to trn ta thy u tin phicu hnh cho cc pin tng ng phi l chn AN0, mc nh ca cc chn ny c chcnng l Input/Output digital. Sau ta phi chn knh ADC tng ng, y ta s dngknh AD0. V mt im quan trng na chnh l bit GO trong thanh ghi ADCON0, khi

    bt ny c bt ln th module AD mi bt u chuyn i tn hiu.Bc 4. Tip theo l hm c gi tr ADC:Update_adc

    bsf ADCON0,GO ;start conversion btfsc ADCON0,GO bra $-2movf ADRESH,Wreturn

    Sau khi chuyn i tn hiu A-D, gi tr s sc lu vo thanh ghi ADRESH. ny ty vo ng dng c th m ta c th bin i gi tr ny ty theo yu cu m tamong mun.

    8.2 Bi tpa) Tch hp module LCD, ly gi trin th t bin trhin th ln LCD.b) S dng module ADC ca Pic o nhit trong phng, dng LCD hin th

    gi tr nhit .

    B mn K Thut My Tnh 65 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    70/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    Bi 9 : Kho st cc khi chc nng c bit khc

    Ni dung:

    Kho st khi chc nng WDT.Kho st khi chc nng PWM .Kho st cc ch hot ng ca vi iu khin.

    Yu cu:Vit chng trnh s dng chc nng WDT.Vit chng trnh s dng chc nng PWM iu khin sng ca LED.Vit chng trnh s dng chc nng Power control.

    9.1 Cc bc hin thc PWMBc 1. To project mi ging nh hng dn chng 1 ly tn project l pwm v

    chn chip 18f4520. Ta c hnh sau:

    Include filep18f4520.inc vo filepwm.asm.Bc 2.Bc 3. Tch hp module LCD vo project pwm, tham kho bi tp v LCD.

    Bc 4. Khi to module PWM ta c th s dng mt cch d dng.Init_pwm

    ;configure CCP1 module for buzzer bcf TRISC,2movlw 0x80movwf PR2 ;initialize PWM

    period

    B mn K Thut My Tnh 66 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    71/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    movlw 0x80 ;initialize PWM dutycycle

    movwf CCPR1L bcf CCP1CON,CCP1X bcf CCP1CON,CCP1Y

    ;postscale 1:1, prescaler 4, Timer2 ONmovlw 0x05movwf T2CONmovlw 0x0F ;turn buzzer onmovwf CCP1CONreturn

    khi to chc nng pwm, u tin ta phi cu hnh cho PORTC2 l output. Tiptheo khi to chu k ca PWM thng qua vic cu hnh thanh ghi PR2. Sau ta khi toduty cycle ca xung pwm bng cch cu hnh thanh ghi CCPR1L.

    9.2 Chng trnh mu;=====================================;; Name: pwm.asm

    ; Project: Su dung Pwm de xuat am thanh ra loa.

    ; Author: BKIT HARDWARE CLUB; Homepage: http://www.bkit4u.com/forum

    ; Creation Date: 20 - 8 - 2009

    ;======================================;list p=18f4520#include "p18f4520.inc"

    ; vectors

    org 0x000000 ; reset vector bra START

    ;************************************************************; programSTART

    call Init_pwmgoto $

    Init_pwm bcf TRISC,2

    B mn K Thut My Tnh 67 Thc hnh Vi x l

  • 8/4/2019 Thi Nghiem Vi Xu Ly Va Vi Dieu Khien

    72/72

    Trng H. Bch Khoa TP.HCM Khoa KH & KTMT

    movlw .249movwf PR2 ;initialize PWM

    periodmovlw .125 ;initialize PWM duty

    cycle

    movwf CCPR1L bcf CCP1CON,CCP1X bcf CCP1CON,CCP1Y

    ;postscale 1:1, prescaler 4, Timer2 ONmovlw 0x05movwf T2CONmovlw 0x0F ;turn buzzer onmovwf CCP1CONreturn

    END

    9.3 Bi tpa) Tm hiu v hin thc chng trnh iu khin RC Servo.