Trình bày các thanh ghi cấu hình cho bộ ADC trong MSP430

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

BÁO CÁO TỔNG KẾT
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƯỜNG

XÂY DỰNG CÁC MODULE GIẢNG DẠY MSP 430
S

K

C

0

0

3

9
0

5
2

9
0

MÃ SỐ: T2010 - 04

S KC 0 0 3 0 3 7

Tp. Hồ Chí Minh, 2010

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT TPHCM

XÂY DỰNG CÁC MODULE GIẢNG DẠY MSP430
MÃ SỐ : T2010-04

CHỦ NHIỆM ĐỀ TÀI:

THS. NGUYỄN VĂN HIỆP

TP HCM, NĂM 2010

NGƢỜI THAM GIA ĐỀ TÀI

CHỦ NHIỆM ĐỀ TÀI: NGUYỄN VĂN HIỆP
HỌC VỊ, CHỨC DANH KHOA HỌC: GIẢNG VIÊN, THẠC SĨ
ĐƠN VỊ PHỐI HỢP: BỘ MÔN ĐTCN, KHOA ĐIỆN-ĐIỆN TỬ

MỤC LỤC
Trang
Tóm tắt kết quả nghiên cứu

2

Nội dung nghiên cứu

3

1. Module 1: Tổng quan về MSP430F2274

4

2. Module 2: Tổ chức bộ nhớ MSP430F2274

8

3. Cấu trúc xuất nhập

14

4. Hoạt động Reset và các chế độ

16

5. Xung Clock

19

6. Bộ định thời Watchdog

25

7. Bộ định thời
Bộ định thời A

28

Bộ định thời B

33

8. Bộ chuyển đổi tƣơng tự sang số

ADC

37

9. Bộ chuyển đổi số sang tƣơng tự

DAC

47

10.Bộ khuếch đại thuật toán OA

50

Kết quả và Kết luận

55

Tài liệu tham khảo

56

Phụ lục A: Cấu trúc một chƣơng trình

57

Phụ lục B: Các ví du mẫu

59

Phụ lục C: Các hình và mạch nguyên lý

92

Xây dựng các module bài giảng MSP430

TÓM TẮT KẾT QUẢ NGHIÊN CỨU
ĐỀ TÀI KHOA HỌC VÀ CÔNG NGHỆ CẤP TRƢỜNG

Tên đề tài: Xây dựng các Module bài giảng MSP430
Mã số: T2010-04
Chủ nhiệm đề tài: Ths. Nguyễn Văn Hiệp
Tel.: 0905354655
Cơ quan chủ trì đề tài: Trƣờng Đại học Sƣ Phạm Kỹ Thuật, TP HCM
Cơ quan và cá nhân phối hợp thực hiện:
Thời gian thực hiện: Từ 25/03/2010 đến 20/08/2010

E-mail:

1. Mục tiêu: Nghiên cứu một họ Vi điều khiển mới nhiều tính năng hay, xây dựng các
bài giảng để làm tài liệu học tập cho sinh viên.
2. Nội dung chính: Nghiên cứu về họ vi điều khiển MSP430: cấu trúc bộ nhớ, xuất
nhập, adc, dac, Timer, PMW, bộ khuếch đại thuật toán,.., board phát triển EZ430, tập
lệnh C, tập lệnh ASM, một số bài ví dụ viết cho bộ thí nghiệm: led đơn, bảy đoạn,
LCD, ma trận,..
1. Kết quả chính đạt đƣợc (khoa học, ứng dụng, đào tạo, kinh tế – xã hội, v.v…)
- Khoa học: tìm hiểu và khai thác một họ vi điều khiển siêu tiết kiệm năng
lƣợng của Texas Instrument, họ vi điều khiển RISC 16 bit.
- Ứng dụng: Tạo cơ sở khoa học cho việc tiếp cận dòng vi điều khiển mới
nhanh, ứng dụng trong nhiều lãnh vực dân dụng, công nghiệp đặc biệt trong các
thiết bị cầm tay yêu cầu nguồn năng lƣợng thấp.
- Đào tạo: làm tài liệu giảng dạy cho sinh viên
2. Điểm mới
- Đây là họ vi điều khiển rất mới ở thị trƣờng Việt nam.
- Họ vi điều khiển có nhiều tính năng mới: tích hợp cảm biến nhiệt độ, bộ
khuếch đại thuật toán, DAC12bit, bộ quản lý nguồn siêu tiết kiệm năng lƣợng.
5. Địa chỉ ứng dụng
- Ứng dụng trong việc giảng dạy cho sinh viên tại trƣờng ĐH SPKT TPHCM
- Tài liệu nghiên cứu cho sinh viên, kỹ sƣ điện tử, điện, tự động hóa.

