Tài liệu đồ án vi mạch hệ vi xử lý 8085A, chương 7 docx

11 336 0
Tài liệu đồ án vi mạch hệ vi xử lý 8085A, chương 7 docx

Đ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

Đồ án Vi mạch Trang 2 Chương 7: Giao tiếp ngoại vi CPU giao tiếp với thế giới bên ngoài qua các thiết bò giao tiếp ngoại vi. Trong thiết kế sử dụng 2 vi mạch 8255A nên có được 6 port giao tiếp. Các 8255A này hoạt động theo chế độ I/O. Vi xử 8085A có thể đònh số đòa chỉ I/O tối đa là 256 port, các đòa chỉ được chọn cho các 8255A là: Sử dụng vi mạch 74LS138 kết hợp với một số cổng OR để giải mã đòa chỉ cho các vi mạch giao tiếp 8255A. Đòa chỉ hoạt động của các vi mạch 8255A. Dùng 74LS138 với các ngõ vào A, B và C là các đường đòa chỉ A 4 , A 5 , và A 6 . Các đường đòa chỉ A 0 , A 1 vào trực tiếp các 8255A. Như vậy, nếu không sử dụng các đường đòa chỉ A 2 , A 3 và A 7 thì các đòa chỉ 14 H , 18 H , 90 H và đòa chỉ 10 H được xem là như nhau, tương tự như vậy cho các đòa chỉ khác. Để đònh đòa chỉ chính xác tuyệt đối thì phải sử dụng các cổng OR và các đường đòa chỉ A 2 , A 3 và A 7 . Đòa chỉ (Hexa) Port 10 H Port A của 8255A-I 11 H Port B của 8255A-I 12 H Port C của 8255A-I 13 H Port điều khiển của 8255A-I 20 H Port A của 8255A-II 21 H Port B của 8255A-II 22 H Port C của 8255A-II 23 H Port điều khiển của 8255A-II Các đường đòa chỉ A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 HEXA 0 0 0 1 0 0 x x 10 H -13 H 0 0 1 0 0 0 x x 20 H -23 H Tới CS\ 8255A - II 74138 A 4 IO/M \ A G 1 G 2A \ G 2B \ Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Đồ án Vi mạch Trang 3 Sơ đồ kết nối giải mã đòa chỉ cho giao tiếp ngoại vi e. Jumper RAM/ROM: Chân 27 là V pp đối với EPROM và là WR\ đối với RAM, ta có thể thay đổi chức năng RAM/ROM bằng cách đặt một jumper nối chân này lên V cc nếu là EPROM và nối với WR\ của CPU nếu là RAM. Chân 1 là NC nếu là EPROM và là chân CS1 nếu là RAM, vì thế chân này luôn được nối lên V cc . Sơ đồ kết nối 6264/ 2764 V cc V cc WR \ 1 27 RAM/ROM jumper Đồ án Vi mạch Trang 4 III. Phần mềm: 1. Chương trình quét phím: Chương trình sẽ quét bàn phím để kiểm tra xem có phím nào được ấn hay không. Nếu phát hiện có phím được ấn thì chương trình sẽ nhận ra phím đó bằng cách xác đònh mã hàng và mã cột của phím đó rồi tra bảng để lấy mã của phím. 2. Chương trình quét đèn: Dữ liệu cần hiển thò được chứa trong bộ nhớ dưới dạng nhò phân. Để hiển thò được trên LED 7 đoạn thì các dữ liệu này phải được đổi sang mã 7 đoạn, chương trình sẽ giúp CPU thực hiện công việc này đồng thời cũng còn thực hiện chức năng quét đèn để hiển thò dữ liệu lần lượt trên từng đèn thế mạch hiển thò được đơn giản. 3. Chương trình minh họa: ; CHUONG TRINH LAY MA PHIM AN GET: LDA (KEYIN) ANI 1Fh CPI 1Fh RZ ; khong co phim an MVI B, 00h LPROW: RRC JNC ROWFD ; co phim duoc an INR B ; hang ke tiep JMP LPROW ROWFD: PUSH B ; luu vi tri hang MVI B, 00h MVI A, 0FEh ; bat dau tu cot 0 LPCOL: MOV D, A Ñoà aùn Vi maïch Trang 5 STA (DRIVE) LDA (KEYIN) ANI 1Fh CPI 1Fh JNZ COLFD MOV A, D RLC RNC ; du 8 cot INR B JMP LPCOL COLFD: ; B = vi tri cot POP AF ; lay lai vi tri hang STC CMC ; cy = 0 RAL RAL RAL ; hang = hang * 8 ADD B ; ma phim = hang*8 +cot PUSH AF LPFD: CALL DLDIS1 ; tri hoan co hien thi MVI A, 00h STA (DRIVE) LDA (KEYIN) ANI 1Fh CPI 1Fh JNZ LPFD ; doi nha phim CALL DLDIS ; tri hoan co hien thi POP AF LXI H, KEYTBL ; lay bang tra ma phim CALL ADDAX MOV A, M ; tra ma phim STA (KEY) ; luu ma phim MVI A, 01h STA (KEYFLG) ; bao co phim duoc an RET ; BANG TRA MA PHIM KEYTBL: DEFB 00h ; 0 Ñoà aùn Vi maïch Trang 6 DEFB 01h ; 1 DEFB 02h ; 2 DEFB 03h ; 3 DEFB 04h ; 4 DEFB 05h ; 5 DEFB 06h ; 6 DEFB 07h ; 7 DEFB 08h ; 8 DEFB 09h ; 9 DEFB 0Ah ; A DEFB 0Bh ; B DEFB 0Ch ; C DEFB 0Dh ; D DEFB 0Eh ; E DEFB 0Fh ; F DEFB 10h ; G DEFB 11h ; H DEFB 12h ; I DEFB 13h ; J DEFB 14h ; K DEFB 15h ; L DEFB 16h ; M DEFB 17h ; N DEFB 18h ; O DEFB 19h ; P DEFB 1Ah ; Q DEFB 1Bh ; R DEFB 1Ch ; S DEFB 1Dh ; T DEFB 1Eh ; U DEFB 1Fh ; V DEFB 20h ; W DEFB 21h ; X DEFB 22h ; Y DEFB 23h ; Z ; phim chuc nang DEFB 80h ; ESC DEFB 81h ; PC DEFB 82h ; '-' DEFB 83h ; '+' Ñoà aùn Vi maïch Trang 7 ; CHUONG TRINH HIEN THI DU LIEU RA LED 7 DOAN PUT: MVI A, 0FEh ; tu den so 0 LHLD (DISPTR) ; con tro den vung dem hien thi MUX: PUSH AF MOV A, M STA (SEGDRV) POP AF STA (DRIVE) PUSH AF PUSH H CALL DLPUT ; tri hoan de nhin thay MVI A, 00h STA (SEGDRV) STA (DRIVE) LDA (KEYIN) ANI 1Fh CPI 1Fh JZ LP002 ; khong co phim an CALL GET ; doc ma phim LP002: LXI H, LP1 PUSH H LHLD (MNPTR) ; thi hanh chuong trinh co dia chi PCHL ; duoc MNPTR chi den LP1: POP H POP AF RLC JNC PUT ; het 8 den, bat dau lai tu den 0 INX H JMP MUX ; den ke tiep ; GIAI MA SO HEX RA LED 7 DOAN DISCOD: Ñoà aùn Vi maïch Trang 8 PUSH B PUSH D PUSH H MVI B, 04h LXI H, HEXBUF ; vung dem hien thi LP01: MOV A, M ANI 0F0h RRC RRC RRC RRC MOV D, A MOV A, M ANI 0Fh MOV E, A PUSH D INX H DCR B JNZ LP01 LXI H, DISBUF + 7 MVI B, 04h LP02: POP D MOV E, D CALL SUBDIS DCX H CALL SUBDIS DCX H DCR B JNZ LP02 POP H POP D POP B RET ; Tra ma LED SUBDIS: MOV A, E PUSH H Ñoà aùn Vi maïch Trang 9 LXI H, DISTBL ; lay bang tra ma LED CALL ADDAX MOV A, M POP H MOV M, A RET ; BANG TRA MA LED 7 DOAN DISTBL: DEFB 3Fh ; 0 DEFB 06h ; 1 DEFB 5Bh ; 2 DEFB 4Fh ; 3 DEFB 66h ; 4 DEFB 6Dh ; 5 DEFB 7Dh ; 6 DEFB 07h ; 7 DEFB 7Fh ; 8 DEFB 6Fh ; 9 DEFB 77h ; A DEFB 7Ch ; B DEFB 39h ; C DEFB 5Eh ; D DEFB 79h ; E DEFB 71h ; F ; CHUONG TRINH CONG A VAO HL ADDAX: PUSH B MVI B, 00h MOV C, A DAD B POP B RET ; CHUONG TRINH DOC PHIM RDKEY: MVI A, 00h STA (KEYFLG) LDA (KEY) Ñoà aùn Vi maïch Trang 10 RET ; CAC CHUONG TRINH DELAY DLKP: PUSH H LXI H, 6000h JMP LPDL DLPUT: PUSH H LXI H, 0080h JMP LPDL DLAYHL: PUSH H LPDL: DCX H MOV A, H CPI 00h JNZ LPDL MOV A, L CPI 00h JNZ LPDL POP H RET ; CHUONG TRINH DELAY VAN HIEN THI DLDIS: PUSH AF PUSH B MVI B, 08h LAB1: CALL DLDIS1 DCR B JNZ LAB1 POP B POP AF RET DLDIS1: MVI A, 0FEh STA (DRIVE) Ñoà aùn Vi maïch Trang 11 LDA (DISBUF) STA (SEGDRV) CALL DLPUT MVI A, 00h STA (SEGDRV) MVI A, 0FDh STA (DRIVE) LDA (DISBUF + 1) STA (SEGDRV) CALL DLPUT MVI A, 00h STA (SEGDRV) MVI A, 0FBh STA (DRIVE) LDA (DISBUF + 2) STA (SEGDRV) CALL DLPUT MVI A, 00h STA (SEGDRV) MVI A, 0F7h STA (DRIVE) LDA (DISBUF + 3) STA (SEGDRV) CALL DLPUT MVI A, 00h STA (SEGDRV) MVI A, 0EFh STA (DRIVE) LDA (DISBUF + 4) STA (SEGDRV) CALL DLPUT MVI A, 00h STA (SEGDRV) MVI A, 0DFh STA (DRIVE) LDA (DISBUF + 5) STA (SEGDRV) CALL DLPUT MVI A, 00h STA (SEGDRV) [...]...Trang 12 Ñoà aùn Vi maïch MVI STA LDA STA CALL MVI STA MVI STA LDA STA CALL RET A, 0BFh (DRIVE) (DISBUF + 6) (SEGDRV) DLPUT A, 00h (SEGDRV) A, 7Fh (DRIVE) (DISBUF + 7) (SEGDRV) DLPUT ; CAC NHAN SU DUNG MNPTR EQU 5F20h DISPTR EQU 5F30h dem hien thi DISBUF EQU 5F40h thi HEXBUF EQU 5F48h KEY EQU 5F70h KEYFLG EQU 5F80h nhan KEYIN DRIVE SEGDRV SYSIO EQU EQU EQU . lên V cc . Sơ đồ kết nối 6264/ 276 4 V cc V cc WR 1 27 RAM/ROM jumper Đồ án Vi mạch Trang 4 III. Phần mềm: 1. Chương trình quét phím: Chương trình sẽ. 6Dh ; 5 DEFB 7Dh ; 6 DEFB 07h ; 7 DEFB 7Fh ; 8 DEFB 6Fh ; 9 DEFB 77 h ; A DEFB 7Ch ; B DEFB 39h ; C DEFB 5Eh ; D DEFB 79 h ; E DEFB 71 h ; F ; CHUONG

Ngày đăng: 26/01/2014, 16:20

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