1. Trang chủ
  2. » Luận Văn - Báo Cáo

Project II giao tiếp MSP430G2553 với thiết bị ngoại vi

20 1,8K 3

Đ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 20
Dung lượng 660,75 KB

Nội dung

1.1.Yêu cầu chức năng Giao tiếp Vi Điều Khiển MSP430G2553 với các thiết bị ngoại vi.1.2. Yêu cầu phi chức năng Thiết bị ngoại vi có thể là : •LCD1602.•Ma trận phím 4x4 … Mạch nhỏ gọn, linh kiện sắp xếp hợp lý. 1.3. Các công cụ sử dụng IAR Embedded Workbench . Altium Designer : thiết kế mạch (nguyên lý + Layout).

Trang 1

MỤC LỤC

MỤC LỤC 1

LỜI NÓI ĐẦU 2

CHƯƠNG I: MÔ TẢ ĐỀ TÀI 3

1.1 Yêu cầu chức năng 3

1.2 Yêu cầu phi chức năng 3

1.3 Các công cụ sử dụng 3

1.4 Sơ đồ khối của hệ thống 4

CHƯƠNG II: THIẾT KẾ HỆ THỐNG 5

2.1 Khối nguồn 5

2.2 Khối vi điều khiển MSP430G2553 6

2.3 Khối Hiển Thị LCD 16x2 7

2.5 Sơ đồ nguyên lý toàn mạch 9

2.6 Sơ đồ layout mạch 10

2.7 Hình ảnh mạch thật 11

CHƯƠNG III: PHẦN MỀM 12

CHƯƠNG IV: KẾT LUẬN 19

TÀI LIỆU THAM KHẢO 20

Trang 2

LỜI NÓI ĐẦU

Kỹ thuật vi xử lý và điều khiển đã xuất hiện rất nhiều trong mọi lĩnh vực khoa học kỹ thuật hiện nay Với sự phát triển mạnh mẽ của công nghệ, nhiều họ vi xử lý và điều khiển cùng với những tính năng mới xuất hiện ngày càng đa dạng Vi Điều Khiển MSP hiện đang được ứng dụng rất rộng rãi trong nhiều lĩnh vực thực tiễn

Để từng bước làm chủ công nghệ và có thể áp dụng chúng vào các ứng dụng thực tiễn, nhằm giải quyết các bài toán cụ thể trong cuộc sống thì cần phải bắt tay vào nghiên cứu và làm mạch thực tế với vi điều khiển MSP430G2553 Chính bởi vậy, nhóm em đã nghiên cứu đề tài : “ Giao tiếp MSP430G2553 với thiết bị ngoại vi” nhằm mục đích tìm hiểu

rõ hơn về cách thức sử dụng dòng vi điều khiển này.

Trang 3

CHƯƠNG I: MÔ TẢ ĐỀ TÀI

1.1.Yêu cầu chức năng

- Giao tiếp Vi Điều Khiển MSP430G2553 với các thiết bị ngoại vi.

1.2 Yêu cầu phi chức năng

- Thiết bị ngoại vi có thể là :

- Mạch nhỏ gọn, linh kiện sắp xếp hợp lý

1.3 Các công cụ sử dụng

- IAR Embedded Workbench

- Altium Designer : thiết kế mạch (nguyên lý + Layout)

Trang 4

1.4 Sơ đồ khối của hệ thống

Hình 1: Sơ đồ khối của mạch.

Trang 5

CHƯƠNG II: THIẾT KẾ HỆ THỐNG 2.1 Khối nguồn

Hình 2 Khối nguồn

Khối nguồn sử dụng adapter 5V/1A Điện áp 5V dùng để nuôi LCD 16x2, đi qua AMS1117 3,3V để lấy nguồn 3,3V nuôi vi điều khiển MSP430G2553.

Led nguồn giúp cho chúng ta biết nguồn có đang được cung cấp cho mạch hay không Các tụ có tác dụng chống nhiễu giúp cho nguồn ổn định hơn.

Trang 6

2.2 Khối vi điều khiển MSP430G2553

Hình 3 Khối vi điều khiển MSP430G2553

Khối điều khiển gồm MSP430G2553, thạch anh và nút Reset Khối điều khiển sẽ giao tiếp và điều khiển các khối hiển thị trong mạch để thực hiện các chức năng của mạch, 1 jump đôi 2 chân sẽ giúp việc lựa chọn sử dụng thạch anh ngoài hay thạch anh nội của vi điều khiển.

Trang 7

2.3 Khối Hiển Thị LCD 16x2

