Tải bản đầy đủ (.doc) (160 trang)

Tổng quan về MPS 430

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.38 MB, 160 trang )

I. Tổng quan về MSP430:
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 hình, 3 thanh ghi so sánh độ rộng 16
bit
• Timer_B 16 bit với 3 thanh ghi hình, 3 thanh ghi 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
MSP 430x22x4).
• Bảo vệ sụt áp.
• Bộ nạp chương trình.
• Module mô phỏng trên chip.
• Các thành viên của dòng MSP 430 bao gồm:
- MSP430F2232: 8KB + 256B Flash Memory 512B RAM.
- MSP430F2252: 16KB + 256B Flash Memory 512B RAM.
- MSP430F2272: 32KB + 256B Flash Memory 1KB RAM.
- MSP430F2234: 8KB + 256B Flash Memory 512B RAM.
- MSP430F2254: 16KB + 256B Flash Memory 512B RAM.
- MSP430F2274: 32KB + 256B Flash Memory 1KB RAM.
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.
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ỏ (< 6us). Và có tích hợp 96 kiểu hình cho hiển
thị LCD. 16 bit thanh ghi, 16 bit RISC CPU.
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.
Kiểu chân thiết kế:
TA

PACKAGED DEVICES
PLASTIC 38-PIN
TSSOP
(DA)
PLASTIC40-PINQFN
(RHA)
4 0°C to 85°C
MSP430F2232IDA
MSP430F2252IDA
MSP430F2272IDA
MSP430F2234IDA
MSP430F2254IDA
MSP430F2274IDA
MSP430F2232IRHA
MSP430F2252IRHA
MSP430F2272IRHA
MSP430F2234IRHA
MSP430F2254IRHA
MSP430F2274IRHA
4 0°C to
105°C
MSP430F2232TDAw
MSP430F2252TDAw
MSP430F2272TDAw
MSP430F2234TDA
MSP430F2254TDA
MSP430F2274TDA
MSP430F2232TRHAw
MSP430F2252TRHAw
MSP430F2272TRHAw

MSP430F2234TRHA
MSP430F2254TRHA
MSP430F2274TRHA
Bảng 1: Kiểu thiết kế MSP430
Sơ đồ chân của các loại MSP 430:
Hình 1: Các kiểu chân của MSP430.
II. MSP430F2274:
Sơ đồ khối của vi điều khiển MSP 430F2274:
Hình 2: Sơ đồ khối của MSP 430F2274
Cấu trúc chung của MSP430:
Hình 3: Cấu trúc chung của MSP430
Tìm hiểu về CPU của MSP430F2274:
CPU có kiến trúc RISC (Reduced Intruction Set Computer) là một kiến
trúc vi xử lý theo hướng đơn giản hóa tập lệnh. Các lệnh được xây dựng để có
thể thực hiện với chỉ 1 chu kỳ máy. Mặt khác bus dữ liệu và bus địa chỉ (có độ
rộng 16 bít) tách dời nhau điều này giúp cho quá trình đọc dữ liệu và mã lệnh có
thể diễn ra đồng thời do đó nâng cao hiệu suất làm việc của vi xử lý.
CPU gồm 16 thanh ghi 16 bit. R0-15 có các chức năng đặc biệt. Các thanh
ghi còn lại được sử dụng với mục đích chung. CPU có sơ đồ khối như sau:

Hình 4: kiến
trúc RISC của CPU
Các chế độ định địa chỉ:
MSP 430 có 7 chế độ định địa chỉ:
+ Chế độ thanh ghi.
+ Chế độ chỉ số.
+ Chế độ định địa chỉ ký hiệu.
+ Chê độ định địa chỉ tuyệt đối.
+ Chế độ định địa chỉ thanh ghi gián tiếp.
+ Chế độ định địa chỉ tăng tự động.

