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

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

20 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề 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ác giả Nguyễn Minh Nhựt - 21026801, Lữ Hoàng Nam - 21030371
Người hướng dẫn Nguyễn Duy Khanh
Trường học Trường Đại Học
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Báo Cáo Thực Hành
Năm xuất bản 2024
Thành phố Hồ Chí Minh
Định dạng
Số trang 20
Dung lượng 6,18 MB

Nội dung

BAO CAO THUC HANH GIAO TIEP DIEU KHIEN THIET BI NGOAI 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

Trang 1

BAO CAO THUC HANH

GIAO TIEP DIEU KHIEN THIET BI NGOAI 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

PHAN I: Chuan dau ra mén hoc -1: Trinh bay duge cau tao, nguyén ly hoat déng va 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 dụng 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 PIC 1§F4550 thông qua truyền thông UARTT

+ 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, I 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 PIC1SF4550

+Céng USB

+Sử dụng 3 nut 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 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 xt ly PICI8F4550

+ 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

+ PIC1§F4550:Dùng đề chuyền tín hiệu qua khối xuất

+ Khối xuất: Dùng dé hién thi ra tin hiệu để nhìn thay

Trang 4

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

Vẽ sơ đồ nguyên ly của mach trong Proteus

D0SBHÐ-At@«qRc520 2lfil+ + 4 ®&/3.2œ|xE Z4¿BN.3::5 2 JSia

2

s

A

a

°

a

@

A

a

+

e

5

-

PP Tú Assze oemre coos 17550010 CPU ous 15% aii 5

BE Ð trpct earch H @ ớó © $ € (ạ [] s ã w @ 2c cong A Gm AY OS DO, mR @

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ó eode trong phan mém Arduino

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

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

#define led_on 1

#define led_off 0

#define in_size 64

Trang 5

#define out_size 64

char count = 0;

bit oldstate;

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

t

if (PIR2.USBIF == 1)

t

PIR2.USBIF = 0;

USB_Interrupt_Proc();

}

if INTCON.INTOIF = 1)

t

INTCON.INTOIF = 0;

countt+;

wrItebuff[0] = count;

oldstate = 1;

}

}

void main()

{

Trang 6

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

PORTB = 0x00;

LATB = 0x00;

TRISB.TRISBO = 1;

INTCON2.RBPU = 0;

PORTE = 0x00;

LATE = 0x00;

TRISE.TRISEI1 = 0;

HID_Enable(&readbuff,&writebuff); => cho phép USD 6 ché độ HDI

INTCON.INTOIF = 0;

INTCON.INTOIE = 1;

INTCON2 INTEDGO = 1;

PIR2.USBIF = 0;

PIE2.USBIE = 1;

INTCON.GIE = 1;

INTCON.PEIE = 1;

while(1)

{

Trang 7

if (HID_ReadQ) !=0) => doc đữ liệu từ host thông qua USB

t

if (readbuff[0] == 1)

t

REI_bit= led_on; => điều khiển đèn sáng

writebuff[§] ='O'; => gửi lại phản hồi

}

else if (readbuff[0] == 0)

t

RE1 bit =led_off, => diéu khién đèn sang

writebuff[8] ='F'; => gtr lai phan 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 CH

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

PHAN 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 hodc PIC

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

t

3.2 Lập trình code cho Arduino hodc PIC

Code day du, có giải thích từng câu lệnh của code

char TransmitData, RecetveData; //khai bao 2 bien chua đu lieu gui di va nhan ve

void main() {

//cau hinh thong so phan cung

ADCON1 = OXOF;

CMCON = 7;

// chuyen doi cac chan tong tu thanh chan so

Trang 9

PORTB=0x00; LATB = 0x00;

TRISBO_bit = 1;

TRISBL_bit= 1;

TRISE2_bit = 1;

//khai bao ngo vao BO va B1

PORTE= 0X00; LATE = 0x00;

TRISE1_bit = 0;

TRISEO_bit = 0;

TRISE2_bit = 0;

//khai bao ngo ra EO va El

LATE1_bit=0;

LATEO_bit=0;

LATE2_bit=0;

/Ned 1 va led 0 tat

UARTI1_Init (9600); //shoi dong module UART (toc do) delay_ms (100);

while (1)

t

if (Button (&PORTB, 0, 10, 0)) //BO

t

while(Button(&PORTB,0,10,0)); //wait

Trang 10

UART1_Write(TransmitData),

}

iÑButton (&PORTB, 1, 10,0) //B1

t

while (Button (&PORTB, 1, 10,0)); //wait

TransmitData = 'X';

UART1_ Write (TransmitData);

}

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

