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

Truyền thông UART giữa 2 MCU

16 151 0

Đ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 16
Dung lượng 0,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

UART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộ

Trang 1

Báo cáo bài tập lớn Chủ đề:Truyền thông UART giữa 2 MCU

Thành viên:

1/ Nguyễn Phạm Hồng Phúc 41102617

2/ Lê Quang Sơn 41102924

3/ Nguyễn Thanh Bình 41100306

Trang 2

Báo cáo:

Chủ đề:Truyền thông UART giữa 2 MCU

1 Giới thiệu về UART

2 MSP439G2553 và chức năng UART của nó.

3 Giới thiệu Kit Lauchpad

4 Khai thác chức năng UART của MSP thông qua KIT Launchpad

5 Code chương trình

Trang 3

1/ Giới thiệu về UART

UART hay Universal Asynchronous Receiver

Transmitter là bộ truyền nhận nối tiếp bất đồng bộ

Bit

num

Start

bit 5–8 data bits Stop bit(s) Start Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7 Stop

Trang 4

Thiết bị UART cần kết hợp 1 thiết bị chuyển mức điện áp mới có thể tạo ra 1 chuẩn giao tiếp

Trang 5

Ưu thế của truyền nối tiếp so với truyền song song:tốn ít port hơn

Nhược điểm: cần có chuẩn thỏa hiệp giữa 2 bên

tốc độ chậm,dễ lỗi

Trang 6

Các khái niệm trong truyền nối tiếp:

parity

Frame truyền

Stop bit

Tốc độ baud

Start bit

data

Trang 7

2/ MSP430G2553 và chức năng UART của nó

Vi điều khiển( Micro controller unit – MCU ) là đơn vị xử lý nhỏ, nó

được tích hợp toàn bộ các bộ nhớ như ROM , RAM , các port truy

xuất , giao tiếp ngoại vi trực tiếp trên 1 con chip hết sức nhỏ gọn

Được thiết kế dựa trên cấu trúc VON-NEUMAN , đặc điểm của cấu

trúc này là chỉ có duy nhất 1 bus giữa CPU và bộ nhớ (data và

chương trình) , do đó mà chúng phải có độ rộng bit tương tự nhau.

Trang 8

MCU MSP430G2553 là sản phẩm của TI thuộc họ MSP430x2xx

Trang 9

Chip MSP430 có kích thước nhỏ gọn , chỉ với

20 chân đối với kiểu chân DIP.

Trang 10

Kit có thể hỗ trợ:

-1 mạch nạp code có cả debug

-1 dây cáp USB tốt để kết nối kit với máy tính.

-1 chip thạch anh 32,768kHz

-1 chip MSP430G2553

-1 chip MSP430G2453

-1 header female.

3/ Giới thiệu kit Launchpad

Trang 11

Tất cả chỉ có 9,8 USD

Trang 12

4/ Khai thác sử dụng UART từ kit Launchpad với MSP430G2553

Với kit Lauchpad : Jumpers 4 and 5 connect the UART interface of the

emulator to the target device pins P1.1 and P1.2 The direction of the UART

signal lines can be selected by the orientation of the attached jumpers In

horizontal orientation, the jumpers connect TXD to P1.1 and RXD to P1.2,

as they are used for the software UART communication on the demo

application) In vertical orientation, the jumpers connect the TXD signal to

P1.2 and the RXD signal to P1.1, as required for the MSP430G2553 USCI

Trang 13

Đặt cấu hình UART cho MSP430G2553

Trang 14

Cờ ngắt cho bộ truyền:The UTXIFGx interrupt flag is set by the transmitter to indicate that UxTXBUF is

ready to accept another character An interrupt request

is generated if UTXIEx and GIE are also set UTXIFGx

is automatically reset if the interrupt request is

serviced or if a character is written to UxTXBUF

Cờ ngắt cho bộ nhận: :The URXIFGx interrupt flag is set each time a character is received and loaded into

UxRXBUF An interrupt request is generated if URXIEx and GIE are also set

Trang 15

#include "msp430g2553.h"

void main(void)

{

WDTCTL = WDTPW + WDTHOLD;

BCSCTL1 = CALBC1_1MHZ; // Set DCO

DCOCTL = CALDCO_1MHZ;

P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD

P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD UCA0CTL1 |= UCSSEL_2; // chọn xung clock SMCLK

5/ Code chương trình

Trang 16

UCA0BR0 = 104;

UCA0BR1 = 0;

UCA0MCTL = UCBRS0; no modulation

UCA0CTL1 &= ~UCSWRST;giữ uart ở trạng thái hold xó nó về 0 IE2 |= UCA0RXIE;

bis_SR_register(LPM0_bits + GIE);

}

#pragma vector=USCIAB0RX_VECTOR

interrupt void USCI0RX_ISR(void)

{

while (!(IFG2&UCA0TXIFG));

UCA0TXBUF = UCA0RXBUF;

}

Ngày đăng: 06/08/2018, 21:26

TỪ KHÓA LIÊN QUAN

w