0 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN ĐIỆN TỬ BÁO CÁO BÀI TẬP LỚN VI XỬ LÍ ĐỀ TÀI 2 Nhóm 12 Giảng viên hướng dẫn Trịnh Vũ Đăng Nguyên Sinh viên thực hiện TP Hồ Chí Minh,.
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN - ĐIỆN TỬ BÁO CÁO BÀI TẬP LỚN VI XỬ LÍ ĐỀ TÀI Nhóm 12 Giảng viên hướng dẫn: Trịnh Vũ Đăng Nguyên Sinh viên thực STT Họ tên MSSV Hoàng Hưng 2013379 Ngưu Tuấn Giang 1913192 Nguyễn Thị Hoài Thy 1912191 TP.Hồ Chí Minh, tháng 08 năm 2022 Mục lục Đề tài………………………………………………………………………… I Lý thuyết ………………………………………………………………………2 II Bài làm giải yêu cầu ……………………………………… … Yêu cầu làm Proteus…………………………………………………7 Giải mã địa chỉ………………………………………………………… Chương trình ……………………………………………….……………8 Biên dịch kiểm tra kết quả…………………………………… …….16 Yêu cầu vẽ PCB……………………………………………………… 18 Sơ đồ thiết kế…………………………………………………………….18 Thiết kế phần mềm online EasyEDA……………………………….19 3D view………………………………………………………………… 20 III Phân công công việc…………………………………………………………21 ĐỀ TÀI Đề 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 I Địa truy xuấ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 Lý thuyết Giao tiếp với LED ma trận LED ma trận dùng để hiển thị thơng tin theo điểm ảnh, LED ma trận dùng để biểu diễn chữ số, chữ cái, hình ảnh khác tùy mong muốn người lập trình Trong kit thí nghiệm vi xử lý, sinh viên sử dụng LED ma trận có kích thước 8x8 để hiển thị hình ảnh LED ma trận 8x8 gồm có 64 đèn LED tạo thành điểm ảnh, chân anode cathode LED đưa thành tín hiệu điều khiển LED ma trận có hai loại: loại anode hàng cathode cột loại cathode cột anode hàng (không thể đổi vị trí cột hàng chân cấu tạo chúng cố định) Theo ta thấy, chân anode (cathode) hàng (cột) nối chung với Hình ảnh LED ma trận hiển thị phương pháp quét cột/ hàng (tương tự việc quét LED đoạn quét cột hàng LED ma trận) Ví dụ hiển thị kí tự B LED ma trận ta dùng phương pháp quét cột, lần ta cho hiển thị cột (duy cột sáng, cột lại tắt) ứng với kí tự B mà ta mong muốn, sau tạo trễ tiếp sau cho sáng cột kế tiếp… hình sau Hình 0.1: LED ma trận kit TN VXL loại hàng anode, cột cathode Hình 0.2: Phần mạch điều khiển hàng LED ma trận Hình 0.3 Phần mạch điều khiển cột LED ma trận Hình 0.4 Tín hiệu chốt cột hàng LED ma trận LED ma trận kit thí nghiệm vi xử lý loại hàng anode, cột cathode Vì giả sử muốn sáng LED vị trí R1C1 R1 phải mức C1 phải mức Các hàng LED ma trận cấp nguồn thơng qua việc đóng ngắt BJT tương ứng, tín hiệu điều khiển cấp nguồn có tên CTRL_Rx, để cấp nguồn cho hàng tín hiệu điều khiển tương ứng phải mức Các tín hiệu CTRL_Rx ngõ IC chốt 74’573 địa 4000H đến 8FFFH 9000H đến AFFFH chế giao tiếp bus (xem lại phần giao tiếp với LED đoạn) Vì để truy xuất liệu hàng LED ma trận ta thực lệnh ghi RAM địa 4000H đến 8FFFH 9000H đến AFFFH, với bit A vị trí hàng sáng (xin nhắc lại hàng sáng mức 0) MOV A,@R1 MOV DPTR,#4000H MOVX @DPTR,A MOV A,@R0 MOV DPTR,#9000H MOVX @DPTR,A Xét đến phần mạch điều khiển cột LED ma trận, cột cathode chung nên tín hiệu cần đặt vào cột đèn sáng Ta thấy tín hiệu cột LED ma trận có thêm điện trở hạn dòng nối vào ngõ IC ULN2803, IC đệm dịng có đảo (OUTx bù INx, kí hiệu schematic bị sai, chân OUTx phải có bù) Tín hiệu đặt lên cột LED ma trận LED sáng tín hiệu truyền vào chân INx phải 1, tín hiệu ngõ IC chốt 74’573 địa 0000H – 17FFFH 1800H – 3FFFH theo chế giao tiếp bus Tóm lại để truy xuất liệu cột LED ma trận ta thực lệnh sau: MOV DPTR,#COT_H MOV A,#0 MOV DPTR,#0000H MOVX @DPTR,A MOV DPTR,#COT_L MOV A,R2 MOVC A,@A+DPTR MOV DPTR,#3000H MOVX @DPTR,A Giả sử muốn làm sáng cột LED thứ hình sau đoạn chương trình là: MOV trận cột MOV MOVX MOV trận hàng MOV MOVX DPTR, #8000H ;8000H địa giao tiếp LED ma A, #80H @DPTR,A DPTR, #A000H ;Cho phép sáng cột thứ A, #00H @DPTR,A ;Cho phép sáng tất hàng ;A000H địa giao tiếp LED ma Để hiển thị chữ B ví dụ, cần lập lại đoạn chương trình giá trị gán vào A cần thay đổi cách dùng phương pháp tra bảng hàng cột Đối với gán A quét cột sử dụng lệnh dịch bit thay tra bảng Chú ý: phải thực việc chốt giá trị cho cột trước việc chốt giá trị cho hàng, việc chốt giá trị cho hàng mang tính định nên để sau Nếu làm ngược lại dẫn đến tượng lem điểm ảnh hiển thị LED ma trận II Bài làm giải yêu cầu Yêu cầu làm Proteus: Vẽ mơ Proteus, lập trình cho 8051 hiển thị hình trái tim bảng LED thiết kế Hình ảnh trái tim giữ nguyên suốt 1s, sau làm hiệu ứng biến điểm ảnh trái tim (tắt điểm ảnh) từ trái qua phải, từ xuống dưới, điểm ảnh biến sau 0.1s Sau hình ảnh trái tim biến hết, bắt đầu vòng lập từ việc hiển thị tồn hình trái tim LED 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 ❖ Giải mã địa truy xuất: Mạch giải mã địa dùng 74HC138 - Tổng dung lượng 40KB nên cần 16 đường địa từ A0 – A15 - Bảng phân vùng địa chỉ: Tín hiệu Vùng A15 A14 A13 A12 A11 chọn chip địa COT_H 0000H 0 0 5KB 17FFH 0 COT_L 1800H 0 1 9KB 3FFFH 0 1 HANG_H 4000H 0 19KB 8FFFH 0 HANG_L 9000H 0 7KB AFFFH 1 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Ta cần chọn đường địa byte cao A15 A14 A13 A12 A11 để tạo tín hiệu chọn chip ❖ Chương trình: ORG 0000H MAIN: CALL STORE; Lưu giá trị hàng thấp vào ô nhớ 20H-2FH, hàng cao vào ô nhớ 40H-4FH MOV R5,#200 H7: CALL DISPLAY Giữ trái tim 1s CALL DELAY10MS DJNZ R5,H7 CALL DISAPEAR; Hiệu ứng biến điểm ảnh 0.1s JMP MAIN STORE: MOV R5,#0 MOV R0,#20H MOV R1,#40H H1: MOV DPTR,#HANG_L1 MOV A,R5 MOVC A,@A+DPTR MOV @R0,A MOV DPTR,#HANG_H1 MOV A,R5 MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 INC R5 CJNE R5,#8,H1 MOV R5,#0 MOV R0,#28H MOV R1,#48H H2: MOV DPTR,#HANG_L2 MOV A,R5 MOVC A,@A+DPTR MOV @R0,A MOV DPTR,#HANG_H2 MOV A,R5 MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 INC R5 CJNE R5,#8,H2 RET DISPLAY: MOV R2,#0 MOV R0,#20H MOV R1,#40H LOOP1: MOV DPTR,#COT_H; part MOV A,#0 MOV DPTR,#0000H MOVX @DPTR,A MOV DPTR,#COT_L MOV A,R2 MOVC A,@A+DPTR MOV DPTR,#3000H MOVX @DPTR,A MOV A,@R0 MOV DPTR,#9000H MOVX @DPTR,A MOV A,@R1 MOV DPTR,#4000H MOVX @DPTR,A CALL DELAY 10 INC R0 INC R1 INC R2 CJNE R2,#8,LOOP1 MOV R2,#0 MOV R0,#28H MOV R1,#48H LOOP2: MOV DPTR,#COT_L; part MOV A,#0 MOV DPTR,#3000H MOVX @DPTR,A MOV DPTR,#COT_H MOV A,R2 MOVC A,@A+DPTR MOV DPTR,#0000H MOVX @DPTR,A MOV A,@R0 MOV DPTR,#9000H MOVX @DPTR,A MOV A,@R1 MOV DPTR,#4000H MOVX @DPTR,A CALL DELAY INC R0 11 INC R1 INC R2 CJNE R2,#8,LOOP2 RET DISAPEAR: MOV R5,#1 MOV R0,#21H MOV R1,#41H LP1: DEC R0; HANG_H1 CJNE @R0,#0FFH,NXT1 MOV A,@R1 SETB C RLC A MOV @R1,A JMP OUT1 NXT1: MOV A,@R1 OUT1: INC R0 PUSH PUSH MOV R3,#20 H3: CALL DISPLAY CALL DELAY10MS DJNZ R3,H3 POP POP 12 CJNE @R1,#0FFH,LP1 LP2: CJNE @R1,#0FFH,NXT2; HANG_L1 MOV A,@R0 MOV R4,A SETB C RLC A ORL A,R4 MOV @R0,A JMP OUT2 NXT2: MOV A,@R0 OUT2: PUSH PUSH MOV R3,#20 H4: CALL DISPLAY CALL DELAY10MS DJNZ R3,H4 POP POP CJNE @R0,#0FFH,LP2 INC R0 INC R1 INC R5 CJNE R5,#8,LP1 ; MOV R5,#0 MOV R0,#28H MOV R1,#48H 13 LP3: DEC R0; HANG_H2 CJNE @R0,#0FFH,NXT3 MOV A,@R1 SETB C RLC A MOV @R1,A JMP OUT3 NXT3: MOV A,@R1 OUT3: INC R0 PUSH PUSH MOV R3,#20 H5: CALL DISPLAY CALL DELAY10MS DJNZ R3,H5 POP POP CJNE @R1,#0FFH,LP3 LP4: CJNE @R1,#0FFH,NXT4; HANG_L2 MOV A,@R0 MOV R4,A SETB C RLC A ORL A,R4 14 MOV @R0,A JMP OUT4 NXT4: MOV A,@R0 OUT4: PUSH PUSH MOV R3,#20 H6: CALL DISPLAY CALL DELAY10MS DJNZ R3,H6 POP POP CJNE @R0,#0FFH,LP4 INC R0 INC R1 INC R5 CJNE R5,#7,LP3 RET COT_L: DB 1H, 2H, 4H, 8H, 10H, 20H, 40H, 80H HANG_L1: DB 0FFH, 0FFH, 0FEH, 0FCH, 0F8H, 0F0H, 0E0H, 0C0H HANG_L2: DB 0C0H, 0E0H, 0F0H, 0F8H, 0FCH, 0FEH, 0FFH, 0FFH COT_H: DB 1H, 2H, 4H, 8H, 10H, 20H, 40H, 80H HANG_H1: DB 0FFH, 01FH, 0FH, 07H, 07H, 07H, 07H, 0FH HANG_H2: DB 0FH, 07H, 07H, 07H, 07H, 0FH, 01FH,0FFH DELAY: MOV R6, #5 LP: MOV R7, #25 15 DJNZ R7, $ DJNZ R6, LP RET DELAY10MS: MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END ❖ Biên dịch kiểm tra kết quả: - Ma trận LED hiển thj hình trái tim giữ 1s 16 - Ma trận LED tắt điểm ảnh sau 0.1s - Thời gian để ma trận LED tắt hoàn toàn đo : 14.1s Sai số : 14.1−11.4 % sai số = | 11.4 |× 100 = 23.68 % 17 + Nguyên nhân sai số phần thời gian biên dịch thực thi chương trình sai số delay + Cách khắc phục: giảm R3 MOV R3,#20 H3: CALL DISPLAY CALL DELAY10MS DJNZ R3,H3 Yêu cầu vẽ PCB: - Sơ đồ thiết kế: sơ sồ thiết kế phải vẽ cách hoàn chỉnh (cấp nguồn, clock…) - Vẽ PCB: Mạch lớp, linh kiện dán xuyên lỗ được, xếp linh kiện hợp lý, thẩm mỹ 18 + Thiết kế phần mềm online EasyEDA 19 + 3D view: 20 III Phân công công việc MSSV Họ tên Phân công Mực độ hồn thành 2013379 Hồng Hưng Lập trình; Giải mã địa 100% 1913192 Ngưu Tuấn Giang Thiết kế PCB – 3D 100% view 1912191 Nguyễn Thị Hoài Thy Thiết kế mạch nguyên 100% lý; Tổng hợp hoàn thiện báo cáo 21 ... R3, #20 H3: CALL DISPLAY CALL DELAY10MS DJNZ R3,H3 POP POP 12 CJNE @R1,#0FFH,LP1 LP2: CJNE @R1,#0FFH,NXT2; HANG_L1 MOV A,@R0 MOV R4,A SETB C RLC A ORL A,R4 MOV @R0,A JMP OUT2 NXT2: MOV A,@R0 OUT2:... R1,#48H H2: MOV DPTR,#HANG_L2 MOV A,R5 MOVC A,@A+DPTR MOV @R0,A MOV DPTR,#HANG_H2 MOV A,R5 MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 INC R5 CJNE R5,#8,H2 RET DISPLAY: MOV R2,#0 MOV R0, #20 H MOV R1,#40H... mềm online EasyEDA……………………………….19 3D view………………………………………………………………… 20 III Phân công công việc………………………………………………………? ?21 ĐỀ TÀI Đề tài: Thiết kế mạch điện tử sử dụng vi xử lý 8051 vi mạch 74’138 cổng