Khoa So Dung Msp430

Embed Size (px)

Citation preview

  • 8/2/2019 Khoa So Dung Msp430

    1/26

    Trang 1

    KHA S IN T

    I MC TIU

    - Thit k kha s in t bng mt khu (6 s) s dng chip vi x l h msp430.

    - Dng bn phm hex (16 phm) thc hin chc nng giao tip.- Dng ng c mt chiu ng m kha bng cch iu khin o chiu ng

    c.

    - Mt khu c th thay i c.

    - Bo ng ra loa v treo h thng khi mt khu nhp sai 3 ln.

    II PHNG PHP GII QUYT

    - Lp s khi.

    - Thit k m hnh phn cng.- Lp s gii thut.

    - Tm hiu nguyn tc hot ng ca bn phm hex.

    - Thit k khi iu khin o chiu ng c ng mca.

    - Thit k khi bo ng.

    - Tm hiu chip x l v cc linh kin c s dng.

    - Vit chng trnh theo s gii thut.

    - Lin kt cc khi.- Rp mch kim tra v chy th.

    III NI DUNG

    1. S KHI

    Hnh 1: S khi h thng

    KHI X LKHI

    BN PHM

    KHIIU KHIN

    NG C

    KHIBO NG

    KHIHIN TH

  • 8/2/2019 Khoa So Dung Msp430

    2/26

  • 8/2/2019 Khoa So Dung Msp430

    3/26

    Trang 3

    Hnh 3: S gii thut cho chng trnh con Change

  • 8/2/2019 Khoa So Dung Msp430

    4/26

    Trang 4

    3. TM HIU CHIP MSP430G2x52

    Hnh 4: S chn ca MSP430G2x52

    Hnh 5: S khi chc nng ca MSP430G2x52

  • 8/2/2019 Khoa So Dung Msp430

    5/26

    Trang 5

    4. BN PHM HEX

    4.1. CU TO

    Bn phm Hex cu to gm16 phm xp thnh ma trn 4 hng v 4 ct (Nh

    hnh 6).

    P0

    P1

    P2

    P3

    P4

    P5

    P6

    P7

    Hnh 6: Cu to bn phm Hex

    4.2. NGUYN TC HOT NG CA BN PHM HEX

    Khi mt phm no c nhn th tng ng hng v ct ca bn phm Hex

    s kt ni vi nhau.

    thc hin kim tra mt phm th ta phi cho trc hng (hoc ct) cha

    phm tng ng mc logic 0, sau kim tra ct (hoc hng) ca phm, nu ct

    (hoc hng) = 0 th c nhn phm ngc li th khng nhn phm.

    Nh vy nhn bit phm no c nhn ta phi ln lc qut cc ct, c

    nh hng hoc qut cc hng, c nh ct.

  • 8/2/2019 Khoa So Dung Msp430

    6/26

    Trang 6

    4.3. S BN PHM HON CHNH

    P1.0

    P1.1

    P1.2

    P1.3

    P1.4

    P1.5

    P1.6

    P1.7

    1 2 3

    4 5 6

    7 8 9

    EXIT 0 CLEAR

    OPEN

    CLOSE

    CHANGE

    OK

    R133k

    R233k

    R333k

    R433k

    Hnh 7: Bn phm Hex Hon Chnh

    Cc hng v ct ca bn phm kt ni vi Port 1. Bit 0,1,2,3 ca Port 1 s lm

    ng ra v kt ni vi cc hng ca bn phm. Cn cc bit 4,5,6,7 lm ng ng vo

    kt ni vi cc ct ca bn phm.

    4.4. CHNG DI CHO BN PHM

    Do thi gian di ca phm vo khong 20ms nn chng di ta s chng

    di bng phn mm phn cng c n gin.

    on chng trnh chng di:

    n=0;while ( n==0 )

    {if ((P1IN&COTX) == 0) //Nt ang nhn gi.

    n=0;else //Nt nh ra.

    n=1;

    }Ngoi ra gia cc ln chn hng (hoc ct) qut phm ta thm on delay:

    __delay_cycles(5000);

  • 8/2/2019 Khoa So Dung Msp430

    7/26

    Trang 7

    5. KHI IU KHIN NG C

    5.1. S MCH IU KHIN O CHIU NG C NG M

    CA

    RL1 RL2

    Q1C828

    Q2C828

    R1

    330R

    R2

    330R

    D110BQ040 D2

    10BQ040

    3V

    3V 3V

    Px Py

    Hnh 8: S mch iu khin ng c.

    Hai ng vo Px, Py dng iu khin o chiu ng c.

    5.2. IU KHIN TC NG C

    iu khin tc ng c theo ch PWM (Pluse Width ModulationBin

    iu rng xung).

    on chng trnh iu khin:

    n=0;while ( n

  • 8/2/2019 Khoa So Dung Msp430

    8/26

    Trang 8

    6. S MCH BO NG

    Q2C828

    Q1C828

    C1

    1u

    C2

    1u

    RC1180R

    RB21k5

    RB11k5

    RC2180R

    3V

    R5

    330R

    Q4C828

    Q5C828

    C1

    10u

    C2

    10u

    Q6C828

    RC1820R

    RB28k2

    RB18k2

    RC2820RR10

    330R

    C5

    10u LS1

    SPEAKER

    Pz

    Q3A1015 Ngo ra

    Hnh 9: Mch bo ng.

    Khi hai khi hot ng ring l ta c:

    - Tn hiu ng ra khi 1 s nh hnh 11 vi chu k T:5

    1 B2 2 B1T = (C R + C R )Ln2 = 2.8200.10 Ln2 = 0.1148S

    Hnh 11: Tn hiu ng ra khi 1.

    - Tn hiu ng ra khi 2 s nh hnh 12 vi chu k T:

    61 B2 2 B1T = (C R + C R )Ln2 = 2.1500.10 Ln2 = 0.0021S

    Hnh 12: Tn hiu ng ra khi 2.

    Khi 1 Khi 2

  • 8/2/2019 Khoa So Dung Msp430

    9/26

    Trang 9

    Khi kt hp hai khi li cung hot ng th tn hiu ng ra cp cho loa s

    nh hnh 13:

    Hnh 13: Tn hiu ng ra cp cho loa.

    7. S MCH HON CHNH

    R74k7

    C610u

    P2.5/CA53

    RST/NMI7

    TEST1

    P2.4/TA2/CA112

    P2.3/TA1/CA011 P2.2/CAOUT/TA0/CA4

    10P2.1/INCLK/CA3

    9P2.0/ACLK/CA2

    8

    P1.2/TA1

    15P1.1/TA0

    14P1.0/TACLK

    13

    P1.3/TA216

    P1.4/SMCLK/TCK17

    P1.7/TA2/TDO/TDI20

    P1.6/TA1/TDI/TCLK19

    P1.5/TA0/TMS18

    XIN/P2.6/CA66

    XOUT/P2.7/CA75

    U1

    MSP430G2452

    3V

    1 2 4 5 6

    7 8 9

    EXIT 0 CLOSE

    OPEN

    CLOSE

    CHANGE

    OK

    R133k

    R233k

    R333k

    R433k

    3V

    RL1RL2

    Q13C828

    Q12C828

    R5330R

    R6330R

    D110

    D210

    3V 3V

    Px Py

    Q2C828

    Q1C828

    C3

    1u

    C4

    1u

    RC3180R

    RB41k5

    RB31k5

    RC4180R

    3V

    R15

    330R

    Q4C828

    Q5C828

    C1

    10u

    C2

    10u

    Q6C828

    RC1820R

    RB28k2

    RB18k2

    RC2820R

    R10330R

    C5

    10u LS1

    SPEAKER

    Pz

    Q3A1015

    Ngo ra

    Q7C828

    Q8C828

    Q9C828

    R8330R

    R9330R

    R11330R

    R12100R

    R13100R

    R14100R

    D3LED-RED

    D4LED-RED

    D5LED-RED

    3V

    1 32

    3V

    Hnh 14: S mch hon chnh.

  • 8/2/2019 Khoa So Dung Msp430

    10/26

    Trang 10

    8. MT S ON CHNG TRNH

    8.1. NH NGHA BIT

    #define COT0 BIT0#define COT1 BIT1

    #define COT2 BIT2#define COT3 BIT3#define COT4 BIT4#define COT5 BIT5#define COT6 BIT6#define COT7 BIT7

    8.2. ON QUT PHM

    i=0;While(i

  • 8/2/2019 Khoa So Dung Msp430

    11/26

    Trang 11

    8.3. ON SO SNH PASSWORD

    if (*i==0){ if(nhappass[*i] == a)

    {

    *i = *i+1;if(nhappass[*i] == b){*i = *i+1;if(nhappass[*i] == c)

    {*i = *i+1;if(nhappass[*i] == d)

    {*i = *i+1;if(nhappass[*i] == e)

    { *i = *i+1;if(nhappass[*i] == h)

    *i = *i+1; } } } } } }else

    *i = 7;

    8.4. ON TREO H THNG

    int j;P2OUT |= COT3;

    j=0;while (j

  • 8/2/2019 Khoa So Dung Msp430

    12/26

    Trang 12

    9. PHNG HNG PHT TRIN

    - C th m bo gi password thay i khi b mt in hay khi reset h thng.

    - Hin th chng trnh ln LCD ngi dng d s dng.

    - Thit k phn cng gn hn.10. ON CHNG TRNH CHNH

    /**/

    /*_ _ _ _ _ _ _ _ _ _Nguyn tc hot ng ca chng trnh_ _ _ _ _ _ _ _ _ _*/

    - Khi mi bt u, chng trnh thc hin qut phm s v phm close (phm close

    ch c tc dng nu ta cha nhn mt phm s no). y, chng trnh yu cu

    nhp password (6 s). Ngoi ra, ta c th dng phm clear xa s va nhp sai.Khi nhn mt phm chng trnh s bo hiu (n sng) mt ln.

    - Khi nhp password xong ta nhn ok:

    + Nu password sai th bo ng v cho nhp li, khi nhp sai 3 ln, h thng

    treo trong 1 pht sau tr v chng trinh ban u v cho nhp tip.

    + Nupassword ng s bo hiu (n chp), sau chng trnh thc hin n

    on qut phm chc nng.

    - on chng trnh qut phm chc nng:+ Nu nhn open th ra lnh iu khin m ri tr v on qut phm chc nng.

    + Nu nhn close th ra lnh ng v tr v chng trinh ban u.

    + Nu nhn change thay i password sau tr vchng trinh ban u.

    - Sau khi nhn phm change, ta cn thc hin nhp password hai ln (cch nhp

    pass tng t nh u chng trnh, tc l sau khi nhp 6 s ta cn nhn

    phm ok), chng trnh s ra bo hiu gia hai ln nhp.

    + Nu password gia hai ln nhp khng ging nhau th ra bo ng sau cho

    nhp tip. Nu sai 3 ln h thng b treo trong 1 pht ri tr v chng trnh ban

    u.

    + Nu password gia hai ln nhp ging nhau, chng trnh s lu v thay ipassword sau tr v chng trnh ban u.

  • 8/2/2019 Khoa So Dung Msp430

    13/26

    Trang 13

    Ngoai ra, ta c th nhn Exit tr v chng trnh ban u khi khng mun thay

    i password na.

    /**/

    #include "io430.h"#include "intrinsics.h"#define COT0 BIT0#define COT1 BIT1#define COT2 BIT2#define COT3 BIT3#define COT4 BIT4#define COT5 BIT5#define COT6 BIT6

    #define COT7 BIT7__intrinsic void __delay_cycles(unsigned long __cycles);/*........................Doan quet phim so va nhap pass......................*/void quetphim (int *nhappass,int *p){

    int i=0,n=0;while(i < 6){

    P1OUT = 0x0E; /*.................Chon hang thu 1................*/__delay_cycles(5000);

    if ((P1IN&COT4) == 0) //Nhap so 1{P2OUT |= COT3;nhappass[i] = 1;i++;n=0;while ( n==0 )

    {if ((P1IN&COT4) == 0)

    n=0;else

    n=1;}

    }else if ((P1IN&COT5) == 0) //Nhap so 2{P2OUT |= COT3;nhappass[i] = 2;

  • 8/2/2019 Khoa So Dung Msp430

    14/26

    Trang 14

    i++;n=0;while ( n==0 )

    {if ((P1IN&COT5) == 0)

    n=0;else

    n=1;}

    }else if ((P1IN&COT6) == 0) //Nhap so 3

    {P2OUT |= COT3;nhappass[i] = 3;i++;

    n=0;while ( n==0 ){if ((P1IN&COT6) == 0)

    n=0;else

    n=1;}

    }else //Khong nhap

    P2OUT &= ~COT3;P1OUT = 0x0D; /*.................Chon hang thu 2................*/__delay_cycles(5000);if ((P1IN&COT4) == 0) //Nhap so 4{P2OUT |= COT3;nhappass[i] = 4;i++;n=0;while ( n==0 )

    {if ((P1IN&COT4) == 0)

    n=0;else

    n=1;}

    }else if ((P1IN&COT5) == 0) //Nhap so 5

  • 8/2/2019 Khoa So Dung Msp430

    15/26

    Trang 15

    {P2OUT |= COT3;nhappass[i] = 5;i++;n=0;

    while ( n==0 ){if ((P1IN&COT5) == 0)

    n=0;else

    n=1;}

    }else if ((P1IN&COT6) == 0) //Nhap so 6

    {

    P2OUT |= COT3;nhappass[i] = 6;i++;n=0;while ( n==0 ){if ((P1IN&COT6) == 0)

    n=0;else

    n=1;

    }}else if ((P1IN&COT7) == 0) //Nhan close.

    {if (*p==1)

    {if (i==0)

    {P2OUT |= COT3;n=0;while ( n==0 )

    {if ((P1IN&COT7) == 0)

    n=0;else

    {P2OUT &= ~COT3;n=0;

  • 8/2/2019 Khoa So Dung Msp430

    16/26

    Trang 16

    while ( n

  • 8/2/2019 Khoa So Dung Msp430

    17/26

    Trang 17

    elsen=1;

    }}

    else if ((P1IN&COT6) == 0) //Nhap so 9

    {P2OUT |= COT3;nhappass[i] = 9;i++;n=0;while ( n==0 ){if ((P1IN&COT6) == 0)

    n=0;else

    n=1;}}

    else //Khong nhapP2OUT &= ~COT3;

    P1OUT = 0x07; /*.................Chon hang thu 4................*/__delay_cycles(5000);if (*p==0)

    {if ((P1IN&COT4) == 0) //Nhan nut Exit

    {P2OUT |= COT3;n=0;while ( n==0 )

    {if ((P1IN&COT4) == 0)

    n=0;else

    {n=1;i=7;*p = *p+1;P2OUT &= ~COT3;}

    }}

    }if ((P1IN&COT5) == 0) //Nhap so 0

  • 8/2/2019 Khoa So Dung Msp430

    18/26

    Trang 18

    {P2OUT |= COT3;nhappass[i] = 0;i++;n=0;

    while ( n==0 ){if ((P1IN&COT5) == 0)

    n=0;else

    {n=1;P2OUT &= ~COT3;}

    }

    }else if ((P1IN&COT6) == 0) //Xoa so vua nhap{if ( i >0 ) //Neu bang i = 1 khong xoa

    {i--;P2OUT |= COT3;}

    n=0;while ( n==0 )

    {if ((P1IN&COT6) == 0)n=0;

    elsen=1;

    }}

    else //Khong nhapP2OUT &= ~COT3;

    /*......................Chon nhan ok hay exit hoac clear......................*/while (i==6) //Xoa so vua nhap khi i = 5.

    {P1OUT = 0x07; //chon hang thu 4if ((P1IN&COT7) == 0) //Nhan ok

    {P2OUT |= COT3;i++;n=0;

  • 8/2/2019 Khoa So Dung Msp430

    19/26

    Trang 19

    while ( n==0 ){if ((P1IN&COT7) == 0)

    n=0;else

    {n=1;P2OUT &= ~COT3;}

    }}

    else if ((P1IN&COT6) == 0) //Xoa so vua nhap{if ( i > 0 ) //Neu bang i = 0 khong xoa

    {

    i--;P2OUT |= COT3;}

    n=0;while ( n==0 )

    {if ((P1IN&COT6) == 0)

    n=0;else

    n=1;

    }}else if (*p==0)

    {if ((P1IN&COT4) == 0) //Nhan nut Exit

    {P2OUT |= COT3;n=0;while ( n==0 )

    {if ((P1IN&COT4) == 0)

    n=0;else

    {n=1;i=7;*p = *p+1;P2OUT &= ~COT3;

  • 8/2/2019 Khoa So Dung Msp430

    20/26

    Trang 20

    }}

    }}

    else //Khong nhap

    P2OUT &= ~COT3;}

    /*................Ket thuc doan cho nhan ok hay exit hoac clear...............*/}

    }/*.....................Ket thuc doan quet phim so va nhap pass................*//*...........................Doan so sanh pass................................*/void sosanh (int nhappass[6],int *i,int a,int b,int c,int d,int e,int h){

    if (*i==0)

    {if(nhappass[*i] == a){*i = *i+1;if(nhappass[*i] == b){*i = *i+1;if(nhappass[*i] == c)

    {*i = *i+1;

    if(nhappass[*i] == d){*i = *i+1;if(nhappass[*i] == e)

    {*i = *i+1;if(nhappass[*i] == h)

    *i = *i+1;}

    }}

    }}

    }else

    *i = 7;}

    /*.........................Ket thuc doan so sanh pass.........................*/

  • 8/2/2019 Khoa So Dung Msp430

    21/26

    Trang 21

    /*............................Doan treo he thong..............................*/void treohethong (void){

    int j;P2OUT |= COT3;

    j=0;while (j

  • 8/2/2019 Khoa So Dung Msp430

    22/26

    Trang 22

    BCSCTL1 = CALBC1_1MHZ;DCOCTL = CALDCO_1MHZ;P2DIR = 0xFF;P2OUT = 0x00;P1DIR = 0x0F; //port 1.0,1.1,1.2,1.3 ngo ra,port 1.4,1.5,1.6,1.7 ngo vao.

    while(1){P2OUT = 0x00;p=1;quetphim(nhappass,&p);i=0;sosanh(nhappass,&i,a,b,c,d,e,h);

    /*...............Doan kiem tra ket qua so sanh pass..............*/k=0;while (k==0)

    { if ( i == 6 )//Nhap pass dung.{denchop ();m=0; //Cho phep vong lap quet phim chuc nang hoat dong.

    j=0; //Gan j=0 de dem so lan nhap pass sai trong lan nhap moi.k=1; //Gan k=1 de thoat khoi vong lap so sanh pass.}

    else //Nhap sai pass mot lan.{

    j++;if (j==3)//So sanh da sai du 3 lan chua.{loakeu();treohethong ();

    j=0; //Gan j=0 dem so lan nhap pass sai trong lan nhap moi.k=1; //Gan k=1 de thoat khoi vong lap so sanh pass.m=1;}

    else //Nhap sai chua qua 3 lan.{loakeu();k=1; //Gan k=1 thoat khoi doan sanh pass de nhap tiep khi j

  • 8/2/2019 Khoa So Dung Msp430

    23/26

  • 8/2/2019 Khoa So Dung Msp430

    24/26

    Trang 24

    P2OUT &= ~COT3;n=0;while ( n

  • 8/2/2019 Khoa So Dung Msp430

    25/26

    Trang 25

    }else

    m=1;if (p==0)

    {

    k=0;while (k

  • 8/2/2019 Khoa So Dung Msp430

    26/26

    }}

    }/*.......................Ket thuc doan quet phim chuc nang....................*/

    }

    /*..................Ket thuc doan kiem tra ket qua so sanh pass...............*/}