Hình 4 Khối Hiển Thị LCD 16x2

Khối hiển thị LCD16x2 dùng để hiển thị giá trị phím bấm nhận được từ

ma trận phím 4x4 khi bấm nút.

Biến trở 10K dùng để điều chỉnh độ tương phản của LCD 16x2.

Trang 8

2.4 Khối Ma Trận Phím 4x4

Hình 5 Khối Ngoại Vi

Khối ma trận phím bao gồm 16 nút bấm được xắp xếp thành ma trận 4x4 gồm bốn hàng và bốn cột Ở bốn hàng mắc thêm 4 con trở 10K nối lên dương nguồn (chống trạng thái floating cho các đầu vào của vi điều khiển).

Trang 9

2.5 Sơ đồ nguyên lý toàn mạch

Hình 6 Sơ đồ khối toàn mạch

Trang 10

2.6 Sơ đồ layout mạch

Hình 7 Sơ đồ layout mạch

Layout của mạch được thiết kế trên phần mềm thiết kế mạch Altium Design 10 Việc tối ưu hóa phần cứng và sắp xếp linh kiện hợp lý giúp chúng ta chỉ cần đi dây chủ yếu ở lớp Bottom (ở đây em làm mạch in 1 lớp, những đường dây đỏ là câu dây ở bên trên).

Trang 11

2.7 Hình ảnh mạch thật

Hình 8 Mặt trên của mạch

Bởi phần cứng được tối ưu khi đi dây 1 lớp bottom vì thế mạch in dễ dàng tự làm được bằng phương pháp cảm quang Vẫn đảm bảo chất

lượng mạch in, thời gian nhanh chóng và tiết kiệm giá thành

Ngoài những linh kiện cắm, thì trên bo mạch còn gồm nhiều linh kiện dán Với những gì đã được học ở trung tâm thực hành thì việc hàn linh kiện dán trở nên rất đơn giản Nên bo mạch nhỏ gọn và dễ thiết kế hơn.

Trang 12

CHƯƠNG III: PHẦN MỀM

Code gồm có các file chính :

-Hàm main.c : chứa chương trình chính, nêu rõ thuật toán để thực hiện bài toán

-Hàm main.h: chứa các thư viện driver, định nghĩa các chân I/O

- Các hàm driver: lcd_16x2, key_4x4, delay …

Chương trình chính main.c

#include "main.h"

void main( void )

{

int8_t key;

int8_t buf[30];

// Stop watchdog timer to prevent time out reset

WDTCTL = WDTPW + WDTHOLD;

DDR1 = 0xf0; //cac chan tu 0-3 la dau vao cac chan tu 4-7 la dau ra

DDR2 = 0xff; //cac chan port 2 la dau ra

SEL1= 0x00; //port1 la chan i/o

SEL2 = 0x00; //port2 la chan i/o

LCD_Init();

sprintf(buf,"PROJECT II");

LCD_Gotoxy(3,0);

LCD_Puts(buf);

sprintf(buf,"LE ANH QUANG");

LCD_Gotoxy(1,1);

Trang 13

sprintf(buf,"DEMO MATRIX KEY");

LCD_Gotoxy(0,0);

LCD_Puts(buf);

while(1)

{

key = KEY4X4_GetKey();

if(key)

{

sprintf(buf,"KEY = %c",key);

LCD_Gotoxy(0,1);

LCD_Puts(buf);

}

}

}

Trang 14

Driver key_4x4.c

#include "key_4x4.h"

static uint8_t KEY_4X4[4][4]={'1','2','3','4',

'5','6','7','8',

'9','a','b','c', '+','-','/',' '};

uint8_t KEY4X4_IsPush(void)

{

if((KEY4X4_ROW1==0)|(KEY4X4_ROW2==0)|(KEY4X4_ROW3==0)|(KEY4X4_ROW4==0))return 1; else return 0;

}

void KEY4X4_CheckCol(uint8_t i)

