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 3PHẦ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 42.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 5PHẦ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 63.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 7unsigned 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 10RE0_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 11byte[] readbuff = newbyte[65];
byte[] writebuff = newbyte[65];
Trang 12EventHandler(this.usbHidPort_OnSpecifiedDeviceRemoved), sender, (object)e); } else {
toolStripStatusLabel.Text = "Device Disconnected";
Trang 13toolStripStatusLabel.Text = "New Received Data"; if (readbuff[1] == 'a') // Khi dữ liệu
Trang 143.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 15PHẦ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 16PHẦN V: Kết luận bài thực hành
cho bài thực hành
-16-