Tải bản đầy đủ (.pdf) (11 trang)

Quá trình hình thành giáo trình mô phỏng thiết kế thiết bị cảnh báo bằng phím nhận vị trí bộ nhớ p2 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (108.83 KB, 11 trang )

Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 23
Hình 4. 2 : Lưu đồ chương trình chính MNT



*A






*B














BEGIN

 Khởi tạo ngăn xếp
 Khởi tạo ngoại vi


 Khởi tạo ngắt
 Khởi tạo vùng dữ liệu
PUSH PSW

CALL KYBRD

a

b

c

Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 24





*C


*D


*E


*F



*G


*H


*I


*J


*K


*L


*M



b

c

a

PHIMSO


CALL PHIMSO

POP PSW

UP

DOWN

ADD

COPY

DEL

REG

SRCH

STEP

INS

PC

CALL UP

CALL DOWN

CALL ADD


CALL DEL

CALL COPY

POP PSW

CALL STEP

CALL SRCH

C
ALL INS

CALL PC

POP PSW

POP PSW

POP PSW

POP PSW

POP PSW

CALL REG

POP PSW

POP PSW


POP PSW


POP PSW

Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 25
ORG 0000H
JMP START
ORG 0080
; Khởi tạo ngăn xếp
START: LXI SP, 9CFFH
; Khởi tạo 8279
MVI A, 3EH ; lập trình xung clock
STA Add
ct79
; bằng 100 KHz
MVI A, 10H ; Hiển thò 8 kí tự, ghi phải
STA Add
CT79
; Bàn phím quét có lập mã khóa ngoài hai
; phím
MVI A, C3H ; xóa FIFO và xóa hiển thò
STA Add
CT79

MVI A, 40H ; Đọc FIFO, không tự tăng, hàng đầu tiên
STA Add
CT79


MVI A, 90H ; Ghi vào RAM hiển thò, tự tăng
STA Add
CT79
; Bắt đầu tại Led sát lề phải
; Khởi tạo ngoại vi 8255
MVI A, 8BH ; Mode 0, I/0 đơn giản
OUT 03H
OUT 0BH
; Khởi tạo ngoại vi 8253
MVI A, 35H ; Bộ đếm 0 mode 2, gửi 2 byte
OUT 13H ; đếm BCD
MVI A, B5H ; Bộ đếm 2 mode 2, 2 byte,
OUT 13H ; BCD
MVI A, 75H ; Bộ đếm 1; Mode 2; gửi 2 byte
OUT 13H ; đếm BCD
; Khởi tạo 8253 tạo xung 300 Hz cấp cho TXC và RXC của 8251
MVI A, 99H ; Bộ đếm 0 chia 10000
OUT 10H
MVI A, 99H
OUT 10H
MVI A, 99 ; Bộ đếm 1 chia 10000
OUT 11H
MVI A, 99H
OUT 11H
MVI A, 99H ; Tạo xung 5Hz đưa ra
OUT 12H ; sử dụng
Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 26
; Khởi tạo ngoại vi 8251
MVI A, 5DH ; Bất đồng bộ, hệ số nhân tốc độ bằng 1,
cho

OUT 23H ; phép dùng parity, không kiểm tra parity
; chẵn, kí tự dài 18 bit, 1 bit stop
MVI A, 10H ; Cấm phát, cấm nhận, reset tất cả các cờ
lỗi,
OUT 23H ; ngăn chặn reset mode bên trong,
; Khởi tạo 8259
MVI A, 12H ; tác động sườn dương, khoảng cách
OUT 20H ; các vectơ ngắt 8 byte, có 1 mạch
; PIC, bỏ ICW
4

MVI A, 40 H ; chọn kiểu ngắt 40h đến
OUT 27H ; 47H
MVI A, 00H ; Đầu vào IR
i
không nối
OUT 27H ; mạch thợ
; Khởi tạo ngắt
MVI A, E5H ; Che RST 7.5, RST 5.5 không
SIM ; che RST 5.5
; Khởi tạo một số ô nhơ ù


MVI A,10H STA Add
ST 14

STA Add
TT
CALL HELLO


MVI A, 00H *A : PUSH PSW
STA Add
qp+0
*B : CALL KYBRD

STA Add
qp+1
CPI 10H
STA Add
qp+2
JM *C
STA Add
qp+3
CPI ‘UP’
STA Add
HT+4
JZ *D
STA Add
HT+5
CPI ‘DOWN’
STA Add
HT+6
JZ *E
STA Add
HT+7



Thieỏt keỏ Thieỏt bũ thửùc taọp vi xửỷ lớ 8085 Trang 27
CPI ADD *G : CALL COPY

JZ *F POP PSW
CPI COPY JMP *A
JZ *G *H : CALL DEL
CPI DEL POP PSW
JZ *H JMP *A
CPI REG *I : POP PSW
JZ *I CALL REG
CPI SRCH JMP *A
JZ *J *J : CALL SRCH

CPI STEP POP PSW
JZ *K JMP *A
CPI INS *K : CALL STEP
JZ *L POP PSW
CPI PC JMP *A
JZ *M *L : CALL INS
JMP *B POP PSW
*C : CALL PHIMSO JMP *A
POP PSW *M : CALL PC
JMP *A POP PSW
*D : CALL UP JMP *A
POP PSW
JMP *A
*E : CALL DOWN
POP PSW
JMP *A
*F : CALL ADD
POP PSW
JMP *A


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 28


 KYBRD : Là chương trình con có nhiệm vụ lấy mã của phím ấn.
 Input: Chờ phím ấn
 Output: Chương trình sẽ dùng lại cho đến khi nào có một phím
