Khảo sát họ vi điều khiển MSP430

164 1.2K 1
Khảo sát họ vi điều khiển MSP430

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Khảo sát họ vi điều khiển MSP430

Phan Thi Thu D4dtvt EPU MỤC LỤC Trang 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 Vi xử lí Phan Thi Thu D4dtvt EPU 2.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 Vi xử lí Phan Thi Thu D4dtvt EPU 2.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 Vi xử lí Phan Thi Thu D4dtvt EPU 3.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 Vi xử lí Phan Thi Thu D4dtvt EPU TÀ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) Vi xử lí Phan Thi Thu D4dtvt EPU 2.1 VI ĐIỀU KHIỂN MSP430F2013: 2.1.1 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). Vi xử lí Phan Thi Thu D4dtvt EPU - 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. 2.1.1.1 Kiểu thiết kế: TA PACKAGED DEVICES PLASTIC 14-PIN TSSOP (PW) PLASTIC40-PINQFN (RHA) PLASTIC 14- PIN DIP (N) PLASTIC 16-PIN QFN (RSA) 4 0°C to 85°C MSP430F2001IPW MSP430F2011IPW MSP430F2002IPW MSP430F2012IPW MSP430F2003IPW MSP430F2013IPW MSP430F2001IN MSP430F2011IN MSP430F2002IN MSP430F2012IN MSP430F2003IN MSP430F2013IN MSP430F2001IRSA MSP430F2011IRSA MSP430F2002IRSA MSP430F2012IRSA MSP430F2003IRSA MSP430F2013IRSA 4 0°C to 105°C MSP430F2001TPW MSP430F2011TPW MSP430F2002TPW MSP430F2012TPW MSP430F2003TPW MSP430F2013TPW MSP430F2001TN MSP430F2011TN MSP430F2002TN MSP430F2012TN MSP430F2003TN MSP430F2013TN MSP430F2001TRSA MSP430F2011TRSA MSP430F2002TRSA MSP430F2012TRSA MSP430F2003TRSA MSP430F2013TRSA Vi xử lí Phan Thi Thu D4dtvt EPU Bảng 1: Kiểu thiết kế MSP430 2.1.1.2 Sơ đồ chân của các loại MSP430F20x3 Vi xử lí Phan Thi Thu D4dtvt EPU Hì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: Vi xử lí Phan Thi Thu D4dtvt EPU 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: Vi xử lí [...]... so sánh và lưu trữ 2.1.4.1.7 Thanh ghi điều khiển Timer_A: Vi xử lí Phan Thi Thu D4dtvt EPU 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... 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. .. 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ố: Vi xử lí Phan Thi Thu D4dtvt EPU 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 Vi xử lí Phan Thi Thu D4dtvt EPU Bảng 3: Địa chỉ thanh ghi xuất nhập 2.1.4 Bộ định thời:... 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ộ... 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 Vi xử lí Phan Thi Thu D4dtvt EPU 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ỉ... Vi xử lí Phan Thi Thu D4dtvt EPU 2.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: + Bit 15: không sử dụng + CNTLx Bit 12-11: Độ dài của bộ đếm: 0 16-bit,TBR(max) = 0FFFFh 1 12-bit,TBR(max) = 0FFFh 10 10-bit,TBR(max) = 03FFh 11 8-bit,TBR(max) = 0FFh + TBSSELx bit 9-8: Lựa chọn nguồn xung clock: 00 TBCLK 01 ACLK 10 SMCLK 11 Đảo TBCLK + IDx Bit 7-6: lựa chọn... 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à... whatchdog được lựa chọn Hoạt động nếu chế độ timer được lựa chọn Vi xử lí Phan Thi Thu D4dtvt EPU - 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... thanh ghi PxREN cho phép hoặc không cho phép điện trở kéo: Vi xử lí Phan Thi Thu D4dtvt EPU Bit = 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... bit 9-8: Lựa chọn nguồn xung clock: 00 TBCLK 01 ACLK 10 SMCLK 11 Đảo TBCLK + IDx Bit 7-6: lựa chọn bộ chia xung: 00 /1 01 /2 10 /4 11 /8 + MCx Bit 5-4: Lựa chọn chế độ điều khiển: 00 Dừng chế độ 01 Chế độ lên 10 Tiếp tục chế độ 11 Chế độ lên/xuống Vi xử lí Phan Thi Thu D4dtvt EPU + 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

Ngày đăng: 16/05/2014, 01:34

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan