Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
7,83 MB
Nội dung
Báo cáo tập lớn giao tiếp máy tính GIAO TIẾP RS232 – I2C - CAN Danh sách thành viên: Trịnh Hoài Nam Lê Mộng Hải Hoàng Nguyễn Hoàng Huân I) Giao tiếp RS232 1) Giới thiệu )Là chuẩn giao tiếp vi điều khiển máy tính phổ thông đơn giản, sễ lập trình đồng thời tương thích tốt với ngoại vi )Các dòng vi điều khiển hầu hết trang bị chân giao tiếp RS232 TX RX )Những dòng MCU tầm thấp trung (89c51 hay PIC12F/16F hay Atmega 328) có cổng Những dòng MCU cấp cao (ARM hay PIC24F hay Atmega 2560) lên đến cổng Các MCU tầm trung tầm thấp chân giao tiếp RS232 Atmega 89C51 ATmega328 PIC16F887 Các MCU tầm cao chân giao tiếp RS232 Texas Instruments LM4F120H5QR ATMEL Atmega 2560 2) Các câu lệnh lập trình Arduino Serial.begin(speed, config): khởi tạo Speed: tốc độ Baud Config: cài đặt số data, parity, stop bit Vd: Serial2.begin(115200, SERIAL_7N1): tốc độ Baud 115200, bit data Serial.println(value, format): gửi data Value: giá trị cần gửi, kiểu string, int,… Format: định dạng, HEX, DEC, BIN, OCT Vd: Serial.println(“CMNR”); Serial3.println(giatri_ADC, BIN) Serial.read(): đọc byte từ máy tính gửi xuống Vd: dieu_khien = Serial.read() Serial.readBytes(): đọc nhiều byte kí tự đệm 3) Các câu lệnh lập trình CCS #use rs232 (options): khởi tạo chuẩn truyền RS232 cho MCU baud rate, start bit, stop bit, số bit truyền, chân MCU truyền/nhận data parity Vd: #use rs232(baud=9600,Parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) getc(): nhận kí tự truyền qua RS232 Vd: ki_tu = getc(); putc(): gửi chuỗi kí tự qua RS232 Vd: for ( i = 0; i[...]... MCU khác muốn giao tiếp CAN phải dùng MCP2515 Các MCU cùng các chân giao tiếp CAN Dòng PIC18F có 1 modun CAN Dòng ARM M4 có 3 modun CAN 2) Mạch CAN 2 node IV) Demo ứng dụng 1) Giao tiếp giữa RS232 giữa máy tính và Arduino )Nhập số thứ tự nào trên máy tính thông qua giao diện COM thì con LED ứng với số thứ tự đó sáng 2) Giao tiếp I2C giữa Arduino và DS1307 Nạp thời gian trong máy tính vào DS1307... thị lên máy tính thông qua giao diện COM 5) Giao tiếp i2c giữa PIC điều khiển LED Nhập số thứ tự trên máy tính thông qua giao diện COM thì master sẽ cho LED sáng theo số thứ tự nhập xuống Master gửi lệnh cho slave sáng LED 6) Giao tiếp i2C giữa PIC và EEPROM PIC đọc giá trị AD, ta có thể chọn ô nhớ eeprom để ghi vào Có thể chọn chế độ đọc hay ghi Kết quả sẽ hiển thị lên LCD 5) Giao tiếp i2c giữa... DS1307 đếm rồi hiển thị lên máy tinh thông qua giao diện COM 3) Giao tiếp Arduino và EEPROM Nạp giá trị vào eeprom sau đó ngắt điện Cấp điện lại cho eeprom rồi đọc giá trị trong eeprom và hiển thị lên máy tính thông qua giao diện COM 4) Giao tiếp i2c giữa 2 board Arduino Nhận lệnh từ máy tính, master truyền dữ liệu cho slave làm sáng LED ứng với số được nhập từ máy tính Nút nhấn được nối với... động cơ RC servo Điều khiển góc mà động cơ muốn quay từ máy tính thông qua giao diện COM, nhận lệnh từ máy tính, master truyền lệnh qua slave, slave điều khiển động cơ 7) Giao tiếp CAN 2 node Node 1 cứ mỗi 1s thì lại gửi request Node 2 đọc giá trị AD rồi gửi tín hiệu lại cho Node 1 Node 1 nhận giá trị AD do node 2 gửi về rồi hiển thị lên máy tính Cảm ơn các bạn đã chú ý lắng nghe Copyright 2013...3) Các câu lệnh lập trình trên CCS #use i2c( option): khởi tạo chuẩn truyền i2c cho MCU như là master/slave, địa chỉ của slave, các chân kết nối… Vd: #use i2c( master, sda=PIN_C4, scl=PIN_C3, force_hw) i2c_ start(): khởi tạo, chuẩn bị truyền dử liệu lên bus i2c i2c_ stop(): dừng truyền/nhận dữ liệu, cho bus i2c rảnh i2c_ write(address), i2c_ write(data): gửi lệnh đến slave có địa chỉ trên... gửi lệnh đến slave có địa chỉ trên bus là address hay có thể là 1 byte data Vd: i2c_ write(0xA0); i2C_ write(LED); i2C_ read(): nhận về data được gửi trên bus Vd: giatri = i2c_ read(); III) Giao tiếp CAN 1) Giới thiệu: Là chuẩn truyền có khoảng cách truyền là xa nhất và ổn định nhất hiện nay Tốc độ truyền: I2C < CAN < SPI Cơ chế kiểm tra lỗi phức tạp nhờ vậy dữ liệu truyền/nhận rất chính xác ... khác muốn giao tiếp CAN phải dùng MCP2515 Các MCU chân giao tiếp CAN Dòng PIC18F có modun CAN Dòng ARM M4 có modun CAN 2) Mạch CAN node IV) Demo ứng dụng 1) Giao tiếp RS232 máy tính Arduino... máy tính thông qua giao diện COM LED ứng với số thứ tự sáng 2) Giao tiếp I2C Arduino DS1307 Nạp thời gian máy tính vào DS1307 sau đọc thời gian DS1307 đếm hiển thị lên máy tinh thông qua giao. .. COM 5) Giao tiếp i2c PIC điều khiển LED Nhập số thứ tự máy tính thông qua giao diện COM master cho LED sáng theo số thứ tự nhập xuống Master gửi lệnh cho slave sáng LED 6) Giao tiếp i2C PIC