+ Chê độ định địa chỉ tức thời.
Vùng địa chỉ:
Vùng nhớ có thể định địa chỉ có dung lượng là 128 KB.
Hình 5: Sơ đồ vùng nhớ chương trình và dữ liệu
a. Bộ nhớ chương trình và dữ liệu Flash/ ROM: Địa chỉ bắt đầu của bộ
nhớ chương trình và dữ liệu Flash/ ROM phụ thuộc vào dung lượng hiện
thời và sự thay đổi của thiết bị, địa chỉ kết thúc là 0x1FFFF.
b. RAM: Vùng nhớ RAM bắt đầu từ địa chỉ 0200h, địa chỉ kết thúc phụ
thuộc vào dung lượng hiện thời và sự thay đổi của thiết bị. RAM có thể sử
dụng cho cả hai mã và dữ liệu
c. Các module ngoại vi: Vùng địa chỉ từ 0100h – 01FFh là vùng địa chỉ của
các module ngoại vi 16 bít. Vùng địa chỉ từ 010h – 01Fh được đăng ký
cho các module ngoại vi 8 bít.
d. Vùng địa chỉ của các thanh ghi đặc biệt (SFRs): Một vài thiết bị ngoại
vi được hỗ trở bởi các thanh ghi có chức năng đặc biệt, được định địa chỉ
byte và bao gồm 16 byte thấp của vùng địa chỉ.
Tổ chức bộ nhớ:

Hình 6: 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 Bank, tại một thời điểm chỉ có một Bank được truy xuất.
Chức năng các chân:

Bảng 2: Bảng chức năng các chân.
• Chân P1.0/TACLK/ADC10CLK (29):
 Chân xuất / nhập số.

 Ngõ vào xung clock TACLK của Timer A.
 Bộ chuyển đổi xung của ADC10
• Chân P1.1/TA0 (30):
 Chân xuất / nhập số.
 Timer_A: Ngõ vào CCI0A chế độ capture, ngõ ra OUT0 chế độ so
sánh.
• Chân P1.1/TA0 (31):
 Chân xuất / nhập số.
 Timer_A: Ngõ vào CCI1A chế độ capture, ngõ ra OUT1 chế độ so
sánh.
• Chân P1.3/TA0 (32):
 Chân xuất / nhập số.
 Timer_A: Ngõ vào CCI2A chế độ capture, ngõ ra OUT2 chế độ so
sánh.
• Chân P1.4/SMCLK/TCK (33):
 Chân xuất / nhập số.
 Ngõ ra SMCLK (Sub-Main clock) của khối tạo dao động nội.
 Ngõ vào kiểm tra xung clock TCK .
• Chân P1.5/TA0/TMS (34):
 Chân xuất / nhập số
 Ngõ ra OUT0 củaTimer_A chế độ so sánh.
 TSM: Ngõ vào lựa chọn chế độ kiểm tra.
• Chân P1.6/TA1/TDI/TCLK (35):
 Chân xuất / nhập số
 TA1: ngõ ra OUT1của Timer A ở chế độ so sánh.
 TDI: Ngõ vào kiểm tra dữ liệu.
 TCLK: Ngõ vào kiểm tra xung clock.
• Chân P1.7/TA2/TDO/TDI (36):
 Chân xuất / nhập số
 TA2: ngõ ra OUT2 của Timer A ở chế độ so sánh:.

 TDI: Ngõ vào kiểm tra dữ liệu.
 TDO: Ngõ ra kiểm tra dữ liệu.
• Chân P2.0/ACLK/OA0I0 (6):
 Chân xuất / nhập số.
 Ngõ ra xung clock ACLK.
 Ngõ vào tương tự A0 của kênh ADC10.
• Chân P2.1/TAINCLK/SMCLK/A1/OA0O (7):
 Chân xuất / nhập số.
 Timer_A.
 Kênh ADC10: Ngõ vào kênh tương tự A1, ngõ ra kênh tương tự
OA0.
 Xung clock INCLK của Timer_A
 Xung clock chủ SMCLK
• Chân P2.2/TAINCLK/SMCLK/A1/OA0O (8):
 Chân xuất / nhập số.
 Ngõ vào tương tự A1 kênh ADC10
 Ngõ vào CCI0B của Timer_A chế độ capture.
 Ngõ ra OUT0 của kênh ADC10 chế độ so sánh.
 Ngõ vào tương tự A2
• Chân P2.3/TA1/A3/V
REF-
/V
eREF-
/OA1I1/OA1O (27):
 Chân xuất / nhập số.
 Ngõ vào CCI1 của Timer_A.
 Ngõ ra OUT1 kênh ADC10 chế độ so sánh
 Ngõ vào tương tự A3 của kênh ADC10.
 Điện áp tham chiếu âm V
REF-

/ V
eREF-
• Chân P2.4/TA2/A4/V
REF+
/V
eREF+
/OA1I0 (28):
 Chân xuất / nhập số.
 Ngõ vào tương tự A4 của kênh ADC10
 Ngõ ra OUT2 của Timer_A chế độ so sánh.
 Điện áp tham chiếu dương V