t

ReceiveData=UART1_ReadQ);

if (ReceiveData == '@')

t

LATEL bit=1;

TransmitData = 'F’;

UARTI1_Write (TransmitData);

}

else if (ReceiveData == '#')

{

LATE1 bit=0;

TransmitData = 'P’;

UARTL_Write(TransmitData);

Trang 11

}

else if (RecetveData =="!')

t

LATEO_bit=1,;

TransmitData = 'E';

UARTI1_Write (TransmitData);

}

else if (RecetveData == '%')

t

LATEO_bit=0;

TransmitData = 'T";

UARTI1_Write (TransmitData);

}

else if (RecetveData = '&')

t

LATE2_bit=1,;

TransmitData = 'B':

UARTI1_Write (TransmitData);

}

else if (ReceitveData == '*')

{

LATE2_bit=0;

Trang 12

UARTI1_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 địch code thành cụng cho Arduino (hoặc PIC) va VS C#

EtrccC pho tr Pc v7 6001New tidesnw2mcnpk ao x Bie 88 View Project Bald Bun Tooh Hếp a mó

SAWS Be OG SOAS 9D3/9) BLAST MB, 0422 Bid 218 258 2%

“Ts Cote Explorer BE) baz ERC) stat Page EF) () useteee (EF 1 Deve folder 2 mene gsrg

ra 3 -|'àaseộœg 5e so

Function ~ `) bai mcppt

Goce

Teal

Top a

rape Seton si

xe

@moos uxeyMexe ễtueibelre Ube Manage Freqsncy: [2.000000] bts 49!?11I8:

mM 5 > mMirofÊ Lwrarles ˆ

Sl Type ỡ ‘System Libranes

â Feene toằea ft T8

đ Softmwre wbreXD om cm set

FE Messages GB Quick Converter

ở max ý Wemp Hints

° lờ sed RO yờn): 350 (12%) heefuAM Đam E1 Sees

0 ‘ jd ROM foe: 6005 (18%) Pree ROM byes): 26 `

& lới Insert

$8 â Typenere to search H €@ @G â ds € (ạ [] s w 2 8 đửiớợc Ab ma eo co, ND

Trang 13

4

Af (readbutt(o) em 1)

t REL_pit © led_ony writebuff[6] = 0's , lee if (readbsff[(2] “= 9)

REL_pit = ied oft?

"HH

› EID Wrice(6wzitebo#f,out_ size); —øe®

Message Text om

i fies Conpied 6205

‘Used RAM (bytes): 263 (23%) Free RAM (bytes): 1764 (57%) Weed RAM (bytes): 263 (129%) Free RAM (bytes) 1764

Used ROM bytes): 6004 (38%) Free ROM @oytes): 39764 (1295) Vand ROM Poy): 6005 (18%) Free ROM (bytes): 267

Project inte bazncp

nba 9 32 me

Project bam’ comcleted: 130 me

Friched successhity: 26 Feb 2024, 14:24:07

P Type here to search

- 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

PHAN 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ện

Một hoặc hai hình ảnh có các thành viên dang 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 Kha nang 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;

WZ biz - Proteus 8 Professional - Schemanc Capeure a

file fon View Too! Design Graph Debug Library Template System Help

BB trieoElektroniia USB (HID) Terminal

‘Terminal 1

x

ce UID=

C£ UIB-WA5E P1D=9988

BE pn - Proteus 8 Professional ~ Schematic Capture = f x

Treseariney_weittemmcemca tiene inae - 6Ñ A43@44q4R$ 2© BII+i+ 4® 2œđ xàÐ Z4¿NNM 3::⁄22 Sinz|›<:: 5

& senemave Copare X

„ B0, D06, 0U, l0, ®‹98, 0x09, 0x00, v

ay P Typehereto seach mm @ G © ® @(@[x 0 mg Owe ~ 9m 06 Kem, MO

Trang 16

Bài tập mô phỏng USB giữa Proteus & Visual Cứ,

Hình ánh kết quá bài làm

Trang 17

USB (HID) Communication LAB

evice Information

witch Status LED Control

ounter SW mom 4 OI

OF

Trang 18

USB (HID) Communication LAB

Device Information

Counter SW ao ⁄ ON

Trang 19

USB (HID) Communication LAB

Device Information

Trang 20

a! TestUSB _ oO x

USB (HID) Communication LAB

Device Information

Video chỉ tiết bài làm : https://youtube.com/shorts/6IsFOW4CIvU?si=v LJKpapBMD 1 MarH9

Ngày đăng: 27/12/2024, 11:25

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

TÀI LIỆU LIÊN QUAN

w