Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
108,83 KB
Nội dung
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ự mã 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 [...]... *1: INX CALL MVI STA POP RET H DPHLM A, 0 1 H AdTT PSW DOWN DOWN : Input : Output : Là chương trình con có tác vụ giảm đòa chỉ hiện hành xuống 1 đơn vò Thanh ghi HL Hiển thò đòa chỉ và dữ liệu AddTT = 01H DOWN PUSH HL CALL AddTT POP PSW (HL) – 1 DPHLM (01H) PSW RET DOWN PUSH PSW DCX H CALL DPHLM MVI A,01H STA AddTT POP PSW RET DPHLM (Xem phụ lục) Thiết kế Thiết bò thực tập vi xử lí 8085 Trang . 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. 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. 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