đồ án vi mạch hệ vi xử lý 8085A, chương 7

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:11

0
123
lượt xem
45
download

đồ án vi mạch hệ vi xử lý 8085A, chương 7

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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 pỏt giao tiếp. Các 8255A này hoạt động theo chế độ ÍO. Vi xử lý 8085A có thể định số địa chỉ ÍO tối đa là 256 pot, các địa chỉ được chọn cho các 8255A là: Địa chỉ (Hẽa) 10H 11H 12H 13H 20H 21H 22H 23H Pỏt Pỏt A của 8255A-I Pot B của 8255A-I Pot C của 8255A-I Pot điều khiển của 8255A-I Pỏt A của 8255A-II Pot B...

Chủ đề:
Lưu

Nội dung Text: đồ án vi mạch hệ vi xử lý 8085A, chương 7

  1. Ñoà aùn Vi maïch Trang 2 Chương 7: Giao tieáp ngoaïi vi CPU giao tieáp vôùi theá giôùi beân ngoaøi qua caùc thieát bò giao tieáp ngoaïi vi. Trong thieát keá söû duïng 2 vi maïch 8255A neân coù ñöôïc 6 port giao tieáp. Caùc 8255A naøy hoaït ñoäng theo cheá ñoä I/O. Vi xöû lyù 8085A coù theå ñònh soá ñòa chæ I/O toái ña laø 256 port, caùc ñòa chæ ñöôïc choïn cho caùc 8255A laø: Ñòa chæ (Hexa) Port 10H Port A cuûa 8255A-I 11H Port B cuûa 8255A-I 12H Port C cuûa 8255A-I 13H Port ñieàu khieån cuûa 8255A-I 20H Port A cuûa 8255A-II 21H Port B cuûa 8255A-II 22H Port C cuûa 8255A-II 23H Port ñieàu khieån cuûa 8255A-II Söû duïng vi maïch 74LS138 keát hôïp vôùi moät soá coång OR ñeå giaûi maõ ñòa chæ cho caùc vi maïch giao tieáp 8255A. Caùc ñöôøng ñòa chæ HEXA A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 1 0 0 x x 10H-13H 0 0 1 0 0 0 x x 20H-23H Ñòa chæ hoaït ñoäng cuûa caùc vi maïch 8255A. Duøng 74LS138 vôùi caùc ngoõ vaøo A, B vaø C laø caùc ñöôøng ñòa chæ A4, A5, vaø A6. Caùc ñöôøng ñòa chæ A0, A1 vaøo tröïc tieáp caùc 8255A. Nhö vaäy, neáu khoâng söû duïng caùc ñöôøng ñòa chæ A2, A3 vaø A7 thì caùc ñòa chæ 14H, 18H, 90H vaø ñòa chæ 10H ñöôïc xem laø nhö nhau, töông töï nhö vaäy cho caùc ñòa chæ khaùc. Ñeå ñònh ñòa chæ chính xaùc tuyeät ñoái thì phaûi söû duïng caùc coång OR vaø caùc ñöôøng ñòa chæ A2, A3 vaø A7. IO/M\ G1 Y7 G2A\ Y6 G2B\ Y5 Y4 Tôùi 74138 Y3 CS\ A A
  2. Ñoà aùn Vi maïch Trang 3 Sô ñoà keát noái giaûi maõ ñòa chæ cho giao tieáp ngoaïi vi e. Jumper RAM/ROM: Chaân 27 laø Vpp ñoái vôùi EPROM vaø laø WR\ ñoái vôùi RAM, ta coù theå thay ñoåi chöùc naêng RAM/ROM baèng caùch ñaët moät jumper noái chaân naøy leân Vcc neáu laø EPROM vaø noái vôùi WR\ cuûa CPU neáu laø RAM. Chaân 1 laø NC neáu laø EPROM vaø laø chaân CS1 neáu laø RAM, vì theá chaân naøy luoân ñöôïc noái leân Vcc. 6264/ Vcc Vcc 2764 1 27 WR\ RAM/ROM jumper Sô ñoà keát noái
  3. Ñoà aùn Vi maïch Trang 4 III. Phaàn meàm: 1. Chöông trình queùt phím: Chöông trình seõ queùt baøn phím ñeå kieåm tra xem coù phím naøo ñöôïc aán hay khoâng. Neáu phaùt hieän coù phím ñöôïc aán thì chöông trình seõ nhaän ra phím ñoù baèng caùch xaùc ñònh maõ haøng vaø maõ coät cuûa phím ñoù roài tra baûng ñeå laáy maõ cuûa phím. 2. Chöông trình queùt ñeøn: Döõ lieäu caàn hieån thò ñöôïc chöùa trong boä nhôù döôùi daïng nhò phaân. Ñeå hieån thò ñöôïc treân LED 7 ñoaïn thì caùc döõ lieäu naøy phaûi ñöôïc ñoåi sang maõ 7 ñoaïn, chöông trình seõ giuùp CPU thöïc hieän coâng vieäc naøy ñoàng thôøi cuõng coøn thöïc hieän chöùc naêng queùt ñeøn ñeå hieån thò döõ lieäu laàn löôït treân töøng ñeøn vì theá maïch hieån thò ñöôïc ñôn giaûn. 3. Chöông trình minh hoï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
  4. Ñ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
  5. Ñ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 ; '+'
  6. Ñ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:
  7. Ñ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
  8. Ñ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)
  9. Ñ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)
  10. Ñ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)
  11. Ñoà aùn Vi maïch Trang 12 MVI A, 0BFh STA (DRIVE) LDA (DISBUF + 6) STA (SEGDRV) CALL DLPUT MVI A, 00h STA (SEGDRV) MVI A, 7Fh STA (DRIVE) LDA (DISBUF + 7) STA (SEGDRV) CALL DLPUT RET ; CAC NHAN SU DUNG MNPTR EQU 5F20h DISPTR EQU 5F30h ; con tro den vung dem hien thi DISBUF EQU 5F40h ; vung dem hien thi HEXBUF EQU 5F48h ; vung dem so HEXA KEY EQU 5F70h ; chua ma phim KEYFLG EQU 5F80h ; =1 neu co phim nhan KEYIN EQU 8000h DRIVE EQU 8001h SEGDRV EQU 8002h SYSIO EQU 8003h
Đồng bộ tài khoản