p

Trang | 2

Xây dựng các module bài giảng MSP430

PHẦN NỘI DUNG NGHIÊN CỨU
1. TÍNH CAÁP THIEÁT CUÛA ÑEÀ TAØI
Hiện tại các tập đoàn điện tử, các công ty lớn thì điều hƣớng tới việc sản xuất ra các
sản phẩm thông minh, ƣu việt về năng lƣợng. Hầu hết các sản phẩm hiện tại đều dựa trên
các chip xử lý mạnh, tiêu thụ năng lƣợng thấp.
Trong khi sinh viên của ta vẫn đang học tập và thí nghiệm trên các dòng vi điều khiển
cũ, ít tính năng, tiêu thụ năng lƣợng nhiều. Khi sinh viên ra trƣờng muốn đi làm việc tại các
công ty lớn nhƣ INTEL, RENESAS,..thì không tự tin và thƣờng không đạt yêu cầu. Khi
đƣợc tuyển dụng thì lại phải mất thời gian đi học tập để tiếp cận với công nghệ mới trƣớc
khi làm việc.
Hiện tại bộ môn Điện tử công nghiệp đã đƣợc tập đoàn Texas Instrument tài trợ cho 50
kit phát triển ez430-RF2500. Kit dựa trên nhân là vi điều khiển MSP430F2274 (họ
MSP430). Đây là một vi điều khiển mạnh, công suất tiêu thụ cực thấp, đáp ứng rất tốt yêu
cầu học tập và làm việc.
Nhằm nâng cao kiến thức cho ngƣời nghiên cứu, và triển khai tài liệu học tập đến sinh
viên, giúp sinh viên tiếp cận với một họ vi điều khiển mới, mạnh, tạo điều kiện thuận lợi để
sử dụng các kit thí nghiệm đƣợc tài trợ một cách hiệu quả, ngƣời nghiên cứu tìm hiểu về
MSP430 và xây dựng các bài giảng dạy dựa trên module ez430-RF2500.
2. CÁCH THỨC TIẾP CẬN VÀ NGHIÊN CỨU:
- Tác giả chia thành nhiều module để tiếp cận. Đầu tiên nghiên cứu cấu trúc cơ bản của
họ MSP430, sau đó cụ thể vi điều khiển MSP430F2274, rồi board phát triển EZ430.
- Xây dựng bộ thí nghiệm để mở rộng hệ thống, giúp cho việc thí nghiệm dễ dàng hơn.
- Nghiên cứu về tập lệnh C, ASM, các chƣơng trình soạn thảo, biên dịch và debug.

Nội dung nghiên cứu chính đƣợc trình bày chia theo các module chính nhƣ sau:

p

Trang | 3

Xây dựng các module bài giảng MSP430

