Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
5,01 MB
Nội dung
TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN-ĐIỆN TỬ - BÁO CÁO CUỐI KỲ HỌC KÌ I MƠN HỌC: Kỹ thuật vi điều khiển Mã mơn học: 402065 Mã nhóm: TP HỒ CHÍ MINH, THÁNG 12 NĂM 2022 TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN-ĐIỆN TỬ - BÁO CÁO CUỐI KỲ MÔN HỌC: Kỹ thuật vi điều khiển Mã mơn học: 402065 TP HỒ CHÍ MINH, THÁNG 12 NĂM 2022 LỜI CẢM ƠN Khơng có cơng việc thành cơng mà khơng có cố gắng, nỗ lực thân thầy/cơ, bạn bè xung quanh Vì vậy, tơi cần phải cảm ơn nhiều người tuyệt vời công hiến, giúp đỡ họ dự án Tơi xin bày tỏ lịng biết ơn sâu sắc đến thầy Trần Công Thịnh, người thầy nhiệt huyết, đầy tình cảm ln quan tâm, lo lắng đến học sinh, sinh viên Thầy thành cơng việc giảng dạy, hướng dẫn giúp đỡ chúng em suốt trình học tập dự án Cuối cùng, tơi xin cảm ơn cha mẹ gia đình đồng hành ủng hộ suốt trình làm dự án NHẬN XÉT LỜI NÓI ĐẦU Thế kỉ XXI kỉ bùng nổ công nghệ thông tin phát triển vượt bậc ngành khoa học kĩ thuật Sự phát triển kĩ thuật điện tử gắn liền với phát triển kĩ thuật vi điều khiển Ngày nay, kĩ thuật vi điều khiển ứng dụng rộng rãi lĩnh vực kĩ thuật đời sống xã hội, đặc biệt kỹ thuật tự động hóa điều khiển từ xa Hiện tại, vi điều khiển (VĐK) phổ biến Việt Nam ứng dụng nhiều Tuy nhiên, để tìm hiểu rõ vi điều khiển tìm hiểu ứng dụng cụ thể nó, nhóm chúng em thực đề tài “THIẾT KẾ BỘ ĐẾM TẦN SỐ ” Bài báo cáo nhóm chúng em gồm chương: Chương Tổng quan VĐK hiển thị LED đoạn Chương Thiết kế đếm tần số Chương Phần mềm điều khiển Trong trình làm báo cáo, hạn chế thời gian, tài liệu trình độ có hạn nên khơng tránh khỏi có thiếu sót Em mong nhận đóng góp ý kiến thầy bạn để báo cáo nhóm chúng em hoàn thiện MỤC LỤC Contents LỜI CẢM ƠN .3 NHẬN XÉT LỜI NÓI ĐẦU MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN VÀ HIỂN THỊ TRÊN LED ĐOẠN 1.1 VI ĐIỀU KHIỂN: 1.1.1 Sơ đồ khối bảng mô tả chức chân PIC16F877A: .8 Hình 1.1 PIC 16F877A Hình 1.2 Sơ đồ khối PIC 16F877A 1.1.2 Bảng mô tả chức chân PIC16F877A: 10 1.1.3 Tổ chức nhớ: .13 Hình 1.3 Ngăn xếp đồ nhớ chương trình PIC16F877A 13 Hình 1.4 Các ghi PIC 16F877A .15 Hình 1.5 Thanh ghi trạng thái (địa 03h, 83h, 103h, 183h) 16 1.1.4 Hoạt động định thời: 17 Hình 1.6 Sơ đồ định thời Timer0 chia dùng chung với WDT 17 Hình 1.7 Suờn tăng timer1 .20 Hình 1.8 Sơ đồ khối định thời timer1 20 Hình 1.9 Sơ đồ khối TIMER2 21 Hình 1.10 T2CON: Thanh ghi điều khiển Timer2 (địa 12h) .21 1.2 Hiển thị Led đoạn: 22 1.2.1 Led đoạn gì? .22 1.2.2 Cấu tạo: 22 1.2.3 Phân loại LED đoạn: 22 1.2.4 Nguyên lý hoạt động: 22 CHƯƠNG 2: THIẾT KẾ BỘ ĐẾM TẦN SỐ 24 2.1 Mô proteus: 24 Hình 2.1 Mơ proteus 24 CHƯƠNG 3: PHẦN MỀM ĐIỀU KHIỂN .25 Tài liệu tham khảo .28 Document continues below Discover more from: điện-điện tử Đại học Tôn Đức… 319 documents Go to course Mathvn toán cao cấp 160 179 điện-điện tử 100% (4) Focus on Ielts Foundation điện-điện tử 100% (4) Thí nghiệm Vi điều 33 khiển điện-điện tử 100% (4) TDT- BAI TAP AN 10 TOAN DIEN 2020 điện-điện tử 100% (3) Giáo trình An tồn 89 điện Phần - PGS.… điện-điện tử 100% (2) 27 Đo lường điện thiết bị đo - NGÂN… điện-điện tử 100% (2) CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN VÀ HIỂN THỊ TRÊN LED ĐOẠN 1.1 VI ĐIỀU KHIỂN: Hiện vi điều khiển bits họ 8051 có số lượng lớn nhà cung cấp đa dạng Intel, Atmel, Philip… Nhưng mặt tính cơng có thề xem PIC vươt trội nhiều so với 89 với nhiều module tích hợp sẵn ADC 10bits, PWM 10bits, PROM 256 Bytes, COMPARATER, VERF COMPARATER, đặc điểm tất vi điều khiển PIC sử dụng có chuẩn PI tức chuẩn cơng nghiệp thay chuẩn PC (chuẩn dân dụng) Ngồi PIC cịn nhiều nhà sản xuất phần mềm tạo ngôn ngữ hỗ trợ cho việc lập trình ngồi ngơn ngữ Asembly cịn sử dụng ngơn ngữ C sử dụng CCSC, HTPIC hay sử dụng Basic có MirkoBasic… cịn nhiều chương trình khác để hỗ trợ cho việc lập trình bên cạnh ngơn ngữ kinh điển Asembler Nên đề tài chúng em lựa chọn sử dụng vi điều khiển PIC làm điều khiển chính, PIC16F877A 1.1.1 Sơ đồ khối bảng mô tả chức chân PIC16F877A: Hình 1.1 PIC 16F877A Hình 1.2 Sơ đồ khối PIC 16F877A trình bày bảng Các ghi chức đặc biệt chia thành hai loại: phần trung tâm (CPU) phần ngoại vi 1.1.3.5 Các ghi trạng thái: Hình 1.5 Thanh ghi trạng thái (địa 03h, 83h, 103h, 183h) Thanh ghi trạng thái chứa trạng thái số học ALU, trạng thái RESET bits chọn dãy ghi cho nhớ liệu Thanh ghi trạng thái đích cho lệnh nào, giống ghi khác Nếu ghi trang thái đích cho lệnh mà ảnh hƣởng đến cờ Z, DC C, sau bit vơ hiệu hố Những bit đặt xóa tuỳ theo trạng thái logic thiết bị Hơn hai bit TO PD khơng cho phép ghi, kết tập lệnh mà ghi trạng thái đích khác dự định Ví dụ, CLRF STATUS xóa bit cao đặt bit Z 16 Lúc bits ghi trạng thái 000u u1uu (u = unchanged) Chỉ có lệnh BCF, BSF, SWAPF MOVWF đƣợc sử dụng để thay đổi ghi trạng thái, lệnh khơng làm ảnh hưởng đến bit Z, DC C từ ghi trạng thái Đối với lệnh khác khơng ảnh hưởng đến bits trạng thái 1.1.4 Hoạt động định thời: 1.1.4.1 Bộ định thời TIMER0: Bộ định thời/bộ đếm Timer0 có đặc tính sau: Bộ định thời/bộ đếm bits Cho phép đọc ghi Bộ chia bits lập trình đƣợc phần mềm Chọn xung clock nội ngoại Ngắt có tràn từ FFh đến 00h Chọn sườn cho xung clock Sơ đồ khối định thời Timer0 chia dùng chung với WDT đưa hình 1.14 Hình 1.6 Sơ đồ định thời Timer0 chia dùng chung với WDT 17 Chế độ định thời (Timer) chọn cách xố bít T0CS (OPTION_REG) Trong chế độ định thời, định thời Timer0 tăng dần sau chu kì lệnh (khơng có chia) Nếu ghi TmR0 đuợc ghi tăng bị ngăn lại sau hai chu kì lệnh Chế độ đếm (Counter) đuợc chọn cách xoá bit T0CS (OPTION_REG) Trong chế độ đếm, Timer0 tăng dần cạnh lên xuống chân RA4/T0CKI Sự tăng suờn đuợc xác định bit Timer0 Source Edge Select, T0SE (OPTION_RE) Bộ chia đƣợc dùng chung qua lại định thời Timer0 định thời Watchdog Bộ chia không cho phép đọc ghi Ngắt Timer0: Ngắt TMR0 phát ghi TMR0 tràn từ FFh đến 00h Sự tràn đặt bít T0IF (INTCON) Ngắt đƣợc giấu cách xóa bít T0IE (INTCON) Bít T0IF cần phải xóa chương trình thủ tục phục vụ ngắt định thời Timer0 trước ngắt cho phép lại Sử dụng Timer0 với xung clock ngoại: Khi chia khơng sử dụng, clock ngồi đặt vào giống chia ngõ Sự đồng chân T0CKI với clock thực cách lấy mẫu chia ngõ chân Q2 Q4 Vì thực cần thiết để chân T0CKI mức cao chu kỳ máy mức thấp chu kỳ máy Bộ chia: Thiết bị PIC16F87X có chia mà dùng chung định thời TIMER0 định thời Watchdog Bộ chia có hệ số chia dùng cho Timer0 WDT Các hệ số khơng có khả đọc khả viết Để chọn hệ số chia xung vào Timer0 cho WDT ta tiến hành xoá đặt bit PSA ghi OPTION_REG Những bit PS2, PS1, PS0 ghi OPTION_REG dùng để xác lập hệ số chia 18 1.1.4.2 Bộ định thời TIMER1: Bộ định thời TIMER1 định thời/bộ đếm 16 bit gồm hai ghi TMR1H (Byte cao) TMR1L (byte thấp) mà đọc ghi Cặp ghi tăng số đếm từ 0000h đến FFFFh báo tràn xuất có chuyển số đếm từ FFFFh xuống 0000h Ngắt, phép phát có số đếm tràn đặt bit cờ ngắt TMR1IF Ngắt đƣợc phép cấm cách đặt xóa bit cho phép ngắt TMR1IE Bộ định thời Timer1 cấu hình để hoạt động hai chế độ sau: Định thời khoảng thời gian (timer) Đếm kiện (Counter) Việc lựa chọn hai chế độ đƣợc xác định cách đặt xóa bít điều khiển TMR1ON T1CKPS1 T1CKPS0 T1OSCEN T1SYNC Bit7 TMR1CS TMR1ON Bit0 Bit 7, 6: Không định nghĩa Bit 5, 4: Bit chọn chia clock cho timer1 Bit 3: Bit điều khiển cho phép dao động Timer1 Bit 2: Bit điều khiển clock Timer Bit 1: Bit chọn nguồn clock cho Timer1 Bit 0: Bit điều khiển hoạt động Timer1 Chế độ Timer: Chế độ Timer đƣợc chọn cách xóa TMR1CS Trong chế độ này, Nguồn clock đặt vào Timer mạch dao động FOSC/4 Bit điều khiển đồng khơng bị tác động clock ngồi ln ln đồng 19 Hình 1.7 Suờn tăng timer1 Chế độ counter: Trong chế độ này, định thời tăng số đếm qua clock Việc tăng xảy sau sƣờn lên xung clock Bộ định thời phải có sƣờn lên trƣớc việc đếm bắt đầu Hình 1.8 Sơ đồ khối định thời timer1 1.1.4.3 Bộ định thời TIMER2: Bộ định thời TIMER2 định thời bits với đếm potscaler Nó thường dùng chung với CCP chế độ PWM (sẽ đề cập phần sau) Thanh ghi TMR2 đọc ghi đƣợc xóa có tín hiệu reset thiết bị Bộ định thời TIMER2 có ghi chu kỳ bits, PR2 Bộ định thời tăng số đếm lên từ 00h đến giá trị ghi ghi TR2 sau Reset lại giá trị 00h chu kỳ PR2 ghi đọc ghi 20 Giá trị trùng hợp ghi TMR2 qua postscaler bits để phát ngắt TMR2 (được đặt bit cờ ngắt TMR2IF) Bộ định thời TIMER2 tắt (khơng hoạt động) cách xóa bít điều khiển TMR2ON để giảm thiểu công suất tiêu tán nguồn Hình 1.9 Sơ đồ khối TIMER2 Hình 1.10 T2CON: Thanh ghi điều khiển Timer2 (địa 12h) 21 Một đặc điểm khác vi điều khiển Pic16F877A có dao động chủ chip điều khiển, giúp tránh sai số không cần thiết việc tạo xung dao động, vi điều khiển Pic16F877A có khả tự Reset WDT, có thêm 256 byte EEPROM Nhưng giá thành Pic đắt so với 8051 1.2 Hiển thị Led đoạn: 1.2.1 Led đoạn gì? Led đoạn đèn led xếp thành hình chữ nhật Mỗi led đoạn Khi đoạn chiếu sáng phần chữ số (hệ thập phân thập lục phân) hiển thị Đôi có thêm led thứ để biểu thị dấu thập phân có nhiều led đoạn nối với để hiển thị số lớn 10 Led đoạn thiết bị hiển thị điện tử để hiển thị số Khi đoạn chiếu sáng phần chữ số hiển thị Led đoạn sủ dụng rộng rãi tỏng đồng hồ số, máy tính 1.2.2 Cấu tạo: LED đoạn bao gồm LED kết nối song song để thắp sáng hiển thị số “0, 1, 2, 3, 4, 5, 7, 8, 9, A, b, C, d, E, F, …” Mỗi đoạn Led đánh dấu từ A tới G Đoạn thứ tám gọi “chấm thập phân” (Decimal Point) ký hiệu DP sử dụng hiển thị số số nguyên 1.2.3 Phân loại LED đoạn: Dựa vào cực nối, phân loại LED đoạn sau: Loại dương chung (Common Anode): cực dương (anode) tất LED nối với cực âm (cathode) đứng riêng lẻ Loại âm chung (Common Cathode): cực âm (cathode) tất LED nối với cực dương (anode) đứng riêng lẻ 1.2.4 Nguyên lý hoạt động: Nguyên tắc chung : muốn LED sáng LED phải phân cực thuận.Do muốn tạo chữ số ta cần cho LED vị trí tương ứng sáng lên Bảng mô tả cách tạo chữ số để hiển thị lên LED đoạn: 22 Bảng mã hiển thị led đoạn dành cho led đoạn có Anode chung (các led đơn sáng mức 0): Số hiển thị led Mã hiển thị led đoạn Mã hiển thị led đoạn dạng đoạn dạng nhị phân thập lục phân hgfedcba 11000000 C0 11111001 F9 10100100 A4 10110000 B0 10011001 99 10010010 92 11000010 82 11111000 F8 10000000 80 10010000 90 A 10001000 88 B 10000011 83 C 11000110 C6 D 10100001 A1 E 10000110 86 F 10001110 8E 10111111 BF Bảng mã hiển thị led đoạn dành cho led đoạn có Cathode chung (các led đơn sáng mức 1): Số hiển thị led Mã hiển thị led đoạn Mã hiển thị led đoạn dạng đoạn dạng nhị phân thập lục phân 00111111 3F 00000110 06 01011011 5B 01001111 4F 01100110 66 01101101 6D 01111101 7D 00000111 07 01111111 7F 23 A B C D E F - 01101111 01110111 01111100 00111001 01011110 01111001 01110001 01000000 6F 77 7C 39 5E 79 71 40 CHƯƠNG 2: THIẾT KẾ BỘ ĐẾM TẦN SỐ 2.1 Mô proteus: Hình 2.1 Mơ proteus CHƯƠNG 3: PHẦN MỀM ĐIỀU KHIỂN // Tên chương trình : Thiết kế đếm tần số 24 // Phần mềm dịch : CCS // Mô tả phần cứng : Sử dụng PIC 16F877A – Thạch anh 20Mhz // Chân RB0 ngõ vào // Tần số đuợc hiển thị lên Led đoạn (4 Led) #include #Fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20M) #bit TMR1IF=0x0c.0 unsigned int8 ma7doan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; signed int32 bdn,F,xung; #int_timer1 void ngat_timer() { bdn++; set_timer1(3036); if(bdn>=10) { bdn=0; F=xung; xung=0; } } #int_ext 25 void ngat_ngoai() { xung++; } void hien_thi() { unsigned char dv, chuc, tram, ngan; dv=F%10; chuc=(F%100)/10; tram=(F/100)%10; ngan=F/1000; output_d(ma7doan[dv]); output_high(pin_c3); output_low(pin_c3); delay_ms(1); output_d(ma7doan[chuc]); output_high(pin_c2); output_low(pin_c2); delay_ms(1); output_d(ma7doan[tram]); output_high(pin_c1); output_low(pin_c1); delay_ms(1); output_d(ma7doan[ngan]); output_high(pin_c0); output_low(pin_c0); delay_ms(1); } void main() { set_tris_b(0x01); set_tris_c(0x00); set_tris_d(0x00); 26 setup_timer_1(T1_internal|T1_div_by_8); set_timer1(3036); enable_interrupts(global); enable_interrupts(int_ext); enable_interrupts(int_timer1); ext_int_edge(INT_EXT_L2H); xung=0; F=0; while(true) { if(F>9999) { F=0; } hien_thi(); } } 27 Tài liệu tham khảo Phạm Minh Hà (2004), Kỹ thuật mạch điện tử, Nhà xuất Khoa Học Kỹ Thuật Ngô Diên Tập, Vi điều khiển đo lường điều khiển tự động, Khoa Học Kỹ Thuật, Hà Nội Các bạn truy cập vào số trang web sau https://dientu360.com https://www.youtube.com/watch?v=ItNSLtxjmrk&t=847s&ab_channel=%C4%90i %E1%BB%87nT%E1%BB%AD360 https://www.youtube.com/watch?v=aCRK6Y04hW4&t=1369s&ab_channel=H %E1%BB%8CCIT-%C4%90I%E1%BB%86NT%E1%BB%AC http://huynhnhattung.com/ https://ritech.vn/gioi-thieu-ve-led-7-doan-cau-tao-phan-loai-va-cach-dieu-khien/ https://microcontrollerslab.com/pic16f877a-introduction-features/ 28 More from: điện-điện tử Đại học Tôn Đức… 319 documents Go to course 160 179 Mathvn toán cao cấp điệnđiện tử 100% (4) Focus on Ielts Foundation điệnđiện tử 100% (4) Thí nghiệm Vi 33 điều khiển điệnđiện tử 100% (4) TDT- BAI TAP AN 10 TOAN DIEN 2020 điệnđiện tử 100% (3) Recommended for you Lê Dĩ Hào [ Video học điện-điện tử 100% (1) ĐẠI SỐ Boole hệ 15 thống số điện-điện tử 100% (1) Báo cáo cuối kỳ 29 29 Báo cáo cuối kì… định hướng… 100% (1) 722003 45 VÕ THỊ HỒNG PHẤN… định hướng… 100% (1)