REF+
/ V
eREF+
• Chân P2.5/R
OSC
(40):
 Chân xuất / nhập số.
 Ngõ vào điện trở ngoài để định nghĩa tần số DCO.
• Chân XIN/ P2.6 (3):
 Ngõ vào kết nối với dao động thạch anh.
 Chân xuất/ nhập số.
• Chân XUOT/P2.7 (2):
 Ngõ vào kết nối với dao động thạch anh.
 Chân xuất/nhập số.
• Chân P3.0/UCB0STE/UC0CLK/A5 (9):
 Chân xuất / nhập số.
 Chân cho phép truyền dữ liệu USCI_B0 khi hoạt động ở chế độ tớ.
 Ngõ vào tương tự A5 của kênh ADC10
• Chân P3.1/UCB0SIMO/UCB0SDA (10):

 Chân xuất / nhập số.
 Ngõ vào USCI_B0 khi hoạt động ở chế độ slave, ngõ ra khi hoạt
động ở chế độ master trong chế độ SPI.
 Chân dữ liệu SDA I
2
C trong chế độ I
2
C.
• Chân P3.2/UCB01SOMI/UCB0SCL (11):
 Chân xuất / nhập số.
 Ngõ ra USCI_B0 khi hoạt động ở chế độ tớ, ngõ vào khi hoạt động
ở chế độ chủ trong chế độ SPI.
 Xung clock SCL I
2
C trong chế độ I
2
C.
• Chân P3.3/UCB0CLK/UCA0STE (12):
 Chân xuất / nhập số.
 Xung clock USCI_B0
 Cho phép truyền dữ liệu USCI_A0 trong chế độ tớ.
• Chân P3.4/UCA0TXD/UCA0SIMO (23):
 Chân xuất / nhập số.
 Chân truyền dữ liệu nối tiếp USCI_A0 trong chế độ UART.
 Ngõ vào chế độ tớ, ngõ ra chế độ chủ trong chế độ SPI.
• Chân P3.5 UCA0RXD/UCA0SOMI (24):
 Chân xuất / nhập số.
 Ngõ vào nhận dữ liệu USCI_A0 trong chế độ UART.
 Ngõ ra chế độ tớ/ ngõ vào chế độ chủ trong chế độ SPI.
• Chân P3.6 / A6/OA0I2 (25):

 Chân xuất / nhập số.
 Ngõ vào tương tự A6 của kênh chuyển đổi ADC10.
 Ngõ vào tương tự OA0I2 của kênh OA0.
• Chân P3.7 / A7/OA1I2 (26):
 Chân xuất / nhập số.
 Ngõ vào tương tự A7 của kênh chuyển đổi ADC10.
 Ngõ vào tương tự OA1I2 của kênh OA1.
• Chân P4.0/TB0 (15):
 Chân xuất / nhập số.
 Ngõ vào CCI0A của Timer_B chế độ capture, ngõ ra OUT0 chế độ
so sánh.
• Chân P4.1/TB1 (16):
 Chân xuất / nhập số.
 Ngõ vào CCI1A của Timer_B chế độ capture. Ngõ ra OUT1 chế
độ so sánh.
• Chân P4.2/TB2 (17):
 Chân xuất / nhập số.
 Ngõ vào CCI2A của Timer_B chế độ capture. Ngõ ra OUT2 chế
độ so sánh.
• Chân P4.3/TB0/A12/OA0O (18):
 Chân xuất / nhập số.
 Ngõ vào CCI0B của Timer_B chế độ capture. Ngõ ra OUT0 chế độ
so sánh.
 Ngõ vào tương tự A12 của kênh chuyển đổi ADC10.
• Chân P4.4/TB1/A13/OA1O (19):
 Chân xuất / nhập số.
 Timer_B: Ngõ vào CCI1B chế độ capture. Ngõ ra OUT1 chế độ so
sánh.
 Ngõ vào tương tự A13 của kênh chuyển đổi ADC10.
• Chân P4.5/TB2/A14/OA0I3 (20):

 Chân xuất / nhập số.
 Timer_B: Ngõ ra OUT0 chế độ so sánh.
 Ngõ vào tương tự A14 của kênh chuyển đổi ADC10.
• Chân P4.6/TBOUTH/A15/OA1I3 (21):
 Chân xuất / nhập số.
 Timer_B.
 Ngõ vào tương tự A15 của kênh chuyển đổi ADC10.