Module 1
Tổng quan về MSP430F2274
1.1 TỔNG QUAN VỀ MSP430F2274
MSP 430 là họ vi điều khiển cấu trúc RISC 16-bit đƣợc sản xuất bởi công ty Texas
Instruments.
MSP là chữ viết tắt của “MIXED SIGNAL MICROCONTROLLER”. Là dòng vi điều
khiển siêu tiết kiệm năng lƣợng, sử dụng nguồn thấp, khoảng điện áp nguồn cấp từ 1.8V –
3.6V. MSP 430 kết hợp các đặc tính của một CPU hiện đại và tích hợp sẵn các module
ngoại vi. Đặc biệt Chíp MSP 430 là giải pháp thích hợp cho những ứng dụng yêu cầu trộn
tín hiệu.
Những đặc tính của dòng MSP 430 bao gồm:
Điện áp nguồn: 1.8V – 3.6 V.
Mức tiêu thụ năng lƣợng cực thấp:
- Chế độ hoạt động: 270 μA tại 1MHz, 2,2 V.
- Chế độ chờ: 0.7 μA.
- Chế độ tắt (RAM vẫn đƣợc duy trì): 0.1 μA.
Thời gian đánh thức từ chế độ Standby nhỏ hơn 1μs.
Cấu trúc RISC-16 bit, Thời gian một chu kỳ lệnh là 62.5 ns
Cấu hình các module Clock cơ bản:
- Tần số nội lên tới 16 MHz với 4 hiệu chỉnh tần số - 1%.
- Thạch anh 32 KHz.
- Tần số làm việc lên tới 16 MHz.
- Bộ cộng hƣởng.
- Nguồn tạo xung nhịp bên ngoài.
- Điện trở bên ngoài.
Timer_A 16 bit với 3 thanh ghi Capture/ so sánh độ rộng 16 bit.
Timer_B 16 bit với 3 thanh ghi Capture/so sánh độ rộng 16 bit.
Giao diện truyền thông nối tiếp:
- Hỗ trợ truyền thông nối tiếp nâng cao UART, tự động dò tìm tốc độ Baud.
- Bộ mã hóa và giải mã IrDA (Infrared Data Associatio).
- Chuẩn giao tiếp động bộ SPI.
- Chuẩn giao tiếp I2C.
Bộ chuyển đổi ADC 10 bit, 200 ksps với điện áp tham chiếu nội, Lấy mẫu và chốt.
Tự động quét kênh, điều khiển chuyển đổi dữ liệu.
Hai bộ khuếch đại thuật toán (hoạt động) có thể định cấu hình (Đối với
MSP430x22x4).
Bảo vệ sụt áp.
Bộ nạp chƣơng trình.
Module mô phỏng trên chip.
MSP430 đƣợc sử dụng và biết đến đặc biệt trong những ứng dụng về thiết bị đo có sử
dụng hoặc không sử dụng LCD với chế độ nguồn nuôi rất thấp. Với chế độ nguồn nuôi từ
khoảng 1,8 đến 3,6v và 5 chế độ bảo vệ nguồn.
p

Trang | 4

Xây dựng các module bài giảng MSP430
Với sự tiêu thụ dòng rất thấp trong chế độ tích cực thì dòng tiêu thụ là 200uA, 1Mhz,
2.2V; với chế độ Standby thì dòng tiêu thụ là 0.7uA. Và chế độ tắt chỉ duy trì bộ nhớ Ram
thì dòng tiêu thụ rất nhỏ 0.1uA.
MSP430 có ƣu thế về chế độ nguồn nuôi. Thời gian chuyển chế độ từ chế độ standby
sang chế độ tích cực rất nhỏ (< 1us). Và có tích hợp 96 kiểu hình cho hiển thị LCD, các
thanh ghi 16 bit, CPU RISC 16 bit mạnh mẽ.
Có một đặc điểm của họ nhà MSP là khi MCU không có tín hiệu dao động ngoại, thì
MSP sẽ tự động chuyển sang hoạt động ở chế độ dao động nội.
Sơ đồ chân của 2 loại MSP430

Hình: Sơ đồ chân của hai dạng IC MSP430
p

Trang | 5

Xây dựng các module bài giảng MSP430

1.2 CẤU TRÚC VI ĐIỀU KHIỂN MSP430F2274

Hình : Cấu trúc của MSP430F2274

1.3 TÌM HIỂU VỀ CPU MSP430F2274
CPU của họ vi điều khiển MSP430 mang những đặc điểm thiết kế đặc biệt nhƣ kĩ thuật
tính toán rẽ nhánh, sử dụng ngôn ngữ lập trình cấp cao nhƣ C, C. CPU còn có thể định địa
chỉ của một vùng địa chỉ bằng cách đánh dấu vùng nhớ.
CPU mang những đặc điểm sau:
Cấu trúc RISC
Đầy đủ các thanh ghi truy xuất bao gồm các thanh ghi: bộ đếm chƣơng trình (PC),
thanh ghi trạng thái (SR), thanh ghi con trỏ ngăn xếp .
Mỗi lệnh thực hiện trong 1 chu kì
Số lƣợng thanh ghi file lớn giảm thời gian lấy lệnh từ bộ nhớ
Bus định địa chỉ 20 bit cho phép truy xuất trực tiếp và rẽ nhánh trong toàn bộ bộ nhớ
mà không cần phân trang
Bus dữ liệu 16 bit cho phép truy xuất trực tiếp.
Bộ tạo hằng số tạo ra 6 hằng số thƣờng dùng nhất một cách trực tiếp, giảm kích
thƣớc code.
Chuyển đổi trực tiếp giữa các vùng nhớ không cần thông qua thanh ghi trung gian.
Định địa chỉ theo Byte, Word và Word (20bit địa chỉ).
Sơ đổ khối CPU:

