ĐO KHOẢNG CÁCH và XUẤT LCD dùng 89c51 ( có code và mạch in )

36 1.6K 19
ĐO KHOẢNG CÁCH và XUẤT LCD dùng 89c51 ( có code và mạch in )

Đ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

có sơ đồ nguyên lý, sơ đồ khối và lưu đồ giải thuật, mạch in và code đầy đủ cho mạch ĐO KHOẢNG CÁCH và XUẤT LCD dùng 89c51 ...............................................................................................................................................................

ĐỒ ÁN ĐO KHOẢNG CÁCH XUẤT LCD MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU DANH MỤC TỪ VIẾT TẮT IC – Integrated Circuit Mạch đo khoảng cách CHƯƠNG GIỚI THIỆU MẠCH ĐO KHOẢNG CÁCH DÙNG CẢM BIẾN 1.1.Tính quan trọng sản phẩm − Đo khoảng cách nhanh − Tiết kiệm sức người, tăng suất lao động 1.2.Phương pháp nghiên cứu: − Tìm hiểu cấu tạo,nguyên lý hoạt động linh kiện: 89C51, LM25, SRF05… − Tìm hiểu,nghiên cứu cách viết chương trình Assemly − Thiết kế mạch 1.3.Kết nghiên cứu: Xây dựng mạch đo khoảng cách dùng cảm biến hoạt động tốt với yêu cầu đặt Mạch đo khoảng cách CHƯƠNG TỔNG QUAN VỀ MẠCH ĐO KHOẢNG CÁCH DÙNG CẢM BIẾN 2.1.Sơ đồ khối chức khối 2.1.1.Sơ đồ khối: Khối nguồn Khối cảm biến Khối xử lý Khối hiển thị Hình 2.1 : Sơ đồ khối 2.1.2.Chức khối: − Khối nguồn: Sử dụng nguồn 5V cung cấp điện áp cho linh kiện mạch hoạt động − Khối cảm biến: Sử dụng IC SRF05 phát xung tới vị trí cần đo, sau tự tạo xung chân ECHO, độ rộng xung tỉ lệ với khoảng cách cần đo − Khối xử lý: Sử dụng vi điều khiển AT89S52 để kích xung điều khiển SRF05 hoạt động đo độ rộng xung chân ECHO SRF05 Sau đo xong vi điều khiển tính toán đưa tới LCD hiển thị − Khối hiển thị: Sử dụng LCD 16x2 để hiển thị khoảng cách đo Mạch đo khoảng cách 2.2.Giới thiệu linh kiện sử dụng mạch: 2.2.1.AT 89S52 AT89S52 thuộc họ 8051 40 chân cho chức khác vào I/O, đọc RD, ghi WR, địa chỉ, liệu ngắt Hình 2.2 : IC 89S52[1] − Chân VCC: Chân số 40 VCC cấp điện áp nguồn cho chip Nguồn điện áp +5V − Chân GND: Chân số 20 GND − Chân XTAL1 XTAL2: 89S52 giao động chip yêu cầu xung đồng hồ để chạy Bộ giao động thạch anh thường xuyên nối tới chân đầu vào XTAL1 (chân 19) XTAL2 (chân 18) Bộ giao động thạch anh nối tới XTAL1 XTAL2 cần hai tụ điện giá trị 33pF Một phía tụ điện nối xuống đất − Chân Reset: Chân số chân tái lập reset Nó đầu vào tích cực mức cao(bình thường mức thấp).Nhằm làm cho đầu vào RESET hiệu Mạch đo khoảng cách phải tối thiểu chu kì máy, hay nói cách khác, xung cao phải kéo dài chu kì máy trước xuống thấp.Trong 8051 chu kì máy 12 chu kì dao động − Chân EA: Tín hiệu vào EAở chân 31 thường lên mức mức Nếu mức 1, 89S52 thi hành chương trình từ nhớ nội Nếu mức 0, 89S52 thi hành chương trình từ nhớ ngoại − Chân PSEN (program store enable): Tín hiệu xuất từ vi điều khiển để điều khiển đọc nhớ chương trình − Chân ALE ( address latch enable): Cho phép chốt địa Tín hiệu ALE nối với chân LE IC chốt  Các PORT: − Port (chân 32 – 39): port hai chức Trong thiết kế cỡ nhỏ không dùng nhớ mở rộng, chức đường IO Đối với thiết kế cỡ lớn nhớ mở rộng, kết hợp bus địa bus liệu − Port (chân – 8): port IO, chân P1.0, P1.1, P1.2, dùng cho giao tiếp với thiết bị cần Ngoài chân P1.0 ngõ vào timer 2, chân P1.1 ngõ vào ngắt timer 8952 − Port (chân 21 – 28): port đa dùng đường xuất nhập byte cao bus địa thiết bị dùng nhớ mở rộng − Port (chân 10 – 17): port đa không sử dụng port dùng làm IO; sử dụng chức đặc biệt sau : • P3.0 - RxD: dùng để nhận liệu nối tiếp giao tiếp UART hay giao tiếp máy tính • P3.1 - TxD: dùng để truyền liệu nối tiếp giao tiếp UART hay giao tiếp máy tính • P3.2 - INT0: tín hiệu ngắt thứ • P3.3 - INT1: tín hiệu ngắt thứ • P3.4 - T0: ngõ vào nhận xung ngoại cho timer / counter Mạch đo khoảng cách • P3.5 - T1: ngõ vào nhận xung ngoại cho timer / counter • P3.6 - WR: điều khiển ghi liệu • P3.7 - RD: điều khiển đọc liệu Vi điều khiển 89S52 nhớ nội bên khả giao tiếp với nhớ bên nhớ bên đủ khả lưu trữ chương trình Bộ nhớ bên gồm loại nhớ: nhớ liệu nhớ chương trình Bộ nhớ liệu 256 byte, nhớ chương trình dung lượng kbyte Bộ nhớ mở rộng bên gồm loại: nhớ liệu nhớ chương trình Khả giao tiếp 64kbyte cho loại Bộ nhớ mở rộng bên nhớ chương trình bên đặc biệt – chức lưu trữ liệu mã chương trình nên không cần phải khảo sát Bộ nhớ chương trình bên vi điều khiển thuộc loại nhớ FLASH ROM cho phép xoá xung điện lập trình lại Bộ nhớ RAM nội bên nhớ đặc biệt người sử dụng vi điều khiển cần phải nắm rõ cách tổ chức chức đặc biệt nhớ 2.2.2.Cảm biến SRF05: Mạch đo khoảng cách Hình 2.3 : Cảm biến siêu âm SRF05[2] Sóng siêu âm(sonar) loại sóng mà người nghe thấy được.Tuy nhiên ta thấy diện sóng siêu âm khắp nơi tự nhiên.Ta biết loài động vật dơi,cá heo…dùng sóng siêu âm để liên lạc với đồng loại,để săn mồi hay định vị không gian Nguyên tắc loài vật dùng sóng siêu âm tóm gọn bước: 1.Vật chủ phát sóng âm 2.Sóng âm va chạm vơi môi trường xung quanh bị xạ lại 3.Dựa vào thời gian phát/thu,khoảng cách vật chủ môi trường âm tính Việc tính toán khoảng cách phụ thuộc lớn vào môi trường truyền dẫn, ví dụ sóng âm truyền môi trường nước hay kim loại nhanh nhiều truyền môi trường không khí Đặc biệt sóng âm không truyền môi trường chân không Theo nguyên tắc dựa tiến khoa học công nghệ đại ta thấy ứng dụng sóng âm nhiều kể đến thiết bị định vị biển tàu ngầm, thiết bị radar, thiết bị đo khoảng cách môi trường đo độ sâu đại dương Cảm biến siêu âm SRF05 bước phát triển từ SRF04 thiết kế để nâng cao độ linh hoạt,tầm đo giảm giá thành.Cảm biến siêu âm SRF05 hoạt động theo nguyên tắc trên, thiết bị gồm loa - thu phát - với chân để kết nối với Arduino Chức chân sau: Vcc: cấp nguồn cho cảm biến 10 Mạch đo khoảng cách JNB ECHO,$ MOV TH0,#HIGH(-232) MOV TL0,#LOW(-232) SETB TR0 JB ECHO,$ CLR TR0 CALL CAL_PULSE MOV B,23H MOV A,24H CALL HEXTOBCD CALL BCDTOASCII CALL HT_RESULT JMP LB0 ;3.2.2 CÁC CHƯƠNG TRÌNH CON ;A/ CHƯƠNG TRÌNH CON KHỞI TẠO LCD 22 Mạch đo khoảng cách KTAO_LCD: MOV LCD_DATA,#38H CALL GHI_DIEUKHIEN MOV LCD_DATA,#38H CALL GHI_DIEUKHIEN MOV LCD_DATA,#38H CALL GHI_DIEUKHIEN MOV LCD_DATA,#0CH CALL GHI_DIEUKHIEN MOV LCD_DATA,#01H CALL GHI_DIEUKHIEN MOV LCD_DATA,#06H CALL GHI_DIEUKHIEN RET ;B/ CHƯƠNG TRÌNH CON HEXTOBCD 23 Mạch đo khoảng cách HEXTOBCD: MOV CHUCDONVI,#0 MOV NGANTRAM,#0 MOV CHUCNGAN,#0 MOV BH,A MOV BL,B MOV 50H,BH MOV 51H,BL MOV DEMTV,#15 HEXTOBCD1: CALL XOAYDULIEU ;KIEM TRA HANG DON VI MOV A,CHUCDONVI ANL A,#0FH CJNE A,#5,$+3 JC HEXTOBCD2 MOV A,CHUCDONVI 24 Mạch đo khoảng cách ADD A,#3 MOV CHUCDONVI,A ;KIEM TRA HANG CHUC HEXTOBCD2: MOV A,CHUCDONVI ANL A,#0F0H CJNE A,#50H,$+3 JC HEXTOBCD3 MOV A,CHUCDONVI ADD A,#30H MOV CHUCDONVI,A ;KIEM TRA HANG TRAM HEXTOBCD3: MOV A,NGANTRAM ANL A,#0FH CJNE A,#5,$+3 JC HEXTOBCD4 MOV A,NGANTRAM ADD A,#3 25 Mạch đo khoảng cách MOV NGANTRAM,A ;KIEM TRA HANG NGAN HEXTOBCD4: MOV A,NGANTRAM ANL A,#0F0H CJNE A,#50H,$+3 JC HEXTOBCD5 MOV A,NGANTRAM ADD A,#30H MOV NGANTRAM,A HEXTOBCD5: DJNZ DEMTV,HEXTOBCD1 CALL XOAYDULIEU RET XOAYDULIEU: 26 Mạch đo khoảng cách CLR C MOV A,BL RLC A MOV BL,A MOV A,BH RLC A MOV BH,A MOV A,CHUCDONVI RLC A MOV CHUCDONVI,A MOV A,NGANTRAM RLC A MOV NGANTRAM,A RLC A MOV CHUCNGAN,A RET ;C/ CHƯƠNG TRÌNH CON BCDTOASCII 27 Mạch đo khoảng cách BCDTOASCII: MOV A,CHUCDONVI ANL A,#0FH ADD A,#30H MOV 30H,A MOV A,CHUCDONVI ANL A,#0F0H SWAP A ADD A,#30H MOV 31H,A MOV A,NGANTRAM ANL A,#0FH ADD A,#30H MOV 32H,A MOV A,25H ADD A,#30H MOV 33H,A MOV A,26H 28 Mạch đo khoảng cách ADD A,#30H MOV 34H,A RET ;D/ CHƯƠNG TRÌNH CON CAL_PULSE CAL_PULSE: MOV A,TL0 SUBB A,#23 MOV B,#58 DIV AB MOV 20H,B ; SO DU CUA PHEP CHIA MOV 21H,A MOV A,DEM MOV B,#4 MUL AB MOV 22H,B ;BYTE CAO CUA KET QUA PHEP NHAN ADD A,21H MOV 23H,A ;BYTE THAP CUA KET QUA DO 29 Mạch đo khoảng cách MOV A,22H ADDC A,#0 MOV 24H,A ;BYTE CAO CUA KET QUA DO MOV A,20H MOV B,#6 DIV AB MOV 25H,A MOV A,B MOV B,#10 MUL AB MOV A,B MOV B,#6 DIV AB MOV 26H,A RET ;D/ CHƯƠNG TRÌNH CON HIỂN THỊ KẾT QUẢ KÍCH THƯỚC ÐO ÐƯỢC HT_RESULT: 30 Mạch đo khoảng cách MOV LCD_DATA,#89H CALL GHI_DIEUKHIEN MOV LCD_DATA,32H CALL GHI_DATA MOV LCD_DATA,31H CALL GHI_DATA MOV LCD_DATA,30H CALL GHI_DATA MOV LCD_DATA,#',' CALL GHI_DATA MOV LCD_DATA,33H CALL GHI_DATA MOV LCD_DATA,34H CALL GHI_DATA MOV LCD_DATA,#' ' CALL GHI_DATA MOV LCD_DATA,#'C' CALL GHI_DATA 31 Mạch đo khoảng cách MOV LCD_DATA,#'M' CALL GHI_DATA RET ;E/ MỘT SỐ CHƯƠNG TRÌNH CON KHÁC ;// CHƯƠNG TRÌNH CON HIỂN THỊ HÀNG THỨ TRÊN LCD HT_HANG1: MOV LCD_DATA,#80H CALL GHI_DIEUKHIEN MOV DPTR,#DATAHANG1 CALL WRITE RET ;// CHƯƠNG TRÌNH CON HIỂN THỊ HÀNG THỨ TRÊN LCD HT_HANG2: MOV LCD_DATA,#0C0H CALL GHI_DIEUKHIEN 32 Mạch đo khoảng cách MOV DPTR,#DATAHANG2 CALL WRITE RET ;// CHƯƠNG TRÌNH CON DÙNG ÐỂ GHI LỆNH ÐIỀU KHIỂN CHO LCD GHI_DIEUKHIEN: CLR LCD_RS CLR LCD_RW SETB LCD_E NOP NOP CLR LCD_E CALL DELAY10MS RET ;// CHƯƠNG TRÌNH CON DÙNG ÐỂ GHI DỮ LIỆU LÊN LCD ;xx 33 Mạch đo khoảng cách GHI_DATA: SETB LCD_RS CLR LCD_RW SETB LCD_E NOP NOP CLR LCD_E CALL DELAY10MS RET ;// CHƯƠNG TRÌNH CON WRITE WRITE: MOV A,#0 MOVC A,@A+DPTR CJNE A,#99H,WRITE1 RET WRITE1: 34 Mạch đo khoảng cách MOV LCD_DATA,A CALL GHI_DATA INC DPTR JMP WRITE RET DELAY10MS: MOV R7,#50 LAP: MOV R6,#100 DJNZ R6,$ DJNZ R7,LAP RET DELAY10US: MOV R5,#5 DJNZ R5,$ RET DATAHANG1: DB "THONGBAOSO1" 35 Mạch đo khoảng cách DATAHANG2: DB "THONGBAOSO2" END 0.96% 36 ... đưa liệu qua LCD để hiển thị khoảng cách mà ta đo 13 Mạch đo khoảng cách CHƯƠNG THIẾT KẾ VÀ THI CÔNG MẠCH 3.1 Mạch in Hình 3.1 : Mạch in 3.2 Lưu đồ giải thuật: START 14 Mạch đo khoảng cách KHỞI... BIỂU DANH MỤC TỪ VIẾT TẮT IC – Integrated Circuit Mạch đo khoảng cách CHƯƠNG GIỚI THIỆU MẠCH ĐO KHOẢNG CÁCH DÙNG CẢM BIẾN 1.1.Tính quan trọng sản phẩm − Đo khoảng cách nhanh − Tiết kiệm sức người,... rộng/2 Khoảng cách = Thời gian/Tốc độ âm không khí 2.2.3 .LCD Hình 2.4 : LCD 16x2[3] Chức chân LCD: 11 Mạch đo khoảng cách Chân Tên Vss Chức Chân nối đất cho LCD, khi vẽ mạch nối chân với GND mạch