{

KEY4X4_COL1=KEY4X4_COL2=KEY4X4_COL3=KEY4X4_COL4=1;

if(i==0)

{

KEY4X4_COL1=0;

}

else if(i==1)

{

KEY4X4_COL2=0;

}

else if(i==2)

{

KEY4X4_COL3=0;

}

else

{

Trang 15

uint8_t KEY4X4_GetKey(void)

{

uint8_t i;

KEY4X4_COL1=KEY4X4_COL2=KEY4X4_COL3=KEY4X4_COL4=0;

if(KEY4X4_IsPush())

{

delay_ms(5);

if(KEY4X4_IsPush()) {

for(i=0;i<4;i++) {

KEY4X4_CheckCol(i);

if(!KEY4X4_ROW1) return KEY_4X4[i][0];

if(!KEY4X4_ROW2) return KEY_4X4[i][1];

if(!KEY4X4_ROW3) return KEY_4X4[i][2];

if(!KEY4X4_ROW4) return KEY_4X4[i][3];

} }

}

return 0;

}

/******************KET THUC FILE********************

LE ANH QUANG_PHAM THI ANH QUYEN */

Trang 16

Driver lcd_16x2.c

#include "lcd_16x2.h"

void LCD_Enable(void)

{

LCD_EN=1;

delay_us(3);

LCD_EN=0;

delay_us(50);

}

//Ham Gui 4 Bit Du Lieu Ra LCD

void LCD_Send4Bit( uint8_t Data )

{

LCD_D4=(Data>>0)&0x01;

LCD_D5=(Data>>1)&0x01;

LCD_D6=(Data>>2)&0x01;

LCD_D7=(Data>>3)&0x01;

}

// Ham Gui 1 Lenh Cho LCD

void LCD_SendCommand (uint8_t command )

{

LCD_Send4Bit ( command >>4 ); /* Gui 4 bit cao */

LCD_Enable () ;

LCD_Send4Bit ( command ); /* Gui 4 bit thap*/

LCD_Enable () ;

}

// Ham Khoi Tao LCD

void LCD_Init ( void )

{

LCD_Send4Bit(0x00);

Trang 17

LCD_Send4Bit(0x03);

LCD_Enable();

delay_ms(5);

LCD_Enable();

delay_us(100);

LCD_Enable();

LCD_Send4Bit(0x02);

LCD_Enable();

LCD_SendCommand( 0x28 ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8

LCD_SendCommand( 0x0c); // cho phep hien thi man hinh

LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh

LCD_Clear(); // xoa toan bo khung hinh

}

//Ham Thiet lap vi tri con tro

void LCD_Gotoxy(uint8_t x, uint8_t y)

{

uint8_t address;

if(!y)

address = (0x80+x);

else

address = (0xC0+x);

delay_ms(1);

LCD_SendCommand(address);

delay_ms(5);

}

// Ham Xoa Man Hinh LCD

void LCD_Clear()

{

LCD_SendCommand(0x01);

Trang 18

// Ham Gui 1 Ki Tu Len LCD

void LCD_PutChar ( uint8_t Data )

{

LCD_RS=1;

LCD_SendCommand( Data );

LCD_RS=0;

}

//Ham Gui Mot Chuoi Ki Tu Len LCD

void LCD_Puts (int8_t *s)

{

while (*s)

{

LCD_PutChar(*s);

s++;

}

}

/******************KET THUC FILE********************

LE ANH QUANG_PHAM THI ANH QUYEN */

Trang 19

CHƯƠNG IV: KẾT LUẬN

Sau khi hoàn thành đồ án II với đề tài giao tiếp Vi Điều Khiển MSP430G2553 với các thiết bị ngoại vi, nhóm em đạt được một số điểm sau:

- Thực hiện được giao tiếp Vi Điều Khiển MSP430G2553 với LCD1602 và ma trận bàn phím 4x4.

- Tiếp cận và sử dụng được công cụ thiết kế mach Altium10

- Tăng kĩ năng hàn mạch

- Sử dụng linh kiện hàn dán giúp mạch nhỏ gọn hơn

- Hiểu biết thêm giá trị ứng dụng thực tiễn của vi điều khiển nói chung

Bên cạnh đó, với sự hỗ trợ mượn KIT và tuần thực tập đồ án II tại trung tâm đào tạo thực hành của Viện Điện Tử - Viễn Thông trường Đại học Bách Khoa Hà Nội, nhóm em hoàn thành đề tài thuận tiện hơn.

Với đề tài này, chúng em có thể tiếp tục lập trình để có một máy tính cầm tay đơn giản…

Cuối cùng, chúng em xin chân thành cảm ơn sự hướng dẫn của thầy và các thầy cô viện Điện Tử -Viễn Thông đã tạo điều kiện cho chúng em hoàn thành đề tài này Chúng em kính chúc các thầy cô sức khỏe và hạnh phúc!

Trang 20

TÀI LIỆU THAM KHẢO

- https://www.google.com.vn

- http://www.ti.com

- http://www.banlinhkien.vn

- http://www.dientuvietnam.net

Ngày đăng: 28/01/2015, 11:01

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w