p

Trang | 6

Xây dựng các module bài giảng MSP430

Hình: Kiến trúc RISC của CPU

p

Trang | 7

Xây dựng các module bài giảng MSP430

Module 2
Tổ chức bộ nhớ MSP430F2274
2.1 CẤU TRÚC VÙNG NHỚ

: Sơ đồ vùng nhớ chương trình và dữ liệu
Theo sơ đồ vùng nhớ ta thấy MSP430 sử dụng kiến trúc von Neumann.
Kiến trúc Von Neumann có một địa chỉ bộ nhớ (memory address bus (MAB)) và một bus để
chuyển dữ liệu (memory data bus (MDB))vào và ra đơn vị xử lý trung tâm (CPU). CPU có
thể đọc một lệnh, hoặc đọc/ghi dữ liệu từ bộ nhớ. Tuy vậy, cả hai quá trình tƣơng tác với
lệnh hoặc với dữ liệu, không thể thực hiện cùng lúc.

-

FLASH/ROM

Địa chỉ bắt đầu của Flash/ROM phụ thuộc vào độ lớn của Flash/ROM và còn tùy thuộc
vào từng họ vi điều khiển. Địa chỉ kết thúc của Flash/ROM là 0x1FFFFh. Flash/ROM có thể
sử dụng cho cả mã chƣơng trình và dữ liệu. Những bảng Byte hoặc Word có thể đƣợc tồn
trữ và sử dụng ngay trong Flash/ROM mà không cần copy vào RAM trƣớc khi sử dụng
chúng. Những bảng véc tơ đƣợc ánh xạ đến 16 Word phía trên của vùng địa chỉ Flash/ROM
với ƣu tiên ngắt cao nhất ở vùng địa chỉ cao nhất của Flash/ROM.

-

RAM

RAM bắt đầu ở địa chỉ 0200h và giới hạn cuối cùng tùy thuộc vào kích thƣớc của RAM.
RAM có thể sử dụng cho cả mã chƣơng trình và dữ liệu.
p

Trang | 8

Xây dựng các module bài giảng MSP430

-

CÁC MODULE NGOAI VI

Trong vùng không gian địa chỉ của MSP430 có 2 vùng địa chỉ dành cho những Mô đun
ngoại vi. Vùng địa chỉ từ 0100 đến 01FFh sử dụng dành riêng cho những mô đun ngoại vi
16 Bít. Vùng địa chỉ từ 010 đến 0FFh sử dụng dành riêng cho những mô đun ngoại vi 8 Bít.

- THANH GHI CÓ CHỨC NĂNG ĐẶC BIỆT
SFRs liên quan nhiều đến sự cho phép những tính năng của một số mô đun ngoại vi và
dùng để truyền những tín hiệu ngắt từ ngoại vi. SFRs nằm ở 16 Byte thấp của vùng địa chỉ
và đƣợc tổ chức bằng Byte. SFRs chỉ có thể đƣợc truy cập bởi chỉ thị Byte.

2.2 CÁC THANH GHI CPU
Gồm có 16 thanh ghi 16-bit, trong đó bốn thanh ghi đầu tiên từ R0 – R3 đƣợc chỉ định
làm thanh ghi bộ đếm chƣơng trình, con trỏ ngăn xếp, thanh ghi trạng thái, thanh ghi tạo
hằng số. Các thanh ghi còn lại (R4 – R15) là những thanh ghi sử dụng mục đích chung.

THANH GHI BỘ ĐẾM CHƢƠNG TRÌNH (PROGRAM COUNTER PC)
Thanh ghi PC (R0) chỉ đến lệnh kế tiếp đƣợc thực hiện, mỗi lệnh sử dụng một số chẵn
byte (2, 4, hoặc 6) và thanh ghi PC sẽ tăng lên một cách tƣơng ứng. Địa chỉ truy xuất trong
khoảng 64Kb, định dạng word.

