Báo cáo thực hành giao tiếp điều khiển thiết bị ngoại vi tên bài thực hành điều khiển đóngmở cổng

16 0 0
Báo cáo thực hành giao tiếp điều khiển thiết bị ngoại vi tên bài thực hành điều khiển đóngmở cổng

Đ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

Trang 1

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

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

Tên bài thực hành: Điều khiển đóng/mở cổng

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

Quá trình đóng cổng: Nhấn BT1 trên bo mạch hoặc trên VS-C# để bắt đầu đóng → L1

sáng để báo cổng đang được đóng → VS-C# hiển thị “Đang đóng cổng” →nhấn SW1 để báo đã đóng xong →L1 tắt →VS-C# hiển thị “Đã đóng”

Quá trình mở cổng: Nhấn BT2 trên bo mạch hoặc trên VS-C# để bắt đầu mở →L2 sáng

để báo cổng đang được mở →VS-C# hiển thị “Đang mở cổng” →nhấn SW1 để báo đã mở xong →L2 tắt →VS-C# hiển thị “Đã mở”

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

o 02 SWITCH: 01 Switch (SW1) báo hành trình đã đóng cổng xong; 01 Switch

-1-

Trang 2

(SW2) báo hành trình đã mở cổng xong; o 02 LED: 01 Led (L1) báo trạng thái

cổng đang trong quá trình đóng; 01 Led (L2) báo trạng thái cổng đang trong quá

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

+ Khối Program (chương trình): điều khiển hoạt động của các thành phần linh kiện + Khối RS232 (cổng USB): Giúp thiết bị điều khiển (PIC18F4550) giao tiếp với các thiết bị ngoại vi

+ Khối Switch: thông báo quá trình đóng/mở cổng đã hoàn thành + Khối LED: thông báo quá trình đóng/mở cổng đang được thực hiện + Khối Button: dùng để đóng/mở cổng

-2-

Trang 3

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 cho PIC - MikroC

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

-3-

Trang 4

2.3 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#

-4-

Trang 5

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

-5-

Trang 6

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 // Khai bao bien va du lieu

#define led_on 1 // Muc logic dieu khien trang thai LED #define led_off 0

#define in_size 64 // Mac dinh kich thuoc du lieu doc/ghi #define out_size 64

char count = 0; // Chua so lan nhan SW bit oldstate; // Co bao trang thai cho SW

-6-

Trang 7

unsigned char readbuff[in_size] absolute 0x500; // Bo dem chua du lieu doc va ghi unsigned char writebuff[out_size] absolute 0x540; // Nen de trong vung USB RAM, xem them trong datasheet

void interrupt () {

if(PIR2.USBIF == 1) {

PIR2.USBIF = 0; // Clear interrupt bit USB_Interrupt_Proc(); // ISR cho USB

ADCON1 |= 0x0F; // Tat ca chan Analog thanh chan Digital CMCON |= 0x07; // Cam modul Comparators

-7-

Trang 8

// Cau hinh Port B // Cau hinh modul USB

HID_Enable(&readbuff, &writebuff); // Cho phep USB o che do HID // Cau hinh ngat

INTCON.INT0IF = 0; // Clear interrupt bit

INTCON.INT0IE = 1; // Enable external interrupts

INTCON2.INTEDG0 = 1; // External interrupt on rising edge PIR2.USBIF = 0; // Clear interrupt bit

PIE2.USBIE = 1; // Enable the USB interrupt INTCON.GIE = 1; // Enable global interrupt

INTCON.PEIE = 1; // Enable periphiral interrupts while

Trang 10

RE0_bit = led_on; // Dieu khien LED sang writebuff[0] = 'a'; // Gui phan hoi ma bao LED sang

}

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

RE1_bit = led_on; // Dieu khien LED tat writebuff[0] = 'b'; // Gui phan hoi ma bao LED tat

Trang 11

byte[] readbuff = newbyte[65];

byte[] writebuff = newbyte[65];

Trang 12

EventHandler(this.usbHidPort_OnSpecifiedDeviceRemoved), sender, (object)e); } else {

toolStripStatusLabel.Text = "Device Disconnected";

Trang 13

toolStripStatusLabel.Text = "New Received Data"; if (readbuff[1] == 'a') // Khi dữ liệu

Trang 14

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#

- 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 đó Link video minh chứng:

https://youtu.be/8L7Xw0AGqfc? si=QzCJj2bTxza48NfG

-14-

Trang 15

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 boardmạ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 đ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 đó

-15-

Trang 16

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

cho bài thực hành

-16-

Ngày đăng: 01/04/2024, 14:49

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

Tài liệu liên quan