báo cáo thực hành giao tiếp điều khiển thiết bị ngoại vi

22 0 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo thực hành giao tiếp điều khiển thiết bị ngoại vi

Đ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ả năng sử dụng phần mềm mô phỏng, vẽ mạch - ProteusVẽ sơ đồ nguyên lý của mạch trong Proteus.2.2.. Khả năng sử dụng phần mềm lập trình ArduinoMột hình ảnh chụp màn hình Full – có code

Trang 1

BÁO CÁO THỰC HÀNH

GIAO TIẾP ĐIỀU KHIỂN THIẾT BỊ NGOẠI VI

Giáo viên hướng dẫn : Nguyễn Duy Khanh

Tên bài thực hành: Giao tiếp và điều khiển thiết bị ngoại vi thông qua cổng USB giữa máy

tính và vi điều khiển PIC18F4550.

Tên thành viên nhóm:

 NGUYỄN MINH NHỰT - 21026801 LỮ HOÀNG NAM - 21030371

Ngày thực hiện: 26 / 02 / 2024

Trang 2

PHẦN I: Chuẩn đầu ra môn học -1: Trình bày được cấu tạo, nguyên lý hoạt động và biết sử dụng các thành phần trong hệ thống, thiết bị điện tử

1.1.Mô tả tóm tắt nội dung bài thực hành

- Mô tả tóm tắt nội dung, yêu cầu và mục đích của bài thực hành.

Mô phỏng việc sử dụng một máy tính có tích hợp cổng COM (chuẩn RS232) để điều khiển thiết bị ngoại vi (LED và nút nhấn) dùng bộ điều khiển là vi điều khiển PIC18F4550 thông qua truyền thông UART.

+ Xác định, liệt kê các linh kiện, thiết bị cần sử dụng.

+ Mô phòng việc sử dụng một máy tính có tích hợp công COM (chuẩn RS232) đề điều khiến thiết bị ngoại vi (LED và nhít nhấn) dùng bộ điều khiến là vi điều khiên PIC18F4550 thông qua truyền thông UART.

+ Ở mức 1 bao gồm: 1 LED, 1 SW+ Ở mức 2 bao gồm: 2 LED, 2 SW

- Xác định, liệt kê các linh kiện, thiết bị cần sử dụng.+ Vi xử lý loại PIC18F4550

+Cổng USB+Sử dụng 3 nút nhấn

+ Sử dụng 3 điện trở 330 ohm, 4 điện trở 10k và 4 LED

1.2.Sơ đồ khối của bài thực hành.

- Vẽ sơ đồ khối.

Trang 3

- Giải thích chức năng, nhiệm vụ từng khối.Giải thích các chức năng nhiệm vụ của từng khối:

+ Khối giao tiếp : Dùng để gửi data vào khối vi xử lý PIC18F4550+ Khối thạch anh: là tần số dao động trong proteus

+ Khối nhập : Dùng để nhập data vào khối giao tiếp+ PIC18F4550:Dùng để chuyển tín hiệu qua khối xuất+ Khối xuất: Dùng để hiển thị ra tín hiệu để nhìn thấy

Khối nhập button

Khốithạch

anh

Trang 4

PHẦN II: Chuẩn đầu ra môn học 2: Có khả sử dụng các phần mềm lập trình, mô phỏng

2.1 Khả năng sử dụng phần mềm mô phỏng, vẽ mạch - Proteus

Vẽ sơ đồ nguyên lý của mạch trong Proteus.

2.2 Khả năng sử dụng phần mềm lập trình Arduino

Một hình ảnh chụp màn hình Full – có code trong phần mềm Arduino.

2.3 Khả năng sử dụng phần mềm lập trình cho PIC - MikroC

Một hình ảnh chụp màn hình Full – có code trong phần mềm MikroC.

#define led_on 1#define led_off 0#define in_size 64

Too long to read onyour phone? Save to

read later on yourcomputer

Save to a Studylist

Trang 5

#define out_size 64 char count = 0;bit oldstate;

unsigned char readbuff[in_size] absolute 0x500; unsigned char writebuff[out_size] absolute 0x540; void interrupt()

if (PIR2.USBIF == 1){

PIR2.USBIF = 0;USB_Interrupt_Proc();}

