ứng dụng vi điều khiển pic 16f877a trong thí nghiệm vật lí phổ thông

91 543 0
ứng dụng vi điều khiển pic 16f877a trong thí nghiệm vật lí phổ thô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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH KHOA VẬT LÝ NGUYỄN HUỲNH DUY KHANG ỨNG DỤNG VI ĐIỀU KHIỂN PIC 16F877A TRONG THÍ NGHIỆM VẬT LÍ PHỔ THÔNG Ngành: SƯ PHẠM VẬT LÝ Mã số: 102 NGƯỜI HƯỚNG DẪN KHOA HỌC GV TRẦN ĐẶNG BẢO ÂN Tp Hồ Chí Minh, 2013 LỜI CẢM ƠN Đ ể hoàn thành luận văn tốt nghiệp Đại học này, trước hết, em xin gửi lời cảm ơn sâu sắc đến GV Trần Đặng Bảo Ân – Bộ môn Vật lý Ứng dụng – Trường Đại Học Sư Phạm Thành Phố Hồ Chí Minh, người tận tình hướng dẫn, bảo em suốt trình nghiên cứu, thực luận văn giành hết tâm huyết, thời gian quí báu em điều kiện tốt hoàn thành luận văn Em xin chân thành cảm ơn Ban chủ nhiệm Khoa Vật lý, thầy cô Khoa Vật lý Trường Đại Học Sư Phạm Thành Phố Hồ Chí Minh – người trang bị cho em kiến thức hữu ích giúp em hoàn thành luận văn Cuối cùng, xin gửi lời cảm ơn đến gia đình, bạn bè động viên, chia sẻ, giúp đỡ nhiệt tình đóng góp nhiều ý kiến quí báu giúp em hoàn thành luận văn MỤC LỤC MỤC LỤC .3 DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC BẢNG 11 MỞ ĐẦU 14 Giới thiệu chung 14 Mục đích đề tài 15 Đối tượng nghiên cứu phạm vi nghiên cứu 15 Nội dung nghiên cứu .15 Phương pháp nghiên cứu .16 CHƯƠNG 1: TỔNG QUAN VI ĐIỀU KHIỂN PIC 1.1 GIỚI THIỆU CHUNG 17 1.2 KIẾN TRÚC PIC 18 17 1.3 RISC VÀ CISC .19 1.4 PIPELINING 20 1.5 NGÔN NGỮ LẬP TRÌNH CHO PIC 22 1.6 MẠCH NẠP PIC 23 CHƯƠNG 2: VI ĐIỀU KHIỂN PIC 16F877A 2.1 SƠ ĐỒ CHÂN .25 2.2 CÁC THÔNG SỐ CỦA PIC 16F877A 25 2.3 CÁC MODUL VI ĐIỀU KHIỂN PIC 16F877A 27 CHƯƠNG 3: CÁC LINH KIỆN ĐIỆN TỬ LIÊN QUAN 3.1 HIỂN THỊ LCD 40 3.2 MA TRẬN BÀN PHÍM 44 25 40 3.3 IC MAX – 232 45 3.4 IC LM – 324 46 3.5 THẠCH ANH ĐIỆN TỬ 47 CHƯƠNG 4:ỨNG DỤNG VI ĐIỀU KHIỂN PIC 16F877A TRONG THÍ NGHIỆM VẬT LÍ PHỔ TH 4.1 TỔNG QUAN 49 4.2 DỤNG CỤ ĐO VÀ XỬ LÍ THỜI GIAN SỬ DỤNG PIC 16F877A 50 4.3 KHỐI XỬ LÍ TRUNG TÂM PIC 16F877A 50 4.4 ĐÁNH GIÁ SAI SỐ .61 CHƯƠNG 5: KẾT QUẢ NGHIÊN CỨU VÀ KẾT LUẬN 5.1 XÁC ĐỊNH CHU KÌ CON LẮC ĐƠN .66 5.2 XÁC ĐỊNH GIA TỐC RƠI TỰ DO 68 5.3 XÁC ĐỊNH HỆ SỐ MA SÁT TRƯỢT 71 5.4 XÁC ĐỊNH VẬN TỐC TRUNG BÌNH, VẬN TỐC TỨC THỜI 75 5.5 KẾT LUẬN 79 5.6 HƯỚNG PHÁT TRIỂN .79 TÀI LIỆU THAM KHẢO 81 PHỤ LỤC 83 66 DANH MỤC CÁC HÌNH VẼ 1.1 1.2 2.1 2.2 2.3 2.4 2.5 2.6 3.1 Kiến trúc Von – Neuman 1 Kiến trúc Harvard Vi điều khiển PIC 16F877A đồ chân PIC 16F877A Sơ Các modul PIC 16F877A sử dụng Sơ đồ logic ngắt vi điều khiển PIC 16F877A Sơ đồ khối truyền liệu USART đồ khối nhận liệu USART Sơ LCD 20×4 3.2 3.3 3.4 3.5 3.6 3.7 3.8 4.1 4.2 Sơ đồ chân LCD 20×4 Ma trận bàn phím 4×4 Sơ đồ ma trận bàn phím 4×4 IC Max – 232 Sơ đồ chân IC LM – 324 IC LM – 324 Sơ đồ chân IC LM – 324 Kiểm tra phận testboard Proteus Quá trình thực 4.3 4.4 4.5 4.6 Sơ đồ khối dụng cụ đo xử lý thời gian Lưu đồ chương trình Lưu đồ chương trình con: (a) lắc đơn; (b) rơi tự Lưu đồ chương trình con: (a) Hệ số ma sát; (b) Chuyển động thẳng 4.7 4.8 4.9 Code bẫy lỗi cho vi điều khiển PIC 16F877A 4 Cạnh tác động TMR1H:TMR1L 4 Bộ định thời cho PIC 16F877A 4.10 Giao tiếp RS232 qua IC Max – 232 4.11 Giao diện giao tiếp với máy tính cho PIC 16F877A 4.12 Thí nghiệm lắc đơn dùng giao tiếp máy tính 4.13 Cổng quang điện nam châm 4.14 Ngắt 4.15 Ma trận bàn phím 4×4 4.16 Hiển thị LCD 4.17 Cấu trúc liệu kiểu số thực 32 bits 4.18 Sai số code lập trình 4.19 Kết đo máy MC – 964 sau: (a) chu kì; (b) chu kì 4.20 Đồ thị so sánh sai số tỉ đối máy đo thời gian số MC – 964 máy đo xử lí thời gian sử dụng PIC 16F877A 5.1 5.2 5.3 5.4 Đo chu kì lắc đơn 5 Sự rơi tự Đo gia tốc rơi tự Đồ thị so sánh gia tốc rơi tự máy đo thời gian số MC – 964 máy đo xử lí thời gian sử dụng PIC 16F877A 5.5 5.6 5.7 Chuyển động vật mặt phẳng nghiêng Xác định hệ số ma sát trượt Đồ thị so sánh hệ số ma sát máy đo thời gian số MC – 964 máy đo sử dụng PIC 16F877A 5.8 5.9 Xác định vận tốc trung bình, vận tốc tức thời Đồ thị so sánh vận tốc tức thời (hình 5.9a) vận tốc trung bình (hình 5.9b) máy đo thời gian số MC – 964 máy đo 10 xử lí thời gian sử dụng PIC 16F877A 77 Dùng thước kẹp đo đường kính d viên bi, nhập giá trị d vào máy đo qua ma trận bàn phím hay máy tính cá nhân, từ tính vận tốc tức thời bi nơi đặt hai cổng quang điện là: = v1 d d = , v2 (6.8) t1 t2  Đo vận tốc trung bình viên bi quãng đường khác Cho nam châm hút giữ bi thép Dịch chuyển hai cổng quang đến vị trí cách khoảng s = 30 cm Đo đoạn đường chuyển động, nhập giá trị s vào máy đo qua ma trận bàn phím hay máy tính cá nhân Nhấn nút công tắc cho nam châm nhả bi thép Khi bi đến cổng quang 1, máy đo bắt đầu đếm Tiếp tục chuyển động, bi đến cổng quang đồng hồ ngừng đếm Đồng hồ t thời gian viên bi ngãng đường s từ cổng quang đến Ghi nhận giá trị thời gian t v tb , điền số liệu thu vào bảng 5.7 Giữa nguyên cổng quang 1, dịch chuyển cổng quang xa cổng quang lần cm Lặp lại động tác Hoàn thành bảng số liệu 5.7 Bảng 5.7: Xác định vận tốc tức thời vận tốc trung bình Lần t (s) vtt = d t1 (m/s) Vận tốc tức thời: v tt = ± m/s d = ± mm ∆v tt (m/s) s (cm) 𝑡 (s) vtb = d t (m/s) Vận tốc trung bình: v tb = ± m/s ∆v tb (m/s) 78 5.4.6 Kết thí nghiệm đo thí nghiệm tự chế tạo Bảng 5.8: Xác định vận tốc tức thời vận tốc trung bình Lần t (s) vtt = d t1 d = 20,70± 0,02 mm ∆v tt s (cm) vtb = 𝑡 (s) d t ∆v tb (m/s) (m/s) (m/s) (m/s) 0,034 0,609 0,007 30 0,520 0,577 0,001 0,034 0,609 0,007 30 0,520 0,577 0,001 0,033 0,627 0,011 50 0,869 0,575 0,001 0,034 0,609 0,007 30 0,521 0,577 0,001 0,033 0,627 0,011 50 0,869 0,575 0,001 Vận tốc tức thời: Vận tốc trung bình: v tt = 0,616± 0,009 m/s v tb = 0,576± 0,001 m/s So sánh kết thu với kết đo máy MC – 964 ta đồ thị hình 5.9 a) b) Hình 5.9: Đồ thị so sánh vận tốc tức thời (hình 5.9a) vận tốc trung bình (hình 5.9b) máy đo thời gian số MC – 964 máy đo xử lí thời gian sử dụng PIC 16F877A 79 Máy MC-964 mắc sai số lớn đo thời gian ngắn (thời gian viên chắn cổng quang điện) độ xác cao đo thời gian lớn nên giá trị vận tốc tức thời đo hai máy có chênh lệch rõ đồ thị hình 5.9a Trong đó, vận tốc trung bình thời gian tương đối lớn nên kết hai máy thu (đồ thị hình 5.9b) 5.5 KẾT LUẬN Từ việc nghiên cứu kiến thức điện – điện tử vi điều khiển, đã: - Thiết kế dụng cụ đo xử lý thời gian dùng vi điểu khiển PIC 16F877A - Các thông tin đo gián tiếp bên kết trình xử lý nhập xuất dễ dàng, làm tăng tính mềm dẻo, động cho thiết bị - Máy đo xử lý thời gian dùng vi điểu khiển PIC 16F877A có khả làm việc xử lý kết thu dựa vào nguồn code nạp sẵn làm tăng tính tự động cho thiết bị Đây dụng cụ giúp tối ưu hóa thí nghiệm minh họa lớp - So với đồng hồ đếm hiển thị thời gian số MC – 964, thiết bị tỏ vượt trội khả đo thời gian với độ xác cao hơn, xử lý kết trung gian (tính gia tốc, hệ số ma sát, chu kì, ), giao tiếp linh hoạt với người dùng - Máy đo xử lý thời gian dùng vi điểu khiển PIC 16F877A có khả loại nhiễu tốt nhờ vào hệ thống code bẫy lỗi, tạo độ tin cậy cao trình đo đạc tính toán 5.6 HƯỚNG PHÁT TRIỂN Tuy có lợi trên, dụng cụ đo xử lý thời gian dùng vi điểu khiển PIC 16F877A chưa thể tự nạp chương trình trực tiếp qua máy tính cá nhân dừng lại đo đạc thí nghiệm học đơn giản dùng đến cổng hồng ngoại nam châm điện Vì vậy, đề tài phát triển theo hướng mở 80 rộng cho thí nghiệm quang học, điện học nhiều thí nghiệm khác chương trình vật lý trung học phổ thông 81 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Trần Đặng Bảo Ân (2011), Xây dựng thí nghiệm khảo sát chuyển động vật tác dụng trọng trường [2] KS.Đỗ Thanh Hải, KS.Ngô Thanh Hải (2003), Nguyên lý ứng dụng mạch điện tử, Nhà xuất niên [3] ThS.Dương Xuân Quý (2010), Vấn đề sử dụng thiết bị thí nghiệm vật lý trường phổ thông thực trạng giải pháp, Tạp chí thiết bị giáo dục số 61 Tiếng Anh [4] Martin P.Bates (2007), Programming 8-Bit PIC Microcontroller in C with interactive Hardware Simulation, www.newnespress.com [5] Lucio Di Jasio (2007), Programming 16-Bit PIC Microcontroller in C Learning to Fly the PIC24, www.elsevier.com [6] Microchip Technology (2003), Microchip PIC16F877A Data sheet 28/40/44-Pin enhanced flash Microcontrollers [7] http://www.alldatasheet.com/datasheet- pdf/pdf/81905/ETC/RS232.html [8] http://pdf1.alldatasheet.com/datasheet- pdf/view/251985/VISHAY/LCD-020M004B.html [9] http://pdf1.alldatasheet.com/datasheet-pdf/view/17871/PHILIPS/ LM324.html [10] http://pdf1.alldatasheet.com/datasheet-pdf/view/25385/ STMICROELECTRONICS/TL084.html [11] http://pdf1.alldatasheet.com/datasheet-pdf/view/398144/ QUARTZCOM/SMX-415.html [12] http://www.instructables.com/id/Simple-JDM-PIC-Programmer [13] http://www.junun.org/MarkIII/Warp13a.jsp 82 [14] USB https://www.olimex.com/Products/PIC/Programmers/PIC-MCP- [15] http://www.oz1bxm.dk/PIC/P16PRO40.htm [16] http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE &nodeId=1406&dDocName=en010020 [17] http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE & nodeId=1406&dDocName=en019469&part=SW007002 [18] http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE & nodeId=1406&dDocName=en010019&part=DV007003 83 PHỤ LỤC Phụ lục 1: Code_for_PIC_16F877A.ccs #include "16f877a.h" float l,d,T,g,tg,tg2,tg3,goc,hs,vt,a; #fuses hs,nowdt,put float const PI2=6.283185; #include "math.h" #priority #use delay(clock=20M) #include "lcd_lib_8bit.c" #use rs232 (baud=9600, xmit=PIN_C6,rcv=PIN_C7,bits=8) #use fast_io(A) #use fast_io(B) #use fast_io(C) int16 x,m,s; int_Timer0,int_Ext,int_CCP1,int_Timer1,int_R da #int_Ext void ngat_B0() { while(B0!=1){}; Set_Timer1(0); #use fast_io(D) A1=0;m=0;y=0;z=1; #byte porta =0x05 Disable_Interrupts(Int_Ext); #byte portb =0x06 Enable_Interrupts(Int_Ccp1); #byte portc =0x07 Clear_Interrupt(Int_Ccp1); #byte portd =0x08 Enable_Interrupts(Int_Timer0); #byte porte =0x09 #bit A0 =porta.0 #bit A1 =porta.1 #bit E0 =porte.0 #bit B0 =portb.0 #bit B1 =portb.1 #bit B2 =portb.2 #bit B3 =portb.3 #bit B4 =portb.4 #bit B5 =portb.5 #bit B6 =portb.6 #bit B7 =portb.7 #bit TMR1IF = 0x0c.0 int1 y,z; int8 k,so,so_1,so_2; int8 nghin,tram,chuc,don_vi; int8 n,lan,nT; Set_Timer0(255); Clear_Interrupt(Int_Timer0); } #int_CCP1 void ngat_CCP1() { if (get_timer1()[...]... đến các thiết bị công nghiệp trong các dây chuyền sản xuất tự động, hệ thống đo lường, giám sát, nơi nào chúng ta cũng đều thấy sự có mặt của vi điều khiển Xuất phát từ những lí do trên, tôi quyết định sử dụng vi điều khiển vào thiết kế bộ dụng cụ phụ vụ các bài thí nghiệm chứng minh vật lí phổ thông qua đề tài: Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông 15 2 Mục đích đề tài... thức vi điều khiển nói chung và vi điều khiển PIC 16F877A nói riêng: cấu trúc phần cứng, cách hoạt động của vi điều khiển, cách lập trình vi t code cho vi điều khiển, các ứng dụng, - Trên cơ sở các kiến thức đó, thiết kế và tạo ra được dụng cụ đo đạc thời gian và xử lí dữ liệu dùng trong khảo sát các thí nghiệm cơ học thuộc chương trình vật lí trung học phổ thông - So sánh với các thiết bị thí nghiệm. .. cạnh đó một số vi điều khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm chữ A ở cuối là flash Ví dụ: PIC1 6F877 là EEPROM PIC1 6F877A là flash Ngoài ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC, dsPIC giống như PIC2 4, là các vi điều khiển 16 bit Ở Vi t Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất 1.2 KIẾN TRÚC PIC Cấu trúc phần cứng của một vi điều khiển được thiết kế...11 DANH MỤC CÁC BẢNG 1.1 2.1 2.2 2.3 2.4 2.5 3.1 3.2 Cơ chế xử lí lệnh vi điều khiển khiển PIC 16F877A 1 3 Các đặc tính nổi bật vi điều 1 8 I/O vi điều khiển PIC 16F877A khiển PIC 16F877A khiển PIC 16F877A 2 0 Timer vi điều 2 1 Ngắt vi điều 2 4 USART bất đồng bộ 2 6 Sơ đồ chân LCD ... hiện đang được sử dụng trong các trường học phổ thông nhằm rút ra được ưu, nhược điểm bộ thí nghiệm và đề xuất hướng cải tiến phù hợp 4 Đối tượng nghiên cứu và phạm vi nghiên cứu - Đối tượng nghiên cứu: Kiến thức điện – điện tử, vi điều khiển; thiết kế và chế tạo mạch điện tử; lí thuyết các bài thí nghiệm cơ học thuộc chương trình thí nghiệm vật lí phổ thông - Phạm vi nghiên cứu: Các thí nghiệm cơ học... QUAN VI ĐIỀU KHIỂN PIC GIỚI THIỆU CHUNG 1.1.1 Vi điều khiển PIC Vi điều khiển – Microcontroller là mạch tích hợp trên một chíp có thể lập trình được, dùng để điều khiển hoạt động hệ thống theo tập lệnh của người lập trình PIC là vi t tắt của “Programable Interlligent Computer” hay “Máy tính thông minh khả trình” do hãng General Instrument đặt tên cho vi điều khiển đầu tiên của họ PIC1 650 Lúc này PIC. .. thành những mảng chuyên dụng mang nhiều chức năng ngày càng thông minh, độc đáo [2] Vi điều khiển cũng nằm trong số đó, từ họ vi điều khiển truyền thống 8051 hiện nay đã phát triển thành với các họ vi điều khiển 8 bit [4], 16 bit [5], [6] hay thậm chí 24 bit [5] với các họ vi điều khiển xử lý tốc độ cao Với các tính năng ngày càng được mở rộng, vi điều khiển ngày càng được ứng dụng rộng rãi từ các thiết... Harvad 1.3 RISC VÀ CISC Dựa vào tập lệnh, vi điều khiển được chia thành vi điều khiển CISC và vi điều khiển RISC 20 1.3.1 CISC Vi điều khiển CISC – Complex Instruction Set Computer hay vi điều khiển có tập lệnh phức tạp với mã lệnh của không phải là một số cố định mà luôn là bội số của 8 bit Các vi điều khiển có kiến trúc Von – Neuman đều là những vi đều khiển CISC do sự không cố định của bộ nhớ chương... Thiết kế và tạo ra được dụng cụ đo đạc thời gian và xử lí dữ liệu dùng trong các bài thí nghiệm cơ học trong chương trình vật lí trung học phổ thông bằng cách sử dụng vi điều khiển PIC 16F877A - Trên cơ sở với thiết bị đã tạo được, so sánh với các thiết bị thí nghiệm hiện có như đồng hồ đếm và hiển thị thời gian hiện số MC-964 nhằm rút ra ưu nhược điểm và có hướng cải tiến thích hợp 3 Nội dung nghiên... dòng vi điều khiển PIC Các kí hiệu của vi điều khiển PIC: PIC1 2xxxx: độ dài lệnh 12 bit; PIC1 6xxxx: độ dài lệnh 14 bit; PIC1 8xxxx: độ dài lệnh 16 bit; PIC2 4xxxx: độ dài lệnh 16 bit; PIC3 2xxxx: độ dài lệnh 16 bit; C: PIC có bộ nhớ EPROM; F: PIC có bộ nhớ flash; LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp; LV: tương tự như LF - PIC có bộ nhớ flash hoạt động ở điện áp thấp; 18 Bên cạnh đó một số vi điều ... mặt vi điều khiển Xuất phát từ lí trên, định sử dụng vi điều khiển vào thiết kế dụng cụ phụ vụ thí nghiệm chứng minh vật lí phổ thông qua đề tài: Ứng dụng vi điều khiển PIC 16F877A thí nghiệm vật. .. CHƯƠNG 4 :ỨNG DỤNG VI ĐIỀU KHIỂN PIC 16F877A TRONG THÍ NGHIỆM VẬT LÍ PHỔ TH 4.1 TỔNG QUAN 49 4.2 DỤNG CỤ ĐO VÀ XỬ LÍ THỜI GIAN SỬ DỤNG PIC 16F877A 50 4.3 KHỐI XỬ LÍ TRUNG TÂM PIC 16F877A. .. cuối flash Ví dụ: PIC1 6F877 EEPROM PIC1 6F877A flash Ngoài có thêm dòng vi điều khiển PIC dsPIC, dsPIC giống PIC2 4, vi điều khiển 16 bit Ở Vi t Nam phổ biến họ vi điều khiển PIC hãng Microchip

