Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
686,91 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN ĐIỆNBỘ MÔN: KỸ THUẬT ĐO VÀ TIN HỌC CÔNG NGHIỆP BÁO CÁO BÀI TẬP LỚN MÔN VI XỬ LÝ Đề tài: Thiết kế mạch đo nhiệt độ - độ ẩmsử dụng cảm biến DHT11 vi điều khiển AT89S52 Giảng viên hướng dẫn: Th.S Lê Cơng Cường Nhóm sinh viên thực hiện: Hà Văn TùngMSSV: 20173456 Vũ Hữu TùngMSSV: 20173459 Trần Quang MinhMSSV: 20174070 Hà Nội, ngày 17/01/2020 download by : skknchat@gmail.com LỜI NÓI ĐẦU Ngày này, khoa học kĩ thuật phát triển mạnh mẽ, đặc biệt lĩnh vực điều khiển tự động hóa Để tăng tính điều khiển, vi điều khiển không ngừng cải tiến nâng cấp Và số họ vi điều khiển ứng dụng nhiều vi điều khiển 8051 Các vi điều khiển thuộc họ 8051 đời vào năm 1981 Các vi điều khiển có 128 byte RAM, 4KB ROM, định thời, cổng nối tiếp cổng vào Tất đặt chíp Và sau có nhiều vi điều khiển thuộc họ 8051 đời với cải tiến đặc biệt nhiều hãng sản xuất vi AT89C51, AT89C52, AT89S51, AT89S52, … Họ vi điều khiển 8051 ứng dụng nhiều thực tế điều khiển động cơ, điều khiển led, điều khiển đèn giao thông, thiết kế đếm sản phẩm, … Và nhóm chúng em gồm thành viên: Trần Quang Minh Hà Văn Tùng Vũ Hữu Tùng định chọn đề tài “Thiết kế mạch đo nhiệt độ độ ẩm hiển thị kết lên hình LCD 16x02, sử dụng cảm biến DHT11 vi điều khiển AT89S52” tính thực tế ứng dụng đời sống Dưới hướng dẫn thầy Lê Cơng Cường q trình giảng dạy nghiên cứu thân, nhóm chúng em hồn thiện đề tài, chạy mô phần mềm Proteus Kit 8051 Tuy nhiên trình tìm hiểu cịn nhiều thiếu xót nên sản phẩm chưa thực tối ưu, chúng em mong nhận thêm nhiều ý kiến góp ý thầy bạn để đề tài hoàn thiện Chúng em xin chân thành cảm ơn! download by : skknchat@gmail.com I CƠ SỞ LÝ THUYẾT I.1 Giới thiệu khái quát họ MCS-51 chip AT89S52 I.1.1 Khái quát họ MCS-51 MCS-51 họ vi điều khiển hãng Intel Vi mạch tổng quát họ MCS-51 chip 8051 Chip 8051 có số đặc trưng bản: Bộ nhớ chương trình bên trong: 4KB (ROM) Bộ nhớ liệu bên trong: 128 byte (RAM) Bộ nhớ chương trình bên ngồi: 64KB (ROM) Bộ nhớ liệu bên ngoài: 64KB (RAM) port xuất nhập vào bit định thời 16 bit Mạch giao tiếp nối tiếp Bộ xử lí bit 210 vị trí nhớ định địa bit Ngồi ra, MCS-51 cịn có số chip vi điều khiển khác có cấu trúc gần tương tự chip 8031, 8032, 8051, 8052, 8751, 8752, 8951, 8952, … Dung lượng RAM 89C51 128 byte 89C52 128 byte 89C53 128 byte 89C55 128 byte Dung lượng RA 89S51 128 byte 89S52 128 byte 89S53 128 byte 89S55 128 byte I.1.2 Cấu trúc vi xử lý AT89S52 download by : skknchat@gmail.com Hình Sơ đồ chân AT89S52 Đây vi điều khiển 8bit với 8k byte hệ thống lập trình flash Các thơng số bản: - Tương thích với sản phẩm MCS-51 ® - 8k bite nhớ hệ thống lập trình flash ( ISP) – độ bền : 1000 chu kỳ Ghi / Xóa - Định mức hoạt động: 4V – 5,5V - Hoạt động hoàn toàn tĩnh điện: Hz to 33 MHz - Khóa nhớ chương trình có mức - Bộ nhớ RAM bên 256x8bit - 32 đường dẫn I/O - Bộ đếm / Bộ định thời 16 bit - nguồn ngắt - Kênh nối tiếp UART song công - Chế độ giảm điện áp nghỉ ngơi điện áp thấp - Phục hồi ngắt chế độ giảm điện áp - Bộ đếm cảnh báo - Con trỏ liệu kép - Cờ tắt điện áp Các AT89S52 vi điều khiển CMOS 8-bit lượng thấp, hiệu suất cao với 8K byte nhớ hệ thống lập trình Flash Thiết bị sản xuất công nghệ nhớ download by : skknchat@gmail.com không biến đổi mật độ cao Atmel, tương thích với sơ đồ chân thiết lập lệnh 80C51 theo tiêu chuẩn công nghiệp Flash chip cho phép nhớ chương trình tái lập trình hệ thống lập trình nhớ khơng biến đổi thơng thường.Bằng cách kết hợp CPU 8-bit đa với hệ thống lập trình Flash chip nguyên khối, Atmel AT89S52 vi điều khiển mạnh mẽ mà cung cấp giải pháp linh hoạt hiệu chi phí cho nhiều ứng dụng điều khiển nhúng Ngồi ra, AT89S52 thiết kế với logic tĩnh cho hoạt động tần số xuống không hỗ trợ hai phần mềm lựa chọn chế độ tiết kiệm lượng Chế độ nhàn rỗi cho dừng CPU cho phép nhớ RAM, đếm/ định thời, cổng nối tiếp hệ thống ngắt để tiếp tục hoạt động Chế độ giảm điện áp giữ lại nội dung nhớ RAM đóng bang tạo dao động, vơ hiệu hóa tất chức khác chip lần ngắt thiết lập lại hệ thống Chức chân VCC:Cung cấp điện áp GND: Nối đất Cổng 0: từ chân 32 đến chân 39 (P0.0 _P0.7) cổng I/O mở chiều bit Cổng có chức năng: thiết kế cỡ nhỏ không dùng nhớ mở rộng có chức đường IO, thiết kế lớn có nhớ mở rộng kết hợp bus địa bus liệu Cổng byte mã lập trình flash kết đầu byte mã xác minh chương trình Trở pullups bên ngồi u cầu q trình xác minh chương trình Cổng :từ chân đến chân (P1.0 _ P1.7) cổng I/O bit hướng với trở pullups bên trong, Cổng dùng cho giao tiếp với thiết bị bên cần Cổng nhận byte địa mức thấp xác minh chương trình Bảng 3: Chức chân 89S52 Chân cổng Các chức thay download by : skknchat@gmail.com P1.0 P1.1 P1.5 P1.6 P1.7 Cổng 2:từ chân 21 đến chân 28 (P2.0 _P2.7) cổng I/O bit hướng với trở pullups bên Cổng có tác dụng kép dùng đường xuất/nhập byte cao bus địa thiết bị dùng nhớ mở rộng Cổng nhận bit địa mức cao số tín hiệu điều khiển xác minh chương trình Cổng 3:từ chân 10 đến chân 17 (P3.0 _ P3.7) cổng I/O bit hướng với trở pullups bên Cổng có tác dụng kép Các chân cổng có nhiều chức năng, có cơng dụng chuyển đổi có liên hệ đến đặc tính đặc biệt 89S52 bảng sau: Bảng 4: Chức bit cổng P3 Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Cổng nhận vài tín hiệu điều khiển cho lập trình Flash xác minh PSEN (Program store enable): PSEN tín hiệu ngõ có tác dụng cho phép đọc nhớ chương trình mở rộng thường nối đến chân OE Eprom cho phép đọc byte download by : skknchat@gmail.com mã lệnh PSEN mức thấp thời gian 89S52 lấy lệnh Các mã lệnh chương trình đọc từ Eprom qua bus liệu, chốt vào ghi lệnh bên 89S52 để giải mã lệnh Khi 89S52 thi hành chương trình ROM nội, PSEN mức cao ALE (Address Latch Enable): Khi 89S52 truy xuất nhớ bên ngồi, Port có chức bus địa liệu phải tách đường liệu địa Tín hiệu ALE chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp đường địa liệu kết nối chúng với IC chốt Tín hiệu chân ALE xung khoảng thời gian port đóng vai trị địa thấp nên chốt địa hoàn toàn tự động EA (External Access): Tín hiệu vào EA (chân 31) thường mắc lên mức mức Nếu mức 1, 89S52 thi hành chương trình từ ROM nội Nếu mức 0, 89S52 thi hành chương trình từ nhớ mở rộng Chân EA lấy làm chân cấp nguồn 21V lập trình cho Eprom 89S52 RST (Reset):Khi ngõ vào tín hiệu đưa lên mức cao chu kỳ máy, ghi bên nạp giá trị thích hợp để khởi động hệ thống Khi cấp điện mạch phải tự động reset Các giá trị tụ điện trở chọn là: R1=10Ω, R2=220Ω, C=10 F Hình 2: Khối reset Các ngõ vào dao động X1, X2: Bộ tạo dao động tích hợp bên 89S52 Khi sử dụng 89S52, người ta cần nối thêm thạch anh tụ Tần số thạch anh tùy thuộc vào mục đích người sử dụng, giá trị tụ thường chọn 33p download by : skknchat@gmail.com Hình 3: Bộ tạo dao động bên 89S52 I.2 Tổng quan hình LCD 16x02 Hình 4:Màn hình LCD LCD viết tắt từ Liquid Crytal Dislay – hình tinh thể lỏng Có ưu điểm hiển thị tất kí tự bảng mã ASCCI, nhiên giá thành cao khoảng cách nhìn gần LCD16x2 loại LCD phổ biến thị trường, 16x2 tương ứng 16 cột hàng Tính LCD 16x2: - x chấm với trỏ - Tích hợp điều khiển (KS 0066 tương đương) - Nguồn cấp +5V ( có sẵn cho loại 3V) - 1/16 chu kỳ - B/L chạy chân 1, 2, 15,16 A.K (LED) - Tùy chọn N.V cho nguồn cấp 3V Bảng 5: Mô tả chân LCD 16x2 STT Chân Ký hiệu Chức Vss GND download by : skknchat@gmail.com 10 11 12 13 14 15 16 download by : skknchat@gmail.com I.3 Tổng quan cảm biến DHT11 Hình 5: Thiêt bị cảm biến DTH 11 DHT11 cảm biến nhiệt độ độ ẩm Nó đời sau sử dụng thay cho dòng SHT1x nơi khơng cần độ xác cao nhiệt độ độ ẩm Mỗi phần tử DHT11 hiệu chỉnh phịng thí nghiệm nên xác hiệu chuẩn độ ẩm Các hệ số hiệu chỉnh lưu trữ chương trình nhớ OTP, sử dụng tín hiệu nội trình phát cảm ứng Giao diện nối tiếp dây làm cho việc tích hợp hệ thống nhanh chóng dễ dàng Kích thước nhỏ, tiêu thụ điện thấp truyền tín hiệu lên đến 20 mét làm cho DTH 11 lựa chọn tốt cho ứng dụng khác Thông số: - Phạm vi đo đạc: độ ẩm khoảng RH 20-90%, nhiệt độ khoảng 0-50 ℃ - Sai số độ ẩm: ±5%RH Sai số nhiệt độ: ±2℃ - Độ phân giải : Hình 6: Sơ đồ kết nối với vi xử lý download by : skknchat@gmail.com Chế độ ghi: liệu LCD chuyển từ bus vào ghi bên có xung cao chuyển xuống thấp chân EN • Chế độ đọc: liệu LCD xuất D0-D7 phát xung thấp lên cao chân EN * Chế độ đọc: MCU đọc thông tin từ LCD thông qua chân D0-D7 * Chế độ ghi: MCU xuất thông tin điều khiển cho LCD thông qua chân D0-D7 • Hình 11 Bảng mã kí tự hiển thị LCD download by : skknchat@gmail.com III.3 Khối cảm biến Hình 12 Sơ đồ nguyên lý khối cảm biến Hình 13 Một số thông số cảm biến DHT11 (nguồn: Datasheet DHT11) download by : skknchat@gmail.com • • Vài thơng số kỹ thuật quan trọng DHT11: - Điện áp hoạt động: 3.3V-5V - Dải độ ẩm đo được: 20-90%, sai số: ±5%, độ phân giải: - Dải nhiệt độ đo được: 0-50°C, sai số: ±2°C, độ phân giải: Cách VĐK giao tiếp với DHT11 : qua bước VĐK gửi tín hiệu Start tới DHT11, sau chờ DHT11 xác nhận lại: Hình 14 Sơ đồ trình VĐK gửi tín hiệu Start DHT11 gửi tín hiệu xác nhận giao tiếp Đọc liệu DHT11 gửi về: Hình 15 Quá trình gửi bit “0” DHT11 Hình 16 Quá trình gửi bit “1” DHT11 download by : skknchat@gmail.com III.5 Mạch nạp cấp nguồn cho vi điều khiển • • Sử dụng mạch nạp USB ISP ver 2.0: Giao tiếp cấp nguồn cho VĐK qua cổng USB 5VDC Cổng nạp chuẩn SPI 10pins Sơ đồ nối chân mạch nạp VĐK: Bảng Sơ đồ nối chân mạch nạp VĐK Hình 17 Hình ảnh mạch nạp USB ISP Hình 18 Sơ đồ chân mạch nạp download by : skknchat@gmail.com IV Chương trình lập trình Assembly ;=================================================================== ; - THIET KE MACH DO NHIET DO - DO AM BANG -; - DHT11 VA HIEN THI KET QUA LEN LCD 16X2 -;=================================================================== ORG 0000H LCD_DATA_PORT EQU P0 RS BIT P2.2 RW BIT P2.3 EN BIT P2.4 DHT_DATA_PORT BIT P2.1 ; =================================================================== ;//////// /////////////// CHUONG TRINH CHINH /////////////////////// ; -CLR RW ACALL LCD_INIT ;khoi tao LCD MAIN: ; Chuong trinh giao tiep giua AT89C52 va cam bien DHT11 MOV A,#0 MOV B,#0AH CLR DHT_DATA_PORT LCALL DELAY_20MS ;giu chan DATA tai muc 20ms SETB DHT_DATA_PORT LCALL DELAY_20US ;giu chan DATA tai muc 20us JB DHT_DATA_PORT,$ LCALL DELAY_60US ;cho luc chan DATA duoc keo xuong muc download by : skknchat@gmail.com JNB DHT_DATA_PORT,$ LCALL DELAY_60US JB DHT_DATA_PORT,$ LCALL DELAY_20US JNB DHT_DATA_PORT,$ MOV R0,#40 LCALL LOOP0 AGAIN: JBDHT_DATA_PORT,$ DEC R0 JNB DHT_DATA_PORT,$ CJNE R0,#24,AGAIN MOV A,#0 MOV B,#0AH LCALL LOOP00 ; - Chuong trinh hien thi nhiet va am len LCD 16x2 ;bat dau in am len dong cua LCD: MOV ACALL ACALL MOV MOV W1: MOV MOVC ACALL ACALL INC CJNE download by : skknchat@gmail.com MOV A,R1 ACALL LCD_WRITE_DATA ACALL DELAY1 MOV A,R2 ACALL LCD_WRITE_DATA ACALL DELAY1 MOV A,#00100101B ;in ki hieu % ACALL LCD_WRITE_DATA ;gui du lieu den LCD ACALL DELAY1 ;gui du lieu den LCD ;gui du lieu den LCD ;bat dau in nhiet len dong cua LCD: MOV A,#0C0H ;dua tro man hinh ve dau hang ACALL LCD_WRITE_CMD ;gui lenh den LCD ACALL DELAY1 MOV R4,#0 MOV DPTR,#NHIET_DO MOV A,R4 MOVC A,@A+DPTR ACALL LCD_WRITE_DATA ACALL DELAY1 INC R4 W2: CJNE R4,#9,W2 MOV A,R5 ACALL LCD_WRITE_DATA ACALL DELAY1 MOV A,R6 ACALL LCD_WRITE_DATA ACALL DELAY1 MOV A,#11011111B ACALL LCD_WRITE_DATA ;gui du lieu den LCD ;gui du lieu den LCD download by : skknchat@gmail.com ACALL MOV ACALL ACALL ;cu sau giay chay lai chuong trinh do am va nhiet do: MOV W3: LCALL DJNZ 52H,W3 LJMP MAIN ; DO_AM: NHIET_DO: ; -LOOP0: ;vong lap lay du lieu ve am LCALL DELAY_40US JB DHT_DATA_PORT,LOOP1 CLR C RLC A DEC R0 LCALL LOOP2 RET LOOP1: SETB C RLC A DEC R0 LCALL DELAY_20US LCALL DELAY_20US ACALL LOOP2 RET download by : skknchat@gmail.com LOOP2: JNB DHT_DATA_PORT,$ CJNE R0,#32,LOOP0 DIV AB MOV DPTR,#MA_LCD MOVC A,@A+DPTR MOV R1,A MOV A,B MOVC A,@A+DPTR MOV R2,A RET LOOP00: LCALL DELAY_40US JB DHT_DATA_PORT,LOOP11 CLR C RLC A DEC R0 LCALL LOOP22 RET LOOP11: SETB C RLC A DEC R0 LCALL DELAY_20US LCALL DELAY_20US ACALL LOOP22 RET LOOP22: JNB DHT_DATA_PORT,$ CJNE R0,#16,LOOP00 download by : skknchat@gmail.com ... vực điều khiển tự động hóa Để tăng tính điều khiển, vi điều khiển không ngừng cải tiến nâng cấp Và số họ vi điều khiển ứng dụng nhiều vi điều khiển 8051 Các vi điều khiển thuộc họ 8051 đời vào... AT89S52 thuộc họ vi xử lí 8051 để điều khiển hoạt động toàn hệ thống Khối cảm biến nhiệt độ - độ ẩm: sử dụng modult cảm biến DHT11 để lấy liệu nhiệt độ - độ ẩm môi trường gửi cho vi xử lý Khối hiển... Tùng Vũ Hữu Tùng định chọn đề tài ? ?Thiết kế mạch đo nhiệt độ độ ẩm hiển thị kết lên hình LCD 16x02, sử dụng cảm biến DHT11 vi điều khiển AT89S52? ?? tính thực tế ứng dụng đời sống Dưới hướng dẫn