• Chân P4.7/TBCLK (22):
 Chân xuất / nhập số.
 Ngõ vào nhận xung TBCLK của timer_B.
• Chân RST/NMI/SBWTDIO (5):
 Chân Reset tác động ở mức thấp hoặc cấm ngắt.
• Chân TEST/SBWTCK (37):
• Chân DV
CC
(38,39), AV
CC
(14): Chân cấp nguồn V
CC
• Chân DV
SS
(1,4), AV
SS
(13): Chân cấp mass
• Chân P1.0/TACLK/ADC10/CLK (29):
 Chân xuất / nhập số.
 TACLK: Ngõ vào nhận xung clock cho Timer A.
 ADC10: Ngõ vào tương tự A10.
 CLK: Ngõ vào bộ chuyển đổi xung clock từ nguồn xung ngoài.
• Chân P1.1/TA0 (30):

 Chân xuất / nhập số.
 Timer_A, lưu trữ: Ngõ vào CCI0A, so sánh: Ngõ ra OUT0.
• Chân P1.1/TA0 (31):
 Chân xuất / nhập số.
 Timer_A, lưu trữ: Ngõ vào CCI1A, so sánh: Ngõ ra OUT1.
• Chân P1.3/TA0 (32):
 Chân xuất / nhập số.
 Timer_A, lưu trữ: Ngõ vào CCI2A, so sánh: Ngõ ra OUT2.
• Chân P1.4/SMCLK/TCK (33):
 Chân xuất / nhập số.
 SMCLK (Sub-Main clock): Ngõ ra của khối tạo dao động nội,
cung cấp cho các module ngoại vi.
 TCK: Ngõ vào kiểm tra xung clock cho việc lập trình.
• Chân P1.5/TA0/TMS (34):
 Chân xuất / nhập số
 TA0: Timer_A chế độ so sánh, ngõ ra OUT0.
 TSM: Ngõ vào lựa chọn chế độ kiển tra.
• Chân P1.6/TA1/TDI/TCLK (35):
 Chân xuất / nhập số
 TA1: Timer A,chế độ so sánh: ngõ ra OUT1.
 TDI: Ngõ vào kiểm tra dữ liệu.
 TCLK: Ngõ vào kiểm tra xung clock.
• Chân P1.7/TA2/TDO/TDI (36):
 Chân xuất / nhập số
 TA2: Timer A,chế độ so sánh: ngõ ra OUT2.
 TDI: Ngõ vào kiểm tra dữ liệu.
 TDO: Ngõ ra kiểm tra xung clock.
• Chân P2.0/ACLK/OA0I0 (6):
 Chân xuất / nhập số.
 Ngõ ra hệ thống xung clock ACLK, ADC10.

 Ngõ vào kênh tương tự A0/OA0.
 Ngõ vào kênh tương tự I0.
• Chân P2.1/TAINCLK/SMCLK/A1/OA0O (7):
 Chân xuất / nhập số.
 Timer_A.
 Kênh ADC10: Ngõ vào kênh tương tự A1, ngõ ra kênh tương tự
OA0.
• Chân P2.2/TAINCLK/SMCLK/A1/OA0O (8):
 Chân xuất / nhập số.
 Timer_A.
 Lưu trữ ngõ vào CCI0B, nhận BLS.
 Ngõ ra OUT0 của kênh ADC10 chế độ so sánh.
 Ngõ vào kênh tương tự A2/OA0.
 Ngõ vào kênh tương tự I1.
• Chân P2.3/TA1/A3/V
REF-
/V
eREF-
/OA1I1/OA1O (27):
 Chân xuất / nhập số.
 Timer_A.
 Ngõ vào CCI1 chế độ lưu trữ.
 Chế độ so sánh: ngõ ra OUT1 kênh ADC10.
 Ngõ vào kênh tương tự A3.
 Ngõ vào điện áp tham chiếu âm.
• Chân P2.4/TA2/A4/V
REF+
/V
eREF+
/OA1I0 (28):

 Chân xuất / nhập số.
 Điện áp tham chiếu dương .
• Chân P2.5/R
OSC
(40):
 Chân xuất / nhập số.
 Ngõ vào điện trở ngoài để định nghĩa tần số DCO.
• Chân XIN/ P2.6 (3):
 Ngõ vào kết nối với dao động thạch anh.
 Chân xuất/ nhập số.
