Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
1,13 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ -o0o - MÔN HỌC : KỸ THUẬT VI XỬ LÝ VÀ GIAO TIẾP MÁY TÍNH ĐỀ TÀI : XÂY DỰNG MÁY TÍNH BỎ TÚI SỬ DỤNG MA TRẬN PHÍM VÀ LCD GVHD : TS NGUYỄN ĐÌNH THUẬN LỚP : NUT 16 NHÓM : 21 SVTH : NGUYỄN THANH TÚ - 20168566 TRẦN QUANG NAM - 20168366 TRẦN ĐĂNG TÙNG - 20168579 Hà Nội, 2021 download by : skknchat@gmail.com MỤC LỤC CHƯƠNG I: GIỚI THIỆU VÀ PHÂN TÍCH KIẾN TRÚC HỆ THỐNG I.Yêu cầu chức II.Khối điều khiển ngơn ngữ lập trình 2.1.Vi xử lý 8086: 2.2.Vi mạch 8255A 10 2.5.Sơ đồ khối phối lắp mạch 15 CHƯƠNG II THIẾT KẾ MẠCH 16 I.Sơ đồ đấu nối 16 II.Kết mô 16 III Lập trình vi xử lý 17 KẾT LUẬN 57 download by : skknchat@gmail.com CHƯƠNG I: GIỚI THIỆU VÀ PHÂN TÍCH KIẾN TRÚC HỆ THỐNG I.Yêu cầu chức Xây dựng máy tính bỏ túi sử dụng ma trận phím để nhập liệu và LCD để hiển thị kết quả, chỉ cần cộng trừ nhân chia sử dụng 8086,8255, ma trận phím, LCD,74LS373 II.Khối điều khiển ngôn ngữ lập trình 2.1.Vi xử lý 8086: Vi xử lý 8086 là bộ vi xử lý 16 bít Intel và là vi xử lý hỗ trợ tập lệnh x86 Ngoài Intel giới thiệu 8088 tương thích với 8086 độ rộng buýt liệu một nửa (8 bít) Vi xử lý sử dụng nhiều lĩnh vực khác nhau, là các máy IBM PC/XT • Tính năng: +) Có mợt hàng đợi lệnh, có khả lưu trữ byte lệnh từ bộ nhớ, giúp xử lý nhanh +) là bợ xử lý 16bit có ALU 16 bit, ghi 16bit, bus liệu bên và bus liệu ngoài 16bit giúp xử lý nhanh +) Nó sử dụng hai giai đoạn pipelining, tức là giai đoạn tìm nạp và giai đoạn thực thi, giúp cải thiện hiệu suất +) Gồm 256 ngắt vector, 29000 bóng bán dẫn Sơ đồ khối 8086 download by : skknchat@gmail.com Hình Sơ đồ mơ tả cấu trúc vi xử lý 8086 Đơn vị thực thi EU Cung cấp hướng dẫn cho BIU, ghi chú nơi lấy liệu và sau giải mã, thực hiện các hướng dẫn, Chức chính là điều khiển các hoạt động liệu cách sử dụng bộ giải mã lệnh ALU và EU khơng có kết nối trực tiếp với các bus hệ thống, thực hiện các hoạt động thông qua liệu BIU Đơn vị dao diện BUS (BIU) BIU đảm nhận tất liệu và chuyển địa chỉ các xe bus cho EU, gửi địa chỉ, nạp các lệnh từ bộ nhớ, đọc liệu từ các cổng và bộ nhớ liệu vào download by : skknchat@gmail.com accs cổng bợ nhớ EU khơng có kết nối hướng với bus hệ thống nên điều này xảy với BIU,EU và BIU kết nối với bus nội bợ Hình Sơ đồ chân vi xử lý 8086 Nguồn cung tín hiệu số : Nó sử dụng nguồn điện 5V DC chân V CC - 40 và sử dụng nối đất chân V SS - và 20 cho hoạt đợng Tín hiệu xung clock : Nó cung cấp thời gian cho bộ xử lý cho các hoạt động Tần số là khác các phiên khác nhau, tức là 5MHz, 8MHz 10MHz download by : skknchat@gmail.com Địa trạng thái bus bus liệu : AD0-AD15 Đây là 16 bus địa chỉ / liệu AD0-AD7 mang liệu byte bậc thấp và AD8-AD15 mang liệu byte bậc cao Trong chu kỳ xung nhịp đầu tiên, mang địa chỉ 16 bit và sau mang liệu 16 bit A16 /S3-A19/S6 Đây là xe buýt địa chỉ / trạng thái Trong chu kỳ xung nhịp đầu tiên, mang địa chỉ bit và sau mang các tín hiệu trạng thái BHE/S7 BHE là viết tắt Bus High Enable Nó có sẵn chân 34 và sử dụng để chỉ việc truyền liệu cách sử dụng bus liệu D8-D15 Tín hiệu này mức thấp chu kỳ đồng hồ đầu tiên, sau hoạt đợng RD Nó có sẵn chân 32 và sử dụng để đọc tín hiệu cho hoạt động đọc READY là tín hiệu báo nhận từ các thiết bị I / O mà liệu truyền Đó là mợt tín hiệu cao hoạt đợng Khi mức cao, chỉ thiết bị sẵn sàng để truyền liệu (Chân 22) RESET sử dụng để khởi động lại quá trình thực thi Nó khiến bợ xử lý chấm dứt hoạt đợng hiện Tín hiệu này hoạt động mức cao chu kỳ xung nhịp để ĐẶT LẠI bộ vi xử lý ( Chân 21) INTR Đây là một tín hiệu yêu cầu ngắt, lấy mẫu chu kỳ xung nhịp cuối lệnh để xác định xem bợ xử lý có coi là mợt ngắt hay khơng (có sẵn chân 18) download by : skknchat@gmail.com TEST Khi tín hiệu này mức cao, bợ xử lý phải đợi trạng thái IDLE, khơng quá trình thực thi tiếp tục.(Chân 23) NMI Nó là mợt đầu vào kích hoạt cạnh, gây một yêu cầu ngắt tới bộ vi xử lý.( Chân 17) INTA Nó là mợt tín hiệu báo nhận ngắt và id Khi bộ vi xử lý nhận tín hiệu này, báo nhận ngắt (Chân 24) ALE Nó là viết tắt chốt kích hoạt địa chỉ Một xung tích cực tạo bộ xử lý bắt đầu hoạt đợng nào Tín hiệu này cho biết sự sẵn có một địa chỉ hợp lệ các đường địa chỉ / liệu ( Chân 25) DEN Nó là viết tắt Data Enable Nó sử dụng để kích hoạt Bộ thu phát 8286 Bộ thu phát là một thiết bị dùng để tách liệu khỏi bus địa chỉ / liệu.(Chân 26) DT / R Nó là viết tắt tín hiệu Truyền / Nhận liệu Nó định hướng luồng liệu qua bợ thu phát Khi mức cao, liệu truyền ngoài và ngược lại (Chân 27) M / IO Tín hiệu này sử dụng để phân biệt bộ nhớ và các hoạt động I / O Khi mức cao, cho biết hoạt đợng I / O và mức thấp cho biết hoạt đợng bợ nhớ Nó có sẵn pin 28 WR download by : skknchat@gmail.com Nó là viết tắt tín hiệu ghi Nó sử dụng để ghi liệu vào bộ nhớ thiết bị đầu tùy thuộc vào trạng thái tín hiệu M / IO (Chân 29) HLDA Nó là viết tắt tín hiệu Hold Acknowledgement và có sẵn chân 30 Tín hiệu này ghi nhận tín hiệu HOLD HOLD Tín hiệu này cho bợ xử lý biết các thiết bị bên ngoài yêu cầu truy cập các bus địa chỉ / liệu Nó có sẵn pin 31 QS QS Đây là các tín hiệu trạng thái hàng đợi và có sẵn chân 24 và 25 Các tín hiệu này cung cấp trạng thái hàng đợi lệnh Điều kiện chúng thể hiện bảng sau: QS QS Trạng thái 0 Không hoạt động Byte opcode từ hàng đợi Làm trống hàng đợi 1 Byte từ hàng đợi S0,S1,S2 download by : skknchat@gmail.com Trạng thái S2 S1 S0 0 0 I / O Đọc I / O Viết 1 Tạm dừng lại 0 Tìm nạp opcode 1 Đọc bộ nhớ 1 Ghi bộ nhớ 1 Bị động Xác nhận ngắt Đây là các tín hiệu trạng thái cung cấp trạng thái hoạt động, sử dụng Bộ điều khiển Bus 8288 để tạo các tín hiệu điều khiển bợ nhớ & I / O Chúng có sẵn pin 26, 27 và 28 Sau là bảng hiển thị trạng thái chúng download by : skknchat@gmail.com 2.2.Vi mạch 8255A • Vi mạch 8255A là vi mạch cỡ lớn LSI, là mạch phối ghép vào song song lập trình • Do khả mềm dẻo ứng dụng thực tế là mạch phối ghép đc sử dụng phổ biến cho hệ vi xử lý 8,16,32 bit Gồm 40 chân: • 24 đường dẫn lối vào xếp thành cổng song song (port A,port B, port C) Một nửa cổng (PC4…PC&) thuộc nhóm A, cịn lại nửa tḥc nhóm B • Chân reset phải đ̣c nối với tín hiệu reset chung tồn hệ thống • Tín hiệu CS nối với mạch tạo xung chọn thiết bị để đặt mạch 8255 vào mợt sở địa chỉ nào Các tín hiệu địa chỉ A0, A1 chọn ghi bên 8255, một điều khiển cho hoạt động 8255 và ghi khác ứng các cổng PA,PB,PC để đọc liệu 10 download by : skknchat@gmail.com HIEN_LUON: MOV BX, NHAP ; KHI AN DAU = MA KO AN +-x/ MOV KET_QUA, BX ; CHO SO NHAP = KET QUA MOV PHEP_TOAN, JMP HIEN_KET_QUA TINH_LAN_DAU: ; DUNG KHI AN +-x/ LAN DAU MOV BX, NHAP MOV KET_QUA, BX MOV SO_PHEP_TINH, MOV NHAP, ; RESET BIEN SO_NHAP JMP DOI KETQUA5: O KET QUA ; DUNG DE DEM XEM CO BAO NHIEU CHU SO MOV CAC_CHU_SO, JMP CHUAN_BI KETQUA4: MOV CAC_CHU_SO, JMP CHUAN_BI 43 download by : skknchat@gmail.com KETQUA3: MOV CAC_CHU_SO, JMP CHUAN_BI KETQUA2: MOV CAC_CHU_SO, JMP CHUAN_BI DOI: MOV AX, 11110000B MOV DX, PC OUT DX, AX IN AL, PC MOV BL, AL AND BL, 11110000B CMP BL, 11110000B JNE DOI JMP LAP 44 download by : skknchat@gmail.com PROC CHECK_DAU ; KIEM TRA DAU TRUOC KHI TINH TRU PUSH AX GIA TRI ; LUU LAI GIA TRI THANH GHI TRANH MAT PUSH BX MOV AX, NHAP CMP KET_QUA, AX JAE DUONG ; NHAY NEU LON HON HOAC BANG MOV DAU_TRU, MOV AX, NHAP XCHG KET_QUA, AX MOV NHAP, AX KET_QUA ;KET_QUA = SO_NHAP ;SO_NHAP = DUONG: POP BX ; TRA LAI DUNG GIA TRI THANH GHI POP AX RET ENDP CHECK_DAU PROC DELAY LAPLAI: LOOP LAPLAI RET 45 download by : skknchat@gmail.com ENDP DELAY PROC LCD_INIT ; KHOI TAO LCD MOV AL,0 CALL OUT_B ; SET CAC GIA TRI CUA RS=En=RW=0 MOV CX,1000 CALL DELAY ; CAI DAT LAI TRINH TU MOV AH,30H ; 30H = 00110000B CALL LCD_CMD MOV CX,250 CALL DELAY MOV AH,30H ; 30H LA MA SETUP CUA LED CALL LCD_CMD ; MAY CAI KHAC CUNG LA MA SETUP CUA CAI LED NAY, THEO NHA SAN XUAT MOV CX,50 CALL DELAY MOV AH,30H 46 download by : skknchat@gmail.com CALL LCD_CMD MOV CX,500 CALL DELAY MOV AH,38H ; 38H = 00111000B CALL LCD_CMD MOV AH,0CH ; 0CH = 00001100B CALL LCD_CMD MOV AH,01H ;00000001B CALL LCD_CMD MOV AH,06H ;00000110B CALL LCD_CMD RET ENDP LCD_INIT ;CODE CHUNG DUNG MOI KHI THAY DOI SETUP CUA LED PROC LCD_CMD 47 download by : skknchat@gmail.com ;DAU VAO: AH = MA LENH ; RS = = CHO LENH CHI DAN VAO PUSH DX ; LUU LAI GIA TRI CAC THANH GHI DE KHI CALL LENH KO THAY DOI GIA TRI CUA CHUNG PUSH AX MOV AL,PORTB_VAL ; LAM CHAN RS CUA LED =0 AND AL,0FDH PHAI DUNG AL ; DUNG LENH OUT_B NEN CALL OUT_B MOV AL,AH THANH GHI AL ; cho Al = AH VI OUT_A DUNG CALL OUT_A MOV AL,PORTB_VAL LEN OR ; BAT CHAN EN CUA LED AL,100B CALL OUT_B MOV CX,50 48 download by : skknchat@gmail.com CALL DELAY MOV AL,PORTB_VAL AND AL,0FBH ; LAM CHO EN CUA LED = CALL OUT_B MOV CX,50 CALL DELAY POP AX ; LAY LAI GIA TRI CAC THANH GHI POP DX RET ENDP LCD_CMD PROC LCD_CLEAR MOV AH,1 CALL LCD_CMD ; TAC DUNG LA XOA MAN HINH RET ENDP LCD_CLEAR 49 download by : skknchat@gmail.com PROC LCD_WRITE_CHAR CON TRO ; VIET KY TU VAO VI TRI ;DAU VAO: AH PUSH AX MOV AL,PORTB_VAL OR AL,10B CHO DU LIEU VAO> ; BAT RS LEN 1( CHE DO CALL OUT_B MOV AL,AH CALL OUT_A DUNG LENH OUT_A ; DOI QUA THANH GHI AL DE MOV AL,PORTB_VAL OR AL,100B ; BAT CHAN EN LEN CALL OUT_B MOV CX,50 CALL DELAY MOV AL,PORTB_VAL 50 download by : skknchat@gmail.com AND AL,0FBH ; DOI GIA TRI CHAN EN VE CALL OUT_B POP AX RET ENDP LCD_WRITE_CHAR PROC LCD_PRINTSTR CON TRO CHUOT ; IN CHUOI KY TU VAO VI TRI PUSH SI ; MOI LAN NAP LAI THAY DOI GIA TRI SI NEN PHAI PUSH SI DE LUU LAI PUSH AX ;DOC VA VIET KY TU @LCD_PRINTSTR_LT: = THI DOC NGUOC ; CO DF = THI DOC THUAN, LODSB ; load String byte: NAP DAN GIA TRI CAC KY TU VAO THANH GHI AL CMP AL,'$' JE @LCD_PRINTSTR_EXIT MOV AH,AL VIET KY TU ; CHO VAO AH DE DUNG HAM CALL LCD_WRITE_CHAR JMP @LCD_PRINTSTR_LT 51 download by : skknchat@gmail.com @LCD_PRINTSTR_EXIT: POP AX POP SI RET ENDP LCD_PRINTSTR PROC LCD_SET_CUR ; DIEU KHIEN VI TRI CON TRO ;DL=HANG, DH=COT ;DL = HOAC ;DH = 1-8, 1st column is PUSH AX ;LCD DUNG COT LAM COT CO BAN DEC DH CHO DUNG VI TRI ; VI COT CO BAN LA NEN - DI ;CHON TH HANG HAY CMP DL,1 JE @ROW1 CMP DL,2 JE ; KIEM TRA XEM LA HANG HAY @ROW2 JMP @LCD_SET_CUR_END 52 download by : skknchat@gmail.com @ROW1: ; HANG MOV AH,80H ; 80H = 10000000B JMP @LCD_SET_CUR_ENDCASE @ROW2: ; HANG MOV AH,0C0H ; C0H = 1100000B JMP @LCD_SET_CUR_ENDCASE @LCD_SET_CUR_ENDCASE: ADD AH,DH SE LA: ; DH = COT ; GIASU T GOI COT THI GIA TRI CALL LCD_CMD ; AH = 10000001B ; HANG COT @LCD_SET_CUR_END: POP AX RET ENDP LCD_SET_CUR PROC LCD_SHOW_CUR ; HIEN CON TRO 53 download by : skknchat@gmail.com PUSH AX MOV AH,0FH ; 0FH = 00001111B CALL LCD_CMD POP AX RET ENDP LCD_SHOW_CUR PROC LCD_HIDE_CUR ; TAT HIEN CON TRO PUSH AX MOV AH,0CH CALL LCD_CMD ; 0CH = 00001100B POP AX RET ENDP LCD_HIDE_CUR ;GUI DU LIEU TOI CAC CONG PA, PB, PC VA LUU GIA TRI CUA CHUNG VAO BIEN PROC OUT_A ;DAU VAO: AL ;DAU RA: PORTA_VAL PUSH DX MOV DX,PA ; TUONG TU PB 54 download by : skknchat@gmail.com OUT DX,AL MOV PORTA_VAL,AL POP DX RET ENDP OUT_A PROC OUT_B ;DAU VAO: AL ;DAU RA: PORTB_VAL PUSH DX MOV DX,PB OUT DX,AL CHI CUA PB ; CHO GIA TRI AL VAO O NHO CO DIA MOV PORTB_VAL,AL CUA PB ; LUU LAI GIA TRI Al VAO GIA TRI POP DX RET ENDP OUT_B PROC OUT_C ;DAU VAO: AL ;DAU RA: PORTC_VAL 55 download by : skknchat@gmail.com PUSH DX MOV DX,PC OUT DX,AL MOV PORTC_VAL,AL POP DX RET ; TUONG TU PB ENDP OUT_C CODE ENDS END START 56 download by : skknchat@gmail.com KẾT LUẬN Đề tài thiết kế, xây dựng máy tính bỏ túi sử dụng ma trận phím để nhập liệu và LCD để hiển thị kết , một ứng dụng thực tế và hữu ích Qua quá trình dài nghiên cứu và tiếp thu kiến thức từ thầy Nguyễn Đình Thuận, chúng em hoàn thành đề tài Trong trình làm việc và học tập sự hướng dẫn thầy, chúng em học thêm nhiều kiến thức quan trọng, giúp bọn em nắm rõ trình đợ kiến thức chuyên môn đánh giá tốt trình đợ thân Bài báo cáo bọn em cịn nhiều thiếu sót Qua đó, bọn em mong sự góp ý chỉ bảo thêm từ thầy để hồn thiện Chúng em xin chân thành cảm ơn thầy 57 download by : skknchat@gmail.com ... và LCD để hiển thị kết quả, chỉ cần cộng trừ nhân chia sử dụng 8086,8255, ma trận phím, LCD, 74LS373 II.Khối điều khiển ngôn ngữ lập trình 2.1 .Vi xử lý 8086: Vi xử lý 8086 là bộ vi xử lý. .. trình vi xử lý 17 KẾT LUẬN 57 download by : skknchat@gmail.com CHƯƠNG I: GIỚI THIỆU VÀ PHÂN TÍCH KIẾN TRÚC HỆ THỐNG I.Yêu cầu chức Xây dựng ma? ?y tính bỏ túi sử dụng ma trận. .. RET ENDP LCD_ CMD PROC LCD_ CLEAR MOV AH,1 CALL LCD_ CMD ; TAC DUNG LA XOA MAN HINH RET ENDP LCD_ CLEAR 49 download by : skknchat@gmail.com PROC LCD_ WRITE_CHAR CON TRO ; VIET KY TU VAO VI TRI ;DAU