Thiết kế mạch thí nghiệm vi xử lý tích hợp 89c51 và PIC 16f877a phần vi điều khiển 89c51

87 21 0
Thiết kế mạch thí nghiệm vi xử lý tích hợp 89c51 và PIC 16f877a phần vi điều khiển 89c51

Đ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

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA VẬT LÝ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN VẬT LÝ Đề tài: THIẾT KẾ MẠCH THÍ NGHIỆM VI XỬ LÝ TÍCH HỢP 89C51 VÀ PIC16F877A- PHẦN VI ĐIỀU KHIỂN 89C51 Người hướng dẫn: Phạm Xuân Trung Người thực hiện: Hồ Huyền Lệ Quyên Đà Nẵng, tháng 5/2013 i KHÓA LUẬN TỐT NGHIỆP LỜI CẢM ƠN Em xin chân thành cám ơn Khoa Vật Lý, trường Đại Học Sư Phạm – Đại Học Đà Nẵng tạo điều kiện cho chúng em thực đề tài luận văn tốt nghiệp Em xin chân thành cảm ơn Thầy Phạm Xuân Trung tận tình hướng dẫn, bảo chúng em, cảm ơn gia đình, bạn bè anh giúp đỡ nhiệt tình suốt thời gian thực đề tài Em xin chân thành cảm ơn quý Thầy Cô khoa tận tình giảng dạy, trang bị cho em kiến thức quý báu năm học vừa qua Xin chân thành cảm ơn anh chị bạn bè ủng hộ, giúp đỡ động viên suốt thời gian học tập nghiên cứu Mặc dù em cố gắng hoàn thành luận văn phạm vi khả cho phép chắn không tránh khỏi thiếu sót Rất mọng nhận cảm thơng tận tình bảo q Thầy Cơ bạn Sinh viên thực Hồ Huyền Lệ Qun ii KHĨA LUẬN TỐT NGHIỆP LỜI CAM ĐOAN Tơi xin cam đoan rằng, số liệu kết luận văn trung thực chưa sử dụng Những nội dung luận văn thực hướng dẫn trực tiếp thầy Phạm Xuân Trung Tôi xin cam đoan rằng, giúp đỡ việc thực luận văn cảm ơn thơng tin trích dẫn luận văn rõ nguồn gốc Đà Nẵng, ngày tháng năm Sinh viên thực Hồ Huyền Lệ Quyên iii KHÓA LUẬN TỐT NGHIỆP MỤC LỤC LỜI CẢM ƠN……………………………………………………………………… i LỜI CAM ĐOAN…………………………………………………………………… ii MỤC LỤC ……………………………………………………………………………iii DANH SÁCH HÌNH…………………………………………………………………vi DANH SÁCH BẢNG BIỂU……………………………………………………… viii TỪ VIẾT TẮT……………………………………………………………………… ix LỜI NÓI ĐẦU…………………………………………………………………………x CHƯƠNG 1:TỔNG QUAN VI ĐIỀU KHIỂN 89C51………………………… 1.1Cấu trúc phần cứng 89C51 1.1.1 Đơn vị xử lý trung tâm .2 1.1.2 Chức chân 89C51 1.1.3 Cấu trúc PORT xuất nhập 1.1.4 Tổ chức nhớ 1.1.5 Các ghi chức đặc biệt( SFR) 10 1.2Hoạt động RESET 14 1.3Tóm tắt lệnh 16 1.3.1 Các toán hạng sử dụng lệnh 16 1.3.2 Các nhóm lệnh 16 CHƯƠNG 2:TỔNG QUAN VI XỬ LÝ PIC16F877A……………………………….18 2.1Giới thiệu vi điều khiển PIC 18 2.1.1 Kiến trúc PIC .18 2.1.2 RICS CISC 19 2.1.3 PIPELINING 20 iv KHĨA LUẬN TỐT NGHIỆP 2.2Một vài thơng số vi điều khiển PIC 16F877A 21 2.2.1 Tổ chức nhớ 22 2.2.2 Thanh ghi PIC……… …………………………………………………….25 2.3STACK .28 2.4Các cổng xuất nhập PIC16F877A 28 2.4.1 PORTA 29 2.4.2 PORTB .30 2.4.3 PORTC .30 2.4.4 PORTD 31 2.4.5 PORTE .32 2.5Tập lệnh PIC16F877A .32 2.5.1 Nhóm lệnh di chuyển .32 2.5.2 Nhóm lệnh số học 32 2.5.3 Nhóm lệnh logic .33 2.5.4 Nhóm lệnh rẽ nhánh 33 2.5.5 Nhóm lệnh điều khiển bit 33 2.5.6 Nhóm lệnh đặc biệt 33 CHƯƠNG 3: THIẾT KẾ MẠCH THÍ NGHIỆM……………………………………34 3.1Thiết kế board mạch thí nghiệm 34 3.2 LED đơn 41 3.3 LED đoạn 42 3.4 LCD đơn sắc 16x2 45 3.4 LCD đơn sắc 16x2 45 3.4.1 Giới thiệu Text LCD 45 3.4.2 Sơ đồ chân 46 v KHÓA LUẬN TỐT NGHIỆP 3.4.3 Các chân điều khiển LCD 46 3.4.4 Tập lệnh LCD 48 3.4.5 Giao tiếp bit 48 3.4.6 Vi điều khiển Text LCD 49 3.5 Bàn phím ma trận 50 3.6 Ma trận LED 8x8 51 3.6.1 IC 74595 51 3.6.2 ULN 2803 52 3.6.3 Ma trận LED 8x8 53 3.7 Cổng COM IC MAX 232 54 3.7.1 Cổng COM 54 3.7.2 IC MAX 232 56 CHƯƠNG 4: THIẾT KẾ CÁC BÀI THÍ NGHIỆM 89C51……………………… 57 4.1 Bài thí nghiệm 1: Lập trình điều khiển LED đơn LED đoạn 57 4.1.1 Dụng cụ thí nghiệm .57 4.1.2 Mục đích thí nghiệm 57 4.1.3 Chương trình ví dụ viết ngơn ngữ ASM 57 4.1.4 Kiểm tra thực tế 60 4.2 Bài thí nghiệm 2: 89C51 giao tiếp với LCD 16x2 Error! Bookmark not defined 4.2 Dụng cụ thí nghiệm Error! Bookmark not defined 4.2 Mục đích thí nghiệm Error! Bookmark not defined 4.2 Chương trình ví dụ 63 4.2 Kiểm tra thực tế 65 4.3 Bài thí nghiệm 3: Sử dụng giao tiếp 89C51 với bàn phím ma trận 66 4.3.1 Dụng cụ thí nghiệm .66 vi KHÓA LUẬN TỐT NGHIỆP 4.3.2 Mục đích thí nghiệm 66 4.3.3 Chương trình ví dụ 66 4.3.4 Kiểm tra thực tế 70 4.4 Bài thí nghiệm 4: Giao tiếp 89C51 với cổng COM UART 71 4.4.1 Dụng cụ thí nghiệm .71 4.4.2 Mục đích thí nghiệm 71 4.4.3 Chương trình ví dụ 71 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 73 TÀI LIỆU THAM KHẢO 74 vii KHĨA LUẬN TỐT NGHIỆP DANH SÁCH HÌNH Hình 1.1: Sơ đồ khối chip 89C51 Hình 1.2: Sơ đồ chân 89C51 Hình 1.3: Đơn vị xử lý trung tâm CPU Hình 1.4: Hoạt động bus cho chu kỳ tìm nạp lệnh Hình 1.5: 89C51 ghép với mạch dao động TTL bên ngồi Hình 1.6: Mạch bên Port xuất nhập Hình 1.7: Tóm tắt khơng gian nhớ chip 89C51 Hình 1.8: Hai mạch dùng reset hệ thống (a) reset tay (b) reset cấp nguồn Hình 2.1: Kiến trúc Von Neuman kiến trúc Havard Hình 2.2: Sơ đồ chân PIC16F877A Hình 2.3: Cơ chế pipeling Hình 2.4: Sơ đồ khối vi điều khiển PIC16F877A Hình 2.5: Bản đồ nhớ chương trình ngăn xếp Hình 2.6: Sơ đồ nhớ liệu PIC16F877A Hình 2.7: Sơ đồ khối cổng A Hình 2.8: Sơ đồ khối chân RB3 đến RB0, chân RB7 đến RB4 cổng B Hình 2.9: Sơ đồ khối chân RC, RC, chân RC cổng C Hình 2.10: Sơ đồ khối cổng D Hình 2.11: Sơ đồ khối cổng E Hình 3.1: Sơ đồ schematic tồn mạch Hình 3.2: Sơ đồ mạch in tồn mạch Hình 3.3: Mạch thực tế tồn mạch Hình 3.4: Sơ đồ schematic board trung tâm 89C51 Hình 3.5: Sơ đồ mạch in board trung tâm 89C51 Hình 3.6: Mạch thực tế board trung tâm 89C51 Hình 3.7: Sơ đồ schematic board trung tâm PIC16F877A Hình 3.8: Sơ đồ mạch in board trung tâm PIC16F877A Hình 3.9: Mạch thực tế board trung tâm PIC16F877A Hình 3.10: Sơ đồ nguyên lý LED đơn viii KHÓA LUẬN TỐT NGHIỆP Hình 3.11: Các mẫu LED thường gặp Hình 3.12: Dạng LED đoạn IC 7447 Hình 3.13: Sơ đồ schematic LCD Hình 3.14: Hình LCD 16x2 Hình 3.15: Hoạt động chân RS Hình 3.16: Trình giao tiếp với Text LCD Hình 3.17: Sơ đồ schematic ma trận phím Hình 3.18: Phím nhấn Hình 3.19: Sơ đồ chân 74HC595 Hình 3.20: Sơ đồ chân ULN 2803 Hình 3.21: Ma trận LED 8x8 ix KHÓA LUẬN TỐT NGHIỆP DANH SÁCH BẢNG BIỂU Bảng 1.1: Bảng so sánh chip họ MCS-51 Bảng 1.2: Chức chân Port3 hai chân P1.0 P1.1 Port1 Bảng 1.3: Bảng ghi PSW Bảng 1.4: Bảng ghi PCON Bảng 1.5: Bảng giá trị ghi sau reset hệ thống Bảng 1.6: Bảng liệt kê lệnh 89C51 Bảng 2.1: Bảng nhóm lệnh di chuyển Bảng 2.2: Bảng nhóm lệnh số học Bảng 2.3: Bảng nhóm lệnh logic Bảng 2.4: Bảng nhóm lệnh rẽ nhánh Bảng 2.5: Bảng nhóm lệnh điều khiển bit Bảng 2.6: Bảng nhóm lệnh đặc biệt Bảng 3.1: Bảng mã cho Led Anode chung Bảng 3.2: Bảng trạng thái Bảng 3.3: Bảng xếp chân Text LCD Bảng 3.4: Tóm tắt lệnh ghi vào LCD Bảng 3.5: Thơng số ULN 2803 x KHÓA LUẬN TỐT NGHIỆP b) LED đoạn 61 KHÓA LUẬN TỐT NGHIỆP 4.2 Bài thí nghiệm 2: 89C51 GIAO TIẾP LCD 16X2 4.2.1 Dụng cụ thí nghiệm: - Board thí ngiệm mở rộng - Đồng hồ số - Oscillopcope - Board MCU 89C51 - Nguồn 12V - Break board 4.2.2 Mục đích: Đây tập đơn giản, giúp cho người làm quen với vi điều khiển dòng 89C51 Vi điều khiển AT89C51 thực việc giao tiếp hiển thị liệu lên LCD 16x2 Dưới sơ đồ nguyên lý kết nối board MCU 89C51 với board thí nghiệm mở rộng Phần nguồn nuôi dùng nguồn 5VDC 4.2.3 Chương trình ví dụ kèm theo ngơn ngữ ASM ; READS51 generated header ;module :C:\Users\PC\Desktop\chuong\abc\GIANTIEP.asm ;created:19:19:46, Thurday, April 09, 2013 ; -#include ;LCD 16x2 Programming in 4-bit mode ;Port0 to higher nibble data pins of LCD RS EQU P3.5 RW EQU P3.6 E EQU P3.7 ORG 0x00 MAIN: CALL INIT_LCD CLR RS MOV A, #0x01 CALL SEND_LCD MOV R7, #3 CALL DELAY_MS SETB RS MOV DPTR,#ROW1 62 KHÓA LUẬN TỐT NGHIỆP CALL LCD_DISPLAY CLR RS MOV A, #0xC0 CALL SEND_LCD MOV R7, #3 CALL DELAY_MS SETB RS MOV DPTR,#ROW2 CALL LCD_DISPLAY MOV R7, #250 CALL DELAY_MS LOOP_MAIN: JMP LOOP_MAIN ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SEND_LCD: MOV R0, A SWAP A MOV P1, A SETB E CLR E MOV P1, R0 SETB E CLR E MOV R7, #1 CALL DELAY_MS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; INIT_LCD: MOV R7, #20 CALL DELAY_MS CLR RW CLR RS MOV P1, #0x02 SETB E CLR E MOV R7, #5 CALL DELAY_MS MOV A, #0x28 CALL SEND_LCD MOV A, #0x0C CALL SEND_LCD MOV A, #0x01 CALL SEND_LCD MOV R7, #3 63 KHÓA LUẬN TỐT NGHIỆP CALL DELAY_MS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DELAY_MS: MOV R6, #2 LOOP1_DELAY_MS: MOV R5, #250 LOOP2_DELAY_MS: DJNZ R5, LOOP2_DELAY_MS DJNZ R6, LOOP1_DELAY_MS DJNZ R7, DELAY_MS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LCD_DISPLAY: CLR A MOVC A, @A+DPTR JZ EXIT CALL SEND_LCD INC DPTR JMP LCD_DISPLAY EXIT: RET ROW1: DB'*DH SP DA NANG*' DB 0x00 ROW2: DB'*KHOA VAT LY*' DB 0x00 END 4.2.4 Kiểm tra thực tế 64 KHÓA LUẬN TỐT NGHIỆP 4.3 Bài thí nghiệm 3: SỬ DỤNG GIAO TIẾP 89C51 VỚI BÀN PHÍM MA TRẬN 65 KHĨA LUẬN TỐT NGHIỆP 4.3.1 Dụng cụ thí nghiệm: - Board thí nghiệm mở rộng - Đồng hồ số - Board MCU 89C51 - Nguồn DC 12V - Break board 4.3.2 Mục đích: Đây project đơn giản, giúp cho người làm quen với vi điều khiển dịng 89C51 Lập trình giao tiếp vi điều khiển với ma trận phím 4.3.3 Ví dụ Chương trình giao tiếp bàn phím ma trận #include RS EQU P3.5 RW EQU P3.6 E EQU P3.7 ORG 0x00 MAIN: CALL INIT_LCD LOOP_MAIN: CLR RS MOV A, #0x01 CALL SEND_LCD MOV R7, #3 CALL DELAY_MS SETB RS MOV DPTR,#ROW1 CALL LCD_DISPLAY CLR RS MOV A, #0xC0 CALL SEND_LCD MOV R7, #3 CALL DELAY_MS SETB RS CALL KEY CALL LOOK_UP CALL SEND_LCD MOV R7, #250 CALL DELAY_MS JMP LOOP_MAIN ; Xoa man hinh ; Chuyen tro xuong dong 66 KHÓA LUẬN TỐT NGHIỆP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SEND_LCD: MOV R0, A SWAP A MOV P1, A SETB E CLR E MOV P1, R0 SETB E CLR E MOV R7, #1 CALL DELAY_MS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; INIT_LCD: MOV R7, #20 CALL DELAY_MS CLR RW CLR RS MOV P1, #0x02 SETB E CLR E MOV R7, #5 CALL DELAY_MS MOV A, #0x28 CALL SEND_LCD MOV A, #0x0C CALL SEND_LCD MOV A, #0x01 CALL SEND_LCD MOV R7, #3 CALL DELAY_MS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DELAY_MS: MOV R6, #2 LOOP1_DELAY_MS: MOV R5, #250 LOOP2_DELAY_MS: DJNZ R5, LOOP2_DELAY_MS DJNZ R6, LOOP1_DELAY_MS 67 KHÓA LUẬN TỐT NGHIỆP DJNZ R7, DELAY_MS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LCD_DISPLAY: CLR A MOVC A, @A+DPTR JZ EXIT CALL SEND_LCD INC DPTR JMP LCD_DISPLAY EXIT: RET ROW1: DB'*DH SP DA NANG*' DB 0x00 ROW2: DB'*KHOA VAT LY*' DB 0x00 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KEY: MOV A, #0 MOV P2, #0xFE CALL QUET_HANG JNZ END_KEY MOV A, #4 MOV P2, #0xFD CALL QUET_HANG JNZ END_KEY MOV A, #8 MOV P2, #0xFB CALL QUET_HANG JNZ END_KEY MOV A, #12 MOV P2, #0xF7 CALL QUET_HANG END_KEY: RET QUET_HANG: MOV R7, #1 CALL DELAY_MS JB P2.7, KEY_1 ADD A, #1 RET 68 KHÓA LUẬN TỐT NGHIỆP KEY_1: JB ADD RET KEY_2: JB ADD RET KEY_3: JB ADD RET KEY_4: MOV RET P2.6, KEY_2 A, #2 P2.5, KEY_3 A, #3 P2.4, KEY_4 A, #4 A, #0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LOOK_UP: INC A MOVC A, @A+PC RET TABLE: DB '0123456789ABCDEF*' END 69 KHÓA LUẬN TỐT NGHIỆP 4.3.4 Kiểm tra thực tế 70 KHĨA LUẬN TỐT NGHIỆP 4.4 Bài thí nghiệm GIAO TIẾP 89C51 VỚI CỔNG COM UART 4.4.1 Dụng cụ thí nghiệm - Board thí nghiệm mở rộng - Đồng hồ số - Board MCU 89C51 - Nguồn DC 12V - Break board 4.4.2 Mục đích Đây project đơn giản, vi điều khiển 89C51 truyền chuỗi ký tự qua chân TX tới cổng RS232 để hiển thị lên hình máy tính 4.4.3 Chương trình ví dụ hiển thị lên hình máy tính ORG 0x00 MOV TMOD, #0x20 ; Chon bo Timer1, che MOV TH1, #- ; Chon toc 9600 baud MOV SCON, #50H ; Truyen du lieu, bit Stop cho phep thu SETB TR1 ; Khoi dong Timer1 AGAIN: MOV A, #"Q" CALL TRANS MOV A, #"U" ACALL TRANS MOV A, #"Y" CALL TRANS MOV A, #"E" CALL TRANS MOV A, #"N" CALL TRANS MOV A, #" " 71 KHÓA LUẬN TỐT NGHIỆP CALL TRANS MOV R7, #250 CALL DELAY_MS JMP AGAIN ; Tiep tuc ; Chuong trinh truyen du lieu noi tiep TRANS: MOV SBUF, A ; Nap SBUF HERE: JNB TI, HERE CLR TI ; Cho cho den truyen bit cuoi cung ; Cho san cho mot byte ke tiep RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DELAY_MS: MOV R6, #2 LOOP1_DELAY_MS: MOV R5, #250 LOOP2_DELAY_MS: DJNZ R5, LOOP2_DELAY_MS DJNZ R6, LOOP1_DELAY_MS DJNZ R7, DELAY_MS RET END 72 KHÓA LUẬN TỐT NGHIỆP KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Sau tiến hành trình nghiên cứu, so sánh với mục đích yêu cầu đề tài, chúng em làm việc cụ thể sau: - Nghiên cứu sở lý thuyết linh kiện điện tử sử dụng mạch - Tìm hiểu sử dụng hiệu thiết bị phụ kiện dùng để lắp ráp mạch điện tử - Tìm hiểu sơ đồ cấu tạo nguyên tắc hoạt động mạch: “ Thiết kế mạch tích hợp vi điều khiển 89C51 PIC16F877A- PHẦN VI ĐIỀU KHIỂN 89C51” - Lắp ráp mạch: : “ Thiết kế mạch tích hợp vi điều khiển 89C51 PIC16F877A- PHẦN VI ĐIỀU KHIỂN 89C51” Từ sở cho phép đến kết luận đóng góp luận văn: - Giúp chúng em củng cố nắm vững thêm kiến thức phần điện tử - Quá trình làm luận văn hội luyện tập bước thiết kế đồ dùng thực tế đời sống, áp dụng vào quy trình sản xuất - Trong trình làm luận văn giúp cho chúng em tăng khả thực hành, tăng khả tìm tịi, sáng tạo, khả làm việc nhóm làm việc độc lập để đến kết mong muốn - Luận văn làm tài liệu tham khảo Luận văn đạt mục đích đề Tuy nhiên, điều kiện khách quan mà chúng em hồn thành board mạch vậy, xem giới hạn đề tài Trong thời gian tới, chúng em cố gắng mở rộng phạm vi nghiên cứu đề tài, khai thác khả khác chúng để tăng hiệu việc ứng dụng thực tế Rất mong ủng hộ, giúp đỡ thầy cô tất bạn 73 KHÓA LUẬN TỐT NGHIỆP TÀI LIỆU THAM KHẢO - Giáo trình “vi điều khiển 8051” Tống Văn On - Giáo trình “ Tài liệu hướng dẫn thí nghiệm vi điều khiển 8951” thầy Lê Xứng - Giáo trình “ Tài liệu hướng dẫn thí nghiệm vi xử lý PIC16F877A” thầy Phạm Xuân Trung 74 KHÓA LUẬN TỐT NGHIỆP 75 ... NGHIỆP CHƯƠNG 3: THIẾT KẾ MẠCH THÍ NGHIỆM 3.1 Thiết kế mạch thí nghiệm Mục đích thiết kế mạch thí nghiệm vi xử lý tích hợp 89C51 PIC1 6F877A sử dụng vi xử lý board mạch để thí nghiệm khối LED... vi xử lý để góp phần vào cơng phát triển cơng nghệ Và khóa luận tốt nghiệp nhóm em định chọn đề tài “THIẾT KẾ MẠCH THÍ NGHIỆM VI XỬ LÝ TÍCH HỢP 89C51 VÀ PIC1 6F877A- PHẦN VI ĐIỀU KHIỂN 89C51? ??... Vi? ??c thiết kế thi công mạch vi xử lý tích hợp 89C51 PIC1 6F877A ta cần so sánh Port với Trong mạch này, ta cần thiết kế board trung tâm 89C51 PIC1 6F877A để gắn vào MCU trung tâm Trên board mạch

Ngày đăng: 09/05/2021, 17:02

Từ khóa liên quan

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

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

Tài liệu liên quan