• Chân XUOT/P2.7 (2):
 Ngõ vào kết nối với dao động thạch anh.
 Chân xuất/nhập số.
• Chân P3.0/UCB0STE/UC0CLK/A5 (9):
 Chân xuất / nhập số.
 Chân cho phép truyền dữ liệu khi ở chế độ USCI_B0.
 Ngõ vào nhận xung của USCI_A0.
 Ngõ ra kênh ADC10.
 Ngõ vào kênh tương tự A5.
• Chân P3.1/UCB0SIMO/UCB0SDA (10):
 Chân xuất / nhập số.
 Ngõ vào chế độ tớ USCI_B0.
 Ngõ vào chế độ chủ trong chế độ SPI.
 Dữ liệu SDA I
2
C trong chế độ I
2
C.
• Chân P3.2/UCB01SOMI/UCB0SCL (11):
 Chân xuất / nhập số.

 Ngõ ra chế độ tớ USCI_B0.
 Ngõ vào chế độ chủ trong chế độ SPI.
 Xung clock SCL I
2
C trong chế độ I
2
C.
• Chân P3.3/UCB0CLK/UCA0STE (12):
 Chân xuất / nhập số.
 Cho phép truyền dữ liệu trong chế độ tớ USCI_A0.
• Chân P3.4/UCA0TXD/UCA0SIMO (23):
 Chân xuất / nhập số.
 Chân truyền dữ liệu nối tiếp USCI_A0 trong chế độ UART.
 Ngõ vào chế độ tớ, ngõ ra chế độ chủ trong chế độ SPI.
• Chân P3.5 UCA0RXD/UCA0SOMI (24):
 Chân xuất / nhập số.
 Ngõ vào nhận dữ liệu USCI_A0 trong chế độ UART.
 Ngõ ra chế độ tớ/ ngõ vào chế độ chủ trong chế độ SPI.
• Chân P3.6 / A6/OA0I2 (25):
 Chân xuất / nhập số.
 Ngõ vào tương tự A6 của kênh chuyển đổi ADC10.
 Ngõ vào tương tự I2 của kênh OA0.
• Chân P3.7 / A7/OA1I2 (26):
 Chân xuất / nhập số.
 Ngõ vào tương tự A7 của kênh chuyển đổi ADC10.
 Ngõ vào tương tự I2 của kênh OA1.
• Chân P4.0/TB0 (15):
 Chân xuất / nhập số.
 Timer_B, chế độ lưu trữ: Ngõ vào CCI0A, chế độ so sánh: Ngõ ra
OUT0.

• Chân P4.1/TB1 (16):
 Chân xuất / nhập số.
 Timer_B, chế độ lưu trữ: Ngõ vào CCI1A, chế độ so sánh: Ngõ ra
OUT1.
• Chân P4.2/TB2 (17):
 Chân xuất / nhập số.
 Timer_B, chế độ lưu trữ: Ngõ vào CCI2A, chế độ so sánh: Ngõ ra
OUT2.
• Chân P4.3/TB0/A12/OA0O (18):
 Chân xuất / nhập số.
 Timer_B, chế độ lưu trữ: Ngõ vào CCI0B, chế độ so sánh: Ngõ ra
OUT0.
 Ngõ vào tương tự A12 của kênh chuyển đổi ADC10, ngõ ra tương
tự OA0.
• Chân P4.4/TB1/A13/OA1O (19):
 Chân xuất / nhập số.
 Timer_B, chế độ lưu trữ: Ngõ vào CCI1B, chế độ so sánh: Ngõ ra
OUT1.
 Ngõ vào tương tự A13 của kênh chuyển đổi ADC10, ngõ ra tương
tự OA1.
• Chân P4.5/TB2/A14/OA0I3 (20):
 Chân xuất / nhập số.
 Timer_B, chế độ so sánh: Ngõ ra OUT0.
 Ngõ vào tương tự A14 của kênh chuyển đổi ADC10, ngõ vào
tương tự I3 củaOA0.
• Chân P4.6/TBOUTH/A15/OA1I3 (21):
 Chân xuất / nhập số.
 Timer_B.
 Ngõ vào tương tự A15 của kênh chuyển đổi ADC10, ngõ vào
tương tự OA0.

• Chân P4.7/TBCLK (22):
 Chân xuất / nhập số.
 Ngõ vào nhận xung TBCLK của timer_B.
• Chân RST/NMI/SBWTDIO (5):
 Chân Reset tác động ở mức thấp hoặc cấm ngắt.