Ngày đăng: 02/12/2015, 13:23

Từ khóa liên quan

Mục lục

  • BÌA

  • MỤC LỤC

  • DANH MỤC CÁC HÌNH VẼ

  • DANH MỤC CÁC BẢNG

  • MỞ ĐẦU

    • 1. Giới thiệu chung

    • 2. Mục đích đề tài

    • 3. Nội dung nghiên cứu

    • 4. Đối tượng nghiên cứu và phạm vi nghiên cứu

    • 5. Phương pháp nghiên cứu

    • CHƯƠNG 1: TỔNG QUAN VI ĐIỀU KHIỂN PIC

      • 1.1. GIỚI THIỆU CHUNG

        • 1.1.1. Vi điều khiển PIC

        • 1.1.2. Các dòng vi điều khiển PIC

        • 1.2. KIẾN TRÚC PIC

          • 1.2.1. Kiến trúc Von – Neuman

          • 1.2.2. Kiến trúc Havard

          • 1.3. RISC VÀ CISC

            • 1.3.1. CISC

            • 1.3.2. RISC

            • 1.4. PIPELINING

            • 1.5. NGÔN NGỮ LẬP TRÌNH CHO PIC

            • 1.6. MẠCH NẠP PIC

            • CHƯƠNG 2: VI ĐIỀU KHIỂN PIC 16F877A

              • 2.1. /SƠ ĐỒ CHÂN

              • 2.2. CÁC THÔNG SỐ CỦA PIC 16F877A

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

  • Đang cập nhật ...

Tài liệu liên quan