Ngày đăng: 11/03/2017, 21:12

Từ khóa liên quan

Mục lục

  • DANH MỤC BẢNG BIỂU

  • DANH MỤC TỪ VIẾT TẮT

  • IC – Integrated Circuit

  • CHƯƠNG 1

  • GIỚI THIỆU MẠCH ĐO KHOẢNG CÁCH DÙNG CẢM BIẾN

    • 1.1.Tính quan trọng của sản phẩm

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

    • 1.3.Kết quả nghiên cứu:

    • CHƯƠNG 2

    • TỔNG QUAN VỀ MẠCH ĐO KHOẢNG CÁCH DÙNG CẢM BIẾN

      • 2.1.Sơ đồ khối và chức năng của từng khối

        • 2.1.1.Sơ đồ khối:

          • Hình 2.1 : Sơ đồ khối

          • 2.1.2.Chức năng của từng khối:

          • 2.2.Giới thiệu các linh kiện sử dụng trong mạch:

            • 2.2.1.AT 89S52

              • Hình 2.2 : IC 89S52[1]

              • 2.2.2.Cảm biến SRF05:

                • Hình 2.3 : Cảm biến siêu âm SRF05[2]

                • 2.2.3.LCD

                  • Hình 2.4 : LCD 16x2[3]

                    • Bảng 2.1. Chức năng các chân của LCD

                    • 2.3 : Sơ đồ nguyên lí mạch:

                      • Hình 2.5 : Sơ đồ nguyên lí

                      • 2.4 : Nguyên lí hoạt động:

                      • CHƯƠNG 3

                      • THIẾT KẾ VÀ THI CÔNG MẠCH

                        • 3.1. Mạch in

                          • Hình 3.1 : Mạch in

                          • 3.2. Lưu đồ giải thuật:

                            • Hình 3.2 : Lưu đồ giải thuật

                            • 3.3. Mạch thực tế :

                              • Hình 3.3 : Mạch thực tế

                              • CHƯƠNG 4

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

Tài liệu liên quan