ứng dụng vi điều khiển pic16f877a giao tiếp với máy tính thông qua cảm biến nhiệt lm35 thể hiện nhiệt độ môi trường trên phần mềm visual basic

77 2.4K 42
ứng dụng vi điều khiển pic16f877a giao tiếp với máy tính thông qua cảm biến nhiệt lm35 thể hiện nhiệt độ môi trường trên phần mềm visual basic

Đ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

ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA LỜI NĨI ĐẦU Hiện đất nước ta chuyển theo phát triển chung giới khu vực Châu Á sản xuất đa dạng đầy tiềm Nền sản xuất khơng địi hỏi số lượng lao động khổng lồ mà yêu cầu trình độ, chất lượng tay nghề, kỹ thuật lao động thiết bị sản xuất Trên đà phát triển đó, vấn đề tự động hóa q trình sản xuất, nghiên cứu trở thành nhu cầu cần thiết Thoạt đầu vấn đề tự động hóa thực riêng lẻ từ khí hóa đến mạch điện tử Ngày nay, với xuất chíp vi xử lý máy tính với việc sử dụng rộng rãi đẩy vấn đề tự động hóa lên bước cao thời lượng nhanh hơn… Trong đó, việc ứng dụng máy vi tính vào kỹ thuật đo lường điều khiển đem lại kết đầy tính ưu việc Các thiết bị, hệ thống đo lường điều khiển ghép nối với máy vi tính có độ xác cao, thời gian thu nhập số liệu ngắn Ngồi ra, máy tính cịn có phần giao diện lên hình tiện lợi cho người sử dụng Việc dùng máy tính để điều khiển thơng tin liên lạc với vấn đề truyền liệu quan trọng Hiện dùng máy tính để liên lạc với thông qua hệ thống mạng : mạng cục (LAN) hay mạng toàn cầu Internet Em xin chân thành cảm ơn Thầy NGƠ ĐÌNH NGHĨA quan tâm dẫn cho em hiểu biết đề tài Qua đề tài Thầy gợi ý cho em tìm hiểu, phân tích bắt tay vào thực Em định nghiên cứu đề tài “ Giao tiếp máy tính điều khiển nhiệt độ phương pháp ON-OFF” SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA LỜI CẢM ƠN Trong q trình thực đồ án em nhận hướng dẫn giúp đỡ tận tình Thầy NGƠ ĐÌNH NGHĨA Em xin chân thành cảm ơn Thầy tồn thể Thầy Cơ khoa Điện tạo điều kiện để em nghiên cứu đề tài Dù cố gắng nhiều q trình làm cịn nhiều thiếu sót nên em mong góp ý q Thầy Cơ tồn thể bạn SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA MỤC LỤC LỜI GIỚI THIỆU .1 LỜI CẢM ƠN MỤC LỤC Chương 1: TỔNG QUAN ĐỀ TÀI .8 I Đặt vấn đề .8 II Mục đích III Hướng tiếp cận đề tài IV Cách thức tiến hành 10 Chương 2: GIỚI THIỆU CÁC PHẦN TỬ, LINH KIỆN SỬ DỤNG TRONG MẠCH 11 I Cổng COM truyền nhận liệu .11 Giới thiệu cổng com 11 IC MAX 232 .14 II Vi điều khiển PIC16F877A 16 Khái quát vi điều khiển PIC16F877A 16 1.1 Khái quát : .16 1.2 Sơ đồ chân sơ đồ nguyên lý PIC16F877A 18 1.3 Nhận xét : 19 Tổ chức nhớ : 20 2.1 Bộ nhớ chương trình : .20 2.2 Bộ nhớ dự liệu 20 a Thanh ghi chức đặc biệt SFR :(Special Function Resister) 22 b Thanh ghi mục đích chung GPR : (General Purpose Resister) 23 2.3 Stack 23 Khái quát chức port vi điều khiển PIC16F877A 24 3.1 Port A : .24 3.2 Port B : .25 3.3 Port C : .25 3.4 Port D : .25 SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA 3.5 Port E : .26 Các vấn đề Timer .26 4.1 Timer : 26 a Là định thời đếm có ưu điểm sau : 26 b Hoạt động Timer : 26 c Ngắt timer : 27 d Các lien quan đến timer : 28 4.2 Timer : 30 a Timer1 : 30 b Timer1 có chế độ hoạt động : 30 c Các ghi lien quan đến Timer1 bao gồm : 31 4.3 Timer2 : 32 a Timer2 : 32 b Hoạt động Timer2 : 32 c Thanh ghi T2CON : điều khiển hoạt động timer: 33 Ngắt (INTERRUPT) : .33 Phương pháp điều chế xung PWM cho PIC16F877A : 38 6.1 Điều chế PWM ? .38 6.2 Nguyên lý PWM : 38 6.3 Cách thiết lập chế độ PWM cho PIC16F877A: .40 ADC : .41 Giao tiếp nối tiếp: 42 Cổng giao tiếp song song PSP : 44 10 Các đặc tính OSCILLATOR : 44 11 Các chế độ RESET : 45 III Cảm biến nhiệt LM35 : .47 IV Tổng quan ngôn ngữ lập trình CCS : 48 V Visual basic truyền thông nối tiếp : 49 Chương : THIẾT KẾ PHẦN CỨNG 56 I Lưu đồ giải thuật visual basic: 56 II Lưu đồ giải thuật vi điều khiển : 59 SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA III Phần cứng : 61 IV Giao diện Visual Basic : .64 V Code Visual Basic : .64 VI Code vi điều khiển : 70 VII Kết luận : 73 SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA Chương : TỔNG QUAN VỀ ĐỀ TÀI I Đặt vấn đề : Nhiệt độ yếu tố ảnh hưởng quan trọng đến đời sống ngày Nhiệt độ chiếm vị trí quan trọng kinh tế quốc dân Bởi nhiệt độ có vai trị định nhiều tính chất vật chất Một đặc điểm tác động nhiệt độ làm thay đổi cách liên tục đại lượng chịu ảnh hưởng nó,ví dụ áp suất ,thể tích chất khí Đặc biệt cơng nghệ bảo quản sau thu hoạch khâu quan trọng chịu ảnh hưởng trực tiếp nhiệt độ không gian bảo quản Việc đo giám sát nhiệt độ trở nên quan trọng việc sử dụng nhiệt độ ví dụ lị nhiệt, phòng xử lý chất thải… Trong nhiều trường hợp người ta cần xác định đo nhiệt độ phòng, lò xử lý… Ngày với biến đổi ngày xấu khó lường thời tiết việc đo nhiệt độ mơi trường trở nên quan trọng Do vấn đề đo nhiệt độ người quan tâm để thực hành kiểm tra đồng thời cơng cụ để lập trình đo nhiệt độ thiết bị hay mơi trường Vì nắm bắt nhiệt độ cuả môi trường giúp ta biết tình trạng làm việc yêu cầu Và có xử lý kịp thời tránh hư hỏng cố xảy Bởi vậy, nghiên cứu khoa học , công nghiệp đời sống hàng ngày việc đo nhiệt độ điều cần thiết Tuy nhiên, để đo trị số xác nhiệt độ lại vấn đề không đơn giản Với phát triển không ngừng khoa học kỹ thuật ứng dụng nhiều công nghiệp Trong lĩnh vực điều khiển, từ cơng nghệ chế tạo loại vi mạch lập trình phát triển đem đến kỹ thuật điều khiển đại có nhiều ưu điểm so với việc sử dụng mạch điều khiển lắp ráp linh kiện rời kích thước nhỏ, giá thành rẻ, độ làm việc tin cậy, công suất tiêu thụ nhỏ Đo nhiệt độ nhiệm vụ thường gặp ngành nhiệt học, hoá học , luyện kim Tuỳ theo nhiệt độ đo mà dùng phương pháp đo khác nhau.Thông thường nhiệt độ đo chia thành giải : Nhiệt độ thấp, nhiệt độ trung bình nhiệt độ cao Ở nhiệt độ trung bình thấp, phương pháp đo thường tiếp xúc nghĩa chuyển đổi đặt trực tiếp môi trường cần đo SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA Đối với nhiệt độ cao,đo phương pháp không tiếp xúc, nghĩa dụng cụ đo đặt ngồi mơi trường đo Một số cách đo nhiệt độ khơng tiếp xúc sử dụng cảm biến LM335 Vì thế, em chọn đề tài “Ứng dụng vi điều khiển pic16f877a giao tiếp với máy tính thơng qua cảm biến nhiệt LM35 để thể nhiệt độ môi trường phần mềm visual basic.” II Mục đích : - Hiển thị xác nhiệt độ môi trường xung quanh - Sử dụng cảm biến nhiệt độ để theo dõi nhiệt độ - So sánh nhiệt độ đo với nhiệt độ ngưỡng (ngưỡng Tmax ngưỡng Tmin, cài đặt thời điểm nào, tùy theo yêu cầu thơng qua bàn phím) để đưa cảnh báo đèn hình nhiệt độ vượt qua ngưỡng - Thơng qua chương trình vi điều khiển nhằm đáp ứng thay đổi nhiệt độ tùy theo mục đích sử dụng mà tác động tăng hay giảm nhiệt độ - Kết hợp với máy tính ghi nhận thay đổi nhiệt độ nhằm phân tích đánh giá biến đổi nhiệt độ - Sử dụng phần mềm Visual basic nhằm hiển thị giá trị nhiệt độ Các phương án lựa chọn, ưu khuyết điểm phương án + Để đo lường nhiệt độ dùng nhiều loại cảm biến nhiệt khác, loại có ưu điểm riêng phù hợp với nhu cầu riêng Trong phạm vi đề tài đo nhiệt độ môi trường bình thường nên sử dụng LM35 tối ưu vì: loại cảm biến có độ xác cao, tầm hoạt động tuyến tính từ 0-128 độ C, tiêu tán công suất thấp + Trong đề tài sử dụng píc6f877a dễ mua, rẻ tiền, có tích hợp chuyển đổi ADC, có khả lập trình, phát triển cho đề tài sau… III Hướng tiếp cận đề tài : - Thu thập tìm hiểu đề tài qua sách tài liệu mạng - Tìm hiểu cơng cụ lập trình qua kiến thức học trường, qua hướng dẫn Thầy Cơ, hỗ trợ từ bạn bè, tìm hiểu từ sách tài liệu liên quan IV Cách thức tiến hành : SVTH : NGUYỄN ĐÌNH BẢO ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA - Tìm hiểu vi xử lý PIC16F877A phần cứng tập lệnh - Tìm hiểu ngơn ngữ lập trình biên dịch CCS, viết chương trình biên dịch file.hex nạp cho vi điều khiển PIC - Tìm hiểu phần mềm Visual Basic thiết lập giao diện hiển thị nhiệt độ Visual Basic - Viết chương trình thiết lập phần cứng hiển thị mạch đo nhiệt độ SVTH : NGUYỄN ĐÌNH BẢO 10 ĐỒ ÁN 2A End GVHD : NGƠ ĐÌNH NGHĨA + Nút stop : Stop Kiểm tra kết nối Cịn khơng Sai Thơng báo kiểm tra kết nối Đúng Gửi mã tắt đèn xuống vi điều khiển Mscomm1.output = “3” End II Lưu đồ giải thuật vi điều khiển : SVTH : NGUYỄN ĐÌNH BẢO 63 ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA BEGIN Khai báo thiết bị cấu hình cho PIC biến sử dụng chương trình Thiết lập ban đầu cho trình truyền nhận liệu chuyển đổi ADC #use S Kiểm tra kết nối Connect = Đ Đ Kiểm tra mã mở đèn control = Xuất mã mở đèn đưa giá trị nhiệt độ lên vb S Đ Kiểm tra mã tắt đèn control = SVTH : NGUYỄN ĐÌNH BẢO Xuất mã tắt đèn đưa giá trị nhiệt độ lên vb 64 ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA Thuật giải chương trình ngắt INT_RDA (INT_RDA) Ngắt xảy có liệu truyền đến C = getc() Đ Connect = C = ‘0’ S Đ C = ‘2’ S C = ‘3’ Control = Đ Control = III Phần cứng : • Mạch module PIC : SVTH : NGUYỄN ĐÌNH BẢO 65 ĐỒ ÁN 2A • GVHD : NGƠ ĐÌNH NGHĨA Mạch RS232 : • Mạch điều khiển on_off, cảm biến nhiệt độ LM35 mạch nguồn: SVTH : NGUYỄN ĐÌNH BẢO 66 ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA • Mạch in : SVTH : NGUYỄN ĐÌNH BẢO 67 ĐỒ ÁN 2A SVTH : NGUYỄN ĐÌNH BẢO GVHD : NGƠ ĐÌNH NGHĨA 68 ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA IV Giao diện Visual Basic : V Code Visual Basic : Dim i As Integer Dim Tmin, Tmax As Long Dim nhietdo As Long Dim connect As Integer Dim data As String -Private Sub cmdExit_Click() If MsgBox("Ban co muon thoat chuong trinh?", vbInformation + vbYesNo, "THONG BAO") = vbYes Then If MSComm1.PortOpen = True Then MSComm1.Output = "3" MSComm1.PortOpen = False End If SVTH : NGUYỄN ĐÌNH BẢO 69 ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA End End If End Sub Private Sub cmdKetnoi_Click() On Error GoTo error connect = If cmbcom.Text = "COM" Or cmbbaudrate.Text = "Thong so" Then MsgBox "Chua thiet lap thong so", vbInformation, "Thong bao" Else: MSComm1.Settings = cmbbaudrate.Text MSComm1.CommPort = Switch(cmbcom.Text = "COM1", 1, cmbcom.Text = "COM2", 2, cmbcom.Text = "COM3", 3, cmbcom.Text = "COM4", 4, cmbcom.Text = "COM5", 5) MSComm1.InBufferSize = 1024 MSComm1.InputLen = MSComm1.RThreshold = MSComm1.SThreshold = MSComm1.OutBufferSize = 1024 MSComm1.InputMode = comInputModeText MSComm1.PortOpen = True MSComm1.Output = "0" End If If connect Then lblkiemtra.Caption = "Ket noi that bai" End If error: Select Case Err.Number Case Is = 8002 SVTH : NGUYỄN ĐÌNH BẢO 70 ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA MsgBox "CHUA CHON CONG HOAC CONG KHONG HOP LE", vbInformation, "THONG BAO" Case Is = 8005 MsgBox "DA MO CONG COM", vbInformation, "THONG BAO" KETNOI = Case Is = 8019 MsgBox "THIET BI BAN", vbInformation, "THONG BAO" Case Is = 8013 MsgBox "THIET BI DA MO", vbInformation, "THONG BAO" Case Is = 8007 MsgBox "VAN TOC TRUYEN CHUA THICH HOP", vbInformation, "THONG BAO" Case Is = 8009 MsgBox "THONG SO MAC DINH SAI", vbInformation, "THONG BAO" End Select End Sub Private Sub cmdNgat_Click() If MSComm1.PortOpen = True Then MSComm1.Output = "3" If MsgBox("Ban co muon ngat ket noi?", vbInformation + vbYesNo, "THONG BAO") = vbYes Then MSComm1.PortOpen = False lblnhietdo.Caption = If connect = Then lblkiemtra.Caption = "Ket noi bi ngat" End If End If Else: MsgBox ("Ket noi chua duoc thiet lap") End If SVTH : NGUYỄN ĐÌNH BẢO 71 ĐỒ ÁN 2A GVHD : NGƠ ĐÌNH NGHĨA End Sub -Private Sub cmdStart_Click() For i = To 40 Next i nhietdo = If MSComm1.PortOpen = True Then If IsNumeric(txtTmin.Text) And IsNumeric(txtTmax.Text) Then If Val(txtTmin.Text) >= And Val(txtTmax.Text)

Ngày đăng: 10/05/2014, 12:36

Từ khóa liên quan

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

Tài liệu liên quan