: Thanh ghi PC
Ví dụ:
MOV #LABEL,PC; Đƣa nội dung của LABEL vào PC
MOV LABEL,PC ; Đƣa địa chỉ LABEL vào PC
MOV @R14, PC ; Đƣa gián tiếp địa chỉ của nội dung trong R14 vào PC

THANH GHI CON TRỎ NGĂN XẾP (STACK POINTER SP)

: Thanh ghi SP
Thanh ghi SP đƣợc sử dụng bởi CPU để lƣu địa chỉ trở về từ chƣơng trình con hoặc ngắt.
Ngoài ra thanh ghi SP cũng đƣợc sử dụng do phần mềm và các kiểu định địa chỉ.
Ví dụ:
MOV 2(SP),R6
MOV R7,0(SP)

;chuyển nội dung I2 vào R6
;ghi đè giá trị R7 lên SP

p

Trang | 9

Xây dựng các module bài giảng MSP430

:
Sử dụng lệnh PUSH và POP

:

, POP

THANH GHI TRẠNG THÁI (STATUS REGISTER SR)

: Thanh ghi SR
Bit V :cờ tràn .bằng 1 khi phép toán có tràn .
Đối với lệnh cộng : ADD(.B), ADDC(.B) .bit V=1 khi:
P P =N
N N =P
Các trƣờng hợp khác bằng 0.
Đối với lệnh trừ,so sánh : SUB(.B) , SUBC(.B) , CMP(.B) .bit V=1 khi:
P - N =N
N - P =P
Các trƣờng hợp khác bằng 0.
(P : Possitive; N :Negative)
Bit SCG1: tạo xung clock hệ thống 1, set bit này bằng 1 sẽ tắt SMCLK
Bit SCG0: tạo xung clock hệ thống 0, set bit này bằng 1 sẽ tắt DCO
(DIGITAL COTROLLED OSCILLATOR) nếu DCOCLK không dùng cho MCLK
hoặc SMCLK
p

Trang | 10

Xây dựng các module bài giảng MSP430
Bit OSCOFF: tắt dao động khi set bit này bằng 1.
Bit CPUOFF: tắt CPU khi set lên 1
Bit GIE: cho phép ngắt khi bằng 1.Khi reset mặc định không cho phép ngắt
Bit N: =1 khi kết quả phép toán âm,
=0 khi kết quả dƣơng
Bit Z Bằng 1 khi kết quả bằng 0 và ngƣợc lại.
Bit C Bit cờ. Bằng 1 khi kết quả phép toán tạo ra cờ.

THANH GHI BỘ PHÁT HẰNG SỐ (CONSTANT REGISTER CG1, CG2)
Có 6 hằng số thƣờng dùng đƣợc tạo ra bằng 2 thanh ghi tạo hằng số R2(CG1) và
R3(CG2) mà không cần mã lệnh. Hằng số đƣợc lựa chọn nhƣ sau:

Những ƣu điểm:
Không cần những lệnh đặc biệt.
Không cần bổ sung từ mã cho 6 hằng số.
Mã truy cập bộ nhớ không đòi hỏi phải khôi phục lại hằng số.

CÁC THANH GHI ĐA DỤNG R4-R15
Các thanh ghi từ R4 đến R15 không có mục đích chuyên dụng, các thanh ghi này có thể
sử dụng làm thanh ghi dữ liệu hoặc địa chỉ đều đƣợc vì đều là các giá trị 16 bit, từ đó giúp
đơn giản hóa các hoạt động. Những thanh ghi đặc biệt này nên đƣợc sử dụng để di chuyển
các tham số và trả về các kết quả.

2.3 TỔ CHỨC BỘ NHỚ
Byte có thể nằm ở vùng địa chỉ chẵn hoặc lẻ. Word chỉ nằm ở vùng địa chỉ chẵn, khi sử
dụng cấu trúc word chỉ có vùng địa chỉ chẵn đƣợc sử dụng. Byte thấp của 1 word luôn là
vùng địa chỉ chẵn. Byte cao của word nằm ở địa chỉ lẻ tiếp theo.
Bộ nhớ có thể đƣợc mở rộng thậm chí vƣợt quá số địa chỉ có thể định địa chỉ trực tiếp,
đây là một ƣu điểm của bộ nhớ có cấu trúc kiểu RISC. Bộ nhớ đƣợc chia thành các
Segment, tại một thời điểm chỉ có một Segment đƣợc truy xuất.