• Chân TEST/SBWTCK (37):
• Chân DV
CC
(38,39), AV
CC
(14): Chân cấp nguồn V
CC
• Chân DV
SS
(1,4), AV
SS
(13): Chân cấp mass
Cấu trúc các thanh ghi:
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, constant Generator. Các
thanh ghi còn lại là những thanh ghi sử dụng mục đích chung.
Các thiết bị ngoại vi được kết nối tới CPU sử dụng dữ liệu, địa chỉ, bus điều
khiển.
Hình 8: Cấu trúc thanh ghi
Các thanh ghi có chức năng đặc biệt:
Tất cả các ngắt và module cho phép truy xuất BIT đều được tập trung ở vùng
địa chỉ thấp nhất. Các bít của các thanh ghi chức năng đặc biệt không được cho
phép tới một mục đích chức năng vật lý của thiết bị. Phần mềm đơn giản được
cung cấp với sắp xếp này.
Thanh ghi cho phép ngắt 1 và 2:

Trong đó:
- WDTIE Cho phép ngắt Whatchdog Timer: Không hoạt động:\ nếu
chế độ whatchdog được lựa chọn. Hoạt động nếu chế độ timer được
lựa chọn.
- OFIE : Cho phép dừng bộ phát xung.
- NMIIE : Cấm không cho phép ngắt được.
Cấu trúc xuất nhập:
Chíp MSP 430F2274 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.
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:
+ Chức năng đặc biệt của các chân không phụ thuộc vào việc
lập trình.
+ 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.
+ Không phụ thuộc thanh ghi output hay input.
+ Cấu hình có điện trở kéo.
Hoạt động xuất nhập:
Hoạt động xuất nhập dữ liệu được lập trình bằng phần mềm.
Thanh ghi Input PxIN:
Khi được lựa chọn làm đầu vào. Giá trị mỗi bít của thanh ghi tương ứng với
tín hiệu.
Bit = 0 đầu vào ở mức thấp.
Bit = 1 tín hiệu ở mức cao.
Thanh ghi đầu ra PxOUT:
Khi không sử dụng điện trở kéo, và được định hướng làm đầu gia. Giá trị các
bít của thanh ghi 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 bít tương ứng với điện trở được lựa
chọn:
Bit = 0 khi điện trở kéo xuống.
Bít = 1 khi điện trở kéo lên.
Thanh ghi định hướ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ục thuộc
vào giá trị các bít 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.
Thanh ghi cho phép điện trở kéo:
Mối bít 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.
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 bít 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 Đăng ký trước
1 1 Module ngoại vi thứ 2 được lựa chọn
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.
Các ngắt P1 và P2:
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. Tất cả các chân của port P1 một

nguyên nhân tương ứng với một vector ngắt. Tất cả các chân của port 2 có nhiều
hơn một nguyên nhân khác nhau tương ứng với 1 vector. Có thể sử dụng thanh
ghi PxIFG để xác định nguyên nhân các ngắt port P1 và P2.
a) 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 đòi hỏi 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:
+ 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 có nghĩa là bạn đang
set cờ ngắt tương ứng.
b) 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.
c) Thanh ghi cho phép ngắt P1IE và P2IE:
- Mỗi bít 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.
Địa chỉ các thanh ghi xuất/nhập số:
MSP 430 được cấu hình để làm việc với BYTE, điều này sẽ gây khó khăn
cho người lập quen làm việc với BIT. Để có thể làm việc với BIT ta phải định
nghĩa lại địa chỉ của thanh ghi điều khiển PORT.

Bảng 3: Địa chỉ thanh ghi xuất nhập
Bộ định thời:

