Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
699,57 KB
Nội dung
- Hiển thị đếm lên 0→50, 0,3 giây tăng đơn vị Khi đếm đến 50 đếm lùi từ 50→0 gây giảm đơn vị→Lặp lại q trình vơ tận Khi nhấn nút nhấn sau 0.5s Led đơn sáng, nhả phím tắt BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬNTẢI KHOA ĐIỆN – ĐIỆN TỬ - BÀI TẬP LỚN VI XỬ LÝ ĐỀ TÀI : Hãy thiết kế sơ đồ ghép nối Led đoạn với Pic16f877A nút nhấn Viết chương trình thực đồng thời nhiệm vụ sau: - Hiển thị đếm lên 0→50, 0,3 giây tăng đơn vị Khi đếm đến 50 đếm lùi từ 50→0 gây giảm đơn vị→Lặp lại q trình vơ tận - Khi nhấn nút nhấn sau 0.5s Led đơn sáng, nhả phím tắt Giảng viên hướng dẫn : TS.VÕ THIỆN LĨNH Sinh viên thực hiện: Đặng Văn Huỳnh MSSV: 6151030048 Lớp : Kỹ thuật điều khiển tự động hóa Khóa: 61 TPHCM, ngày 23 tháng 11 năm 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬNTẢI KHOA ĐIỆN – ĐIỆN TỬ BÀI TẬP LỚN VI XỬ LÝ - ĐỀ TÀI : : Hãy thiết kế sơ đồ ghép nối Led đoạn với Pic16f877A nút nhấn Viết chương trình thực đồng thời nhiệm vụ sau: - Hiển thị đếm lên 0→50, 0,3 giây tăng đơn vị Khi đếm đến 50 đếm lùi từ 50→0 gây giảm đơn vị→Lặp lại trình vơ tận - Khi nhấn nút nhấn sau 0.5s Led đơn sáng, nhả phím tắt Giảng viên hướng dẫn : TS.VÕ THIỆN LĨNH Sinh viên thực hiện: Đặng Văn Huỳnh MSSV: 6151030048 Lớp : Kỹ thuật điều khiển tự động hóa Khóa: 61 Nhóm: 10 TPHCM, ngày 23 tháng 11 năm 2022 MỤC LỤC LỜI MỞ ĐẦU……………………………………………………………….1 CHƯƠNG I GIỚI THIỆU ĐỀ TÀI………………………………………3 1.1 CHỨC NĂNG CỦA MẠCH ĐIỆN 1.2 MÔ TẢ MẠCH ĐIỆN CHƯƠNG II: CÁC LINH KIỆN BÀI TẬP…………………………… 2.1 Vi điều khiển 2.2.TỔNG QUAN PIC 16F877A 2.3.1.Đặc điểm bật PIC 16F877A 2.3.2.Các cổng vào chức chân 2.3.4.Các loại ngắt PIC 16F877A 2.3.5 Bộ định thời PIC 16F877A 2.3.6 Tổ chức nhớ 2.3.7 PORT A (RA) 2.3.8 PORT B (RB) 2.3.9 PORT C (RC) 2.3.10 PORT D (RD) 2.3.11 PORT E (RE) 2.4 Giao tiếp UART PIC 16F877A CHƯƠNG III : THIẾT KẾ MẠCH TRÊN PROTEUS……………… MẠCH MÔ PHỎNG PHỤ LỤC………………………………………………………………… 12 1.CÁC PHẦN MỀM TRONG BÀI TẬP LỚN 2.CODE CHƯƠNG TRÌNH CHO VI ĐIỀU KHIỂN CHƯƠNG 5: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN……………… 14 5.1.KẾT QUẢ ĐẠT ĐƯỢC 5.2.CHƯA ĐẠT ĐƯỢC 5.3.THUẬN LỢI 5.4.KHÓ KHĂN 5.5.HƯỚNG PHÁT TRIỂN LỜI MỞ ĐẦU - Việt nam nước đường phát triển hòa nhập vào phát triển “WTO” tạo thay đổi mặt kinh tế xã hội nước ta Tạo hội cho học sinh – sinh viên chúng em tiếp cận nắm bắt nhiều thành tựu vĩ giới, đặc biệt lĩnh vực khoa học kỹ thuật nói chung ngành điện tử nói riêng - Ngay ngày khai sinh công nghệ vi điều khiển nói riêng ngành điện tử nói chung tạo nhiều bước đột phá mẽ cho ngành kinh tế khác đảm bảo yêu cầu người dùng chất lượng dịch vụ Đồng thời kiến thức kĩ thuật thiếu đến với sinh viên, sinh viên ngành điện tử - Thế hệ trẻ chúng em không tự phấn đấu học hỏi chúng em sớm lạc hậu nhanh chống bị đẩy lùi Nhìn thấy điều trường: “ĐẠI HỌC GTVT PHÂN HIỆU TẠI TP.HCM” sớm chủ trương hình thức đào tạo sâu rộng, từ thấp đến cao Để tăng chất lượng học tập sinh viên nhà trường nói chung trung tâm điện tử nói riêng tổ chức cho sinh viên làm đồ án môn học nhằm tạo tảng vửng cho sinh viên trường, đáp ứng nhu cầu tuyển dụng việc làm Chính chúng em chọn đề tài: “đề tài: : Hãy thiết kế sơ đồ ghép nối Led đoạn với Pic16f877A nút nhấn Viết chương trình thực đồng thời nhiệm vụ sau: - Hiển thị đếm lên 0→50, 0,3 giây tăng đơn vị Khi đếm đến 50 đếm lùi từ 50→0 gây giảm đơn vị→Lặp lại trình vơ tận - Khi nhấn nút nhấn sau 0.5s Led đơn sáng, nhả phím tắt - Chọn mạch ứng dụng Pic16F877A để mô + thi công - Dưới hướng dẫn thầy VÕ THIỆN LĨNH, em thực đề tài - Sau thời gian nổ lực nghiêng cứu, dẫn thầy VÕ THIỆN LĨNH nhóm em hoàn thành đề tài giao Dưới tiểu luận báo cáo kết nghiêng cứu nhóm em, dã nổ lực q trình làm cịn nhiều sai sót thực đề tài, trình độ hiểu biết cịn hạn chế nên đề tài cịn nhiều sai sót, nhóm chúng em mong giúp đỡ thầy để em hồn thành q trình học tốt 3 CHƯƠNG I GIỚI THIỆU ĐỀ TÀI 1.1 Chức mạch điện 1.1.1 Yêu cầu 1: - Hiển thị đếm lên 0→50, 0,3 giây tăng đơn vị Khi đếm đến 50 đếm lùi từ 50→0 gây giảm đơn vị→Lặp lại q trình vơ tận - Khi nhấn nút nhấn sau 0.5s Led đơn sáng, nhả phím tắt 1.1.2 u cầu 2: Chọn mạch ứng dụng Pic16F877A để mô + thi cơng 1.2 MƠ TẢ MẠCH ĐIỆN - VIRTUAL TERMINAL - Vi điều khiển dùng PIC 16F877A - Dùng thạch anh 4MHz để tạo dao động cho PIC 4 CHƯƠNG II: CÁC LINH KIỆN BÀI TẬP 2.1 Vi ĐIỀU KHIỂN Vi điều khiển máy tính tích hợp chip, thường sử dụng để điều khiển thiết bị điện tử Vi điều khiển, thực chất, hệ thống bao gồm vi xử lý có hiệu suất đủ dùng giá thành thấp (khác với vi xử lý đa dùng máy tính) kết hợp với khối ngoại vi nhớ, module vào/ra, module biến đổi số sang tương tự tương tự sang số, Ở máy tính module thường xây dựng chip mạch 2.2.Tổng quan PIC 16F877A Hình 2.2 : Sơ đồ chân PIC16F877a 2.2.1.Đặc điểm bật PIC 16F877A - Tập lệnh gồm 35 lệnh có độ dài 14 bit - Tốc độ hoạt động tối đa 20 MHZ với chu kì lệnh 200ns - Bộ nhớ chương trình 8Kx14 bit, nhớ liệu 368x8 byte RAM, nhớ EPPROM 258x8 byte 5 - Số port I/O với 33 PIN I/O - Có 15 ngắt - timer ( timer 0, timer 1, timer 2) - capture/ so sánh/ điều chế độ rộng xung - Chuẩn giao tiếp I2C, SSP, SPI, UART - kênh chuyển đổi ADC 10 bit - Hai so sánh 2.2.2.Các cổng vào chức chân - cổng vào + PORT A ( RA0-RA5) : chân + PORT B ( RB0-RB7) : chân + PORT C ( RC0-RC7) : chân + PORT D (RD0-RD7) : chân + PORT E ( RE0-RE2) : chân + chân cấp nguồn : AVDD, AVSS, VDD, VSS - Chức chân: o + OSC1/CLKI (13) OSC2/CLKO (14) dùng mắc thạch anh cho mạch, tạo xung nhịp cho vi điều khiển PIC16F877A o + Chân MCLR/VPP (1) chân Reset làm chân đặt điện áp Vpp cho vi điều khiển PIC16F877A o + Các chân (2,3,4,5,7,8,9,10) sử dụng làm chân IN/OUT tín hiệu số INPUT tín hiệu tương tự Ngồi chân (4) (5) cịn sử dụng làm chân điện áp tham chiếu A/D Chân (4), (6) (7) sử dụng cho so sánh o + Chân (12) chân (31) dùng để cung cấp điện áp Vss=0 cho vi mạch PIC16F877A điện áp Vss=0 cho chân I/O o + Chân (11) chân (32) dùng để cung cấp điện áp Vdd=5V cho vi mạch PIC16F877A điện áp Vdd=5V cho chân I/O 6 o + Chân (15),(16) làm chân I/O tín hiệu số chân T1OSO/T1CKI ngõ vào dao động, xung clock Timer1 o +Chân (16) làm chân Capture2 input/Compare2 output/PWM2 output o + Chân (17) dùng làm chân I/O tín hiệu số làm chân Capture1 - input/Compare1 output/PWM1 output o + Chân (18) (23), (24) dùng làm chân I/O tín hiệu số truyền thông SPI, I2C o + Chân (25),(26) dùng làm chân I/O tín hiệu số UART o + Chân (19),(20) dùng làm chân I/O tín hiệu số Master/Slaver o + Chân (21,22,27,28,29,30) dùng làm chân I/O tín hiệu số Master/Slaver.Cấp nguồn cho PIC 16F877A - Không cấp nguồn xung, cấp nguồn tuyến tính - Cấp nguồn cho tất chân Vss/Vdd PIC Mỗi cặp chân Vss/Vdd gắn thêm tụ 104 pF sát chân Vss/Vdd để chống nhiễu 2.2.4.Các loại ngắt PIC 16F877A - Ngắt chung - Chuyển đổi ADC - Nút bấm - Có capture hay compare CCP1 CCP2 - Ngắt - … 2.2.5 Bộ định thời PIC 16F877A - Timer ( bit) : chọn chức định thời/ đếm phần mềm, đọc ghi, nguồn clock nội ngoại, xảy ngắt tràn - Timer (16 bit) : gồm ghi bit ( TMR1H, TMR1L ) đọc ghi được, ngắt TMR1 phát sinh xảy tràn chốt TMR1IF, kích hoạt/xóa cách set/reset bit điều khiển TMR1ON - Timer : định thời bit có hai chia tần số Prescaler Postscaler, sử dụng PWM cho chế độ PWM chế độ CCP, ghi TMR2 đọc, ghi xóa Reset 7 2.2.6 Tổ chức nhớ - Gồm phần: + Bộ nhớ chương trình + Bộ nhớ liệu RAM + Bộ nhớ liệu EEPROM 2.2.7 PORT A (RA) - Là cổng bit, set input output tùy vào ghi TRISA - Ngõ vào đầu vào analog - RA4 – ngõ vào xung clock timer - Đầu vào điện áp Vref cho chuyển đổi A/D so sánh 2.2.8 PORT B (RB) - PORTB cổng có bit input output - PORTB-RB chân tín hiệu vào ngắt ngồi RB0/INT 2.2.9 PORT C (RC) - PORTC cổng có bit input output - PORTC-RC chân chức so sánh, Timer1, điều chế độ rộng xung PWM chuẩn giao tiếp truyền thông I2C, SPI, SSP, USART 2.2.10 PORT D (RD) - PORTD cổng có bit input output - PORTD-RD cấu hình cổng song song bit vi điều - khiển cách đặt chế độ PSPMODE 2.2.11 PORT E (RE) - PORTE cổng có bit input output 8 - PORTE-RE sử dụng để cấu hình cho cổng PORTD hoạt động chế độ PSPMODE 2.4 Giao tiếp UART PIC 16F877A UART viết tắt Universal Asynchronous Receiver – Transmitter Thường mạch tích hợp sử dụng việc truyền dẫn liệu nối tiếp máy tính thiết bị ngoại vi Rất nhiều vi điều khiển tích hợp UART, vấn đề tốc độ độ điện dụng UART so sánh với giao tiếp nên dịng PC & Laptop đời khơng cịn tích hợp cổng UART Như bạn biết giao tiếp SPI I2C có dây truyền liệu dây sử dụng để truyền xung clock (SCL) để đồng giao tiếp Với UART khơng có dây SCL, vấn đề giải mà việc truyền UART dùng vi xử lý với nhau, đồng nghĩa với việc vi xử lý tự tạo xung clock cho xử dụng Để bắt đầu cho việc truyền liệu UART, START bit gửi đi, sau bit liệu kết thúc trình truyền STOP bit Như hình bạn thấy Khi trạng thái chờ mức điện mức (high) Khi bắt đầu truyền START bit sẻ chuyển từ xuống để báo hiệu cho nhận trình truyền liệu xảy Sau START bit đến bit liệu D0-D7 (Theo hình vẽ bit mức High or Low tùy theo liệu) Sau truyền hết liệu đến Bit Parity để nhận kiểm tra tính đắn liệu truyền (vấn đề giải thích rõ tài liệu CRC thời gian tới) Cuối STOP bit báo cho thiết bị bit gửi xong Thiết bị nhận tiến hành kiểm tra khung truyền nhằm đảm báo tính đắn liệu Các thông số truyền nhận UART: - Baund rate (tốc độ baund ): Khoảng thời gian dành cho bit truyền Phải cài đặt giống gửi nhận - Frame (khung truyền ): Khung truyền quy định số bit lần truyền - Start bit : bit truyền Frame Báo hiệu cho thiết bị nhận có gói liệu đc truyền đến Bit bắt buộc - Data : liệu cần truyền Bit có trọng số nhỏ LSB truyền trước sau đến bit MSB 9 - Parity bit : kiểm tra liệu truyền có khơng - Stop bit : bit báo cho thiết bị bit gửi xong Thiết bị nhận tiến hành kiểm tra khung truyền nhằm đảm bảo tính đắn liệu Bit bắt buộc 10 CHƯƠNG III : THIẾT KẾ MẠCH TRÊN PROTEUS MẠCH MƠ PHỎNG Hình :Mạch mơ 11 PHỤ LỤC 1.Các phần mềm tập lớn Protues 8.0 Professional PIC-C Compiler (CCS) 2.Code chương trình cho vi điều khiển #include void main() // chuong trinh chinh { so_dem=0; set_timer1(-62500); //0.2*62500*8 = 100ms setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); enable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL); while(TRUE) // vong lap vo han { output_b(ma7doan[so_dem/10%10]&cham); // xuât ma LED doan hang chuc port B output_c(ma7doan[so_dem%10]); // xuât ma LED doan hang don vi port C if(input(pin_d1)==0) 12 { if(bat_led==0) { bat_led=1; dem_bat_led=0; } } else { bat_led=0; output_low(pin_d0); } } } //======================================== int8 ngat=0; #int_timer1 // 0.2*62500*8 = 100ms void ngat_timer1() { set_timer1(-62499); //(0.2us) if(bat_led==1) { if(dem_bat_led2) { ngat=0; so_dem++; if(so_dem>=50) // neu so dem > 99 { giam_tang=0; } } } else { if(ngat>9) { ngat=0; 14 so_dem ; if(so_dem==0) // neu so dem > 99 { giam_tang=1; } } } } CHƯƠNG 5: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt Trong suốt khoảng thời gian nghiên cứu thực tập lớn, nhóm cố gắng làm hết khả thời gian làm có hạn nên kết đạt cịn nhiều hạn chế nhóm học hỏi nhiều kiến thức mẻ linh kiện lập trình dựa CCS mô dựa phần mềm protues 5.2 Chưa đạt Chưa thi công mạch thực tế 5.3 Thuận lợi - Chúng em phân tích dự án dựa thơng tin thu thập bám sát vào yêu cầu toàn - Chương trình đảm bảo lưu trữ thơng tin cần thiết hệ thống - Đọc hiểu thứ có sẵn PIC16F877A - Được học hỏi tìm tị thứ chưa gặp tiếp xúc 5.4 Khó khăn - Lần đầu thi cơng làm mạch - Thiếu thiết bị hổ trợ thi công mạch 5.5.Hướng phát triển - Cần cải thiện nâng cấp phần mềm lập trình để đạt tới suất tốt 15 - Tiếp tục phát triển hoàn thiện hệ thống giúp cho người dùng sử dụng tốt đảm bảo an toàn tuyệt đối - Thi công thiết kế nhiều mạch khác -HẾT - ... – ĐIỆN TỬ BÀI TẬP LỚN VI XỬ LÝ - ĐỀ TÀI : : Hãy thiết kế sơ đồ ghép nối Led đoạn với Pic16f 877 A nút nhấn Viết chương trình thực đồng thời nhiệm vụ sau: - Hiển thị đếm lên 0→50, 0,3 giây tăng... TẬP…………………………… 2. 1 Vi điều khiển 2. 2.TỔNG QUAN PIC 16F 877 A 2. 3.1.Đặc điểm bật PIC 16F 877 A 2. 3 .2. Các cổng vào chức chân 2. 3.4.Các loại ngắt PIC 16F 877 A 2. 3.5 Bộ định thời PIC 16F 877 A 2. 3.6 Tổ chức nhớ 2. 3 .7. .. PIC 16F 877 A Hình 2. 2 : Sơ đồ chân PIC16F 877 a 2. 2.1.Đặc điểm bật PIC 16F 877 A - Tập lệnh gồm 35 lệnh có độ dài 14 bit - Tốc độ hoạt động tối đa 20 MHZ với chu kì lệnh 20 0ns - Bộ nhớ chương trình