if (INTCON.INT0IF == 1){

INTCON.INT0IF = 0;count++;

writebuff[0] = count;oldstate = 1;}}void main(){

Trang 6

ADCON1 = 0x0F; => tất cà các chân analog thành chân digital CMCON = 0x07;

PORTB = 0x00; LATB = 0x00; TRISB.TRISB0 = 1;INTCON2.RBPU = 0;

PORTE = 0x00; LATE = 0x00; TRISE.TRISE1 = 0;

HID_Enable(&readbuff,&writebuff); => cho phép USD ở chế độ HDI INTCON.INT0IF = 0;

INTCON.INT0IE = 1;INTCON2.INTEDG0 = 1;PIR2.USBIF = 0;PIE2.USBIE = 1;INTCON.GIE = 1;INTCON.PEIE = 1;while(1){

Trang 7

if (HID_Read() !=0) => đọc dữ liệu từ host thông qua USB{

if (readbuff[0] == 1){

RE1_bit = led_on; => điều khiển đèn sáng writebuff[8] = 'O'; => gửi lại phản hồi}

else if (readbuff[0] == 0){

RE1_bit = led_off; => điều khiển đèn sáng writebuff[8] = 'F'; => gửi lại phản hồi}

HID_Write(&writebuff,out_size); => gửi dữ liệu đến host thông qua USB}

2.4 Khả năng sử dụng phần mềm viết giao diện Visual Studio C#.

Hai hình ảnh chụp màn hình Full – code và giao diện VS C#.( Không sử dụng )

Trang 8

PHẦN III Chuẩn đầu ra môn học 3: Có khả năng phân tích, thiết kế giải thuật và lập trìnhứng dụng

3.1 Lưu đồ giải thuật cho Arduino hoặc PIC

Vẽ lưu đồ giải thuật cho Arduino hoặc PIC.

3.2 Lập trình code cho Arduino hoặc PIC

Code đầy đủ, có giải thích từng câu lệnh của code.

char TransmitData, ReceiveData; //khai bao 2 bien chua du lieu gui di va nhan ve void main() {

//cau hinh thong so phan cung ADCON1 = 0X0F;CMCON = 7;

// chuyen doi cac chan tong tu thanh chan so

Trang 9

PORTB=0x00; LATB = 0x00;TRISB0_bit = 1;

TRISB1_bit = 1;TRISE2_bit = 1;

//khai bao ngo vao BO va B1 PORTE= 0X00; LATE = 0x00;TRISE1_bit = 0;

TRISE0_bit = 0;TRISE2_bit = 0;//khai bao ngo ra E0 va E1 LATE1_bit=0;

LATE0_bit=0; LATE2_bit=0;//led 1 va led 0 tat

UART1_Init (9600); //khoi dong module UART (toc do) delay_ms (100);

while (1){

if (Button (&PORTB, 0, 10, 0)) //B0{

while(Button(&PORTB,0,10,0)); //waitTransmitData = 'S';//gan bien

Trang 10

if(Button (&PORTB, 1, 10,0)) //B1{

while (Button (&PORTB, 1, 10,0)); //wait TransmitData = 'X';

UART1_Write (TransmitData);}

if (UART1_Data_Ready ()== 1) //module cua con pic da nhan 1 du lieu{

ReceiveData=UART1_Read(); if (ReceiveData == '@'){

LATE1_bit=1; TransmitData = 'F';

UART1_Write (TransmitData);}

else if (ReceiveData == '#'){

LATE1_bit=0; TransmitData = 'P';UART1_Write(TransmitData);

Trang 11

else if (ReceiveData == '!'){

LATE0_bit=1; TransmitData = 'E';

UART1_Write (TransmitData);}

else if (ReceiveData == '%'){

LATE0_bit=0; TransmitData = 'T';

UART1_Write (TransmitData);}

else if (ReceiveData == '&'){

LATE2_bit=1; TransmitData = 'B';UART1_Write (TransmitData);}

else if (ReceiveData == '*'){

LATE2_bit=0;

Trang 12

TransmitData = 'M'; UART1_Write (TransmitData);}

3.3 Lập trình giao diện VS C#

3.4 Biên dịch code và sửa lỗi.

- Hai hình ảnh chụp màn hình khi biên dịch code thành công cho Arduino (hoặc PIC) và VS C#.

Trang 13

- Một vài hình ảnh bị lỗi (nếu có) và trình bày cách khắc phục lỗi đó.

Trang 14

PHẦN IV: Chuẩn đầu ra môn học 4: Có khả năng lắp ráp, cân chỉnh các board mạch điện tử theo qui trình

4.1 Quy trình Lắp ráp và Test thực nghiệm

Viết quy trình Test theo từng bước: bước 1, bước 2, bước 3 …

4.2 Lắp ráp mạch thực tế

Một hình ảnh chụp bo mạch sau khi đã lắp ráp xong hoàn thiệnMột hoặc hai hình ảnh có các thành viên đang thao tác trên Testboard Một hình ảnh chụp kết quả khi bo giao tiếp được với VS C#.

4.3 Khả năng cân chỉnh bo mạch

Trình bày + hình ảnh lỗi khi thao tác lắp ráp và Test Trình bày cách khắc phục, xử lý lỗi đó.

Trang 15

PHẦN V: Kết luận bài thực hành

- Trình bày kết quả của bài thực hành mà nhóm đã thực hiện;

Trang 16

-15-Bài tập mô phỏng USB giữa Proteus & Visual C#.Hình ảnh kết quả bài làm

Trang 20

Video chi tiết bài làm : https://youtube.com/shorts/6IsF9W4CIvU?si=v1JKpapBMD1MarH9

Ngày đăng: 19/05/2024, 16:57

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

Tài liệu liên quan