MSP 340 có hai bộ định thời 16 Bit là Timer_A và Timer_B nó cũng đồng
thời đóng vai trò là bộ đếm.
Timer_A:
Đặc tính của Timer_A:
Là một bộ Timer/Counter 16 bit. Với ba thanh ghi lưu trữ và 3 thanh ghi so
sánh. Là một Timer đa chức năng. Đếm thời gian, so sánh, PWM . Timer_A
cũng có khả năng ngắt khi counter đếm tràn hoặc mỗi thanh ghi đếm tràn. Các
đặc tính chính của Timer_A bao gồm:
+ Là một Timer/counter 16 Bit không đồng bộ với 4 chế độ hoạt động.
+ Có thể lựa chọn và cấu hình nguồn xung
+ Hai tới 3 thanh ghi có thể cấu hình capture/compare
+ Cấu hình đầu ra với chế độ PWM
+ Chốt ngõ vào và ngõ ra không đồng bộ
Hình 9: Sơ đồ khối của Timer_A
Timer hoạt động ở chế độ Counter 16 Bit:
Ở chế độ Counter giá trị thanh ghi TAR tăng hoặc giảm theo cạnh lên của
xung clock (tùy thuộc vào chế độ hoạt động). Giá trị của thanh ghi TAR có thể
được ghi hoặc đọc bởi phần mềm. Nó có khả năng tạo ra một ngắt khi đếm tràn.
Thanh ghi TAR có thể bị xóa khi set bit TACLR. Việc set bit TACLR đồng
thời cũng xóa giá trị lựa chọn cho bộ chia xung hoặc chế độ đếm lên hay đếm
xuống.
Lựa chọn nguồn xung và bộ chia xung:
Timer có thể lựa chọn nguồn từ xung từ ACLK, SMCLK hoặc sử dụng nguồn
xung ngoài thông qua TACLK hoặc INCLK. Nguồn xung được lựa chọn nhờ bít
TASSELx. Các nguồn xung được chọn có thể đã được chia 2, 4 hoặc 8. Bộ chia
xung được reset khi set bit TACLR.
Kích hoạt Timer:
Timer có thể được kích hoạt hoặc kích hoạt lại bằng các cách sau đây:
+ Timer đếm khi MCx > 0 và nguồn xung đã được kích hoạt.
+ Khi timer đang hoạt động ở chế độ đếm lên hoặc đếm xuống. Có thể

dừng timer bằng cách ghi TACCR0 = 0. Timer sẽ kích hoạt trở lại khi giá trị
ghi vào TACCR0 khác 0. Giá trị đếm lên sẽ bắt đầu từ 0.
Các chế độ hoạt động của Timer:
Timer hoạt động ở 4 chế độ: Chế độ dừng, chế độ đếm lên, chế độ tiếp tục,
chế độ đếm lên/xuống. Các chế độ này được lựa chọn bằng bit MCx.
MCx Mode Hoạt động
00 Stop Timer được tạm dừng
01 Up Timer đếm từ 0 tới giá trị đỉnh của TACCR0
10 Continuous Timer đếm từ 0 tới 0FFFFh
11 Up/down Timer đếm từ 0 đến giá trị đỉnh của TACCR0
rồi đếm về 0
Các ngắt của Timer_A:
Có hai ngắt được tạo ra do Timer_A:
+ Vector ngắt TACCR0 cho TRCCR0 CCIFG.
+ Vector ngắt TAIV cho tất cả các cờ ngắt CCIFG khác và TAIFG.
Trong chế độ lưu trữ CCIFG được set khi giá trị của timer được lưu trữ do
thanh ghi TACCRx. Trong chế độ so sánh bất kỳ cờ CCIFG được set nếu TAR
đếm tới giá trị TACCRx. Có thể sử dụng phần mềm để set hoặc xóa bất kỳ cờ
ngắt CCIFG nào. Tất cả các cờ ngắt CCIFG yêu cầu một ngắt khi bit CCIE và
GIE được set.
Ngắt TACCR0 CCIFG là ngắt của Timer_A có mức ưu tiên cao nhất. Cờ
ngắt TACCR0 CCIFG tự động reset khi ngắt TACCR0 được phục vụ.
Hình 10: Cờ ngắt chế độ trong chế độ so sánh và lưu trữ
Thanh ghi điều khiển Timer_A:
Bảng 4: Bảng liệt kê các thanh ghi điều khiển Timer_A
Thanh ghi điều khiển TACTL:
+ Bit 15-10: Không sử dụng.
+ TASSELx Bit 9-8: Lựa chọn nguồn xung clock:
00 TACLK
01 ACLK

