Professional Documents
Culture Documents
1. Kit MSP-EXP430FG4618
1.1. Gii thiu chung:
KIT MSP-EXP430FG4618 ca hng TI l bo mch tch hp 2 chip MSP430FG4618 v
MSP430F2013 nn cung cp cc ngoi vi ph bin trong h MSP430. c bit, 2 chip 4618 v 2013
c th giao tip vi nhau (xem hnh 2) hoc giao tip vi cc thit b bn ngoi.
C th s dng mt trong 2 gi cng c sau lp trnh v debug: IAR Embeeded Workbench, TI
Code Composer Essential (CCE) v TI code Composer Studio (CCS). Thit b lp trnh v debug cho
chip TI l TI USB Flash Emulation Tool (FET)
n th
1.2.1. JTAG
Hai header JTAG1 v JTAG2 lp trnh v debug mi MSP430 ring bit: JTAG1 cho
MSP430FG4618 v JTAG2 cho MSP430F2013. JTAG1 cho MSP430FG4618 dng kiu kt ni JTAG
chun 4 dy, cn JTAG cho MSP430F2013 dng kiu giao tip JTAG Spy-Bi-Wire (2 dy). iu ny cho
php cc chn cc port c s dng trong qu trnh debug.
1.2.2. Microphone:
Microphone (MIC) c kt ni vi MSP430FG4618 qua cc chn trong hnh 3. Microphone c
kch hot hay khng qua chn ca MSP430FG4618.
1.2.3. Buzzer
Buzzer c kt ni vi port I/O P3.5 ca MSP430FG4618. Buzzer c th hon ton b cch ly vi
jumper JP1.
Lu : trong qu trnh th nghim, sau khi th nghim thnh cng, sinh vin nn tho JP1 ny
trnh lm nh hng ngi xung quanh.
1.2.4. LCD
LCD trong kit ny l loi SoftBaugh SBLCDA4, n c 4 ch : tnh, 2-mux, 3-mux v 4-mux. LCD
ny c h tr khi giao tip vi MSP430FG4618 qua LCD driver c sn.
1.2.6. Cc LED n
KIT MSP430FG4618 c 4 LED: LED1, LED2, v LED4 c kt ni vi chip MSP430FG4618,
LED3 c kt ni vi chip MSP430F2013. LED3 v LED4 c th c ngt khi kt ni bng Jumper
tit kim nng lng cho kit (LED3 dng jumper JP2, LED4 dng JP3).
LED
LED1
LED2
LED3
LED4
Kt ni vi chip
MSP430FG4618
MSP430FG4618
MSP430F2013
MSP430FG4618
Port
P2.2
P2.1
P1.0
P5.1
Ghi ch Jumper
JP2
JP3
Bng 1: Kt ni LED
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
1.2.8. Jumper
Header
Yu cu
JTAG1
JTAG2
PWR1
Cung cp ngun cho FG4618. Ngoi ra, FG4618 khng c cung cp ngun
dng o dng
Cung cp ngun cho F2013. Ngoi ra,
F2013 khng c cung cp ngun
dng o dng
Yu cu cn gn jumper
ny s dng FG4618
Yu cu cn gn jumper
ny s dng F2013
Yu cu khi cn dng
pin
Ty chn
JP2
Ty chn/ yu cu khi
dng LED3
JP3
Ty chn/ yu cu khi
dng LED4
JP4
Suy hao mc in p ra ca audio (69%) 98% suy hao ca ng ra audio DAC12 Ty chn
H1(1-2,
3-4)
PWR2
BATT
JP1
H1(1-2,
3-4, 56,7-8)
Vcc
Ngun t JTAG
Yu cu khi s dng
khng cn pin
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
MSP-FET430UIF
x
MSP-FET430PIF
x
x
x
KHNG
x
x
x
x
KHNG
KHNG
x
x
KHNG
x
x
Start/All Programs/IAR Systems/ IAR Embeeded Workbench Kickstart for MSP430 4.21/ IAR Embeeded
Workbench.
Bc 3: chn ngn ng s dng. Trong th nghim ny, chng ta chn Empty project hoc
C/main hoc Asm/asm v click OK. y, la chn Empty project c s dng, sau click vo nt
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
10
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
11
Trong mc General Options -> chn tab Target -> chn MSP430FG4618
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
12
Tip tc, chn cc tab khc thit lp nh sau (cc la chn cn li, xem help r hn)
Trong tab Output: chn Output file: Executable
Trong tab Library Configuration: chn Library: CLIB
Trong mc C/C++ Compiler: (nu la chn ngn ng lp trnh l ngn ng C)
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
13
Vi mn hnh son tho pha bn phi ca s lm vic, ngi lp trnh c th bin son chng trnh.
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
14
)
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
15
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
16
Sau khi lu Workspace, qu trnh bin dch s c thc hin. Nu khng c li th s hin ra thng
bo nh sau (nu c li, tra cu t help)
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
17
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
18
Trn mch np, led xanh (Power) bo hiu ngun, led (Mode) bo hiu khi mch c np.
Bc 3: S dng IAR lp trnh-debug
Bc 4: Thc hin cc bi th nghim.
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
19
Ch :
o Trong hm main ta thng thy dng lnh:
WDTCTL = WDTPW + WDTHOLD;
Stop watchdog timer n khi reset chip. Nu khng c lnh ny (v khng c ty chn khc con
WDTCTL) th mch s khng hot ng.
o Trong C cho MSP430, th c cc hng s c nh ngha trc ( file header), ta rt hay dng
cc hng s ny:
BIT0 = 0000 0001
BIT1 = 0000 0010
BIT2 = 0000 0100
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
20
6. Cc bi th nghim
Bi 1: GPIO
1. Cc thanh ghi lin quan n GPIO:
1.1. Direction Register PxDIR (P1DIR, P2DIR):
y l cc thanh ghi 8 bit iu khin chiu ca 8 chn port. P1DIR iu khin PORT1, P2DIR
iu khin PORT2.
Bit = 1: Chn PORT tng ng c cu hnh thnh output
Bit = 0: Chn PORT tng ng c cu hnh thnh input
Trong lab ny, chng ta khng cn s dng Watchdog timer. tt Watchdog timer, ghi gi tr 5A
vo 8 bit cao ca thanh ghi WDTCTL v set th 7 ca thanh ghi WDTCTL.
WDTCTL = 0x5A00 | 0x0080
Hoc:
(WDTCTL = WDTPW | WDTHOLD )
2.2. Delay:
Bi v trong chng trnh cha nh ngha clock nn CPU s s dng thch anh 32.768 kHz. c
thi gian delay khong 1s, vng delay s m xung t 30.000SV c th dng cu lnh di y to delay:
for(int i=30000;i>0;i++);
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
21
Bi 1.1
Yu cu: Sinh vin vit chng trnh cho LED1 v LED2 sng tt lun phin. Thi gian gia 2 ln
sng tt l khong 1s.
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
22
Bi 1.2
Yu cu: Sinh vin vit chng trnh o trng thi LED1 mi khi SW1 c nhn.
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
23
1.5.1.
Mi bit trong thanh ghi ny dng cho php/khng cho php ngt trn chn PORT tng ng.
Bit = 1: Cho php ngt.
Bit = 0: Cm ngt.
1.5.2.
1.5.3.
Bin son: Phm Xun Trung, B mn K thut My nh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
24
Binson:PhmXunTrung,BmnKthutMy nh,KhoaintVinthng,TrngHBchkhoa,HNng
25
Bi 2.1
Yu cu: Sinh vin vit chng trnh o trng thi LED1 khi Switch 1 c nhn. Trong chng
trnh s dng ngt trn chn port giao tip Switch.
26
Bi 2.2
Yu cu: Sinh vin vit chng trnh cho php/khng cho php LED1 nhp nhy khi Switch 1
c nhn.
Hng dn:
thc hin bi th nghim ny, sinh vin cn thc hin vic cu hnh cho cc cng I/O, thit lp
cc ng ng vo c tn hiu t cc nt nhn v ng ra iu khin LED1. Sinh vin c th s
dng mt s gi sau y vit chng trnh.
pht hin nt nhn c c nhn hay khng, s dng cu trc lnh:
if ( !P1IN & 0x01)
Sau khai bo mt bin iu khin chng trnh pht hin LED nhp nhy hay khng, khi nt
c nhn:
- nh ngha bin ch th khi LED ang nhy:
Unsigned char blink_status = 1;
- Thit lp chng trnh hot ng ph thuc vo trng thi ca bin.
while(1){
// Infinite loop
if (blink_status == 1) {
P2OUT ^= 0x04;
// Toggle Port P2.2
i=15000;
// Delay
do (i);
while (i !=0);
}
if (!(P1IN & 0x01)) {
// Detect S1 pressed
i=1500;
// Delay, button debounce
do (i);
while (i !=0);
while (!(P1IN & 0x01));
// Wait for the release of the button
i=1500;
// Delay, button debounce
do (i);
while (i !=0);
if (blink_status ==1){ // If led is blinking, stop it
P2OUT&= _ 0x04;
// Turn Led off
blink_status=0;
}else
blink_status=1;
Bin son: Phm Xun Trung, B mn K thut My tnh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
27
Bin son: Phm Xun Trung, B mn K thut My tnh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
28
Bi 2.3
Yu cu: Sinh vin vit chng trnh cho php/khng cho php LED1 nhp nhy khi Switch 1
c nhn. Trong chng trnh s dng ngt trn chn port giao tip Switch.
Hng dn: Sinh vin vn dng kin thc v cc hng dn c trong bi 2.1 v 2.2 vit
chng trnh.
Vit chng trnh vo y :
Bin son: Phm Xun Trung, B mn K thut My tnh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
30
Bi 2.4
Yu cu: Sinh vin vit chng trnh cho php LED1 v khng cho php LED2 nhp nhy khi
Switch 1 c nhn, khng cho php LED1 v cho php LED2 nhp nhy khi Switch 2 c nhn.
Hng dn: Sinh vin vn dng kin thc v cc hng dn c trong bi 2.1 v 2.2 vit
chng trnh.
Vit chng trnh vo y :
Bin son: Phm Xun Trung, B mn K thut My tnh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
32
Bi 2.5
Yu cu: Sinh vin vit chng trnh cho php LED1 v khng cho php LED2 nhp nhy khi
Switch 1 c nhn, khng cho php LED1 v cho php LED2 nhp nhy khi Switch 2 c nhn.
Trong chng trnh s dng ngt trn chn port giao tip Switch.
Hng dn: Sinh vin vn dng kin thc v cc hng dn c trong bi 2.1 v 2.2 vit
chng trnh.
Vit chng trnh vo y :
Bin son: Phm Xun Trung, B mn K thut My tnh, Khoa in t Vin thng, Trng H Bch khoa, H Nng
34
Bi 3: TIMER
cu hnh cho timer, u tin b FLL+ to xung nhp phi c cu hnh trc chn xung nhp
a vo timer. Sau cc gi tr thch hp s c a vo cc thanh ghi cu hnh cho timer lm timer
hot ng theo ch mong mun.
Timer ca MSP430x4xxx:
- Basic Timer 1
- Timer_A
- Timer_B
6.2.1.
-
6.2.2.
-
L b chia tn s c kh nng to ngt, dng ta nhng ngt theo chu k cho CPU hoc to
thnh h thng ng h thi gian thc.
L thanh ghi 8 bit, c th ghi/c Ngun clock: ACLK, SMCLK, hoc SMCLK/256 khi mc ni tip vi BTCNT1 H s chia cho clock ng ra (fLCD) c chn bi cc bit BTFRFQx trong thanh ghi BTCTL.
Dng to ngt Basic Timer 1 Interrupt BTIFG, thi gian ngt c chn bi cc bit BTIPx trong
thanh ghi BTCTL.
6.2.3.
Cc thanh ghi cho Basic Timer 1 Module:
6.2.3.1. BTCTL, Basic Timer 1 Control Register:
Binson:PhmXunTrung,BmnKthutMynh,KhoaintVinthng,TrngHBchkhoa,HNng
35
36
6.3.1.
37
6.3.2.
Cc thanh ghi iu khin clock:
6.3.2.1. SCFQCTL, System Clock Control Register :
Binson:PhmXunTrung,BmnKthutMynh,KhoaintVinthng,TrngHBchkhoa,HNng
38
Binson:PhmXunTrung,BmnKthutMynh,KhoaintVinthng,TrngHBchkhoa,HNng
39
40
Binson:PhmXunTrung,BmnKthutMynh,KhoaintVinthng,TrngHBchkhoa,HNng
41
Bi 3.1
Yu cu:Sinh vin vit chng trnh o trng thi LED1 v LED2 sau thi gian 1s, s dng ngt
Basic Timer 1 Interrupt.
Cu hi 1: v hiu ha Watchdog Timer, ta phi ghi vo thanh ghi WDTCTL mt gi tr bng bao
nhiu?
WDTCTL = ..;
Cu hi 2: Cu hnh FLL+
Mt thch anh tn s 32768 Hz uc ni vo b dao ng LFXT1. Ta phi ghi vo thanh ghi
FLL_CTL0 gi tr g chn t bn trong c gi tr 8PF?
FLL_CTL0 |= ...;
Vi cc thanh ghi khc gi tr mc nh, tn s ca cc tn hiu xung nhp s bang bao nhiu?
ACLK = ;
MCLK = ;
SMCLK = ..;
Cu hi 3: Cu hnh GPIO
LED1 v LED2 c ni vo chn P2.2 v P2.1. Ta phi ghi vo thanh ghi no vi gi tr g
cu
hnh cho 2 chn PORT ny thnh output, cn li l input?
. = .;
Ta phi ghi vo thanh ghi no vi gi tr g lm cho LED1 sng, LED2 tt?
. = .;
Cu hi 4: Cu hnh cho Basic Timer 1:
Ta dng Basic Timer 1 to ngt. Basic timer gm 2 b m mc ni tip, trong ng vo ca
BTCNT2 l ng ra ca BTCNT1 chia cho 256. (Tham kho hnh 2.1). Ng vo ca BTCNT1 l tn hiu
ACLK c tn s 32768 Hz. Ng ra ca BTCNT2 phi c chia cho bao nhiu c ngt Basic Timer 1 c
chu k l 1s? ..
Gi tr phi ghi vo cc thanh ghi sau l bao nhiu c s chia cho BTCNT2 nh trn v cho php
ngt?
BTCTL = ;
IE2 = ...;
Cu hi 5: Ch cng sut thp:
Chng trnh n gin o trng thi LED1 v LED2 trong ngt. Ch cng sut thp no nn c
s dng? .
Khi , ngun xung nhp no s c tch cc trong sut qu trnh hot ng? .....................................
Cu hi 6: Hon tt chng trnh:
#include <msp430xG46x.h> //
*****************************************************************
// Basic Timer interrupt service routine: refresh LCD with 0.5 sec //
*****************************************************************
#pragma vector=BASICTIMER_VECTOR
__interrupt void basic_timer_ISR(void)
{
P2OUT ^=0x06; // LED2 toogle
}
//*****************************************************************
Binson:PhmXunTrung,BmnKthutMynh,KhoaintVinthng,TrngHBchkhoa,HNng
42
// Main routine //
*****************************************************************
void main(void)
{
WDTCTL = ..................................;
// Stop WDT
FLL_CTL0 |= ...............................;
// Set load cap for 32k
xtal
// Basic Timer 1 Configuration
BTCTL = ......................................;
// (ACLK/256)/64
IE2 |= ............................................;
// Enable BT interrupt with 0.5
period
// LED1 & LED2 configuration
P2DIR = . ......................................;
//// P2.2
P2.1w/
asinterrupt
digital output
Enterand
LPM3
P2OUT
=
......................................;
//
LED1
on
and
LED2
off
`
__bis_SR_register(LPM3_bits + GIE);
Bi
3.2
P1
S dng file lcd.h km theo
Bi 3.3
Yu cu: Thit k mt ng h s n gin (cho php la chn gia real time hoc s dng b nh thi)
Binson:PhmXunTrung,BmnKthutMynh,KhoaintVinthng,TrngHBchkhoa,HNng