p

Trang | 11

Xây dựng các module bài giảng MSP430

: Tổ chức bộ nhớ

2.5.6 TỔ CHỨC BỘ NHỚ THEO SEGMENT
Bộ nhớ của MSP430 đƣợc chia thành các Segment. Ta có thể ghi từng bit, byte, word
riêng lẻ vào bộ nhớ, nhƣng Segment là đơn vị nhỏ nhất có thể xoá.
Bộ nhớ flash chia ra làm 2 phần: phần nhớ chính và phần lƣu thông tin.Sự khác biệt của 2
vùng này chỉ là kích thƣớc và địa chỉ vật lý. Vùng lƣu thông tin có 2 Segment 128byte,
vùng nhớ chính có từ 2 Segment 512 byte trở lên. Mỗi Segment lại đƣợc chia thành các khối
byte, bắt đầu bằng các địa chỉ 0xx00h, 0xx40h, 0xx80h, 0xxC0h...và kết thúc tại
0xx3Fh,0xx7Fh,0xxBFh...

p

Trang | 12

Xây dựng các module bài giảng MSP430

: Tổ chức bộ nhớ theo segment

p

Trang | 13

Xây dựng các module bài giảng MSP430

Module 3
Cấu trúc xuất nhập
3.1 Tổng quan
Chip MSP 430 có thể lên tới 8 port xuất nhập từ P1 – P7. Mỗi port có 8 chân. Mỗi chân
đều có những chức năng đặc biệt có thể định hƣớng làm đầu vào hoặc đầu ra, có thể đọc
truy suất hoặc điều khiển. Riêng chip MSP430F2274 có 4 port: P1 – P4.
Ports P1 và P2 có khả năng ngắt. Mỗi ngắt đƣợc cấu hình riêng theo cạnh lên hoặc cạnh
xuống của sƣờn xung hoặc theo tín hiệu vào tƣơng ứng với các vector ngắt.
Đặc tính xuất nhập bao gồm:
Các chân I/O riêng lẻ có thể lập trình một cách độc lập.
Có thể lựa chọn làm OUTPUT hoặc INPUT.
P1 và P2 đƣợc cấu hình riêng cho tín hiệu ngắt.
Các thanh ghi dữ liệu Input và Output độc lập
Có thể cấu hình riêng lẽ điện trở kéo lên hoặc kéo xuống.

3.2 Hoạt động xuất/nhập số
3.2.1 Thanh ghi nhập dữ liệu PxIN
Là thanh ghi chỉ đọc, trả lại giá trị hiện thời tại chân tƣơng ứng khi có tín hiệu từ phần
cứng bên ngoài đƣa vào.
Bit = 0 đầu vào ở mức thấp.
Bit = 1 tín hiệu ở mức cao.

3.2.2 Thanh ghi xuất dữ liệu PxOUT
Khi không sử dụng điện trở kéo và đƣợc định hƣớng làm đầu ra. Giá trị các bit của thanh
ghi PxOUT sẽ cấu hình điện áp các chân tƣơng ứng:
Bit =0 đầu ra ở mức thấp.
Bit = 1 đầu ra ở mức cao.
Nếu cho phép điện trở kéo, giá trị của bit tƣơng ứng với điện trở đƣợc lựa chọn:
Bit = 0 khi điện trở kéo xuống.
Bit = 1 khi điện trở kéo lên.

3.2.3 T

ớng PxDIR

Các chân của mỗi port đƣợc định hƣớng làm đầu ra hoặc đầu vào phụ thuộc vào giá trị
các bit của thanh ghi PxDIR:
Nếu bit = 0 chân đƣợc định hƣớng làm đầu vào.
Nếu bit = 1 chân đƣợc định hƣớng làm đầu ra.

3.2.4 Thanh ghi cho phép điện trở kéo PXREN
Mối bit của thanh ghi PxREN cho phép hoặc không cho phép điện trở kéo:
Bit = 1 điện trở kéo lên.
Bit = 0 điện trở kéo xuống.

p

Trang | 14

Xây dựng các module bài giảng MSP430