được gõ, khi đó (A) = Mã phím
Ngoài A không thanh ghi nào bò điều chỉnh
Có gọi KYCODE


PUSH B
PUSH D
PUSH H
*1: CALL KYCODE

Đ

S
POP H
POP D
POP B


KYRBD
PUSH B
PUSH D
PUSH H
*1:CALL KYCODE
CPI FFH

JZ *1
POP H
POP D
POP B
RET


KYBRD

KYBRD

(A) = FFH

RET

Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 29


 KYCODE : Đây là chương trình con .Nó có tác vụ lấy mã của
phím ấn từ FIFO của 8279 đặt vào thanh ghi A
 Input: Gõõ phím
 Output: Nếu không gõ phím : (A) = FFH
Nếu có phím được gõ : (A) = Mã phím
Các thanh ghi bò điều chỉnh : A,B
Gọi DELAY 0.1 (Xem phụ lục)



LDA Add
STATUS

A (A) AND (OF
H
)



S
A (01H)
*1 CALL DELAY 0.1
A FFH LDA Add
DT79

B (A)
A (C2H)
STA Add
CT79

A (B)



KYCODE
LDA Add
STATUS

ANI OFH MVI A,C2H
JZ *1 STA Add
CT79

MVI A,01H MOV A,B

CALL DELAY 0.1 RET
LDA Add
DT79
*1 : MVI A,FFH
MOV B,A RET


KYCODE
Z=1

RET

KYCODE

Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 30




 PHIM SO: Đây là một chương trình con có tác vụ hiển thò phím
ấn và lưu trữ mã phím ấn.
 Input : Mã phím ấn
 Output : Hiển thò phím ấn và lưu trữ phím ấn
Không thanh ghi nào bò điều chỉnh.
Add
TT
= OOH





Xuất kha S

*2 *1



















PHIM SO

PHIM SO

Add
TT
=OOH


Dòch dữ liệu và nạp mã phím
mới ấn vào vùng Add
qp

CALL CODE 1

PUSH PSW

Dòch mã hiển thò trong ram
hiển thò của 8279 và trong
vùng Add
HT

1

Nạp OOH
vào Ram
hiển thò của
8279 và
vùng Add
HT

Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 31

















Hình 4.3 là lưu đồ chương trình phím số
Add
qp
: là 4 ô nhớ lưu giữ mã phím của 4 lần ấn phím số sau cùng.
Add
HT
: 4 ô nhớ lưu giữ mã 7 đoạn tương ứng với 4 mã phím sau cùng
Add
TT
: cho biết phím sau cùng là phím chức năng hay phím số
CODE : là chương trình con đổi các mã Hexa từ OOH OFH sang một kí tự

7 đoạn ( xem phụ lục )

Add
TT

Add
qp+0
Ad

HT+4


Add
qp+1
Ad
HT+5


Add
qp+2
Ad
HT+6


Add
qp+3
Ad
HT+7



Mã phím mới ấn Mã 7 đoạn của phím mới ấn


POP PSW

1

Nạp mã hiển thò của phím mới

ấn vào Add
HT
và vào Ram hiển
thò của 8279
Add
TT
(OOH)

RET

Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 32



 UP: Chương trình con có tác vụ tăng đòa chỉ hiện hành và nạp
dữ liệu hiển thò vào đòa chỉ hiện hành đó.
 Input: Thanh ghi HL
 Output: Hiển thò dữ liệu và đòa chỉ của ô dữ liệu đó chứa trong
HL
Các thanh ghi còn lại không bò điều chỉnh.
Add
TT
=01H
Add
TT
: đòa chỉ ô nhớ chứa cơ trạng thái
Add
TT
=00H: phím ấn sau cùng là phím số
Add

TT
00H: phím ấn sau cùng là phím chức năng



PUSH PSW

S

Đ *2
*2: CALL 0RMP
M (A)

*1: HL (HL) +1
CALL DPHLM
Add
TT
(01H)
POP PSW



Hình 4.4 Lưu đồ chương trình phím UP
ORMP: là chương trình con hợp hai ô quét phím (xem phụ lục)
DPHLM: là chương trình con có tác vụ hiển thò đòa chỉ và dữ liệu
trong ô nhớ có đòa chỉ trong HL (xem phụ lục).

UP
UP


UP

Add
TT
=00H

RET


Thiết kế Thiết bò thực tập vi xử lí 8085 Trang 33
PUSH PSW
CPI OOH
JZ *2
JMP *1
*2: CALL ORMP
MOV M , A
*1: INX H
CALL DPHLM
MVI A, 0 1 H
STA Ad
TT

POP PSW
RET




 DOWN : Là chương trình con có tác vụ giảm đòa chỉ hiện hành xuống
1 đơn vò

 Input : Thanh ghi HL
 Output : Hiển thò đòa chỉ và dữ liệu
Add
TT
= 01H



PUSH PSW
HL (HL) – 1
CALL DPHLM
Add
TT
(01H)
POP PSW



DOWN
PUSH PSW
DCX H
CALL DPHLM
MVI A,01H
STA Add
TT

POP PSW
RET
 DPHLM (Xem phụ lục)


DOWN

RET

DOWN

×