Khảo sát họ vi điều khiển MSP430
Trang 1MỤC LỤC
PHẦN A: GIỚI THIỆU -1
Trang bìa -2
Phân công cán bộ hướng dẫn -3
Nhiệm vụ đề tài - 4
Lời cảm ơn -5
Tóm tắt đồ án tốt nghiệp - 6
Mục lục -7
PHẦN B: NỘI DUNG -11
Chương 1: Dẫn nhập -12
1.1 Lý do chọn đề tài -13
1.2 Mục đích nghiên cứu -13
1.3 Đối tượng nghiên cứu và phạm vi nghiên cứu -13
1.4 Ý nghĩa khoa học và thực tiễn của đề tài -13
1.5 Tình hình nghiên cứu -13
1.6 Phương pháp nghiên cứu -14
Chương 2: Khảo sát vi điều khiển MSP430 (F2274) -15
2.1 Vi điều khiển MSP430F2274 -16
2.1.1 Tổng quan về MSP430 -16
2.1.1.1 Kiểu thiết kế -17
2.1.1.2 Sơ đồ chân của các loại MSP430 - 18
2.1.2 MSP430F2274 - 19
2.1.2.1 Sơ đồ khối của vi điều khiển MSP 430F2274 - 19
2.1.2.2 Cấu trúc của MSP430F2274 -19
2.1.3 Tìm hiểu về CPU 430F2274 -19
2.1.3.1 Các chế độ định địa chỉ -21
2.1.3.2 Vùng địa chỉ -21
2.1.3.3 Tổ chức bộ nhớ -22
2.1.3.4 Chức năng các chân -23
2.1.3.5 Cấu trúc các thanh ghi -31
2.1.3.6 Các thanh ghi có chức năng đặc biệt -31
2.1.3.7 Cấu trúc xuất nhập -32
Trang 22.1.3.7.1 Hoạt động xuất nhập -32
2.1.3.7.2 Thanh ghi Input PxIN - 32
2.1.3.7.3 Thanh ghi đầu ra PxOUT -32
2.1.3.7.4 Thanh ghi định hướng PxDIR - 32
2.1.3.7.5 Thanh ghi cho phép điện trở kéo -32
2.1.3.7.6 Thanh ghi lựa chọn chức năng PxSEL và PxSEL2 -32
2.1.3.7.7 Các ngắt P1 và P2 -33
2.1.3.7.8 Địa chỉ các thanh ghi xuất/nhập số -33
2.1.4 Bộ định thời -35
2.1.4.1 Timer_A -35
2.1.4.1.1 Đặc tính của Timer_A -35
2.1.4.1.2 Timer hoạt động ở chế độ Counter 16 Bit -36
2.1.4.1.3 Lựa chọn nguồn xung và bộ chia xung -36
2.1.4.1.4 Kích hoạt Timer - 36
2.1.4.1.5 Các chế độ hoạt động của Timer -36
2.1.4.1.6 Các ngắt của Timer_A - 36
2.1.4.1.7 Thanh ghi điều khiển Timer_A -37
2.1.4.2 Timer_B -38
2.1.4.2.1 Đặc tính của Timer_B -38
2.1.4.2.2 Những điểm giống và khác nhau giữu Timer_A và Timer_B 39 2.1.4.2.3 Hoạt động của Timer_B -39
2.1.4.2.4 Kích hoạt timer -40
2.1.4.2.5 Các chế độ hoạt động của Timer - 40
2.1.4.2.6 Các ngắt của Timer_B - 40
2.1.4.2.7 Các thanh ghi của Timer_B - 41
2.1.5 Bộ khuếch đại thuật toán OA -42
2.1.6 Các kênh chuyển đổi ADC -43
2.1.6.1 Kênh chuyển đổi ADC10 -43
2.1.6.1.1 Hoạt động của bộ chuyển đổi ADC10 -44
2.1.6.1.2 Lựa chọn nguồn xung clock ADC10CLK -44
2.1.6.1.3 Lựa chọn kênh tương tự -44
2.1.6.1.4 Điện áp tham chiếu -45
2.1.6.1.5 Đặc tính công suất thấp của điện áp tham chiếu nội -45
2.1.6.1.6 Thời gian lấy mẫu và chuyển đổi -45
2.1.6.1.7 Tính toán thời gian lấy mẫu -45
2.1.6.1.8 Chế độ chuyển đổi -46
2.1.6.1.9 Ngắt của ADC10 -46
2.1.6.1.10 Các thanh ghi của ADC10 -47
2.1.6.2 Kênh chuyển đổi ADC12 -49
2.1.6.2.1 Lựa chọn nguồn xung -50
2.1.6.2.2 Điện áp tham chiếu -51
2.1.6.2.3 Ngắt ADC12 -51
2.1.6.2.4 Các thanh ghi điều khiển ADC12 -52
2.1.7 Kênh chuyển đổi số sang tương tự DAC12 - 53
2.1.7.1 Hoạt động của kênh chuyển đổi DAC12 - 54
2.1.7.2 Điện áp tham chiếu của kênh DAC12 - 54
2.1.7.3 Ngắt của DAC12 -54
2.1.7.4 Các thanh ghi DAC12 - 54
Trang 32.1.8 Hệ thống xung clock và bộ phát xung - 57
2.1.8.1 Thanh ghi điều khiển DCOCTL -57
2.1.8.2 Thanh ghi điều khiển hệ thống xung BCSCTL1 -57
2.1.8.3 Thanh ghi điều khiển BCSCTL2 -58
2.1.8.4 Thanh ghi cho phép ngắt IE1 -59
2.1.8.5 Thanh ghi cờ ngắt -59
2.2 Mođun eZ430-RF2500 -60
2.2.1 Công cụ phát triển eZ430-RF2500 -60
2.2.1.1 eZ430-RF2500 -60
2.2.1.2 Chức năng các chân -61
2.2.1.3 Thông số kỹ thuật - 63
2.2.1.3.1 MSP430F2274 -63
2.2.1.3.2 CC2500 -63
2.2.1.4 Sơ đồ mạch eZ430-RF2500 -65
2.2.1.5 Chip CC2500 -68
2.2.1.5.1 Giới thiệu -68
2.2.1.5.2 Cấu tạo của chíp -70
2.2.1.5.3 Nguyên lý hoạt động -71
2.2.2 Phần mềm biên dịch và nạp chương trình (The IAR Embedded Workbench IDE) -73
2.2.2.1 Cách cài đặt phần mềm -73
2.2.2.2 Cài đặt thiết bị -76
2.2.2.3 Hướng dẫn sử dụng phần mềm(IAR Embedded Workbench IDE) 81 2.2.2.3.1 Giới thiệu -81
2.2.2.3.2 Hướng dẫn tạo New Project -82
2.2.2.3.3 Thiết lập các thông số cho Project -85
2.2.2.3.4 Biên dịch và kiểm tra -87
2.2.2.3.5 Thêm Project vào Workspace -88
2.2.3 Tập lệnh C sử dụng lập trình -89
2.2.3.1 Các kiểu dữ liệu cơ bản -89
2.2.3.2 Toán tử quan hệ và logic -89
2.2.3.3 Tập lệnh ngôn ngữ C -90
2.2.3.4 Chỉ thị tiền xử lý -91
2.2.3.5 Các hàm xử lý số -92
2.2.3.6 Các hàm hỗ trợ đặc biệt -92
Chương 3: Thiết kế phần cứng mở rộng Port và các bài thực tập lập trình 3.1 Vấn đề đặt ra -95
3.2 Các IC sử dụng trong việc mở rộng Port -95
3.2.1 IC 74HC595 -95
3.2.1.1 Giới thiệu -95
3.2.1.2 Sơ đồ chân -95
3.2.1.3 Cấu tạo và nguyên tắc hoạt động -96
3.2.1.3.1 Cấu tạo -96
3.2.1.3.2 Nguyên tắc hoạt động -97
3.2.2 IC 2803 -99
Trang 43.2.2.1 Giới thiệu -99
3.2.2.2 Sơ đồ chân -99
3.2.2.3 Nguyên lý hoạt động -100
3.3 Phương pháp mở rộng Port -101
3.3.1 Sơ đồ nguyên lý -101
3.3.2 Nguyên lý hoạt động -102
3.3.3 Sơ đồ mạch in -102
3.3.4 Mạch hoàn chỉnh -103
3.3.5 Giới thiệu bộ Kit thí nghiệm -104
3.4 Các bài tập ứng dụng -105
3.4.1 Quy ước chung -105
3.4.2 Các lưu ý trước khi sử dụng -105
3.4.2.1 Cách truy xuất bit trong C -105
3.4.2.2 Cách mở rộng Port -106
3.4.3 Các bài tập về Led đơn -108
Bài 1: Điều khiển 16 led chớp tắt -108
Bài 2: Điều khiển điểm sáng chạy 16 Led đơn -111
Bài 3: Điều khiển điểm sáng chạy 32 Led đơn -114
Bài 4: Điều khiển 32 Led đơn sáng dần -118
3.4.4 Các bài tập về Led 7 đoạn -122
Bài 1: Đếm từ 0 – 999 hiển thị Led 7 đoạn -122
Bài 2: Đồng hồ số hiển thị Led 7 đoạn -126
3.4.5 Các bài tập về LCD -131
Bài 1: Hiển thị chữ “Thí nghiệm VDK MSP 430”trên 2 dòng dùng liệt kê 131 Bài 2: Hiển thị chữ“MSP 430 SPKT TPHCM”trên 2 dòng dùng mảng- 135 3.4.6 Các bài tập về Led ma trận -139
Bài 1: Hiện chữ “ A” bằng phương pháp liệt kê -139
Bài 2: Hiện chữ “ A” bằng phương pháp mảng -143
Bài 3: Hiện chữ “ THANH CONG “ chạy từ phải sang trái -147
3.4.7 Các bài tập về nút nhấn -151
Bài 1: Dùng P2.2 làm nút nhấn Khi nhấn nút nhấn thì Led ở P1.0 sáng151 Bài 2: Tạo 3 nút nhấn Up, Down, Reset biến Hiển thị Led 7 đoạn - -
153 3.4.8 Các bài tập về Timer -158
Bài 1: Sử dụng ngắt Timer_A, sau chu kỳ 50000 thì chớp tắt Led P1.0 158 Bài 2: Sử dụng ngắt Timer_B, sau chu kỳ 50000 thì chớp tắt Led P1.1 160 3.4.9 Các bài tập về ADC10 -162
Bài 1: Dùng ADC10 chuyển từ tương tự sang số xuất ra 10 Led đơn -162
Bài 2: Dùng ADC10 chuyển nhiệt độ sang độ C Led 7 đoạn -165
Chương 5: Kết quả nghiên cứu kết luận và hướng phát trển 5.1 Kết quả nghiên cứu -171
5.2 Kết luận -171
5.3 Hướng phát triển -171
Trang 5TÀI LIỆU THAM KHẢO
Tài liệu tham khảo -172
Chương 2 KHẢO SÁT VI ĐIỀU KHIỂN
MSP 430 (F2013)
Trang 6MSP 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).
Trang 7- 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.
• 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.
PLASTIC 16-PIN QFN (RSA)
MSP430F2001IRSA MSP430F2011IRSA MSP430F2002IRSA MSP430F2012IRSA MSP430F2003IRSA MSP430F2013IRSA
MSP430F2001TRSA MSP430F2011TRSA MSP430F2002TRSA MSP430F2012TRSA MSP430F2003TRSA MSP430F2013TRSA
Trang 8Bảng 1: Kiểu thiết kế MSP430
2.1.1.2 Sơ đồ chân của các loại MSP430F20x3
Trang 9Hình 1: Các kiểu chân của MSP430.
2.1.2 MSP430F2274:
2.1.2.1 Sơ đồ khối của vi điều khiển MSP 430F2274:
Hình 2: Sơ đồ khối của MSP 430F2274
2.1.2.2 Cấu trúc của MSP430F2274:
Hình 3: Cấu trúc của MSP430F2274
2.1.3 Tìm hiểu về CPU của MSP430F2274:
Trang 10CPU 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:
Trang 11
Hình 4: kiến trúc RISC của CPU
+ 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.
2.1.3.2 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.
Trang 12d 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ỉ.
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.
Trang 132.1.3.4 Chức năng các chân:
Trang 14Bả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
Trang 15 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
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
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/VREF-/VeREF-/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 VREF-/
VeREF-• Chân P2.4/TA2/A4/VREF+/VeREF+/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 VREF+/ VeREF+
• Chân P2.5/ROSC (40):
Chân xuất / nhập số.
Trang 16 Ngõ vào điện trở ngoài để định nghĩa tần số DCO.
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.
Trang 17• Chân DVCC (38,39), AVCC (14): Chân cấp nguồn VCC
• Chân DVSS (1,4), AVSS (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.
Trang 18 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.
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/VREF-/VeREF-/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/VREF+/VeREF+/OA1I0 (28):
Chân xuất / nhập số.
Điện áp tham chiếu dương
Trang 19 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õ 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 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ố.
Trang 20 Timer_B, chế độ lưu trữ: Ngõ vào CCI0A, chế độ so sánh: Ngõ
• Chân DVCC (38,39), AVCC (14): Chân cấp nguồn VCC
• Chân DVSS (1,4), AVSS (13): Chân cấp mass
Trang 212.1.3.5 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
2.1.3.6 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.
Trang 22- OFIE : Cho phép dừng bộ phát xung.
- NMIIE : Cấm không cho phép ngắt được.
2.1.3.7 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.
2.1.3.7.1 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.
2.1.3.7.2 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.
2.1.3.7.3 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.
2.1.3.7.4 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.
2.1.3.7.5 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:
Trang 23Bit = 1 điện trỏ kéo lên.
Bit = 0 điện trở kéo xuốNg.
2.1.3.7.6 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
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.
2.1.3.7.7 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.
2.1.3.7.8 Địa chỉ các thanh ghi xuất/nhập số:
Trang 24MSP 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.
Trang 25Bảng 3: Địa chỉ thanh ghi xuất nhập
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ộ
Trang 26Hình 9: Sơ đồ khối của Timer_A
2.1.4.1.2 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.
2.1.4.1.3 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.
2.1.4.1.4 Kích hoạt Timer:
Trang 27Timer 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.
2.1.4.1.5 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.
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
2.1.4.1.6 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ữ
2.1.4.1.7 Thanh ghi điều khiển Timer_A:
Trang 28Bảng 4: Bảng liệt kê các thanh ghi điều khiển Timer_A
Thanh ghi điều khiển TACTL:
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.
2.1.4.2 Timer_B:
Trang 29Timer_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.
2.1.4.2.1 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ộ.
Trang 30Hình 11: Sơ đồ khối của Timer_B
2.1.4.2.2 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.
2.1.4.2.3 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
Độ 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
Trang 31lự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.
2.1.4.2.5 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.
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
+ Vector ngắt TBCCR0 cho TBCCR0 CCIFG.
+ Vector ngắt TBIV cho các cờ ngắt CCIFG và TBIFG.
Vector ngắt TBCCR0:Vector ngắt TBCCR0 là ngắt có mức độ ưu tiên cao nhất do Timer_B tạo ra Cờ ngắt TBCCR0 CCIFG tự động reset khi ngắt TBCCR0 được phục vụ.
Hình 12: Cờ ngắt TBCCR0
Trang 322.1.4.2.7 Các thanh ghi của Timer_B:
Bảng 5: Thanh ghi của Timer_B
Thanh ghi điều khiển TBCTL:
Trang 33+ TBCLR : Xóa Timer_B Khi bit này được set, giá trị bộ đếm, bộ chia xung đều được xóa về 0.
+ TBIE Bit 1: Cho phép ngắt Timer_B Bit =1 cho phép ngắt, bit = 0 cấm ngắt.
+ TBIFG Bit 0: Cờ ngắt Bit = 0 không có ngắt nào chờ, bit = 1 có ngắt đang chờ phục vụ Khi ngắt đã được phục vụ Bit tự động được xóa
về 0.
2.1.5 Bộ khuếch đại thuật toán OA:
MSP 430 có tất cả X bộ khuếch đại thuật toán.
Đặc tính của các bộ khuếch đại thuật toán:
+ Nguồn đơn, hoạt động ở chế độ dòng thấp.
+ Có thể lựa chọn cấu hình bằng phần mềm.
+ Phần mềm có thể lựa chọn điện trở bậc thang phản hồi cho PGA
Hình 13: Sơ đồ khối của OA
Trang 342.1.6 Các kênh chuyển đổi ADC:
MSP 430 có 2 kênh chuyển đổi ADC 10 bit, ADC10 và ADC12.
2.1.6.1 Kênh chuyển đổi ADC10:
Các đặc tính của kênh chuyển đổi ADC10:
+ Tốc độ chuyển đổi lớn nhất lớn hơn 200ksps.
+ Bộ chuyển đổi 10 bit đơn không bị lỗi mã.
+ Lấy mẫu và chốt với thời gian lấy mẫu được lập trình.
+ Quá trình chuyển đổi được khởi tạo bằng phần mềm hoặc Timer_A + Có thể sử dụng phần mềm để lựa chọn điện áp tham chiếu (1.5V hoặc 2.5V).
+ Có thể lựa chọn điện áp tham chiếu nội hoặc điện áp tham chiếu ngoài + Có 8 kênh đầu vào tương tự, riêng với MSP 340x22xx có tới 12 kênh đầu vào tương tự.
+ Các kênh chuyển đổi cho cảm biến nhiệt độ bên trong, Vcc, và điện áp tham chiếu ngoài.
+ Lựa chọn nguồn xung clock.
+ Tự động điều khiển quá trình huyển đổi dữ liệu và lưu kết quả chuyển đổi
Hình 14: Sơ đồ khối của ADC10
Trang 352.1.6.1.1 Hoạt động của bộ chuyển đổi ADC10:
Kênh ADC10 chuyển đổi một tín hiệu tương tự sang tín hiệu số có độ dài
10 bit, kết quả chuyển đổi được lưu vào thanh ghi ADC10MEM Sử dụng điện áp tham chiếu VR+ và VR- để xác định giới hạn trên và giới hạn dưới của
bộ chuyển đổi Kết quả chuyển đổi số có giá trị NADC = 03FFh khi đó Vinput >
= VR+ (khi đầy) hoặc NADC = 0 khi Vinput< = VR- Kết quả chuyển đổi được tính bằng công thức như sau:
Bộ chuyển đổi ADC10 được điều khiển bởi 2 thanh ghi ADC10CTL0 và ADC10CTL1 ADC10ON là bit cho phép chuyển đổi Khi bạn muốn thay đổi các giá trị điều khiển chuyển đổi bạn phải đặt ENC = 0 Khi điều chỉnh xong lưu ý set bit ENC = 1 để quá trình chuyển đổi bắt đầu.
2.1.6.1.2 Lựa chọn nguồn xung clock ADC10CLK:
Để lựa chọn nguồn xung điều khiển ta sử dụng bit ADC10SSELx Có thể
sử dụng bộ chia trước bắng bit ADC10DIVx ADC10CLK có thể lấy xung từ các nguồn SMCLK, MCLK, ACLK hoặc sử dụng bội xung nội ADC10OSC phục vụ riêng cho nó.
Tần số chuyển đổi có thể lên tới 5-MHz, nhung giá trị này cũng tùy thuộc vào nguồn cấp, nhiệt độ và thay đổi do lập trình Phải luôn cấp xung clock trong quá trình chuyển đổi, nếu ngắt nguồn xung bộ chuyển đổi không hoạt động hoặc kết quả chuyển đổi không chính xác.
Hình 15: Bộ đa hợp ngõ vào ADC10
Kênh chuyển đổi ADC10 có tất cả 12 ngõ vào tương tự, 8 ngõ vào tương
tự ngoài và 4 ngõ vào nội, các ngõ vào được lựa chọn chuyển đổi bằng bộ đa hợp.
2.1.6.1.3 Lựa chọn kênh tương tự:
Các ngõ vào tương tự Ax, VeREF+, and VREF− + động thời cũng là các chân xuất/nhập Các chân này là dạng cổng CMOS, khi được lựa chọn làm ngõ vào chuyển đổi có thể tạo ra dòng điện ký sinh có giá trị rất nhỏ từ Vcc về GND Có thể cấm khuếch đại dòng ký sinh này bằng cách sử dụng bit ADC10Aex.
Trang 362.1.6.1.4 Điện áp tham chiếu:
Ta có thể lựa chọn điện áp tham chiếu nội bằng cách set bit REFON = 1, khi REFON = 0 lựa chọn điện áp tham chiếu ngoài VRFE+ Bit RFE2_5V lựa chọn giá trị điện áp tham chiếu nội Khi REF2_5V = 1điện áp tham chiếu nội là 2.5 V Khi REF2_5V = 0 điện áp tham chiếu nội là 1.5 V.
2.1.6.1.5 Đặc tính công suất thấp của điện áp tham chiếu nội:
Mọi thiết kế của MSP 430 đếu hướng tới tiêu chí tiết kiệm năng lượng Kênh ADC10 tự chuyển sang chế độ tiết kiệm năng lượng khi điện áp tương
tự ngõ vào không đổi, nó kích hoạt trở lại khi cần thiết Khi không có nguồn xung clock dòng chuyển đổi bằng 0.
2.1.6.1.6 Thời gian lấy mẫu và chuyển đổi:
Bit SHTx được sử dụng để lựa chọn thời gian lấy mẫu, thời gian lấy mẫu
có thể là 4, 8, 16 hoặc 64 chu kỳ xung, thời gian chuyển đổi là 13 chu kỳ xung.
Hình 16: Thời gian lấy mẫu
2.1.6.1.7 Tính toán thời gian lấy mẫu:
Khi SAMPCON = 0 tất cả các ngõ vào tương tự Ax đều ở trạng thái tổng trở cao Khi SAMPCON = 1 tín hiệu tương tự ngõ vào được đưa qua một mạch lọc thông thấp RC Sơ đồ tương đương như sau:
Nội trở của nguồn Rs và Ri ảnh hưởng đến thời gian lấy mẫu Thời gian lấy mẫu tối thiểu có thể được tính theo phương trình sau đây:
Trang 37Với giá trị lớn nhất Ri =2 kΩ, Ci = 27 pF phương trình trên tương đương với:
Nếu Rs = 10kΩ thì thời gian lấy mẫu lớn hơn 2.47 µs.
Khi sử dụng bộ đệm tham chiếu trong chế độ burst thì thời gian lấy mẫu phải lớn hơn thời gian tính toán ở trên và thời gian thiết lập của bộ đệm.
Ví dụ, nếu điện áp tham chiếu ngoài VRef =1.5V, RS = 10 kΩ, tsample lớn hơn than 2.47µs, khi ADC10SR = 0, hoặc 2.5 µs khi ADC10SR = 1 Khi
đó thời gian thiết lập của bộ đệm được tính toán như sau:
Trong đó SR: là tốc độ quét của bộ đệm.
Hình 17: Ngắt ADC10
Trang 382.1.6.1.10 Các thanh ghi của ADC10:
Bảng 6: Thanh ghi ADC10
a) Thanh ghi điều khiển ADC10CTL0: Là thanh ghi 16 bit có sơ đồ như sau:
+ Trong đó SREFx 15-13 lựa chọn điện áp tham chiếu:
+ SHTx là bit lựa chọn thời gian lấy mẫu và giữ:
+ ADC10SR Bit 10 là bít lựa chọn tốc độ lấy mẫu:
Bit = 1 tốc độ ~ 50 ksps Bit = 0 tốc độ ~200 ksps + REFOUT Bit 9 Ngõ ra tham chiếu:
Trang 39Bit = 0 Ngõ ra tham chiếu off Bit = 1 Ngõ ra tham chiếu on + REF2_5V Bit 6 Lựa chọn điện áp tham chiếu: Bit = 0 Vref = 1.5 V
Bit = 1 Vref = 2.5 V + ADC10ON Bit 4:
Bit = 0 ADC10 off Bit = 1 ADC10 on + ADC10IE Bit 3 Cho phép ngắt ADC10:
Bit = 0 cấm ngăt Bit = 1 cho phép ngắt + ADC10IFG Bit 2 Cờ ngắt:
Bit =0 báo không có ngắt nào đợi phục vụ Bit = 1 Báo có ngắt đợi phục vụ
+ ENC Bit 1 Bít cho phép chuyển đổi:
Bit = 0 cấm chuyển đổi Bit =1 cho phép chuyển đổi b)Thanh ghi điều khiển ADC10CTL1:
+ INCHx Bit 15- 12 : Lựa chọn ngõ vào:
Trang 40+ ADC10DIVx Bit 7-5 Lựa chọn nguồn bộ chia xung:
+ SSELx Bit 4-3 Lựa chọn nguồn xung clock
c)Thanh ghi lưu kết quả chuyển đổi ADC10MEM:
Kết quả 10 bit chuyển đổi được lưu trữ bên phải Bit 9 là MSB Bit 10-15 luôn luôn là 0.
2.1.6.2 Kênh chuyển đổi ADC12:
ADC12 là kênh chuyển đổi 12 bít có các đặc tính như sau:
+ Tốc độ chuyển đổi lớn hơn 200-ksps.
+ Bộ chuyển đổi 12 bit đơn không bị lỗi mã.
+ Lấy mẫu và chốt với thời gian lấy mẫu được lập trình.
+ Quá trình chuyển đổi được khởi tạo bằng phần mềm hoặc Timer_A, Timer_B.
+ Có thể sử dụng phần mềm để lựa chọn điện áp tham chiếu (1.5V hoặc 2.5V).
+ Có thể lựa chọn điện áp tham chiếu nội hoặc điện áp tham chiếu ngoài.
+ Có 8 kênh đầu vào tương tự, riêng với MSP 340x22xx có tới 12 kênh đầu vào tương tự.
+ Các kênh chuyển đổi cho cảm biến nhiệt độ bên trong, Vcc, và điện
áp tham chiếu ngoài.
+ Lựa chọn nguồn xung clock.
+ Tự động điều khiển quá trình huyển đổi dữ liệu và lưu kết quả chuyển đổi, thanh ghi lưu kết quả chuyển đổi là thanh ghi 16 bit.