3.2.5 Thanh ghi lựa chọn chức năng PxSEL và PxSEL2
Các chân của mỗi port đều có nhiều chức năng tƣơng ứng với các module ngoại vi khác
nhau. Mỗi bit của thanh ghi PxSEL và PxSEL2 đƣợc sử dụng để lựa chọn chức năng là các
port xuất nhập hoặc chức năng đặc biệt.
PxSEL2
PXSEL
Chức năng của chân
0
0
Chức năng xuất nhập
0
1
Module đầu tiên đƣợc lựa chọn
1
0
Bit đặt (dự phòng)
1
1
Module ngoại vi thứ 2 đƣợc lựa chọn
2

Chú ý: Khi PxSEL =1 các ngắt của P1, P2 bị cấm. Khi bất kỳ bit nào của thanh ghi
P1SELx hoặc P2SELx đƣợc set, các ngắt tƣơng ứng với các chân này sẽ bị cấm.

3.3 CÁC NGẮT PORT1 VÀ PORT2
Mỗi chân của port P1 và P2 đều có khả năng ngắt. Các ngắt đƣợc cấu hình bởi các thanh
ghi PxIFG, PxIE và PxIES. Mỗi chân của port P1, P2 đều có một vector ngắt riêng. Có thể
sử dụng thanh ghi PxIFG để xác định nguyên nhân các ngắt port P1 và P2.

3.3.1 Thanh ghi cờ ngắt P1IFG và P2IFG
Mỗi bit của thanh ghi PxIFGx là một cờ ngắt tƣơng ứng với chân xuất/ nhập và khi có
cạnh xung tín hiệu tại các chân. Tất cả các cờ ngắt của thanh ghi PxIFGx đƣợc tích cực khi
xuất hiện một ngắt tƣơng ứng với các bit PxIE và GIE đƣợc set. Mỗi cờ ngắt đòi hỏi phải
reset bằng phần mềm. Phần mềm cũng có thể set cờ ngắt để phát sinh ngắt:
Bit =0 Không có ngắt nào đang chờ.
Bit =1 Có 1 ngắt đang chờ đƣợc phục vụ.

Chú ý : Khi thay đổi thanh ghi PxOUT và PxDIP (P1 và P2) có thể làm cờ ngắt tƣơng
ứng PxIFG đƣợc set.

3.3.2 Thanh ghi lựa chọn ngắt theo sƣờn xung P1IES, P2IES
Mỗi bit của thanh ghi PxIES lựa chọn ngắt theo cạnh lên hay cạnh xuống tƣơng ứng với
mỗi chân xuất/ nhập:
Bit = 0 Cờ ngắt đƣợc set khi có cạnh lên của xung.
Bit = 1 Cờ ngắt đƣợc set khi có cạnh xuống của xung.

3.3.3 Thanh ghi cho phép ngắt P1IE và P2IE
Mỗi bit PxIE cho phép hay cấm ngắt và liên quan đến cờ ngắt tƣơng ứng:
Bit = 0: Cấm ngắt.
Bit = 1: Cho phép ngắt.

p

Trang | 15

Xây dựng các module bài giảng MSP430

Module 4
Hoạt động Reset và các chế độ
4.1 Hoạt động Reset và khởi động:
Hệ thống mạch reset bao gồm 2 hệ thống là POR (Power On Reset) và PUC
(Power Up Clear).

: Sơ đồ hệ thống Reset của MSP430
POR chỉ đƣợc sinh ra bởi 3 sự kiện sau:
- Cấp nguồn cho thiết bị.
- Tín hiệu ở chân
ở mức thấp khi thiết lập cấu hình cho hệ thống Reset
- Bộ giám sát điện áp cung cấp SVS ở mức thấp khi POR ON = 1.
PUC thì luôn sinh ra khi POR đƣợc sinh ra, nhƣng không xảy ra ngƣợc lại. Những sự
kiện sau đây sẽ khởi động PUC:
- Khi POR đƣợc sinh ra.
- Watchdog timer hết hiệu lực khi trong chế độ watchdog.
- Khi chốt an toàn của Watchdog timer, Flash memory bị vi phạm.

4.1.1 Power On Reset (POR)
POR đƣợc sinh ra bởi các điều kiện liên quan đến phần cứng:
Thiết bị đƣợc cấp nguồn. POR đƣợc sinh ra nếu điện áp cung cấp giảm xuống dƣới
giá trị mà tại đó thiết bị không còn làm việc chính xác nữa, còn gọi là sự sụt áp.

