1 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA ĐIỆN – ĐIỆN TỬ BÀI TẬP LỚN TÊN ĐỀ TÀI ĐIỀU KHIỂN LED 7 THANH A CHUNG KẾT NỐI TỚI CỔNGB, HIỂN THỊ SỐ LẺ TĂNG DẦN, HIỂN THỊ SỐ LẺ G[.]
Bả m KHOA : ĐIỆN – ĐIỆN TỬ ật TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN o BỘ GIÁO DỤC VÀ ĐÀO TẠO BÀI TẬP LỚN TÊN ĐỀ TÀI: ĐIỀU KHIỂN LED THANH A CHUNG KẾT NỐI TỚI CỔNGB, HIỂN THỊ SỐ LẺ TĂNG DẦN, HIỂN THỊ SỐ LẺ GIẢM DẦN, NHẤP NHÁY SỐ _ LẦN HỌC PHẦN : LẬP TRÌNH C ỨNG DỤNG GIẢNG VIÊN GIẢNG DẠY: VŨ HỒNG SƠN SINH VIÊN THỰC HIỆN : NGUYỄN VIẾT DIỆP_11220131 LỚP : 112202.2 Bả o m NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN ật Hưng Yên, Ngày Tháng Năm 2021 Giáo viên hướng dẫn Bả o m MỤC LỤC ật I PIC16F877A II Sơ đồ chân PIC16F877A III Sơ đồ nguyên lý : .12 3.1 Sơ đồ dây : 12 3.2 Sơ đồ xếp linh kiện: 13 3.4 Chương trình : 14 Bả o m I PIC16F877A ật PIC16F877A Vi điều khiển PIC 40 chân sử dụng hầu hết dự án ứng dụng nhúng Nó có năm cổng cổng A đến cổng E Nó có ba định thời có định thời bit định thời 16 Bit Nó hỗ trợ nhiều giao thức giao tiếp giao thức nối tiếp, giao thức song song, giao thức I2C PIC16F877A hỗ trợ ngắt chân phần cứng ngắt định thời Bả o m Hình Sơ đồ chân PIC16F877A Ngồi cịn có bảng thơng tin chi tiết kèm số thứ tự chân, tên tương ứng mô tả sơ lược chân 2.1 Chức chân Chân Tên Chức /MCLR/VPP – /MCLR: Hoạt động Reset mức thấp – VPP : ngõ vào áp lập trình RA0/AN0 – RA0 : xuất/nhập số – AN0 : ngõ vào tương tự ật II Sơ đồ chân PIC16F877A Bả o – RA1 : xuất/nhập số – AN1 : ngõ vào tương tự RA2/AN2/VREF-/ CVREF – RA2 : xuất/nhập số – AN2 : ngõ vào tương tự – VREF -: ngõ vào điện áp chuẩn (thấp) A/D RA3/AN3/VREF+ – RA3 : xuất/nhập số – AN3 : ngõ vào tương tự – VREF+ : ngõ vào điện áp chuẩn (cao) A/D – RA4 : xuất/nhập số – TOCKI : ngõ vào xung clock bên RA4/TOCKI/C1OUT cho timer0 – C1 OUT : Ngõ so sánh 10 RA5/AN4//SS /C2OUT – RA5 : xuất/nhập số – AN4 : ngõ vào tương tự – SS : ngõ vào chọn lựa SPI phụ – C2 OUT : ngõ so sánh RE0//RD/AN5 – RE0 : xuất nhập số – RD : điều khiển việc đọc port nhánh song song – AN5 : ngõ vào tương tự RE1//WR/AN6 – RE1 : xuất/nhập số – WR : điều khiển việc ghi port nhánh song song – AN6 : ngõ vào tương tự RE2//CS/AN7 – RE2 : xuất/nhập số – CS : Chip lựa chọn điều khiển port nhánh song song – AN7 : ngõ vào tương tự ật m RA1/AN1 Bả o VDD Chân nguồn PIC 12 VSS Chân nối đất OSC1/CLKI Ngõ vào dao động thạch anh xung clock bên – OSC1 : ngõ vào dao động thạch anh xung clock bên Ngõ vào Schmit trigger cấu tạo chế độ RC; cách khác CMOS – CLKI : ngõ vào nguồn xung bên ngồi Ln kết hợp với chức OSC1 OSC2/CLKO Ngõ vào dao động thạch anh xung clock – OSC2 : Ngõ dao động thạch anh Kết nối đến thạch anh cộng hưởng – CLKO : chế độ RC, ngõ OSC2, tần số OSC1 tốc độ chu kỳ lệnh 14 15 16 ật 13 m 11 – RC0 : xuất/nhập số – T1OCO : ngõ vào dao động Timer RC0/T1 OCO/T1CKI – T1CKI : ngõ vào xung clock bên Timer RC1/T1OSI/CCP2 – RC1 : xuất/nhập số – T1OSI : ngõ vào dao động Timer – CCP2 : ngõ vào Capture 2, ngõ compare 2, ngõ PWM2 Bả o RC3/SCK/SCL 19 RD0/PSP0 – RD0 : xuất/nhập số – PSP0 : liệu port nhánh song song 20 RD1/PSP1 – RD1 : xuất/nhập số – PSP1 : liệu port nhánh song song 21 RD2/PSP2 – RD2 : xuất/nhập số – PSP2 : liệu port nhánh song song 22 RD3/PSP3 – RD3: xuất/nhập số – PSP3 : liệu port nhánh song song 23 RC4/SDI/SDA – RC4 : xuất/nhập số – SDI : liệu vào SPI – SDA : xuất/nhập liệu vào I2C 24 RC5/SDO – RC5 : xuất/nhập số – SDO : liệu SPI RC6/TX/CK – RC6 : xuất/nhập số – TX : truyền bất đồng USART – CK : xung đồng USART 25 ật 18 – RC3 : xuất/nhập số – SCK : ngõ vào xung clock nối tiếp đồng bộ/ngõ chế độ SPI – SCL : ngõ vào xung clock nối tiếp đồng bộ/ ngõ chế độ I2C 17 m RC2/CCP1 – RC2 : xuất/nhập số – CCP1 : ngõ vào Capture 1, ngõ compare 1, ngõ PWM1 Bả o 27 RD4/PSP – RD4: xuất/nhập số – PSP4 : liệu port nhánh song song 28 RD5/PSP5 – RD5: xuất/nhập số – PSP5 : liệu port nhánh song song 29 RD6/PSP6 – RD6: xuất/nhập số – PSP6 : liệu port nhánh song song 30 RD7/PSP7 – RD7: xuất/nhập số – PSP7 : liệu port nhánh song song VSS Chân nối đất 32 VDD Chân nguồn PIC 33 RB0/INT – RB0 : xuất/nhập số – INT : ngắt 34 RB1 xuất/nhập số 35 RB2 xuất/nhập số 36 RB3 – RB3 : xuất/nhập số – Chân cho phép lập trình điện áp thấp ICPS 37 RB4 – xuất/nhập số – Ngắt PortB 31 ật RC7/RX/DT m 26 – RC7 : xuất/nhập số – RX : nhận bất đồng USART – DT : liệu đồng USART Bả 10 – xuất/nhập số – Ngắt PortB RB6/PGC – RB6 : xuất/nhập số – PGC : mạch vi sai xung clock lập trình ICSP – Ngắt PortB RB7/PGD – RB7 : xuất/nhập số – PGD : mạch vi sai liệu lập trình ICSP – Ngắt PortB Bạn thấy hình chân Vi điều khiển PIC có nhiều tên, chân PIC thực nhiều nhiệm vụ Ví dụ, Chân số 25, sử dụng chân số cổng C kỹ thuật số (RC6) sử dụng Bộ phát (TX) cho giao tiếp nối tiếp Vì tùy thuộc vào cách bạn muốn sử dụng chân Trong hướng dẫn này kiểm tra hầu hết chức chân 10 ật 40 RB5 m 39 o 38 Bả 11 o III Sơ đồ nguyên lý : m ật 3.1 Sơ đồ dây : 11 Bả 12 o 3.2 Sơ đồ xếp linh kiện: m ật 3.3 Lưu đồ thuật toán: Start Led A chung kết cổng B, chạy số lẻ tăng dần Chạy số lẻ giảm dần Nhấp nháy số ,5 lần END 3.4 Chương trình : 12 Bả 13 o #include m void main() ật #use delay(crystal=20m) // chương trình { while(TRUE) // vịng lập vô tận { int maled[5]={0xf9,0xb0,0x92,0xf8,0x90}; int i; // bảng mã // khai báo biến i set_tris_b(0x00); // sét cổng b for(i=0;i0; i) // gán i=4 , so sánh i với 0,lớn trừ đơn vị lúc chạy số lẻ giảm dần { output_b(maled[i]); // đưa bảng mã cổng b delay_ms(500); // delay 500ms 13 Bả 14 o } for(i=0;i