Professional Documents
Culture Documents
Li M u ...................................................................................................... 1
Chng 1 TNG QUAN V CORTEX ........................................................... 3
1.1. Cc phin bn kin trc ARM ..................................................................... 3
1.2 B x l Cortex v n v x l trung tm Cortex ........................................... 4
1.3 n v x l trung tm Cortex (Cortex CPU) ................................................ 5
1.3.1 Kin trc ng ng (Pipline) ................................................................... 5
1.3.2 M hnh lp trnh (Programmers model) ................................................. 5
1.3.2.1 Thanh ghi XPSR .................................................................................... 6
1.3.3 Cc ch hot ng ca CPU ................................................................. 7
1.3.4 Tp lnh Thumb-2.................................................................................... 8
1.3.5 Bn b nh (Memory Map) ................................................................. 9
1.3.6 Truy cp b nh khng xp hng (Unaligned Memory Accesses) ......... 11
1.3.7 Di Bit (Bit Banding) ............................................................................. 12
1.4 B x l Cortex .......................................................................................... 13
1.4.1 Bus ......................................................................................................... 14
1.4.2 Ma trn Bus ............................................................................................ 14
1.4.3 Timer h thng (System timer) ............................................................... 14
1.4.4 X l ngt (Interrupt Handling)............................................................... 15
1.4.5 B iu khin vector ngt lng nhau (Nested Vector Interrupt
Controller)........................................................................................................ 15
1.4.5.1 Nhp v thot khi mt ngoi l ca NVIC (NVIC Operation
Exception Entry And Exit) ............................................................................... 16
1.4.5.2
Modes)............................................................................................................. 17
1.4.5.2.1 Quyn u tin ngt (Interrupt Pre-emption) ..................................... 17
1.4.5.2.2 K thut Tail Chaining trong NVIC ............................................... 17
1.4.5.3 Cu hnh v s dng NVIC.................................................................. 19
1.4.5.3.1 Bng vector ngt (Exception Vector Table)...................................... 19
1.5 Cc ch nng lng .............................................................................. 24
3.3 ng b ho cc b nh thi...................................................................... 56
3.4 RTC v cc thanh ghi Backup ..................................................................... 58
3.5 Kt ni vi cc giao tip khc ...................................................................... 59
3.5.1 SPI ........................................................................................................... 59
3.5.2 I2C ........................................................................................................... 60
3.5.3 USART .................................................................................................... 61
3.5.4 CAN ........................................................................................................ 63
3.5.5 USB ......................................................................................................... 65
Chng 4 LP TRNH IU KHIN NG C BC S DNG
ARM-STM32F103 ......................................................................................... 67
4.1 Gii thiu Kit STM32 STM32F103 ......................................................... 67
4.1.1 Mch CPU .............................................................................................. 68
4.1.2 Mch giao tip RS232 qua USART1 ..................................................... 69
4.1.3 Mch cp ngun v USB ....................................................................... 69
4.1.4 Mch giao tip vi LCD, np v g ni chng trnh qua JTAG, cc
mch giao tip CAN/ PS2 ............................................................................... 70
4.1.5 Mch th nh SD/MMC qua giao tip SPI ............................................ 70
4.2 iu khin ng c bc vi Kit STM32 STM32F103 ......................... 70
4.2.1.Thit k mch Motor Driver: ................................................................. 70
4.2.2. Chng trnh iu khin Step Motor: ................................................... 71
Kt Lun......................................................................................................... 74
Ti liu tham kho: ....................................................................................... 75
Li M u
Ngy nay vi s pht trin ca ngnh in t v ng dng in t
gip s sng to ca con ngi tr thnh hin thc. Cc lnh vc ca cuc
sng u p dng nhng thit b in t v dng nh nhn u trong gia nh
chng ta cng c thit b in t. Ngnh in t v ng dng in t to
ch ng v khng nh c tm quan trng ca mnh i vi nhu cu ca
con ngi.
Vi nhng ng dng cho cc h thng nhng ngy cng tr nn ph
bin: t nhng ng dng n gin nh iu khin mt cht n giao thng
nh thi, m sn phm trong mt dy chuyn sn xut, iu khin tc
ng c in mt chiu, thit k mt bin qung co dng Led ma trn, mt
ng h thi gian thc .n cc ng dng phc tp nh h thng iu khin
robot, b kim sot trong nh my hoc h thng kim sot cc my nng
lng ht nhn. Cc h thng t ng trc y s dng nhiu cng ngh
khc nhau nh cc h thng t ng hot ng bng nguyn l kh nn, thy
lc, rle c in, mch in t s, cc thit b my mc t ng bng cc cam
cht c kh. Cc thit b, h thng ny c chc nng x l v mc t ng
thp so vi cc h thng t ng hin i c xy dng trn nn tng ca
cc h thng nhng.
Trong nhiu nm trc, cc dng vi iu khin 8051 c sinh vin
dng nhiu vi tnh nng n gin, d s dng; AVR c s dng nhiu
trong cc cuc thi Robocon nh tc s l kh cao, n nh; PIC vi u th
tc cao, chi ph thp hn cng c nghin cu, s dng nhiu, c bit
trong cc cuc thi lp trnh tay ngh khu vc v th gii. Nhng trong mt vi
nm tr li y, c mt dng vi iu khin mi, cng ngy cng nm v tr
quan trng trong cc lnh vc i hi tc x l cao nh in t vin thng,
sn xut cc dng din thoi di ng smartphone, gim st, an ninh l
h vi iu khin ARM. Vi rt nhiu th h ra i, vi nhiu tnh nng , cng
dng khc nhau.
Chng 1
TNG QUAN V CORTEX
B x l Cortex l th h li nhng k tip t ARM. Cortex tha k cc u
im t cc b x l ARM trc , n l mt li x l hon chnh, bao gm
b x l trung tm Cortex v mt h thng cc thit b ngoi vi xung quanh,
Cortex cung cp phn x l trung tm ca mt h thng nhng. p ng
yu cu kht khe v a dng ca cc h thng nhng, b x l Cortex gm c
3 nhnh, c biu hin bng cc k t sau tn Cortex nh sau:
Cortex-A : b vi x l dnh cho h iu hnh v cc ng dng ca
ngi dng phc tp. H tr cc tp lnh ARM, Thumb v Thumb2.
Cortex-R : b x l dnh cho cc h thng i hi khc khe v tnh thi
gian thc. H tr cc tp lnh ARM, Thumb, v Thumb-2.
Cortex-M : b x l dnh cho dng vi iu khin, c ti u ha cho
cc ng dng nhy cm v chi ph. Ch h tr tp lnh Thumb-2.
Con s nm cui tn Cortex cho bit mc hiu sut tng i, vi 1 l thp
nht v 8 l cao nht. Hin nay dng Cortex-M c mc hiu sut cao nht l
mc 3. STM32 da trn b x l Cortex-M3.
1.1. Cc phin bn kin trc ARM
Hinh 1.6. Thanh ghi trng thi chng trnh ca CPU Cortex
6
m trong ch c quyn hoc khng c quyn (privileged or nonprivileged mode). Trong ch c quyn, CPU c quyn truy cp tt c cc
lnh. Trong ch khng co c quyn, mt s lnh b cm truy cp (nh lnh
MRS v MSR cho php truy cp vo xPSR v cc trng ca n). Ngoi ra,
vic cp cc thanh ghi iu khin h thng trong b vi x l Cortex cng b
cm. Cch s dng ngn xp (stack) cng c th c cu hnh. Ngn xp
chnh (main stack-R13) c th c s dng bi c hai ch Thread v
Handler. Ch Handler c th c cu hnh s dng ngn xp qu trnh
(process stack-R13 banked register).
processor
benchmark) cho mt
13
1.4.1 Bus
B vi x l Cortex-M3 c thit k da trn kin trc Harvard vi bus
m v bus d liu ring bit . Chng c gi l cc bus Icode v Dcode. C
hai bus u c th truy cp m v d liu trong phm vi b nh t
0x00000000-0x1FFFFFFF. Mt bus h thng b sung c s dng truy
cp vo khng gian iu khin h thng Cortex trong phm vi 0x20000000 0xDFFFFFFF v 0xE0100000 - 0xFFFFFFFF. H thng g li trn chip ca
Cortex c thm mt cu trc bus c gi l bus ngoi vi ring.
1.4.2 Ma trn Bus
Bus h thng v bus d liu c kt ni vi vi iu khin bn ngoi
thng qua mt tp cc bus tc cao c sp xp nh mt ma trn bus. N
cho php mt s ng dn song song gia bus Cortex v cc bus ch (bus
master) khc bn ngoi nh DMA n cc ngun ti nguyn trn chip nh
SRAM v cc thit b ngoi vi. Nu hai bus ch (v d CPU Cortex v mt
knh DMA) c gng truy cp vo cng mt thit b ngoi vi, mt b phn x
ni s gii quyt xung t v cho truy cp bus vo ngoi vi c mc u tin cao
nht. Tuy nhin, trong STM32 khi DMA c thit k lm vic ha hp vi
CPU Cortex.
1.4.3 Timer h thng (System timer)
Li Cortex c mt b m xung 24-bit, vi tnh nng t ng np li
(auto reload) gi tr b m v to s kin ngt khi m xung zero. N c
to ra vi dng cung cp mt b m thi gian chun cho tt c vi iu khin
da trn Cortex. ng h SysTick c s dng cung cp mt nhp p
h thng cho mt RTOS, hoc to ra mt ngt c tnh chu k phc v
cho cc tc v c lp lch. Thanh ghi trng thi v iu khin ca SysTick
trong n v khng gian iu khin h thng Cortex-M3 cho php chn cc
ngun xung clock cho SysTick. Bng cch thit lp bit CLKSOURCE,
ng h SysTick s chy tn s ng bng tn s hot ng ca CPU.
Khi bit ny c xa, SysTick s chy tn s bng 1/8 CPU.
14
16
Modes)
Vi kh nng x l mt ngt n rt nhanh, NVIC c thit k x l
hiu qu nhiu ngt trong mt ng dng i hi khc khe tnh thi gian thc.
NVIC c mt s phng php x l thng minh nhiu ngun ngt, sao cho
tr gia cc ngt l ti thiu v m bo rng cc ngt c mc u tin cao
nht s c phc v u tin.
1.4.5.2.1 Quyn u tin ngt (Interrupt Pre-emption)
NVIC c thit k cho php cc ngt c mc u tin cao s dnh quyn
u (pre-empt) so vi mt ngt c mc u tin thp hn ang chy.
1.4.5.2.2 K thut Tail Chaining trong NVIC
Nu mt ngt c mc u tin cao ang chy v ng thi mt ngt c mc
17
Trong mt h thng thi gian thc thng xut hin tnh hung, trong
khi mt ngt c mc u tin thp ang c phc v, th ch c mt ngt c
mc u tin cao hn xut hin. Nu tnh hung ny xy ra trong qu trnh
PUSH d liu ln ngn xp, NVIC s chuyn sang phc v ngt u tin cao
hn. Vic PUSH d liu ln ngn xp c tip tc v s c ti thiu 6 chu k
xung nhp ti thi im ngt u tin cao hn xut hin, cho ti khi a ch ca
ISR mi c ly v.
Hnh 1.19. p ng thi gian khi ngt u tin cao n sau ca Cortex-M3
Sau khi ngt u tin cao hn thc hin xong, ngt u tin thp ban u s c
ni ui (tail chain) v bt u thc hin sau 6 chu k xung nhp.
1.4.5.3 Cu hnh v s dng NVIC
s dng NVIC cn phi qua ba bc cu hnh. u tin cu hnh
bng vector cho cc ngun ngt cn mun s dng. Tip theo cu hnh cc
thanh ghi NVIC cho php v thit lp cc mc u tin ca cc ngt trong
NVIC v cui cng cn phi cu hnh cc thit b ngoi vi v cho php ngt
tng ng.
1.4.5.3.1 Bng vector ngt (Exception Vector Table)
Bng vector ngt ca Cortex bt u di cng ca bng a ch. Tuy
nhin bng vector bt u ti a ch 0x00000004 thay v l 0x00000000 nh
ARM7 v ARM9, bn byte u tin c s dng lu tr a ch bt u
ca con tr ngn xp (stack pointer).
19
Type
No
Exception Type
Priority
of
Descriptions
Priority
1
Reset
fixed
Reset
3(Highest)
2
NMI
-2
fixed
Non-Maskable Intertupt
Hard Fault
-1
fixed
MemManage
Fault
5
illegal locations
Bus Fault
Usage Fault
7-10 Reserved
N.A
N.A
11
SVCall
12
Debug Monitor
13
Reserved
N.A
N.A
14
PendSV
15
SYSTICK
16
Interrupt # 0
247
settable
PRIGROU
Binary Point
Preemting Priority
P (3 Bits)
(group.sub)
(Group Priority)
Sub-Priority
Bits
Levels
Bits
Levels
011
4.0
Gggg
16
100
3.1
Gggs
101
2.2
Ggss
110
1.3
Gsss
111
0.4
Ssss
16
dng nn nh bnh thng. Bng cch t bit SLEEPON EXIT trong thanh
ghi iu khin h thng, li Cortex s t ng i vo ch ng mt khi ISR
ny kt thc. iu ny cho php mt ng dng nng lng thp (trng thi h
thng lun ch sleep khi khng c s kin no xy ra) s hon ton c
iu khin bng ngt, li Cortex s c nh thc bi mt s kin (t ngt
bn trong hoc bn ngoi CPU Cortex), ch cn thc thi mt on m thch hp
v sau li i vo ch sleep, nh vy vi mt m chng trnh ti thiu
chng ta c th qun l hiu qu nng lng ca h thng.
Ngt WFE cho php li Cortex tip tc thc hin chng trnh t im m
n c t vo ch sleep. N s khng nhy n v thc thi mt trnh phc
v no. Mt s kin nh thc (wake-up) ch n gin n t mt thit b ngoi
vi d cho n khng c kch hot nh l mt ngt bn trong NVIC. iu ny
cho php mt thit b ngoi vi c th bo ng thc li Cortex v tip tc
thc thi chng trnh ng dng m khng cn mt trnh phc v ngt no. Cc
lnh WFI v WFE khng th gi trc tip t ngn ng C, tuy nhin thun li l
trnh bin dch cho tp lnh Thumb-2 cung cp sn cc macro c th c
s dng nh mt lnh C chun (inline C command):
__WFI
__WFE
Ngoi cc ch nng lng thp SLEEPNOW v SLEEPONEXIT,
li Cortex c th pht ra mt tn hiu SLEEPDEEP cho phn cn li ca h
thng vi iu khin.
26
27
Chng 2
KIN TRC H THNG CA ARM CORTEX
ARM Cortex STM32 gm nhn Cortex kt ni vi b nh FLASH
thng qua ng bus lnh chuyn bit. Cc bus d liu(Cortex Data
busses) v h thng (Cortex System busses) c kt ni ti ma trn busses
tc cao( ARM Advanced High Speed Busses- AHB). SRAM ni kt ni
vi AHB v ng vai tr l b DMA. Cc thit b ngoi vi c kt ni bng
2 h thng bus ngoi vi tc cao ( APB-ARM Advanced Peripheral Busses).
Cc bus APBs thng qua cc bus cu ni AHB-APBs kt ni vo h thng
AHB. Ma trn bus AHB s dng xung nhp ng h bng vi xung nhp ca
nhn Cortex. Tuy nhin thng qua b chia tn s AHB c th hot ng tn
s thp hn nhm tit kim nng lng.
29
31
32
34
nh. Kch thc d liu truyn v cu hnh tng quan DMA c lu trong 2
thanh ghi cn li.
Hnh 3.4 Mi knh DMA c gn vi ngoi vi nht nh. Khi c kch hot,
cc thit b ngoi vi s iu khin b DMA tng ng.
Kiu truyn d liu t b nh sang b nh thng hay c dng
khi to vng nh, hay chp cc vng d liu ln. Phn ln tc v DMA hay
c s dng chuyn d
DMA, u tin ta khi to thit b ngoi vi v kch hot ch DMA trn thit
b ngoi vi , sau khi to knh DMA tng ng.
38
Chng 3
NGOI VI
Chng ny s gii thiu cc thit b ngoi vi trn cc phin bn ARM
Cortex STM32. Gm 2 loi: ngoi vi a dng v ngoi vi giao tip. Tt c
ngoi vi trn STM32 c thit k v da trn b DMA. Mi ngoi vi u c
phn iu khin m rng nhm tit kim thi gian x l ca CPU.
3.1 Ngoi vi a dng
Ngoi vi a dng trn STM32 bao gm: cc cng I/O a dng, b iu
khin ngt ngoi, b chuyn i ADC, b iu khin thi gian a dng v m
rng, ng h thi gian thc, v chn tamper.
3.1.1 Cc cng I/O a dng
STM32 c 5 cng I/O a dng vi 80 chn iu khin.
39
Mi cng GPIO u c 2 thanh ghi 32-bit iu khin. Nh vy ta c 64bit cu hnh 16 chn ca mt cng GPIO. Nh vy mi chn ca cng GPIO
s c 4 bit iu khin: 2 bit s quy nh hng ra vo d liu: input hay
output, 2 bit cn li s quy nh c tnh d liu.
Configuration
CNF1
CNF0
Analog Input
Input Pull-up
Input Pull-down
Output Push-Pull
00:Reserved
Output Open-drain
01:10Mhz
AF Push-Pull
10:2Mhz
AF Open-drain
11:50Mhz
40
MOD1
MOD0
00
cc ngoi vi khc. thun tin cho thit k phn cng, mt thit b ngoi vi
c th c nh x ti mt hay nhiu chn ca vi x l STM32.
ngt RTC, ngt Power detect v ngt USB wake up. Cc ngt ngoi cn li chia
lm 2 nhm 5-10, v 11-15 c cung cp thm 2 bng ngt b sung. Cc
ngt ngoi rt quan trng trong qun l tiu th nng lng ca STM32.
Chng c th c s dng nh thc nhn vi x l t ch STOP khi
c 2 ngun to xung nhp chnh ngng hot ng. EXTI c th to ra cc ngt
thot ra khi s kin Wait ca ch Interrupt v thot khi s kin Wait
ca ch Event.
43
44
45
Hnh 3.5 Analogue Watchdog c th dng gim st mt hay nhiu knh ADC
vi vng ngng c cu hnh bi ngi dng
3.1.3.3 Cu hnh ADC
Cc thanh ghi ca khi ADC c tch ra thnh 6 nhm thanh ghi, trong
cc thanh ghi Status v Control xc nh ch hot ng ca ADC.
C hai thanh ghi iu khin ADC_CR1 v ADC_CR2 cu hnh hot ng
ca khi ADC.
47
hm x l ngt ADC
49
Ban u phn cng s kch hot knh u tin trong nhm chuyn i
Injected ca khi ADC1, sau s kch hot tip nhm Injected ca ADC2. C
nh vy lin tc v xen k.
3.1.4.5. Kt hp ng b ha Regular v kch hot thay th
50
51
52
53
54
55
3.3 ng b ho cc b nh thi
Mc d cc b nh thi hot ng hon ton c lp vi nhau, tuy
nhin chng c th c ng b ha tng i mt hay ton b.
56
58
Hnh 3.12 Khi RTC c th ly ngun xung nhp t LSI, LSE v HSE.
RTC c t trong khi d phng vi ngun cung Vbat v tn hiu
ngt Alarm c kt ni vi chn nhn xung EXTI17. iu c ngha khi
h thng vo trng thi hot ng ca mc nng lng thp, RTC vn hot
ng. V thng qua s kin Alarm, ton b h thng c th c kch hot
hot ng tr li ch bnh thng.
3.5 Kt ni vi cc giao tip khc
STM32 h tr 5 loi giao tip ngoi vi khc nhau. STM32 c giao din
SPI v I2C giao tip vi cc mch tch hp khc. H tr giao tip CAN
cho cc module, USB cho giao tip PC v giao tip USART.
3.5.1 SPI
H tr giao tip tc cao vi cc mch tch hp khc, STM cung cp 2
khi iu khin SPI c kh nng chy ch song cng(Full duplex) vi
tc truyn d liu ln ti 18MHz. Khi SPI tc cao nm trn APB2,
khi SPI tc thp nm trn APB1.Mi khi SPI c h thng thanh ghi cu
hnh c lp, d liu truyn c th di dng 8-bit hoc 16-bit, th t h tr
59
ch slave, master hay ng vai tr b phn x ng trong h thng multimaster. Giao din I2C h tr tc truyn chun 100kHz hay tc cao
400kHz. Ngoi ra cn h tr 7 hoc 10 bit a ch. c thit k nhm n gin
ha qu trnh trao i vi 2 knh DMA cho truyn v nhn d liu. Hai ngt
mt cho nhn Cortex, mt cho nh a ch v truyn nhn
3.5.3 USART
Mc d cc giao din trao i d liu dng ni tip dn dn khng cn
c h tr trn my tnh, chng vn cn c s dng rt nhiu trong lnh vc
nhng bi s tin ch v tnh n gin. STM32 c n 3 khi USART, mi
khi c kh nng hot ng n tc 4.5Mbps. Mt khi USART nm trn
APB1 vi xung nhp hot ng 72MHz, cc khi cn li nm trn APB2
hot ng xung nhp 36MHz.
61
63
64
Mi b lc c th c cu hnh hot ng 4 ch lc c a
vo 2 nhm chnh l lc theo ID hoc theo nhm ID. Ch th nht l lc
da trn ID ca gi tin, nu cc gi tin no khng c ID ging hoc khng
ging nh ID c cu hnh trong b lc, n s b b qua. Ch th hai cho
php nhn gi tin trong cng mt nhm. Thanh ghi th nht cha ID ca gi tin,
thanh ghi th hai cha mt n,quy nh cc thnh phn trn vng ID ca
thanh ghi th nht m b lc da trn so snh lc hay khng lc gi tin.
66
Chng 4
LP TRNH IU KHIN NG C BC
S DNG ARM-STM32F103
4.1 Gii thiu Kit STM32 STM32F103
c tnh ca Kit:
1. MCU: STM32F103 ARM 32 bit CORTEX M3 with 384K
2. Program Flash, 64K Bytes RAM, USB, CAN, x2 I2C, x16 ADC, x2 DAC
3. x5 UART, x2 SPI, x12 TIMERS, up to 72Mhz operation
4. JTAG connector tiu chuan vi ARM 2x10 pin dnh cho viec lap trnh v
gh ri
5. USB connector
6. SD-MMC card, Audio, Microphone
7. user buttions x3
8. user leds x3
9. RS-232 connector
10. RESET button
11. status LED
12. 8 Mhz crystal oscillator
13. 32768 Hz crystal and RTC backup battery
14. extension headers for all uC ports
c tnh STM32F103RDT6:
- CPU clock up to 72Mhz
- FLASH 384KB
- RAM 64KB
- DMA x12 channels
- RTC
- WDT
- Timers x11+1
- SPI x2
- I2C x2
67
- USART x5
- USB x1
- CAN x1 (multiplexed with USB so both can't be used in same time)
- GPIO up to 51 (multiplexed with peripherials)
- 16 knh ADC 12-bit, DAC x2
- operating voltage 2.0-3.6V
- temperature -40C +85C
4.1.1 Mch CPU
68
69
- Mch Motor Driver ghp ni vi Kit qua cng PB (chn PB.12, PB.13,
PB.14, PB.15)
S Motor Driver nh hnh 4.6:
delay_ms(3);
GPIO_Write(GPIOB,0x6000);
delay_ms(3);
GPIO_Write(GPIOB,0x3000);
delay_ms(3);
GPIO_Write(GPIOB,0x9000);
delay_ms(3);
}
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t* file, uint32_t line)
{
/* User can add his own implementation to report the file name and line
number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
73
Kt Lun
Nghin cu ny ban u cho thy c kt qu kh quan, to tin
cho pht trin cc ng dng vi ARM Cortex M3. pht trin ti ny, ti
xin a ra mt s u nhc im nh sau:
u, nhc im:
u im:
Gi thnh chip r so vi cc dng chip khc vi cng s ti nguyn nh
ARM.
Tc x l cao, n nh.
Tit kim nng lng
S lng ti nguyn ln, ph hp vi nhiu ng dng khc nhau
Nhc im
Nhiu thanh ghi, cu lnh kh di, gy kh nh cho ngi dng, d
nhm ln.
Th trng ARM Vit Nam cha rng, gy kh trong vic tm kim
ti liu v kh khn trong vic t mua chip, do vy vic nghin cu cha
c su.
Hng pht trin:
t mua KIT to iu kin nghin cu thc t trn module.
To cc module thc t to iu kin thun li cho sinh vin nghin
cu thc hnh vi cc ng dng thc t, d hnh dung.
74
75