p

Trang | 16

Xây dựng các module bài giảng MSP430
Khi chân
mức thấp nếu nó đƣợc thiết lập chức năng Reset chứ không phải
là ngắt không có che(NMI). Mặc định thì chức năng của chân này là Reset.
Ở những phƣơng án lớn hơn có bộ giám sát điện áp cung cấp SVS. Ở đây ta có thể
thiết lập cấu hình, không giống nhƣ bộ dò sụt áp. Nó đặt cờ SVSFG nếu điện áp sụt
dƣới mức đƣợc lập trình và có thể Reset một cách tùy chọn.

4.1.2 Power Up Clear (PUC)
PUC thì luôn sinh ra khi POR đƣợc sinh ra, nhƣng không xảy ra ngƣợc lại. Những sự
kiện sau đây sẽ khởi động PUC:
Watchdog timer bị tràn trong chế độ giám sát.
Một sự cố gắn ghi vào thanh ghi điều khiển giám sát WDTCTL mà không đúng từ
khóa 0x5A trong Byte cao.
Một Reset đƣợc khởi động nếu watchdog không cho phép hoặc ở chế độ định thời
khoảng.
PUC còn đƣợc sinh ra bởi một sự truy cập địa chỉ dự trữ của những thanh ghi ngoại
vi hoặc đọc bộ nhớ không đƣợc thực thi.

4.1.3 C
Những điều kiện ban đầu cho những thanh ghi và những ngoại vi sau khi Reset POR và
PUC đƣợc giới thiệu tổng quát nhƣ sau:
Chân
đƣợc thiết lập cho Reset, nó cũng có thể đƣợc sử dụng cho kết nối
JTAG ở một vài loại nhƣ F2013.
Phần lớn các chân I/O đƣợc thiết lập nhƣ là ngõ vào tín hiệu số. Cũng có một vài
ngoại lệ là những chân này có thể sử dụng với bộ dao động thạch anh nhƣ ở F2013.
Thanh ghi trạng thái đƣợc Clear. Điều này có nghĩa là IC sẽ hoạt động hết công suất,
mặc dù nó có thể có một chế độ nguồn thấp trƣớc khi đƣợc Reset trở lại.
Watchdog timer bắt đầu ở chế độ giám sát. Đây là một điều cốt yếu vì bởi vì nó là
một đặc tính an toàn, nhƣng có nghĩa là bạn phải vận hành nó hoặc cho phép nó trƣớc
khi nó hết thời gian chờ và Reset lại Chip.
Bộ đếm chƣơng trình đƣợc nạp bởi một vector Reset đƣợc lƣu ở địa chỉ 0xFFFE. Nó
sẽ cung cấp địa chỉ của lệnh đầu tiên đƣợc thực thi.
Họ MSP430 đƣợc thiết kế cho những ứng dụng sử dụng nguồn thấp và sử dụng ở nhiều
chế độ hoạt động khác nhau. Các chế độ hoạt động khác nhau ở 3 đặc điểm chính:
Mức độ sử dụng nguồn thấp.
Tốc độ và lƣu lƣợng dữ liệu.
Mức độ làm nhỏ đi lƣợng tiêu thụ điện của các thiết bị ngoại vi.
Chế độ nguồn thấp LPM0 đến LPM4 đƣợc thiết lập với các Bit SCG0, SCG1,
OSCOFF, CPUOFF trong thanh ghi trạng thái. Ƣu điểm của các Bit điều khiển SCG0,
SCG1, OSCOFF và CPUOFF trong thanh ghi trạng thái là chế độ hoạt động hiện tại sẽ đƣợc
lƣu trong Stack trong suốt quá trình ngắt diễn ra. Chƣơng trình sẽ quay về chế độ hoạt động
trƣớc đó nếu giá trị đƣợc lƣu trong thanh ghi trạng thái không bị thay đổi trong suốt quá
trình ngắt. Chƣơng trình có thể quay về một chế độ hoạt động khác nếu có sự thay đổi giá trị
đƣợc lƣu bên trong Stack trong suốt quá trình ngắt diễn ra. Các Bít điều khiển và Stack có
thể đƣợc truy cập bởi bất kì lệnh nào. Các chế độ hoạt động của họ MSP430 đƣợc trình bày
ở bảng dƣới

p

Trang | 17