1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

DO AN MSP430

14 530 8

Đ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

Thông tin cơ bản

Định dạng
Số trang 14
Dung lượng 309 KB

Nội dung

TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ BỘ MÔN ĐIỆN TỬ VIỄN THÔNG  THIẾT KẾ MẠCH ĐO TỐC ĐỘ ĐỘNG CƠ HIỂN THỊ LCD Giáo viên hướng dẫn Sinh viên thực Th.s Trần Hữu Danh Nguyễn Phát Lợi 1080863 Nguyễn Thanh Huy 1080854 Cần Thơ, tháng 12/2011 LỜI MỞ ĐẦU Cùng với phát triển xã hội, nhu cầu vật chất tinh thần người ngày tăng Nắm bắt điều trên, vài năm gần để thỏa mãn nhu cầu lại ngày cao nên nhà nước đưa nhiều loại hình xe mơ tơ để đáp ứng nhu cầu lại người dân Để giải số vấn đề xã hội giảm bớt tai nạn giao thơng, nhằm đảm bảo an tồn cho người điều khiển xe mơ tơ Chính lý nầy nên cần thiết kế mạch đo tốc độ báo động gắn xe mô tô, nhằm cảnh báo với tốc độ khơng an tồn cho tánh mạng người điều khiển xe mô tô Xuất phát từ nhu cầu thực tế khách quan đó, kiến thức trang bị trường, nên nhóm chúng em mạnh dạn thực đề tài “THIẾT KẾ MẠCH ĐO TỐC ĐỘ ĐỘNG CƠ HIỂN THỊ LCD” Bên cạnh xin gởi lời cám ơn chân thành đến Thầy Trần Hữu Danh hướng dẫn để chúng em hoàn thành đề tài Do kiến thức hạn chế, cố gắng trình làm biên soạn chắn báo cáo khơng tránh sai sót, chúng em xin chân thành cảm ơn ý kiến đóng góp thầy đề tài hoàn thiện phát triển MỤC LỤC I – GIỚI THIỆU ĐỀ TÀI .4 Yêu cầu giới hạn đề tài: Mục đích đề tài: II - GIẢI QUYẾT ĐỀ TÀI Vi điều khiển MSP430 .5 Các ngắt P1 P2: .8 Mỗi chân port P1 P2 có khả ngắt Các ngắt cấu hình ghi PxIFG, PxIE VÀ PxIES Tất chân port P1 nguyên nhân tương ứng với vector ngắt Tất chân port có nhiều nguyên nhân khác tương ứng với vector Có thể sử dụng ghi PxIFG để xác định nguyên nhân ngắt port P1 P2 a) Thanh ghi cờ ngắt P1IFG P2IFG: .8 - Mỗi bit ghi PxIFGx cờ ngắt tương ứng với chân xuất/ nhập có cạnh xung tín hiệu chân Tất cờ ngắt ghi PxIFGx đòi hỏi ngắt tương ứng với bit PxIE GIE set Mỗi cờ ngắt đòi hỏi phải reset phần mềm Phần mềm set cờ ngắt: + Bit =0 Khơng có ngắt chờ + Bit =1 Có ngắt chờ phục vụ Chú ý: Khi thay đổi ghi PxOUT PxDIP có nghĩa bạn set cờ ngắt tương ứng .8 b) Thanh ghi lựa chọn ngắt theo sườn xung P1IES, P2IES: - Mỗi bit ghi PxIES lựa chọn ngắt theo cạnh lên hay cạnh xuống tương ứng với chân xuất/ nhập: + Bit = Cờ ngắt set có cạnh lên xung .8 + Bit = Cò ngắt set có cạnh xuống xung c) Thanh ghi cho phép ngắt P1IE P2IE: .8 - Mỗi bít PxIE cho phép hay cấm ngắt liên quan đến cờ ngắt tương ứng: + Bit = 0: Cấm ngắt .8 + Bit = 1: Cho phép ngắt .8 LCD 16x2 (HD44780) .11 Thiết kế phần cứng 11 Sơ đồ chi tiết .11 Thiết kế phần mềm 12 III – KẾT QUẢ, HƯỚNG PHÁT TRIỂN 14 I – GIỚI THIỆU ĐỀ TÀI Yêu cầu giới hạn đề tài: Yêu cầu đề tài thiết kế mạch đo tốc độ động hiển thị kết LCD Có thể áp dụng xe ô tô Đo tốc độ phương pháp sử dụng cặp thu phát hồng ngoại Giới hạn đề tài: Về kiến thức lắp gáp xe mơ tơ khơng có chúng em thiết kế mang tinh chất mơ hình Do kiến thức kinh nghiệm hạn chế phần báo động cho người điều khiển biết chưa thiết kế Mục đích đề tài: Một số mục đích cần phải đạt thực đề tài: Hiểu cấu tạo vi điều khiển MSP430 tập lệnh Bộ Timer/counter MSP430 Tìm hiểu loại hiển thị LCD Cách lập trình ngơn ngữ C II - GIẢI QUYẾT ĐỀ TÀI Vi điều khiển MSP430 MSP430 họ vi điều khiển cấu trúc RISC 16-bit sản xuất công ty Texas Instruments MSP chữ viết tắt “MIXED SIGNAL MICROCONTROLLER” Là dòng vi điều khiển siêu tiết kiệm 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 tính CPU đại tích hợp sẵn module ngoại vi Đặc biệt Chíp MSP 430 giải pháp thích hợp cho ứng dụng yêu cầu trộn tín hiệu Những đặc tính dòng MSP 430 bao gồm: • Điện áp nguồn: 1.8V – 3.6 V • Mức tiêu thụ lượng cực thấp: • Chế độ hoạt động: 270 μA 1MHz, 2,2 V • Chế độ chờ: 0.7 μA • Chế độ tắt (RAM trì): 0.1 μA • Thời gian đánh thức từ chế độ Standby nhỏ 1μs • Cấu trúc RISC-16 bit, Thời gian chu kỳ lệnh 62.5 ns • Cấu hình module Clock bản: • Tần số nội lên tới 16 MHz với 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 ngồi • Điện trở bên ngồi • Timer_A 16 bit với ghi hình, ghi so sánh độ rộng 16 bit • Timer_B 16 bit với ghi hình, 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 tìm • tốc độ Baud • Bộ mã hóa giải mã IrDA (Infrared Data Associatio) • Chuẩn giao tiếp động 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 chốt Tự động quét kênh, điều khiển chuyển đổi liệu • Hai khuếch đại thuật tốn (hoạt động) đị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ô chip MSP430 sử dụng biết đến đặc biệt ứng dụng thiết bị đo có sử dụng khơng sử dụng LCD với chế độ nguồn nuôi thấp Với chế độ nguồn nuôi từ khoảng 1,8 đến 3,6v chế độ bảo vệ nguồn Với tiêu thụ dòng thấp chế độ tích cực dòng tiêu thụ 200uA, 1Mhz, 2.2v; với chế độ standby dòng tiêu thụ 0.7uA Và chế độ tắt trì nhớ Ram dòng tiêu thụ nhỏ 0.1uA MSP430 có ưu chế độ nguồn ni Thời gian chuyển chế độ từ chế độ standby sang chế độ tích cực nhỏ (< 6us) Và có tích hợp 96 kiểu hình cho hiển thị LCD 16 bit ghi, 16 bit RISC CPU Có đặc điểm họ nhà MSP MCU khơng có tín hiệu dao động ngoại, MSP tự động chuyển sang hoạt động chế độ dao động nội Hình 1.1: Sơ đồ chân MSP430g2231 • Chân P1.0/TACLK/ADC10CLK (29):  Chân xuất / nhập số  Ngõ vào xung clock TACLK Timer A  Bộ chuyển đổi xung ADC10 • Chân P1.1/TA0 (30):  Chân xuất / nhập số  Timer_A: Ngõ vào CCI0A chế độ capture, ngõ 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õ 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õ OUT2 chế độ so sánh                   • Chân P1.4/SMCLK/TCK : Chân xuất / nhập số Ngõ SMCLK (Sub-Main clock) khối tạo dao động nội Ngõ vào kiểm tra xung clock TCK • Chân P1.5/TA0/TMS : Chân xuất / nhập số Ngõ 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 : Chân xuất / nhập số TA1: ngõ OUT1của Timer A chế độ so sánh TDI: Ngõ vào kiểm tra liệu TCLK: Ngõ vào kiểm tra xung clock • Chân P1.7/TA2/TDO/TDI: Chân xuất / nhập số TA2: ngõ OUT2 Timer A chế độ so sánh: TDI: Ngõ vào kiểm tra liệu TDO: Ngõ kiểm tra liệu • Chân XIN/ P2.6 : 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: Ngõ vào kết nối với dao động thạch anh Chân xuất/nhập số Các ngắt P1 P2: Mỗi chân port P1 P2 có khả ngắt Các ngắt cấu hình ghi PxIFG, PxIE VÀ PxIES Tất chân port P1 nguyên nhân tương ứng với vector ngắt Tất chân port có nhiều nguyên nhân khác tương ứng với vector Có thể sử dụng ghi PxIFG để xác định nguyên nhân ngắt port P1 P2 a) Thanh ghi cờ ngắt P1IFG P2IFG: - Mỗi bit ghi PxIFGx cờ ngắt tương ứng với chân xuất/ nhập có cạnh xung tín hiệu chân Tất cờ ngắt ghi PxIFGx đòi hỏi ngắt tương ứng với bit PxIE GIE set Mỗi cờ ngắt đòi hỏi phải reset phần mềm Phần mềm set cờ ngắt: + Bit =0 Khơng có ngắt chờ + Bit =1 Có ngắt chờ phục vụ Chú ý: Khi thay đổi ghi PxOUT PxDIP có nghĩa bạn 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 ghi PxIES lựa chọn ngắt theo cạnh lên hay cạnh xuống tương ứng với chân xuất/ nhập: + Bit = Cờ ngắt set có cạnh lên xung + Bit = Cò ngắt set có cạnh xuống xung c) Thanh ghi cho phép ngắt P1IE P2IE: - Mỗi bít PxIE cho phép hay cấm ngắt 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 Timer hoạt động chế độ Counter 16 Bit: Ở chế độ Counter giá trị ghi TAR tăng giảm theo cạnh lên xung clock (tùy thuộc vào chế độ hoạt động) Giá trị ghi TAR ghi đọc phần mềm Nó có khả tạo ngắt đếm tràn Thanh ghi TAR bị xóa set bit TACLR Việc set bit TACLR đồng thời xóa giá trị lựa chọn cho chia xung chế độ đếm lên hay đếm xuống 2.2 Lựa chọn nguồn xung chia xung: Timer lựa chọn nguồn từ xung từ ACLK, SMCLK sử dụng nguồn xung ngồi thơng qua TACLK INCLK Nguồn xung lựa chọn nhờ bít TASSELx Các nguồn xung chọn chia 2, Bộ chia xung reset set bit TACLR 2.3 Kích hoạt Timer: Timer kích hoạt kích hoạt lại cách sau đây: + Timer đếm MCx > nguồn xung kích hoạt + Khi timer hoạt động chế độ đếm lên đếm xuống Có thể dừng timer cách ghi TACCR0 = Timer kích hoạt trở lại giá trị ghi vào TACCR0 khác Giá trị đếm lên 2.4Các chế độ hoạt động Timer: Timer hoạt động chế độ: Chế độ dừng, chế độ đếm lên, chế độ tiếp tục, chế độ đếm lên/xuống Các chế độ lựa chọn bit MCx 2.5 Các ngắt Timer_A: Có hai ngắt tạo Timer_A: + Vector ngắt TACCR0 cho TRCCR0 CCIFG + Vector ngắt TAIV cho tất cờ ngắt CCIFG khác TAIFG Trong chế độ lưu trữ CCIFG set giá trị timer lưu trữ ghi TACCRx Trong chế độ so sánh cờ CCIFG set TAR đếm tới giá trị TACCRx Có thể sử dụng phần mềm để set xóa cờ ngắt CCIFG Tất cờ ngắt CCIFG yêu cầu ngắt bit CCIE GIE set Ngắt TACCR0 CCIFG ngắt Timer_A có mức ưu tiên cao Cờ ngắt TACCR0 CCIFG tự động reset ngắt TACCR0 phục vụ 10 LCD 16x2 (HD44780) - Cấu tạo chức chân: + Chân – 14: chân liệu tương ứng từ D0 - D7 + Chân – 6: chân điều khiển trình đọc ghi LCD + Chân 1,2: Hai chân cấp nguồn cho LCD + Chân 3: Điều chỉnh tương phản cho LCD - Gồm có ghi: ghi lệnh (IR), ghi liệu (DR) - Có vùng nhớ: DDRAM, CGROM, CGRAM Thiết kế phần cứng Sơ đồ khối hệ thống: KHỐI TẠO XUNG MSP430 KHỐI HIỂN THỊ (LCD 16X2) Sơ đồ chi tiết Kết mô phần mền proteus 11 Thiết kế phần mềm 6.1 Nguyên tắc hoạt động • Sử dụng chức counter timer1 để đếm số xung 1s • Sử dụng cặp led thu phát hồng ngoại để tạo xung bánh quay chuyển động vòng • Đếm 1s có xung => quãng đường bánh quay chuyển động 1s • S= số xung * chu vi • Chu vi= 2r*pi 6.2 Chương trình #include #include "LCD_MSP430.h" unsigned int foo1, foo=0,i=0; char ch[]; unsigned int nguyen, le; void main( void ) { WDTCTL = WDTPW + WDTHOLD; // Stop the Watchdog timer clr_lcm(); init_lcm(); P1IE|=0x01; P1IES|=0x01; 12 P1IFG&=~0x01; TACCTL0|=CCIE; TACCR0 = 32768; TACTL = TASSEL_1|MC_1; _BIS_SR(GIE); while(1) { } } #pragma vector=TIMERA0_VECTOR interrupt void Timer_A(void) { TACCR0 = 0; P1IE&=~0x01; nguyen=((foo*10)*35/100)/10; le=((foo*10)*35/100)%10; clr_lcm(); putstr("xung vantoc "); lcm_line2(); tostr(foo,ch); putstr(ch); putstr(" "); tostr(nguyen,ch); putstr(ch); putchar('.'); tostr(le,ch); putchar(ch[2]); putstr("m/s"); foo=0; P1IFG&=~0x01; P1IE|=0x01; TACCR0 = 32768; } #pragma vector=PORT1_VECTOR interrupt void Port_ISR(void) { foo++; P1IFG &=~ 0x01; } 13 III – KẾT QUẢ, HƯỚNG PHÁT TRIỂN - Kết quả: mạch chạy ổn định đạt mục đích đề tài: tìm hiểu vi điều khiểnMSP430 thiết kế mạch ứng dụng - Hướng phát triển: thiết kế thêm phần báo động, cải thiện mạch xử lý nhanh hơn, thông minh để áp dụng tất loại xe nói riêng, tất phương tiện nói chung, quan trọng thiết kế mạch đo tốc độ báo động xe lửa 14 ... 1Mhz, 2.2v; với chế độ standby dòng tiêu thụ 0.7uA Và chế độ tắt trì nhớ Ram dòng tiêu thụ nhỏ 0.1uA MSP430 có ưu chế độ nguồn ni Thời gian chuyển chế độ từ chế độ standby sang chế độ tích cực nhỏ... gian đánh thức từ chế độ Standby nhỏ 1μs • Cấu trúc RISC-16 bit, Thời gian chu kỳ lệnh 62.5 ns • Cấu hình module Clock bản: • Tần số nội lên tới 16 MHz với hiệu chỉnh tần số +- 1% • Thạch anh... Hiểu cấu tạo vi điều khiển MSP430 tập lệnh Bộ Timer/counter MSP430 Tìm hiểu loại hiển thị LCD Cách lập trình ngơn ngữ C II - GIẢI QUYẾT ĐỀ TÀI Vi điều khiển MSP430 MSP430 họ vi điều khiển cấu

Ngày đăng: 26/12/2017, 13:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w