BÁO cáo bài tập lớn VI xử lý thiết kế mạch điện tử sử dụng vi xử lý 8051 và một vi mạch 74’138 cùng các cổng logic cần thiết để điều khiển một bảng LED

20 31 0
BÁO cáo bài tập lớn VI xử lý  thiết kế mạch điện tử sử dụng vi xử lý 8051 và một vi mạch 74’138 cùng các cổng logic cần thiết để điều khiển một bảng LED

Đ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

Luận Văn Tốt Nghiệp GVHD TS Hoàng Trang ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM KHOA ĐIỆN ĐIỆN TỬ  BÁO CÁO BÀI TẬP LỚN VI XỬ LÝ Nhóm 1 Giáo viên hướng dẫn Đoàn Ngọc Cẩm Lớp L16 BẢNG.

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM KHOA ĐIỆN- ĐIỆN TỬ - - BÁO CÁO BÀI TẬP LỚN VI XỬ LÝ -Nhóm - Giáo viên hướng dẫn: Đoàn Ngọc Cẩm Lớp: L16 BẢNG PHÂN CHIA CÔNG VIỆC CỦA CÁC THÀNH VIÊN TRONG NHÓM STT MSSV Họ Tên 2010179 Đinh Bá Duy 2010563 2010553 Nguyễn Vương Quốc Nguyễn Hữu Quang Vinh Công việc thực Thực Proteus, code KeilC, báo cáo Thiết kế mạch, báo cáo Tìm giải thuật code KeilC, báo cáo Ghi ĐỀ TÀI [SỐ THỨ TỰ CỦA ĐỀ TÀI] Thiết kế mạch điện tử sử dụng vi xử lý 8051 vi mạch 74’138 cổng logic cần thiết để điều khiển bảng LED ma trận có kích thước 16x16 (được ghép từ LED ma trận 8x8) với địa truy suất cho bảng Địa truy suất Ngoại vi giao tiếp 0000H - 17FFH bit cao cột 1800H – 3FFFH bit thấp cột 4000H – 8FFFH bit cao hàng 9000H - AFFFH bit thấp hàng Đồng thời thiết kế để giao tiếp với nút nhấn UP, DOWN, LEFT, RIGHT Yêu cầu: Vẽ mô Proteus, lập trình cho 8051 sáng điểm ảnh vị trí giao cột 0, hàng (trọng số thấp) Nhận liệu từ nút nhấn để di chuyển điểm ảnh lên/xuống/trái/phải tương ứng P/s: Khi thiết kế bảng LED Proteus, sinh viên nối dây cách đặt tên, nối dây xong kéo bảng LED lại Chú ý, sinh viên thiết kế cho trọng số thấp hàng nằm phía tay trái, trọng số thấp cột nằm 2 THIẾT KẾ MÔ PHỎNG TRÊN PROTEUS 2.1 Sơ đồ khối tổng quan 2.1.1 Sơ đồ khối tổng quan Sơ đồ giao tiếp 8051 với LED ma trận Giải thích khối: - 8051: Vi xử lý trung tâm - Mạch giải mã địa chỉ: Giải mã phân vùng địa - 74LS138: Để phân vùng địa - 74HC573: Chốt liệu gửi qua LED ma trận - LED ma trận: ngoại vi cần giao tiếp 2.2 Sơ đồ khối chi tiết phần 2.2.1 Phần 8051 Chân (Pin) Port Kiểu chân Input/ Ouput Port Output P3.6 P1.0 P1.1 P1.2 P1.3 Input Input Input Input Chức Nhận đưa liệu khối 74HC573 để thị cột, hàng tương ứng LED ma trận Ta sử dụng chân P2.7, P2.6, P2.5, P2.4, P2.3 Trong chân P2.7, P2.6, P2.5 dùng làm ngõ vào khối 74LS138, từ ngõ khối 74LS138 kết hợp với chân P2.4, P2.3 làm mạch giải mã địa để chọn Chip Cùng với ngõ mạch giải mã địa để chọn vùng địa Nhận liệu để điểm ảnh di chuyển LÊN Nhận liệu để điểm ảnh di chuyển XUỐNG Nhận liệu để điểm ảnh di chuyển PHẢI Nhận liệu để điểm ảnh di chuyển TRÁI 2.2.2 74HC573 Sơ đồ mạch phía cột hàng khối LED ma trận  Các tín hiệu liệu hàng cột thiết kế theo phương pháp bus Do đó, LED ma trận 16x16 điều khiển thông qua vi mạch chốt 74HC573, hai chốt liệu hàng để chọn quét cột Tín hiệu cho phép chốt liệu LE tổ hợp từ tín hiệu giải mã địa tín hiệu cho phép ghi WR\  LED ma trận kit LED có kích thước 16x16 (gồm LED 8x8 ghép với nhau) với phương pháp quét LED quét cột nên cột đệm với dãy transitor ULN2803 có dịng tối đa lên đến 500mA LED có cột cathode Thiết kế sử dụg vi mạch ULN2803 cho phép kéo dịng lên đến 500mA phía cột Dữ liệu xuất cột mức ULN2803 hoạt động cổng đảo nên tín hiệu lái cột có điện áp mức (tức gần GND) cho phép LED cột tương ứng sáng Dữ liệu xuất hàng mức hàng cấp điện áp nguồn a) Sơ đồ mạch bit cao cột b) Sơ đồ mạch bit thấp cột c) Sơ đồ mạch bit cao hàng d) Sơ đồ mạch bit thấp hàng 2.2.3 Trình bày bước thiết kế mạch giải mã địa Địa truy xuất A15 A14 A13 A12 A11 0000 0 0 17FF 0 1800 0 1 3FFF 0 1 4000 0 8FFF 0 9000 0 AFFF 1 … … … … … … … … … … … … … … … … … … … A2 A1 A0 … 0 … 1 … 0 … 1 … 0 … 1 … 0 … 1 - Ta dùng A15, A14, A13, A12, A11 bit để chọn vùng địa truy xuất cho ma trận - Sử dụng IC 74LS138 với ngõ vào A15, A14, A13 (A15 MSB) Khi A15 A14 A13 = 000 ngõ Y0, phân biệt hai vùng địa 0000H-17FFH với 1800H-3FFFH nên cần sử dụng thêm bit A12, A11 để phân biệt vùng địa - Với địa truy xuất 0000H tương ứng với tổ hợp A15 A14 A13 = 000, ngõ Y0 tích cực, tiếp tục lấy Y0 + A12 + A11, ta địa truy xuất 0000H Để truy xuất tới địa 17FFH, tương ứng ngõ vào A15 A14 A13 = 000, ngõ Y0 tích cực, lấy Y + A12 + A11, ta địa truy xuất 17FFH Ta có vùng địa 0000H- 17FFH Mạch giải mã vùng địa 0000H- 17FFH -Ở địa 1800H tương ứng với tổ hợp A15 A14 A13 = 000, ngõ Y0 tích cực, lấy Y + A12 + A11, ta thu địa truy xuất 1800H Khi tổ hợp ngõ vào A15 A14 A13 = 001, vùng địa có tổ hợp ngõ vào trên, qua 74LS138 ngõ Y1 tích cực, nên ngõ Y1 tương ứng với địa 3FFFH Ta thu mạch giải mã vùng địa 1800H- 3FFFH Mạch giải mã vùng địa 1800H- 3FFFH - Khi tổ hợp ngõ vào A15 A14 A13 = 010, vùng địa có tổ hợp ngõ vào trên, qua 74LS138 ngõ Y2 tích cực, nên ngõ Y2 tương ứng với địa 4000H Với địa 8FFFH tương ứng với tổ hợp A15 A14 A13 =100, ngõ Y4 tích cực, lấy Y + A 12, ta thu địa truy xuất 8FFFH Ta có mạch giải mã vùng địa 4000H- 8FFFH Mạch giải mã địa 8FFFH - Với địa 9000H tương ứng với tổ hợp A15 A14 A13 =100, ngõ Y4 tích cực, lấy Y + A 12, ta thu địa truy xuất 9000H Khi tổ hợp ngõ vào A15 A14 A13 =101, vùng địa có tổ hợp ngõ vào trên, qua 74LS138 ngõ Y5 tích cực, nên ngõ Y5 tương ứng với địa AFFFH Ta thu mạch giải mã vùng địa 9000H- AFFFH Mạch giải mã vùng địa 9000H- AFFFH ASSEMBLY CODE FOR 8051 3.1 Sơ đồ giải thuật chương trình Sau Bắt đầu (là nạp lại code, chạy từ đầu), chương trình chạy qua phần Setup bước khởi tạo điểm ảnh vị trí bắt đầu Điểm ảnh vị trí bắt đầu Sau chương trình vào vịng lập vơ tận, vòng lập làm nhiệm vụ: - Kiểm tra nút nhấn nhấn (thuật toán xử lý điểm nhấn nút tương tự nhau) - Chương trình tạo trễ để điểm ảnh đảm bảo di chuyển điểm ảnh lần bấm nút nhấn - Xử lý để điểm ảnh di chuyển theo hướng nút nhấn:  Kiểm tra vị điểm ảnh có vị trí ngồi LED ma trận 8x8 Đây vài ví dụ trường hợp  Kiểm tra vị điểm ảnh ma trận 8x8 để thay đổi bit kiểm tra vùng địa chị điểm ảnh P2.1 bit kiểm tra điểm ảnh bit cao thấp hàng P2.2 bit kiểm tra điểm ảnh bit cao thấp cột P2.1 P2.2 đảo bit điểm ảnh vị trị ma trận 8x8 điểm ảnh di chuyển qua LED ma trận 8x8 khác Ở vị trí điểm ảnh, P2.1=1 P2.2=1 Nếu điểm ảnh di chuyển sang trái, P2.1=1 P2.2 lúc P2.1 = 1, điểm ảnh hàng P2.1 = 0, điểm ảnh hàng P2.2 = 1, điểm ảnh cột trái P2.2 = 0, điểm ảnh cột phải  Vị trí hàng điểm ảnh LED ma trận 8x8 chứa ghi R6, vị trí cột điểm ảnh LED ma trận 8x8 chứa ghi R7 Đối với điểm ảnh di chuyển LÊN dịch trái (RL) ghi R6 thơng qua ghi A trung gian Điểm ảnh di chuyển XUỐNG dịch phải (RR) ghi R6 thơng qua ghi A trung gian Điểm ảnh di chuyển PHẢI dịch trái ghi R7 thơng qua ghi A trung gian Điểm ảnh di chuyển TRÁI dịch phải (RR) ghi R7 thông qua ghi A trung gian - Xuất vị trí điểm ảnh LED Phụ lục 4.1 Bản thiết kế mạch điện Proteus 4.2 Code chương trình theo yêu cầu ORG 0000H START: ;Tạo điểm ảnh bắt đầu MOV R7, #10000000B ; R7 vị trị hàng ngang điểm ảnh bit cột ; vd: R7=01000000B- hiển thị vị trí thứ từ phải qua bit cột MOV R6, #00000001B ; R6 vị trí hàng dọc điểm ảnh bit hàng ; vd: R6=00000010B- hiển thị vị trí thứ từ lên bit hàng ; R7=80H, R6=01H, hiển thị điểm ảnh thứ bit cột từ phải qua, vị trí thứ từ lên bit hàng CLR P2.1 ; P2.1 bit kiểm tra bit hàng điểm ảnh ; P2.1=0: điểm ảnh hàng dưới, P2.1=1: điểm ảnh hàng CLR P2.2 ; P2.2 bit kiểm tra bit cột điểm ảnh ; P2.2=1: điểm ảnh cột bên trái, P2.2=0: điểm ảnh cột bên phải MOV DPTR, #0000H ; chốt địa bit cao cột MOV A, R7 MOVX @DPTR,A MOV DPTR, #9000H ; chốt địa bit thấp hàng MOV A, R6 MOVX @DPTR, A MAIN: JB P1.0, KHAC_1 ; Kiểm tra nút nhấn LÊN (UP) ACALL DELAY ACALL UP ; Nếu nút nhấn nhấn điểm ảnh di chuyển LÊN SJMP MAIN KHAC_1: JB P1.1, KHAC_2 ; Kiểm tra nút nhấn XUỐNG (DOWN) ACALL DELAY ACALL DOWN ; Nếu nút nhấn nhấn điểm ảnh di chuyển XUỐNG SJMP MAIN KHAC_2: JB P1.2, KHAC_3 ; Kiểm tra nút nhấn PHẢI (RIGHT) ACALL DELAY ACALL RIGHT ; Nếu nút nhấn nhấn điểm ảnh di chuyển PHẢI SJMP MAIN KHAC_3: JB P1.3, MAIN ; Kiểm tra nút nhấn TRÁI (LEFT) ACALL DELAY ACALL LEFT ; Nếu nút nhấn nhấn điểm ảnh di chuyển TRÁI SJMP MAIN UP: ; Thuật toán điểm ảnh di chuyển LÊN CJNE R6, #80H, TT_UP ; Kiểm tra điểm ảnh có vị trí theo hàng ngang ; Khi điểm ảnh vị theo hàng ngang, điểm ảnh tiếp tục di chuyển lên điểm ảnh đổi hàng SJMP DOI_HANG_UP DOI_HANG_UP: CPL P2.1 ; Đảo bit kiểm tra hàng điểm ảnh TT_UP: ; Di chuyển điểm ảnh xuất LED MOV A, R6 ; Thanh ghi A chứa vị trí điểm ảnh RL A ; Dịch trái ghi A = Di chuyển điểm ảnh lên MOV R6, A ; R6 chứa vị trí điểm ảnh JB P2.1, HANG_TREN_UP ; Kiểm tra bit hàng điểm ảnh HANG_DUOI_UP: ; Xuất điểm ảnh điểm ảnh hàng MOV DPTR, #4000H ; Chốt địa bit hàng MOV A, #00H ; Đảm bảo không hiển thị điểm ảnh hàng MOVX @DPTR, A MOV DPTR, #9000H ; Chốt địa bit hàng MOV A, R6 MOVX @DPTR, A SJMP MAIN HANG_TREN_UP: ; Xuất điểm ảnh điểm ảnh hàng MOV DPTR, #9000H ; Chốt địa bit hàng MOV A, #00H ; Đảm bảo không hiển thị điểm ảnh hàng MOVX @DPTR, A MOV DPTR, #4000H ; Chốt địa bit hàng MOV A, R6 MOVX @DPTR, A SJMP MAIN RET ; Tương tự với thuật toán TRÊN điểm ảnh di chuyển XUỐNG DOWN: CJNE R6, #01H, TT_DOWN SJMP DOI_HANG_DOWN DOI_HANG_DOWN: CPL P2.1 TT_DOWN: MOV A, R6 RR A MOV R6, A JB P2.1, HANG_TREN_DOWN HANG_DUOI_DOWN: MOV DPTR, #4000H MOV A, #00H MOVX @DPTR, A MOV DPTR, #9000H MOV A, R6 MOVX @DPTR, A SJMP MAIN HANG_TREN_DOWN: MOV DPTR, #9000H MOV A, #00H MOVX @DPTR, A MOV DPTR, #4000H MOV A, R6 MOVX @DPTR, A SJMP MAIN RET RIGHT: ; Thuật toán điểm ảnh di chuyển PHẢI CJNE R7, #80H, TT_RIGHT ; Kiểm tra điểm ảnh có vị trí ngồi bên phải bit cột ; Khi điểm ảnh vị trí ngồi bên phải bit cột, điểm ảnh tiếp tục di chuyển qua PHẢI đổi cột cho điểm ảnh SJMP DOI_COT_RIGHT DOI_COT_RIGHT: CPL P2.2 ; Đổi bit kiểm tra cột điểm ảnh TT_RIGHT: ; Di chuyển điểm ảnh xuất LED MOV A, R7 ; Thanh ghi A chứa vị trí điểm ảnh RL A ; Dịch trái ghi A = Di chuyển điểm ảnh qua PHẢI MOV R7, A JB P2.2, COT_TRAI_RIGHT ; Kiểm tra bit cột điểm ảnh COT_PHAI_RIGHT: MOV DPTR, #1800H ; Chốt địa bit cột trái MOV A, #00H ; Đảm bảo cột trái không hiển thị LED MOVX @DPTR,A MOV DPTR, #0000H ; Chốt địa bit cột phải MOV A, R7 MOVX @DPTR,A JMP MAIN COT_TRAI_RIGHT: MOV DPTR, #0000H ; Chốt địa bit cột phải MOV A, #00H ; Đảm bảo cột phải không hiển thị LED MOVX @DPTR,A MOV DPTR, #1800H ; Chốt địa bit cột trái MOV A, R7 MOVX @DPTR,A JMP MAIN RET ; Tương tự với thuật toán PHẢI điểm ảnh di chuyển TRÁI LEFT: ; Thuật toán điểm ảnh di chuyển TRÁI CJNE R7, #01H, TT_LEFT SJMP DOI_COT_LEFT DOI_COT_LEFT: CPL P2.2 TT_LEFT: MOV A, R7 RR A MOV R7, A JB P2.2, COT_TRAI_LEFT COT_PHAI_LEFT: MOV DPTR, #1800H MOV A, #00H MOVX @DPTR,A MOV DPTR, #0000H MOV A, R7 MOVX @DPTR,A JMP MAIN COT_TRAI_LEFT: MOV DPTR, #0000H MOV A, #00H MOVX @DPTR,A MOV DPTR, #1800H MOV A, R7 MOVX @DPTR,A JMP MAIN RET DELAY: PUSH PUSH PUSH MOV R3, #3 DL2: MOV R1,#255 DL: MOV R2,#255 DJNZ R2, $ DJNZ R1, DL DJNZ R3, DL2 POP POP POP RET END 4.3 Video chạy mô ... cáo Thiết kế mạch, báo cáo Tìm giải thuật code KeilC, báo cáo Ghi ĐỀ TÀI [SỐ THỨ TỰ CỦA ĐỀ TÀI] Thiết kế mạch điện tử sử dụng vi xử lý 8051 vi mạch 74’138 cổng logic cần thiết để điều khiển bảng. .. Khi thiết kế bảng LED Proteus, sinh vi? ?n nối dây cách đặt tên, nối dây xong kéo bảng LED lại Chú ý, sinh vi? ?n thiết kế cho trọng số thấp hàng nằm phía tay trái, trọng số thấp cột nằm 2 THIẾT KẾ... tiếp 8051 với LED ma trận Giải thích khối: - 8051: Vi xử lý trung tâm - Mạch giải mã địa chỉ: Giải mã phân vùng địa - 74LS138: Để phân vùng địa - 74HC573: Chốt liệu gửi qua LED ma trận - LED ma

Ngày đăng: 18/08/2022, 06:18

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

Tài liệu liên quan