10 SMCLK
11 INCLK
+ Idx Bit 7-6: Lựa chọn bộ chia trước:
00 /1
01 /2
10 /4
11 /8
+ MCx Bit 5-4: Lựa chọn chế độ hoạt động:
0 Dừng chế độ
1 Chế độ lên
10 Tiếp tục chế độ
11 Chế độ lên/xuống
+ TACLR Bit 2: Xóa Timer_A. Khi bit này được set, giá trị đếm, giá trị bộ
chia trước đều được reset.
+ TAIE Bit 1: Cho phép ngắt. Khi bit =1 cho phép ngắt, bit = 0 cấm ngắt.
+ TAIFG Bit 0: Cờ ngắt của Timer_A:
Bit = 0 Không có ngắt nào đang chờ
Bit = 1 Có ngắt đang chờ phục vụ
Các thanh ghi còn lại các bạn có thể tham khảo trong datasheet.
Timer_B:
Timer_B là bộ định thời 16 bít có thể hoạt động ở 2 chế độ Timer và counter.
Timer_B đáp ứng đa chức năng capture/ so sánh, PWM. Timer_B cũng có khả
năng tạo ra ngắt khi nó đếm tràn, hoặc các thanh ghi capture/ so sánh.
Các đặc tính của Timer_B:
+ Là một Timer/counter 16 Bit không đồng bộ với 4 chế độ hoạt động.
+ Có thể lựa chọn và cấu hình nguồn xung.
+ Có từ 3 tới 7 thanh ghi có thể cấu hình capture/compare.
+ Cấu hình đầu ra với chế độ PWM.
+ Chốt ngõ vào và ngõ ra không đồng bộ.
Hình 11: Sơ đồ khối của Timer_B

Những điểm giống và khác nhau giữu Timer_A và Timer_B:
Timer_B mang đầy đủ đặc điểm của Timer_A ngoài ra Timer_B có các đặc
tính đặc biệt sau:
+ Kích thước của Timer có thể lập trình được có độ dài 8, 10, 12 hoặc 16
Bit.
+ Thanh ghi TBCCRx là 2 bộ đệm có thể được nhóm lại.
+ Tất cả các đầu ra của Timer_B đều có thể đặt ở trạng thái tổng trở cao.
+ Chức năng của bit SCCI không được thực hiện trong Timer_B.
Hoạt động của Timer_B:
Timer hoạt động ở chế độ Counter: Khi hoạt động ở chế độ đếm giá trị thanh
ghi TBR tăng hoặc giảm (tùy thuộc vào chế độ hoạt động) theo cạnh lên của
xung clock. Thanh ghi TBR có thể ghi hoặc đọc. Timer_B có thể tạo ra ngắt khi
đếm tràn.
Thanh ghi TBR cũng có thể được xóa bằng cách set bit TBCLR. Khi bít này
được set đồng thời cũng reset lại giá trị của bộ chia và giá trị đếm.
Chú ý: Bạn nên dừng hoạt động của Timer trước khi muốn chỉnh sửa. Những
thay đổi ghi vào TRB sẽ được thực thi ngay lập tức vì vậy nếu thay đổi giá trị khi
timer đang hoạt động có thể hoạt động của nó không còn chính xác. Có thể đọc
giá trị của Timer khi nó đang hoạt động.
Độ dài thanh ghi TBR:Xung cấp cho Timer có thể lấy từ nguồn xung ACLK
hoặc SMCLK hoặc từ nguồn xung ngoài TBCLK. Nguồn xung được lựa chọn
nhờ bit TBSSELx, nguồn xung được lựa chọn có thể đã được chi trước 2, 4, hoặc
8. Giá trị của bộ chia bị reset khi set bit TBCLR.
2.1.4.2.4 Kích hoạt timer:
Timer có thể được khởi động hoặc khởi động lại bằng các cách sau:
+ Timer đếm khi MCx >0 và nguồn xung clock hoạt động.
+ Khi timer hoạt động ở một trong hai chế độ up, up/down. Có thể
dừng hoạt động của timer bằng cách đặt TBCL0=0. Timer được kích hoạt trở
lại khi giá trị này khác 0. Khi kích hoạt trở lại giá trị của timer bắt đầu từ 0.
Các chế độ hoạt động của Timer:

Timer_B hoạt động ở 4 chế độ, các chế được lựa chọn nhờ bit MCx.

MCx Mode Hoạt động
00 Stop Tạm dừng Timer
01 Up Timer đếm từ 0 tới giá trị đỉnh của TBCL0
10 Continuous Timer đếm từ 0 tới giá trị được lựa chọn bởi bít
CNTLx
11 Up/down Timer đếm từ 0 đến giá trị đỉnh của TBCL0 rồi
đếm xuống về 0
Các ngắt của Timer_B:
Timer_B có thể tạo ra 2 ngắt:
+ Vector ngắt TBCCR0 cho TBCCR0 CCIFG.
+ Vector ngắt TBIV cho các cờ ngắt CCIFG và TBIFG.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×