Đồ án Thiết kế thiết bị thực tập vi xử lí 8085

Cách sử dụng :  Di chuyển con trỏ tới địa chỉ cần chèn.  An phím Ins. Màn hình hiển thị thông báo nạp địa chỉ cuối vùng INS.  Dùng phím số nạp địa chỉ cuối.  An phím ADD xác định địa chỉ đó  Sử dụng phím số, phím UP để chèn dữ liệu mới.  Phím DOWN chỉ cho phép giảm địa chỉ xuống 1 và không lùi liên tiếp. Nó có chức năng chỉnh lại dữ liệu vừa chèn vào.  Nếu muốn sửa địa chỉ, ấn phím ADD. Màn hình thông báo nạp địa chỉ đầu.  Ấn phím ADD một lần nữa chức năng sửa địa chỉ được thực hiện và thoát chương trình.  Nếu muốn thoát chương trình không qua chức năng sửa địa chỉ, ấn phím INS một lần nữa.

pdf98 trang | Chia sẻ: lylyngoc | Lượt xem: 2242 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế thiết bị thực tập vi xử lí 8085, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
: 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 ) AddTT Addqp+0 AdHT+4 Addqp+1 AdHT+5 Addqp+2 AdHT+6 Addqp+3 AdHT+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 AddHT và vào Ram hiển thị của 8279 AddTT (OOH) RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 27  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. AddTT =01H AddTT : địa chỉ ơ nhớ chứa cơ trạng thái AddTT =00H: phím ấn sau cùng là phím số AddTT 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 AddTT (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 AddTT =00H RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 28 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 AdTT 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 AddTT = 01H PUSH PSW HL (HL) – 1 CALL DPHLM AddTT (01H) POP PSW DOWN PUSH PSW DCX H CALL DPHLM MVI A,01H STA AddTT POP PSW RET  DPHLM (Xem phụ lục)  ADD : Là chương trình con cĩ tác vụ nhận địa chỉ mới , hiển thị địa chỉ và dữ liệu mới đĩ.  Input : Lấy dữ liệu trong 4 ơ quét phím DOWN RET DOWN ADD Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 29  Output : Hiện thị địa chỉ và dữ liệu AddTT = 01H Khơng điều chỉnh các thanh ghi PUSH PSW PUSH D CALL DEQP HL DE CALL DPHLM AddTT (01H) POP D POP PSW ADD PUSH PSW PUSH D CALL DEQP XCHG CALL DPHLM MVI A,01H STA AddTT POP D POP PSW RET  DPHLM ( xem phụ lục )  COPY : Là chương trình con cĩ tác vụ copy dữ liệu từ vùng này sang vùng khác  Input : Nạp địa chỉ đầu, địa chỉ cuối của vùng gốc và địa chỉ đầu của vùng đích  Output : Copy , hiển thị địa chỉ và dữ liệu Chương trình khơng làm thay đổi nội dung các thanh ghi ADD RET COPY COPY Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 30 PUSH PSW PUSH B PUSH D PUSH H Addtt (01H) CALL XADD A (83H) AddCT79 (A) A (06H) AddDT79 (A) CALL DAUCHAM *1: CALL KYBRD S S Đ *2 Đ Đ *16 : CALL PHIMSO S *3 : CALL DEQP HL DE Addtt (01H) CALL XADD A (83 H) AddCT79 (A) A (5 B H) AddDT79 (A) CALL DAUCHAM *4: CALL KYBRD S S Đ *5 Đ PHIMSO ADD (ADDTT)=01H PHIMSO ADD x a a Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 31 Đ *17 : CALL PHIMSO S *6 : CALL DEQP BC DE BC (BC)+1 CALL SUBBCHL AddTT (01H) CALL XADD A (83H) AddCT79 (A) A (4FH) AddDT79 (A) CALL DAUCHAM * 7 : CALL KYBRD S S Đ *8 Đ Đ *18 : CALL PHIMSO S *9 : CALL ORQP A (Addcopy+1) Addcopy+3 (A) + (E) (ADDTT)=01H 1 a 1 a PHIMSO ADD (AddTT)=01H Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 32 A (Addcopy+0) Addcopy+2 (A) + (D) + Cy S *20 Đ *10 S S *11 Đ Đ S S *12 Đ *8 Đ S S Đ Đ * 14: CALL COPY C.0 * 13: CALL COPY C.1 *15: POP H CALL DPHLM AddTT (01H) POP D D  H HIMSO D = H E  L E = L D = B D  B E = C E  C a1 b 2 a b 2 a Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 33 POP B POP PSW COPY PUSH PSW JZ *5 PUSH B JMP *4 PUSH D *5 : LDA AddTT PUSH H CPI 01H MVI A, 01H JZ *15 STA AddTT *6 : CALL DEMP CALL XADD MOV B, D MVI A, 83H MOV C,E STA AddCT79 CALL SUBBCHL MVI A,06H MVI 01H STA AddDT79 STA AddTT CALL DAUCHAM CALL XADD *1 : CALL KYBRD MVI A, 83H CPI 10H STA AddCT79 JM *16 MVI A, 4 F H CPI ‘ADD’ STA AddDT79 JZ *2 CALL DAUCHAM JMP *1 *7 : CALL KYBRD *2 : LDA AddTT CPI 10H CPI 01H JM *18 JZ *15 CPI ‘ADD’ *3 : CALL DEMP JZ *8 MOV H, D JMP *7 MOV L, E *8 : LDA AddTT MVI A,01H CPI 01H STA AddTT JZ *15 CALL XADD *9 : CALL DEMP MVI A, 83H LDA Addcopy+1 STA AddCT79 ADD E MVI A, 5BH STA Addcopy+3 RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 34 STA AddDT79 LDA Addcopy+0 CALL DAUCHAM ADC D *4 : CALL KYBRD STA Addcopy+2 CPI 10H MOV A,D JM *17 CMP H CPI ‘ADD’ JZ *10 JP *11 *13 : CALL COPY C.1 JMP *14 JMP *15 *10 : MOV A,E *14 : CALL COPY C.0 CMP L *15 : POP H JZ *15 CALL DPHLM JP *11 MVI A, 01H JMP *14 STA AddTT *11 MOV A,D POP D CMP B POP B JZ *12 POP PSW JP *14 RET JMP *13 *16 : CALL PHIMSO *12 MOV A,E JMP *1 CMP C *17 : CALL PHIMSO JZ *13 JMP *4 JP *14 *18 : CALL PHIMSO JMP *13 JMP *7 Vùng nhớ Addcopy dùng để lưu trữ kết quả của các phép cộng trừ cặp thanh ghi phục vụ cho các chương trình con SUBBCHL và COPY C.1 vùng nhớ Addcopy nằm trong vùng nhớ AddREC. Addcopy+0 : 9FD2H Addcopy+1 : 9FD3H Addcopy+2 : 9FD4H A (B) – (H) - Cy Addcopy+3 : 9FD5 A (C) – (L) Các chương trình con được gọi : SUBBCHL SUBBCHL: Là chương trình con cĩ tác vụ trừ nội dung thanh ghi BC cho nội dung trong HL. (C) – (L) (B) – (H) – Cy (A) + (E) (A) + (D) + Cy Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 27 ĐÍCH  Input : Nạp số bị trừ vào BC Nạp số trừ vào HL  Output : Hiệu số được nạp vào 2 ơ nhớ Addcopy+0 và Addcopy+1 khơng làm thay đổi nội dung các thanh ghi. PUSH PSW A (C) A (A) – (L) AddCOPY + 1 (A) A (B) A (A) – (H) – Cy AddCOPY + 0 (A) POP PSW SUBBCHL PUSH PSW MOV A,C SUB L STA AddCOPY + 1 MOV A,B SBB H STA AddCOPY + 0 POP PSW RET  COPY C.O : Đây là chương trình con sao chép dữ liệu từ vùng này qua vùng khác. Hai vùng gốc và đích khơng giao nhau hoặc giao nhau như hình vẽ  Input : Nạp địa chỉ đầu của vùng gốc vào HL Nạp địa chỉ cuối của vùng gốc vào BC Nạp địa chỉ đầu của vùng đích vào DE  Output : Khơng làm thay đổi nội dung các thanh ghi. SUBBCHL RET DE GỐC HL BC Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 27 PUSH PSW PUSH B PUSH D PUSH H BC (BC) + 1 *1 : A M STAX D HL (HL) + 1 DE (DE) + 1 S Đ S Đ *3 : POP H POP D POP B POP PSW  Input : Nạp số bị trừ vào BC Nạp số trừ vào HL  Output : Hiệu số được nạp vào 2 ơ nhớ Addcopy+0 và Addcopy+1 khơng làm thay đổi nội dung các thanh ghi. COPY C.0 COPY C.0 H = B L = C RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 28 PUSH PSW PUSH B PUSH D PUSH H BC (BC) + 1 *1 : A M STAX D HL (HL) + 1 DE (DE) + 1 S Đ S Đ *3 : POP H POP D POP B POP PSW COPY C.0 PUSH PSW JZ *2 PUSH B JMP *1 PUSH D *2: MOV A, C PUSH H CMP L INX B JZ *3 *1 : MOV A, M JMP *1 STAX D *3 : POP H INX H POP D INX D POP B COPY C.0 H = B L = C RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 29 MOV A, B POP PSW CMP H RET  COPY C.1 Đây là chương trình con chép đoạn dữ liệu trùng nhau như hình vẽ. bc Input : Nạp địa chỉ đầu của vùng gốc vào HL Nạp địa chỉ cuối của vùng vào BC Thanh ghi D lấy dữ liệu từ Addcopy+2 Thanh ghi E lấy dữ liệu từ Addcopy+3 Output : Khơng thay đổi nội dung các thanh ghi. PUSH PSW PUSH B PUSH D PUSH H DE HL HL BC BC DE BC (BC) – 1 D (Addcopy + 2) E (Addcopy + 3) *1 : A M STAX D HL (HL) - 1 DE (DE) - 1 GỐC ĐÍCH COPY C.1 COPY C.1 DE BC HL Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 30 S Đ *2 S Đ *3 *3 : POP H POP D POP B POP PSW PUSH PSW DCX D PUSH B MOV A, B PUSH D CMP H PUSH H JZ *2 XCHG JMP *1 MOV H,B *2: MOV A, C MOV L,C CMP L MOV B,D JZ *3 MOV C,E JMP *1 LDA Addcopy + 2 *3 : POP H MOV D,A POP D LDA Addcopy + 3 POP B MOV E,A POP PSW DCX B RET *1 : MOV A, M STAX D DCX H  Các chương trình con sau đây xem phụ lục + DAUCHAM + DEMP + XADD H = B L = C RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 31  DEL : Là chương trình con dễ xố ( nạp 00H ) một vùng dữ liệu  Input : Nạp địa chỉ đầu của vùng cần xố Nạp địa chỉ cuối của vùng cần xố  Output : Chương trình khơng làm thay đổi nội dung các thanh ghi PUSH PSW PUSH B PUSH D PUSH H Addtt (01H) CALL XADD A (83H) AddCT79 (A) A (06H) AddDT79 (A) CALL DAUCHAM *1: CALL KYBRD S S Đ *2 Đ Đ *8 : CALL PHIMSO S CALL DEMP HL DE Addtt (01H) CALL XADD A (83H) AddCT79 (A) A (5BH) DEL PHIMSO ADD (ADDTT)=01H DEL Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 32 AddDT79 (A) CALL DAUCHAM * 3 : CALL KYBRD S S Đ *4 Đ Đ *10 : CALL PHIMSO S CALL DEMP BC DE BC (BC)+1 *5 : M (00H) HL (HL)+1 *6 *7 * 7 : POP H 1 a 1 a PHIMSO ADD (AddTT)=01H H = B L = C Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 33 CALL DPHLM AddTT (01H) POP D POP B POP PSW DEL PUSH PSW STA AddDT79 PUSH B CALL DAUCHAM PUSH D *3 : CALL KYBRD PUSH H CPI 10H MVI A, 01H JM *10 STA AddTT CPI ‘ADD’ CALL XADD JZ *4 MVI A, 83H JMP *3 STA AddCT79 *4 : LDA AddTT MVI A, 06H CPI 01H STA AddDT79 JZ *7 CALL DAUCHAM CALL DEMP *1 : CALL KYBRD MOV B, D CPI 10H MOV C, E JM *8 INX B CPI ‘ADD’ *5 : MOV M, 00H JZ *2 INX H JMP *1 MOV A, H *2 : LDA AddTT CMP B CPI 01H JZ *6 IZ *7 JMP *5 CALL DEMP *6 : MOV A, L MOV H, D CMP C MOV L, E JZ *7 MVI A, 01H JMP *5 STA AddTT *7 : POP H CALL XADD CALL DPHLM MVI A, 83H MVI A, 01H STA AddCT79 STA AddTT MVI A, 5B POP D RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 34 POP B JMP *1 POP PSW *9 : CALL PHIMSO RET JMP *3 *8 : CALL PHIMSO Các chương trình con được gọi :  DAUCHAM ( xem phụ lục )  XADD ( xem phụ lục )  DEMP (xem phụ lục )  KYBRD ( xem chương 4 ) Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 35  REG : Đây là chương trình con cĩ chức năng hiển thị nội dung và nạp nội dung các thanh ghi.  Input : Nội dung các thanh ghi.  Output : Hiển thị nội dung các thanh ghi. AddTT = 01H XEM GIẢI THUẬT REG CUỐI CHƯƠNG 4 REG PUSH F STA AddREG+4 STA AddREG+0 MOV A, E MOV A, H STA AddREG+5 STA AddREG+6 *1 : MVI A, 01H MOV A, L STA AddTT STA AddREG+7 LXI H, AddREG+0 POP H MVI B, 77 MOV A, L CALL KYTUB STA AddREG+1 CALL DPM MOV A, B *2 : CALL KYBRD STA AdDREG+2 CPI 10H MOV A, C JM *18 STA AddREG+3 CPI ‘UP’ MOV A, D JZ *3 REG Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 36 CPI “DOWN” JMP *16 JZ *17 *9 : MVI B, 71 H CPI “REG” CALL KYTUB JZ *19 JMP *16 *3 : LDA AddTT *10 : MVI B, 7 C H CPI 00H CALL KYTUB JZ *4 JMP *16 JMP *5 *11 : MVI B, 39 H *4 : CALL ORQP CALL KYTUB MOV M, A JMP *16 *5 : INX H *12 : MVI B, 5 E H *6 : MOV A, H CALL KYTUB CPI 9 F H JMP *16 JZ *7 *13 : MVI B, 79 H JMP *1 CALL KYTUB *7 : MOV A, L JMP *16 CPI D 2 H *14 : MVI B, 76 H JZ *8 CALL KYTUB CPI D3 JMP *16 JZ *9 *15 : MVI B, 38 H CPI D 4 CALL KYTUB JZ *10 JMP *16 CPI D 5 *16 : CALL DPM JZ *11 MVI A, 01 H CPI D 6 STA AddTT JZ *12 JMP *2 CPI D 7 *17 : DCX H JZ *13 JMP *6 CPI D 8 *18 : CALL PHIMSO JZ *14 JMP *2 CPI D 9 * 19 : LXI H, AddREG+0 JZ *15 MOV B, M; lấy AF JMP *1 INX H; thơng qua *8 : MVI B, 77 H MOV C, M; ngăn xếp CALL KYTUB PUSH B; và BC INX H MOV E, M MOV B, M XCHG INX H POP D MOV D, M CALL DPHLM Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 37 INX H MVI A, 01 H MOV E, M STA AddTT PUSH D POP PSW; lấy AF INX H ; lấy HL thơng qua BC MOV D, M;thơng và ngăn xếp INX H; qua DE RET  DPM : Chương trình con hiển thị nội dung ơ nhớ cĩ địa chỉ trong HL ( xem phụ lục ).  PHIMSO : Hiển thị địa chỉ và dữ liệu ( xem phụ lục ).  KYBRD : Chương trình con quét phím.  KYTUB : Hiển thị kí tự và dấu bằng ( xem phụ lục )  ORMP : Hợp hai ơ quét phím ( xem phụ lục ) Vùng nhớ AddREG dùng để lưu nội dung của các thanh ghi. AddREG+0 : 9 F D 2H A AddREG+1 : 9 F D 3H F AddREG+2 : 9 F D 4H B AddREG+3 : 9 F D 5H C AddREG+4 : 9 F D 6H D AddREG+5 : 9 F D 7H E AddREG+6 : 9 F D 8H H AddREG+7 : 9 F D 9H L  SRCH : Là chương trình con cĩ tác vụ tìm kiếm dữ liệu trong bộ nhớ.  Input : Nạp dữ liệu cần tìm. Nạp địa chỉ cuối của vùng cần xố  Output : Hiển thị địa chỉ và dữ liệu vừa tìm được. Thay đổi nội dung lặp thanh ghi HL. SRCH Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 38 AddTT = 03H PUSH PSW *7 S AddTT (01H ) HL (HL) +1 CALL DPFIND A (AddSRCH) *1: CALL KYBRD S S Đ Đ *2 S *6 : CALL PHIMSO *3 Đ CALL DPHLM POP PSW *3 : CALL ORMP AddSRCH (A) *4 : CPI M HL (HL) + 1 S Đ *5 : AddTT 03H CALL DPHLM POP PSW PHIMSO UP (AddTT)=00H SRCH AddTT = 03H RET Z = 1 RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 39 SRCH PUSH PSW CALL ORMP LDA AddTT STA AddSRCH CPI 03H *4 : CMP M JZ *7 JZ *5 MVI A, 01H INX H STA AddTT JMP *4 CALL DPFIND *5 : MVI A, 03H *1 : CALL KYBRD STA AddTT CPI 10H CALL DPHLM JM *6 POP PSW CPI ‘UP’ RET JZ *2 *6 : CALL PHIMSO JMP *1 JMP *1 *2 : LDA AddTT *7 : INX H CPI 00H LDA AddSRCH JZ *3 JMP *4 CALL DPHLM POP PSW RET * Các chương trình được gọi :  DPFIND ( xem phụ lục )  DPHLM ( xem phụ lục )  KYBRD ( xem chương 4 )  ORMP ( xem phụ lục )  PHIMSO ( xem chương 4 )  STEP : Đây là một chương trình cho phép chạy từng lệnh của chương trình người sử dụng.  Input : Nhận địa chỉ hiện hành vào HL.  Output : Chỉ thay đổi thanh ghi HL. Các chương trình con được gọi : LMB : Chương trình nhận biết được lệnh sắp thực hiện mấy byte. DPHLM : Hiển thị địa chỉ vào dữ liệu tại địa chỉ đĩ. STEP Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 40 Chương trình sử dụng các vùng nhớ sau : 9 D 00H Vùng nhớ vào sau ra trước 9 D FFH ( ngăn xếp giả ) AddST0 9FDAH AddST1 9FDBH Nạp lệnh cần chạy AddST2 9FDCH AddST3 9FDDH AddST4 9FDEH Nạp lệnh nhảy AddST5 9FDFH AddST6 9FE0H AddST7 9FE1H AddST8 9FE2H Nạp nội dung các AddST9 9FE3H thanh ghi AddSTA 9FE4H AddSTB 9FE5H Nạp nội dung các AddSTC 9FE6H thanh ghi AddSTD 9FE7H AddSTE 9FE8H AddSTF 9FE9H AddST10 9FEAH AddST11 9FEBH AddST12 9FECH Khi chạy các các lệnh AddST13 9FEDH nhảy, lệnh gọi và lệnh AddST14 9FEEH trở về AddST15 9FEFH AddST16 9FF0H AddST7 9FF1H XEM GIẢI THUẬT STEP CUỐI CHƯƠNG 4 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 41 STEP PUSH B JZ *ST2 MOV A,M CPI 31H STA AddSTO JZ *ST2 MVI A,OOH CPI 33H STA AddST17 JZ *ST13 CALL LMB CPI 20H MOV A,C JZ *ST3 CPI 3OH CPI 10H JZ *ST1 JZ *ST5 CPI 32H CPI 11H JZ *ST6 *ST1: INX H CPI A0H MOV A,M JZ *ST22 STA AddST10 JMP *ST20 INX H *ST22 : STA AddST2 MOV A,M SHLD AddSTE STA AddST11 MVI A,C3H MVI A,_ STA AddCT79 STA AddST1 MVI A,01H MVI A,_ CALL DELAY 0.1 STA AddST2 MVI A,C3H SHLD AddST12 STA AddST3 MVI A,C3 MVI A,_ STA AddST3 STA AddST4 MVI A,_ MVI A,_ STA AddST4 STA AddST5 MVI A,_ LDA AddST8 STA AddST5 MOV B,A JMP *ST21 LDA AddST9 *ST2 : MOV A,M MOV C,A CPI 32H LHLD AddST6 JZ *ST10 PUSH H INX H POP PSW *ST4 : MOV A,M LHLD AddSTA STA AddST1 XCHG INX H LHLD AddSTC *ST20 : MOV A,M JMP AddSTO STA AddST2 *ST12 : SHLD AddSTC JMP *ST7 PUSH PSW Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 42 *ST10 : INX H POP H MOV A,M SHLD AddST6 CPI 00H MOV A,B JZ *ST11 STA AddST8 JMP *ST4 MOV A,C *ST11: STA AddST1 STA AddST9 INX H XCHG MOV A,M SHLD AddSTA LHLD AddSTE MOV H,B INX H MOV L,C MVI A,01H INX H STA AddTT JMP *ST9 POP B *ST7 : SHLD AddSTE RET MVI A,C3H *ST3 : INX H STA AddST3 MOV A,M MVI A,_ STA AddST1 STA AddST4 MVI A,00H MVI A,_ STA AddST2 STA AddST5 JMP *ST7 *ST21: LDA AddST8 *ST5 : MVI A,00H MOV B,A STA AddST1 LDA AddST9 STA AddST2 MOV C,A JMP *ST7 LHLD AddST6 *ST6 : SHLD AddST15 PUSH H MVI A,00H POP PSW STA AddST1 LHLD AddSTA STA AddST2 XCHG MVI A,C3H LHLD AddSTC STA AddST+3 JMP AddSTO MVI A,_ *ST8 : SHLD AddSTC STA AddST+4 PUSH PSW MVI A,_ POP H STA AddST+5 SHLD AddST6 CALL *ST19 MOV A,B LDA AddST14 STA AddST8 MOV L,A MOV A,C MVI H,9DH STA AddST9 MOV B,M XCHG INX H SHLD AddSTA MOV C,M LHLD AddSTE Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 43 DCRA INX H DCRA *ST9 : CALL DPHLM STA AddST14 MVI A,01H STA AddTT INR A POP B INR A RET STA AddST14 LHLD AddST12 *ST13 : INX H MOV B,H MOV A,M MOV C,L STA AddST10 MOV L,A INX H MVI H,9DH MOV A,M MOV M,B STA AddST11 INX H MVI A,_ MOV M,C STA AddST1 MVI A,01H MVI A,_ STA AddST17 STA AddST2 LHLD AddST10 SHLD AddST12 RET MVI A,C3 STA AddST3 *17 : LDA AddST17 MVI A,_ CMP 00H STA AddST4 JZ *ST15 MVI A,_ JMP *ST9 STA AddST5 *18 : LHLD AddST15 JMP *ST21 INX H *ST14 : LHLD AddST10 JMP *ST9 JMP *ST9 *ST15 : LHLD AddST12 *19 : JMP *ST21 INX H JMP *ST9 *ST16 : LDA AddST14 LMB Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 44  LMB : Đây là một chương trình con cĩ nhiệm vụ nhận biết lệnh mấy byte.  Input : HL là địa chỉ chứa lệnh đĩ  Output : C = 32H : Khi lệnh đĩ thuộc nhĩm lệnh nạp tức thời cặp thanh ghi ( 3 byte ) C = 31H : Khi lệnh đĩ thuộc nhĩm lệnh lưu trữ trực tiếp ( 3 byte ) C = 30H : Khi lệnh đĩ thuộc nhĩm lệnh gọi chương trình con ( 3 byte ) C = 33H : Khi lệnh đĩ thuộc nhĩm lệnh nhảy ( 3 byte ) C = 20H : Khi lệnh đĩ thuộc nhĩm lệnh 2 byte C = 11H : Khi lệnh đĩ thuộc nhĩm lệnh trở về từ chương trình con C = 10H : Khi lệnh đĩ thuộc nhĩm lệnh 1 byte ( kể cả những mã khơng thuộc bộ lệnh ) Ngồi thanh ghi C chương trình khơng ảnh hưởng tới các thanh ghi khác. Do chương trình đơn giản nên chỉ trình bày thuật giải. Được gọi từ chương trình STEP và chương trình SDC. PUSH PSW A (M) Đ C (32H) POP PSW S Đ C (31H) POP PSW LMB Nhĩm nạp tức thời thanh ghi (3 byte) 1 1 RET Nhĩm lệnh lưu trữ trực tiếp (3 byte) Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 45 S Đ C (30H) POP PSW S Đ C (33H) POP PSW S Đ C (20H) S POP PSW Đ C (11H) S POP PSW C (10H) POP PSW  INS : Đây là một chương trình con cho phép chèn dữ liệu tại địa chỉ hiện hành và tự sửa địa chỉ nếu muốn.  Input : Nạp địa chỉ cuối vùng INS , nghĩa là chương trình chỉ cĩ tác dụng trong khoảng từ địa chỉ hiện hành đến địa chỉ cuối mới nạp. Nếu sửa địa chỉ thì nạp địa chỉ lệnh đầu tiên vùng cần sửa, nghĩa là chương trình sửa địa chỉ chỉ cĩ tác dụng từ địa chỉ mới nạp tới địa chỉ cuối vùng INS  Output : Ngồi AF khơng thanh ghi nào bị điều chỉnh. Vùng địa chỉ sử dụng cho INS : RET Nhĩm lệnh gọi chương trình con (3 byte) RET Nhĩm lệnh nhảy (3 byte) RET Nhĩm lệnh 2 byte RET Nhĩm lệnh trở về từ chương trình con RET RET INS Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 46 AddINS + 0 : 9FDD Địa chỉ trở về sau khi AddINS + 1 : 9FDE INS AddINS + 2 : 9FDF Địa chỉ kế cuối vùng AddINS + 3 : 9FE0 INS AddINS + 4 : 9FE1 Nạp địa chỉ ơ nhớ AddINS + 5 : 9FE2 cần chèn PUSH B PUSH D PUSH H BC (0000H) SHLD AddINS + 0 SHLD AddINS + 4 DE HL *1 : Addtt (01H) CALL XADD A (83H) AddCT79 (A) A (79H) AddDT79 (A) CALL DAUCHAM *4: CALL KYBRD S S Đ *3 S *16 : CALL PHIMSO *4 Đ PUSH DE CALL DEMP HL DE INS PHIMSO ADD (AddTT)=00H a a Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 47 HL (HL) - 1 SHLD AddINS + 2 POP DE A (H) S Đ *5 Đ S A (L) S S Đ Đ *6 AddTT (01H) LHLD AddINS+ 0 CALL DPHLM *7 : CASLL KYBRD S S S *11 Đ *10 Đ *9 Đ PUSH HL CALL DOWN AddTT (01H) LHLD AddINS+2 SHLD AddINS+0 CALL SDC CALL SHM DE HL POP H BC (BC)+1 CALL DPHLM POP HL AddTT (01H) CALL PHIMSO *12 POP D CALL KYBRD POP B S *12 *15 Đ CALL PHIMSO A = D A < D A = E A < E 1 1 ADD DOWN PHIMSO PHIMSO RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 48 *8 S S S *13 Đ *14 POP H CALL UP CALL DPHLM SHLD AddINS + 0 AddTT (01H) DE HL POP D POP B PUSH B JMP *6 PUSH D *5 : MOV A,L PUSH H CMP E LXI B,0000H JZ *1 SHLD AddINS + 0 JM *1 SHLD AddINS + 4 *6 : MVI A,01H MOV D,H STA AddTT MOV E,L LHLD AddINS + 0 *1 : MVI A,01 CALL DPHLM STA AddTT *7 : CALL KYBRD CALL XADD CPI ‘ADD’ MVI A,38H JZ *9 STA AddCT79 CPI ‘DOWN’ MVI A,79H JZ *10 STA AddDT79 CPI 10H CALL DAUCHAM JM *11 *2 : CALL KYBRD *8 : CPI ‘INS’ CPI 10H JZ *13 JM *16 CPI ‘UP’ CPI ‘ADD’ JZ *14 JZ *3 JMP *7 JMP *2 *9 : MVI A,01H *3 : LDA AddTT STA AddTT CPI 00H CALL SDC JZ *4 POP H JMP *1 CALL DPHLM *4 : PUSH D MVI A,01H CALL DEMP STA AddTT INS UP RET JMP *1 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 49 MOV H,D POP D MOV L,E POP B DCX H RET SHLD AddINS + 2 *10 : CALL DOWN POP D SHLD AddINS +0 MOV A,H MOV D,H CMP D MOV E,L JZ *5 JMP *12 *11 : PUSH H STA AddTT LHLD AddINS + 2 POP D CALL SHM POP B INX B RET POP H *14 : CALL UP CALL PHIMSO SHLD AddINS + 0 *12 : CALL KYBRD MOV D,H CPI 10H MOV E,L JZ *15H JMP *7 JMP *8 *15 : CALL PHIMSO *13 : POP H JMP *12 CALL DPHLM *16 : CALL PHIMSO MVI A,01H JMP *2 * Các chương trình con được gọi :  DAUCHAM : xem phụ lục  DEMP : xem phụ lục  DPHLM : xem phụ lục  DOWN : xem CHƯƠNG 4  KYBRD : xem CHƯƠNG 4  PHIMSO : xem CHƯƠNG 4  SDC : xem CHƯƠNG 4  SHM : xem CHƯƠNG 4  XADD : xem phụ lục Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 50  SHM : Là chương trình con cĩ nhiệm vụ dịch dữ liệu xuống một ơ nhớ.  Input: Nạp HL là địa chỉ giáp chĩt của vùng INS. Nạp DE là địa chỉ ơ nhớ được chèn vào.  Output: Khơng điều chỉnh nội dung các thanh ghi PUSH PSW PUSH B PUSH D BC HL BC (BC) + 1 DE (DE) - 1 *1 A (M) STAX B HL (HL) - 1 BC (BC) – 1 S *2 Đ S Đ *3 SHM H = D SHM L = E Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 51 POP D POP B POP PSW SHM PUSH PSW PUSH B PUSH D MOV B,H MOV C,L INX B DCX D *1 : MOV A,M STAX B DCX H DCX B MOV A,H CMP D JZ *2 JMP *1 *2 : MOV A,L CMP E JZ *3 JMP *1 *3 : POP D POP B POP PSW RET  SDC : Là chương trình con cĩ khả năng sửa địa chỉ những lệnh liên quan đến địa chỉ ( lệnh nhảy, lệnh gọi, lệnh lưu trữ ).  Input : Nạp BC là khoảng thay đổi địa chỉ. Nạp địa chỉ ơ nhớ cần chèn vào AddINS + 4 và AddINS + 5 Nạp địa chỉ giáp chĩt của vùng cần INS vào AddINS + 2 và AddINS + 3 Nạp địa chỉ trở về khi thực hiện xong chương trình vào AddINS + 0 và AddINS + 1 Nạp địa chỉ bắt đầu sửa địa chỉ  Output : Hiển thị địa chỉ hiện hành trước lúc INS Chương trình khơng làm thay đổi nội dung các thanh ghi PUSH PSW RET SDC SDC Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 54 PUSH D PUSH H Addtt (01H) CALL XADD A (83H) AddCT79 (A) A (7CH) AddDT79 (A) *1: CALL KYBRD S S Đ *17 *2 Đ S CALL PHIMSO Đ *3 *3 : CALL DEMP HL DE *4 : LDA AddINS + 2 E (A) LDA AddINS + 3 D (A) DE (DE) - 1 *5 Đ *15 Đ *16 *6 S S LHLD AddINS + 0 PHIMSO ADD (ADDTT)=00H a 1 1 a H = D L = E Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 55 PUSH B CALL DPHLM CALL LMB POP H POP D POP PSW *7 HL (HL) + 1 S POP B *8 HL (HL) + 2 S POP B *9 HL (HL) + 3 POP B S POP B HL (HL) + 1 PUSH H E (M) HL (HL) + 1 PUSH H D (M) LDA AddINS + 5 S S *10 Lệnh 1byte (C=10H; C=11H) RET Lệnh 2byte (C=20H) Lệnh 3byte khơng liên quan đến địa chỉ (C=32H) a 2 a 2 A = D A < D Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 56 *11 Đ Đ HL (HL) + 1 LDA AddINS + 4 POP D POP D S S *12 Đ Đ LDA AddINS + 3 Đ *13 S LDA AddINS + 2 Đ Đ S S Đ S *14 CALL ADDBCDE POP H M (D) POP H M (E) HL (HL) + 1 SDC PUSH PSW PUSH D PUSH H MVI A,01H STA AddTT CALL XADD A = E A < E D = A A < D A = E A < E 3 a 3 a Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 58 MVI A,83H STA AddCT79 MVI A,7CH STA AddDT79 *1 : CALL KYBRD CPI 10H JZ *17 CPI ‘ADD’ JZ *2 JMP *1 *2 : LDA AddTT CPI 00H JZ *3 JMP *1 *3 : CALL DEMP MOV H,D MOV L,E *4 : LDA AddINS + 2 MOV E,A LDA AddINS + 3 MOV D,A DCX D *5 : MOV A,H CMP D JZ *15 *6 : PUSH B CALL LMB CPI 10H JZ *7 CPI 11H JZ *7 CPI 20H JZ *8 CPI 32H JZ *9 POP B INX H PUSH H MOV E,M INX H PUSH H MOV D,M LDA AddINS + 5 CMP D JZ *11 JM *12 *10 : INX H POP D POP D JMP *4 *11 : LDA AddINS + 4 CMP E JZ *12 JM *12 JMP *10 *12 : LDA AddINS + 3 CMP D JZ *13 JM *10 JMP *14 *13 : LDA AddINS + 2 CMP E JZ *10 JM *10 *14 : CALL ADDBCDE POP H MOV M,D POP H MOV M,E INX H JMP *4 *15 : MOV A,L CMP E JZ *16 JMP *6 *16 : LHLD AddINS +0 CALL DPHLM POP H POP D POP PSW RET *17 : CALL PHIMSO Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 59 JMP *1 *7 : INX H POP B JMP *5 *8 : INX H INX H POP B JMP *5 *9 : INX H INX H INX H POP B JMP *5 * Các chương trình con được gọi :  DEMP : xem phụ lục  DPHLM : xem phụ lục  PHIMSO : xem CHƯƠNG 4  LMP : xem CHƯƠNG 4  ADDBCDE  ADDBCDE : Đây là chương trình con dùng để cộng hai cặp thanh ghi DE và BC  Input : Nạp DE, BC  Output : Kết quả trong DE Chỉ thanh ghi D , E bị thay đổi. ADDBCDE PUSH PSW PUSH B MOV A,E ADD C MOV E,A MOV A,D ADC B MOV D,A POP B POP PSW RET  PC : Là chương trình con dùng để chạy chương trình của người sử dụng. ADDBCDE PC Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 60  Input : Nạp địa chỉ bắt đầu chạy  Output : Thực hiện chương trình người sử dụng tới khi nào gặp lệnh dừng PUSH PSW PUSH D Addtt (01H) CALL DPPC CALL DAUCHAM *1: CALL KYBRD S S *4 Đ *2 Đ S CALL PHIMSO *3 Đ CALL DPHLM POP D CALL DEMP POP PSW HL DE POP D POP PSW PC HL PC PC PHIMSO GO (ADDTT)=00H RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 61 PUSH PSW PUSH D MVI A,01H STA AddTT CALL DPPC CALL DAUCHAM *1 : CALL KYBRD CPI 10H JM *4 CPI ‘GO’ JZ *2 JMP *1 *2 : LDA AddTT CPI 00H JZ *3 CALL DPHLM POP D POP PSW RET *3 : CALL DEMP MOV H,D MOV L,E POP D POP PSW PCHL * Các chương trình con được gọi :  DEMP : xem phụ lục  DPHLM : xem phụ lục  DAUCHAM : xem phụ lục  PHIMSO : xem CHƯƠNG 4  KYBRD : xem CHƯƠNG 4  DPPC : Là chương trình con xuất hiện thơng báo nạp PC (xem phụ lục) Trên đây là một số chương trình con đã được thiết kế và chạy thử nghiệm trên SDK 85 (System Design Kit 8085) của trường ĐHSPKT, phần cịn lại được trình bày trong phần phụ lục. Do thời gian cĩ hạn nên khơng thể thực hiện như mong muốn, nhưng để thiết kế, chạy thử và thi cơng hơn 30 chương trình quả là một cơng việc khơng đơn giản. CHƯƠNG 5 sẽ cung cấp những thơng tin hữu ích về vấn đề này. Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 62 Chương 5 : THI CƠNG Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 63 CHƯƠNG 5 : THI CƠNG -------------oOo------------ Thi cơng một hệ thống vi xử lí là một quá trình phức tạp. Bao gồm hai giai đoạn :  Thi cơng phần cứng  Thi cơng phần mềm Hai giai đoạn này cĩ thể tiến hành độc lập, khơng cần thiết phải theo trình tự, nhưng phải thống nhất. Sau đây là quá rình thi cơng phần mềm. Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 64 A S Đ S Đ SOFTWARE  Xác định cấu hình phần cứng  Xác định yêu cầu chương trình  Chọn lựa giải thuật Giải thuật tối ưu  Viết lưu đồ tổng quát cho giải thuật Kiểm tra lưu đồ tổng quát 1  Điều chỉnh chỗ sai Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 65 Đ S Đ S Đ S Đ 1  Viết lưu đồ chi tiết cho giải thuật Kiểm tra lưu đồ chi tiết  Điều chỉnh chỗ sai  Dịch giải thuật chi tiết sang chương trình Kiểm tra chương trình trên giấy Kiểm tra mã lệnh đ ã dịch  Điều chỉnh chỗ sai  Điều chỉnh chỗ sai 2  Biên dịch chương trình thành mã máy Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 66 Đ S Đ S Đ S A Đ  Nhập mã lệnh vào RAM của SDK85 Kiểm tra mã lệnh trong RAM SDK 85  Điều chỉnh chỗ sai  Chạy chương trình vừa nhập Quan sát kết quả Tất cả chương trình đã được viết và kiểm tra trên SDK85  Soạn thảo các chương trình trên NC, PASCAL 2 ? 3 4 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 67 S Đ S Đ S Đ S Đ  Lưu tập tin vào đĩa Kiểm tra chương trình vừa soạn thảo  Nạp một hoặc một nhĩm chương trình vào ROM hệ thống bằng thiết bị nạp ROM Kiểm tra chương trình vừa nạp Tồn bộ các chương trình đã được soạn thảo Tồn bộ các chương trình đã được nạp vào ROM hệ thống  Điều chỉnh chỗ sai Tùy điều kiện thực tế sẽ cho quyết định cụ thể ? 6 5 3 4 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 68 S Đ S Đ S Đ S Đ Hình 5.1 : Lưu đồ các bước thi cơng phần mềm Quan sát kết quả  Nạp và chạy một số chương trình mẫu  Thay thế ROM khác  Điều chỉnh chỗ sai Điều kiện thực tế cho phép 5 Quan sát kết quả  Sau chép dự phịng ROM hệ thống Thử ROM dự phịng  Phát triển phần mềm END ? 6 ? Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 69 Bảng 5.1 BẢNG TRA CỨU CÁC HƯƠNG TRÌNH PHỤC VỤ MONITOR Tên chương trình ( 1) Địa chỉ bắt đầu ( 2 ) Địa chỉ cuối ( 3 ) Dung lượng ( 4) MNT DAUCHAM DELAY 0.1 DEMP DPFIND DP HL DP HLM DP M DP PC DP REG CODE 1 CODE 2 HELLO KYTUB ORMP XADD KYBRD KYCHECK KYCODE PHIMSO UP DOWN ADD SUBBCHL COPY C.0 COPY C.1 COPY DEL REG SRCH STEP LMB SHM INS SDC ADDBCDE PC 0000H 0200H 0250H 0290H 02C0H 0320H 0360H 0390H 03C0H 0400H 0430H 0440H 0480H 0500H 0550H 0570H 05A0H 05C0H 05F0H 0620H 06E0H 0700H 0720H 0740H 0760H 0790H 07D0H 08E0H 09A0H 0AD0H 0B50H 0D50H 0E90H 0EC0H 0FC0H 10C0H 10F0H 00FCH 023AH 027AH 02A5H 030EH 0351H 037DH 03B3H 03F5H 0422H 0437H 0467H 04EFH 053EH 055FH 059BH 05AFH 05D9H 060BH 06C3H 06F8H 070CH 072EH 074DH 077EH 07BBH 08CDH 0975H 0AA0H 0B23H 0D23H 0E78H 0EAFH 0F9FH 1088H 10CBH 1123H 252 byte 58 byte 42 byte 21 byte 78 byte 49 byte 29 byte 35 byte 53 byte 34 byte 7 byte 23 byte 111 byte 62 byte 15 byte 43 byte 15 byte 25 byte 27 byte 163 byte 24 byte 12 byte 14 byte 13 byte 30 byte 43 byte 253 byte 149 byte 256 byte 83 byte 467 byte 296 byte 31 byte 223 byte 200 byte 11 byte 51 byte Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 70 Chương 6 : HƯỚNG DẪN SỬ DỤNG Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 71 CHƯƠNG 6 : HƯỚNG DẪN SỬ DỤNG 6.1 PHÍM ADD Phím ADD dùng để thay đổi địa chỉ hiện hành. Muốn thực hiện ta thực hiện các bước sau : * Ấn các phím số sao cho trên màn hình hiện thị các địa chỉ cần nhảy tới. *An phím ADD lập tức địa chỉ mới và dữ liệu tại địa chỉ đĩ được hiển thị. 6.2 PHÍM UP ; DOWN Phím UP dùng để tăng địa chỉ hiện hành lên một và để xác nhận dữ liệu mới. Ví dụ : Để nhập dữ liệu D3 vào ơ nhớ cĩ địa chỉ 7000 ta thực hiện như sau :  An cá phím số, trên màn hình xuất hiện 7000  An phím ADD, địa chỉ hiện hành được hiển thị  An các phím số, trên màn hình hiển thị D3  An phím UP : Dữ liệu D3 được nạp vào ơ nhớ cĩ địa chỉ 7000 và địa chỉ hiện hành được tăng lên 1 đơn vị. Muốn giảm địa chỉ hiện hành thì nhấn phím DOWN. Phím DOWN khơng nhập dữ liệu mới. 6.3 PHÍM PC VÀ GO Sau khi nạp chương trình vào RAM, để chạy thử ta nhấn PC. Trên màn hình xuất hiện thơng báo “PC =     “ ;  Ta nhấn phím số để nạp địa chỉ đầu của đoạn chương trình cần thử.  Nhấn phím GO : Lập tức vi xử lí thực hiện chương trình đĩ. khi khơng nạp địa chỉ mới mà nhấn GO thì sẽ thốt chương trình PC. 6.4 PHÍM REG Phím REG là phím chức năng thực hiện việc xem và nạp giá trị mới vào các thanh ghi. Ứng dụng :  Thiết lập giá trị cho các thanh ghi làm biến số trước khi chạy một chương trình nào đĩ. Chú ý : khơng nạp giá trị cho cặp thanh ghi HL trong trường hợp này (chương trình phím PC làm thay đổi HL).  Thiết lập, xĩa các cờ trước khi chạy chương trình Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 72  Lưu trữ kết quả của chương trình vào các thanh ghi, để kiểm tra sau khi chạy xong chương trình  Kiểm tra các cờ sau khi thực hiện các lệnh số học và logic  Với chương trình Monitor sử dụng phím REG để kiểm tra kết quả của một lệnh trong thanh ghi, khi dùng phím STEP. Cách sử dụng :  Nhấn phím REG : Trên màn hình hiển thị thanh ghi A và nội dung trong thanh ghi A VD :  Nhấn phím UP, DOWN để xem nội dung của các thanh ghi khác..  Khi muốn nạp nội dung mới vào thanh ghi. VD : nạp vào C nội dung là A D Ta thực hiện các bước sau : + Nhấn UP, DOWN để trên màn hình hiển thị thanh ghi và nội dung thanh ghi cần nạp. + Nhấn phím A, D ( phím số ), trên màn hình hiển thị A D + Nhấn phím UP : tức thì nội dung mới được nạp.  Muốn thốt chương trình REG ta nhấn phím REG một lần nữa. 6.5 PHÍM COPY Khi muốn chép một đoạn dữ liệu từ vùng này qua vùng khác ta nhấn phím COPY. Trên màn hình hiển thị thơng báo nạp địa chỉ bắt đầu vùng gốc.  Dùng phím số để nạp địa chỉ đĩ.  Nhấn phím ADD xác định địa chỉ đĩ, trên màn hình xuất hiện thơng báo nạp địa chỉ cuối vùng gốc.  Dùng phím số để nạp địa chỉ đĩ.  Nhấn phím ADD xác định địa chỉ đĩ, trên màn hình xuất hiện thơng báo nạp địa chỉ đầu của vùng đích.  Dùng phím số để nạp địa chỉ đĩ.  Nhấn phím ADD xác định địa chỉ nới nạp, chương trình thực hiện việc COPY. Nếu một trong các địa chỉ trên khơng được nạp mà ta nhấn phím ADD thì tự động thốt khỏi chương trình COPY. 6.6 PHÍM DEL Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 73 Khi muốn xĩa ( chép 00H ) một đoạn dữ liệu ta nhấn phím DEL. Màn hình thơng báo nạp địa chỉ đầu vùng cần xĩa.  Dùng phím số nạp địa chỉ đĩ.  Nhấn phím ADD xác định. Màn hình xuất hiện thơng báo nạp địa chỉ kết thúc.  Dùng phím số nạp địa chỉ đĩ.  Nhấn phím ADD xác định. Chương trình thực hiện chức năng DEL rồi thốt khỏi chương trình phím DEL. Nếu một trong các địa chỉ trên khơng được nạp mà nhấn ADD thì sẽ thốt khỏi chức năng DEL. 6.7 PHÍM SRCH Khi muốn tìm kiếm một byte dữ liệu nào đĩ ta nhấn phím SRCH. Màn hình hiển thị :  Dùng phím số nạp giá trị byte cần tìm.  Nhấn phím UP chương trình sẽ tìm kiếm từ địa chỉ hiện hành tới khi nào tìm thấy byte cĩ giá trị đã nạp dừng và hiển thị. Nếu muốn tìm tiếp ta nhấn phím SRCH thì chương trình sẽ tìm tiếp (khơng cần nạp giá trị mới). Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 74 6.8 PHÍM STEP  Phím STEP cĩ chức năng gỡ rối chương trình khi thực hiện cĩ kết quả sai mà chưa biết được lệnh sai.  Sử dụng STEP cĩ thể thực hiện và kiểm tra kết quả từng lệnh trong 1 chương trình. Cách sử dụng : Đầu tiên, ta phải dời con trỏ tới địa chỉ cần thực hiện. Sau đĩ ấn phím STEP chương trình tại đĩ sẽ thực hiện từng lệnh. 6.9 PHÍM INS Phím INS sử dụng để chèn thêm một byte hoặc một số byte, cĩ thể sửa địa chỉ. Cách sử dụng :  Di chuyển con trỏ tới địa chỉ cần chèn.  An phím Ins. Màn hình hiển thị thơng báo nạp địa chỉ cuối vùng INS.  Dùng phím số nạp địa chỉ cuối.  An phím ADD xác định địa chỉ đĩ  Sử dụng phím số, phím UP để chèn dữ liệu mới.  Phím DOWN chỉ cho phép giảm địa chỉ xuống 1 và khơng lùi liên tiếp. Nĩ cĩ chức năng chỉnh lại dữ liệu vừa chèn vào.  Nếu muốn sửa địa chỉ, ấn phím ADD. Màn hình thơng báo nạp địa chỉ đầu.  Ấn phím ADD một lần nữa chức năng sửa địa chỉ được thực hiện và thốt chương trình.  Nếu muốn thốt chương trình khơng qua chức năng sửa địa chỉ, ấn phím INS một lần nữa. Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 75 Chương 7 : TĨM TẮT KẾT LUẬN ĐỀ NGHỊ Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 76 CHƯƠNG 7 : TĨM TẮT – KẾT LUẬN – ĐỀ NGHỊ 7.1 TĨM TẮT ĐỀ TÀI Đề tài được trình bày thành 7 chương nhưng quan trọng nhất là chương 4, nĩ trình bày từ tổng quát đến cụ thể chương trình Monitor và các chương trinh con phục vụ chương trình Monitor. Chương trình Monitor quản lí tồn bộ hệ thống và cho phép người sử dụng soạn thảo và thử nghiệm các chương trình một cách tiện nghi nhất. Chương 5 trình bày những thơng tin và phương pháp thi cơng hồn chỉnh một phần mềm. Chương 6 là phần hướng dẫn sử dụng thiết bị vừa thiết kế. Đây là, phần quan trọng nhằm giúp người sử dụng cĩ thể khai thác hết những chức năng, ưu điểm của hệ thống. 7.2 KẾT LUẬN Qua 7 tuần làm việc khơng mệt mỏi, khơng những biết tổng hợp và ứng dụng những kiến thức đã học vào thực tế mà cịn rút ra dược những kết luận sau:  Cĩ thể dùng vi xử lí 8085 để thiết kế thiết bị thực tập vi xử lí, khả năng làm việc của thiết bị phụ thuộc chủ yếu vào phần mềm.  Phần mềm và phần cứng cĩ mối liên quan chặt chẽ, chúng cĩ thể thay thế cho nhau ở một số chức năng nào đĩ .  Đối với chức năng COPY chương trình phải nhận biết được hai vùng gốc và đích cĩ trùng nhau khơng và trùng nhau như thế nào để khi thực hiện COPY khơng bị mất dữ liệu .  Để tiện cho việc chạy thử chương trình và kiểm tra kết quả sau khi chạy thử chương trình thì chức năng REG phải nạp và xem được nội dung thanh ghi.  Nếu chương trình phím PC sử dụng lệnh nạp điạ chỉ trong cặp thanh ghi HL vào cặp thanh ghi PC thì thơng số trong cặp thanh ghi HL đã nạp trước đĩ ở chức năng REG sẽ vơ nghĩa.  Chức năng STEP, chương trình người sử dụng và chương trình Monitor chạy chung với nhau, phải thiết kế sao cho chương trinh phím STEP khơng sử dụng stackpoiter, để ghành stackpoiter cho chương trình người sử dụng. Phải bảo tồn các thơng số của chương trình người sau mỗi bước để thực hiện bước kế tiếp, nhất là đối với các lệnh nhảy, gọi, trở về cĩ điều kiện. Đối với các lệnh gọi và trở về ta phải tạo ra một con trỏ MNT- STACKPOITER, là vùng nhớ theo kiểu LIFO, giống stackpoiter, để lưu giữ điạ chỉ khi gặp lệnh nhảy và lấy lại điạ chỉ đĩ khi gặp lệnh trở về, đặc biệt khi các chương trình con lồng vào nhau. Đối với các lệnh nhảy, lệnh gọi, lệnh trở về ta phải khống chế sao cho chương trình chay từng bước.  Chức năng INS rất cần thiết khi chỉnh sửa chương trình như chèn thêm các lệnh thiếu, phải sửa được diạ chỉ của các lệnh nhảy, lệnh gọi, lệnh lưu trữ nếu điạ chỉ của chúng chỉ đến vùng INS tác động. 7.3 ĐỀ NGHỊ Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 77 Mặc dù đã cố gắng hết sức mình, yếu tố thời gian đã bắt buộc người thực hiện phải dừng cơng việc nghiên cứu. Thực sự, người thực hiện chưa hài lịng lắm với những gì giải quyết được, hy vọng sau này cĩ thời gian nghiên cứu thêm và những khố sau sẽ cố gắng hồn thiện đề tài, để nĩ trở thành một sản phẩm hồn chỉnh. Sau đây là một vài đề nghị tham khảo dành cho những ai cĩ ý định phát triển đề tài:  Xây dựng thêm chức năng chạy từng đoạn. Các đoạn đĩ được xác định bằng các điểm dừng được người sử dụng đặt.  Xây dựng thêm chức năng sửa điạ chỉ để sử dụng sau khi thực hiện chức năng COPY.  Xây chương trình cho phép đổ dữ liệu từ máy tính vào thiết bị để chạy thử.  Xây dựng các bài thực hành trên thiết bị vừa thiết kế.  Xây dựng những chương trình tiện ích, thiết kế các modul phần cứng để ghép nối với thiết bị phục vụ cho các bài thực hành. Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 78 PHẦN C TÀI LIỆU THAM KHẢO PHỤ LỤC Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 79 TÀI LIỆU THAM KHẢO. ------ 1. CHÂU KIM LANG “Phương pháp nghiên cứu khoa học” Ban Sư Phạm Kĩ Thuật trường Đại học Sư Phạm Kĩ Thuật Tp. HCM, 1989. 2. TRẦN VĂN TRỌNG “Kĩ thuật vi xử lí 8085A” Đại học Sư Phạm Kĩ Thuật Tp. HCM, 1995. 3. PAUL BATES, PENG “Truyền dữ liệu sử dụng vi mạch LSI” TỐNG VĂN ON ( dịch ). Đại học Bách Khoa Tp. HCM, 1994. Trang 42 – 76. 4. RONALD J. TOCCI “Digital Systems : Principles and Application” 4/e Prentice Hall International Inc, 1998 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 80 PHỤ LỤC Phần này trình bày những chương trình con đơn giản, khơng trình bày giải thuật. Các chương trình này được viết từ ban đầu khi cịn chưa cĩ kinh nghiệm, vì thế chúng cịn mang tính “thủ cơng’. Các chương trình được sắp xếp theo mẫu tự A, B, C… để tiện việc tra cứu. DAUCHAM DAUCHAM : Đây là chương trình con cĩ nhiệm vụ xuất các điểm sáng lan dần. Input : Khơng Output : Hiển thị  Cĩ gọi Delay 0.1  Chương trình khơng thay đổi nội dung thanh ghi DAUCHAM PUSH PSW MVI A, 86H MVI A, 84H STA AddCT79 STA AddCT79 MVI A, 80H MVI A, 80H STA AddDT79 STA AddDT79 MVI A, 02H MVI A, 02H CALL DELAY 0.1 CALL DELAY 0.1 MVI A, 87H MVI A, 85H STA AddCT79 STA AddCT79 MVI A, 80H MVI A, 80H STA AddDT79 STA AddDT79 POP PSW MVI A, 02H RET CALL DELAY 0.1 DELAY 0.1 DELAY 0.1 : Đây là chương trình con cĩ tác vụ trì hỗn; 0.1 giây ( 0….25,5 giây ). Input : Nạp thời gian cần trì hỗn vào thanh ghi A. Output : Trì hỗn chương trình trong thời gian đã định. DELAY 0.1 PUSH D SUB A LXI D, 0001H ORA D PUSH PSW ORA E INR A MOV A, B Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 81 JMP *4 JNZ 3* *1: PUSH D POP B PUSH B POP D *3 : DCX D *4 : DCR A LXI B, 5433H JNZ *1 *2 : DCR C POP PSW JNZ *2 POP D DCR B RET JNZ *2 MOV B, A PUSH D DE ( 0001H ) PUSH PSW A ( A) + 1 A ( A) – 1 POP PSW PUSH D POP D PUSH B DE ( DE ) –1 BC ( 5433H ) C ( C) – 1 DELAY 0.1 A = 0 RET a b c 1 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 82 S Đ B ( B ) –1 S Đ B ( A) A ( A ) – ( A) A ( A) OR ( D) A ( A) OR ( E ) A B POP B POP D C = 0 1 A = 0 B = 0 c b a Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 83 DEMP DEMP : Đây là chương trình con cĩ nhiệm vụ lấy nội dung trong bốn ơ mã phím. Input : Lấy nội dung trong các ơ mã phím. ( Addqp+0, Addqp+1, Addqp+2, Addqp+3 ) Output : Kết quả được lưu trữ vào cặp thanh ghi DE  Cĩ gọi ORMP  Ngồi DE chương trình khơng thay đổi nội dung các thanh ghi. DEMP PUSH PSW LDA AddQP+1 PUSH B ORA B LDA AddQP+0 MOV D, A RLC CALL ORMP RLC MOV E, A RLC POP B RLC POP PSW MOV B, A RET DPFIND DPFIND : Đây là chương trình con cĩ nhiệm vụ hiển thị “FIND” Input : Khơng Output : Hiển thị  Khơng thay đổi nội dung các thanh ghi  Cĩ gọi DELAY 0.1 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 84 DPFIND PUSH PSW MVI A, 83H MVI A, C3 STA AddCT79 STA AddCT79 MVI A, 5EH MVI A,01H STA AddDT79 CALL DELAY 0.1 MVI A, 86H MVI A, 80H STA AddCT79 STA AddCT79 MVI A, 80H MVI A, 71 STA AddDT79 STA AddDT79 MVI A, 02H MVI A, 81H CALL DELAY 0.1 STA AddCT79 MVI A, 87H MVI A, 10H STA AddCT79 STA AddDT79 MVI A, 80H MVI A, 82H STA AddDT79 STA AddCT79 POP PSW MVI A, 54H RET STA ADDDT79 DPHL DPHL : Đây là chương trình con cĩ nhiệm vụ hiển thị nội dung thanh ghi HL ra led 7 đoạn. Input : Nội dung thanh ghi HL. Output : Hiển thị  Khơng thay đổi nội dung các thanh ghi  Cĩ gọi CODE2 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 85 DPHL PUSH PSW CALL CODE2 PUSH D MVI A, 82H MOV A, H STA AddCT79 CALL CODE2 MOV A, D MVI A, 80H STA AddDT79 STA AddCT79 MVI A, 83H MOV A, D STA AddCT79 STA AddDT79 MOV A,E MVI A, 81H STA AddDT79 STA AddCT79 POP D MOV A, E POP PSW STA AddDT79 RET MOV A,L DPHLM DPHLM : Đây là chương trình con cĩ nhiệm vụ hiển thị địa chỉ và dữ liệu hiện tại địa chỉ đĩ. Input : HL chứa địa chỉ cần hiển thị. Ouput : Hiển thị  Khơng thay đổi nội dung các thanh ghi  Cĩ gọi DPHL và DPM. DPHLM PUSH PSW STA AddCT79 CALL DPHL MVI A, 00H MVI A, 84H STA AddDT79 STA AddCT79 CALL DPM MVI A, 00H POP PSW STA AddDT79 RET MVI A, 85H Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 86 DPM DPM : Là chương trình con hiển thị thơng báo nạp địa chỉ vào thanh ghi PC. Input : Khơng Output : Hiển thị  Khơng ảnh hưởng các thanh ghi  Cĩ gọi DELAY 0.1 DPM PUSH PSW MVI A, 87H PUSH B STA AddCT79 PUSH D MOV A, E MOV A, M STA AddDT79 CALL CODE2 STA AddHT+7 MVI A, 86H POP D STA AddCT79 POP B MOV A, D POP PSW STA AddDT79 RET STA AddHT+6 DP PC DP PC : Là chương trình con hiển thị thơng báo nạp địa chỉ vào thanh ghi PC. Input : Khơng Output : Hiển thị  Khơng ảnh hưởng tới các thanh ghi  Cĩ gọi DELAY 0.1 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 87 DP PC PUSH PSW MVI A, 39H MVI A, C3H STA AddDT79 STA AddCT79 MVI A, 82H MVI A, 01H STA AddCT79 CALL DELAY 0.1 MVI A, 48H MVI A, 80H STA AddDT79 STA AddCT79 MVI A, 83H MVI A,63H STA AddCT79 STA AddDT79 MVI A, 00H MVI A, 81H STA AddDT79 STA AddCT79 POP PSW RET DP REG DP REG : Đây là chương trình con cĩ nhiệm vụ hiển thị nội dung thanh ghi A. Input : Nạp thanh ghi cần hiển thị vào A. Output : Hiển thị  Cĩ gọi CODE2 DP REG PUSH PSW MVI A, 87H PUSH B STA AddCT79 PUSH D MOV A, E CALL CODE2 STA AddDT79 MVI A, 86H STA AddHT+7 STA AddCT79 POP D MOV A, D POP B STA AddDT79 POP PSW STA AddHT+6 RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 88 CODE 1 CODE 1 : Là chương trình con đổi các số Hexa từ 00H  0FH ra một kí tự 7 đoạn bằng cách tra bảng mã. Input : Nạp mã cần đổi vào thanh ghi A Output : Kết quả được ghi vào thanh ghi A.  Khơng thay đổi nội dung các thanh ghi ngồi thanh ghi A CODE 1 PUSH H MOV L, A MVI H, ; nạp địa chỉ cao bảng mã MOV A, M POP H RET CODE 2 CODE 2: Đây là chương trình con đổi mã hai kí tự Hexa ra hai kí tự led 7 đoạn. Input : Nạp mã cần chuyển đổi vào A. Output : Ký tự hiển thị cho 4 bit cao được lưu vào thanh ghi D Ký tự hiển thị cho 4 bit thấp lưu vào thanh ghi E  Cĩ gọi CODE 1 CODE 2 Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 77 PUSH PSW PUSH B MOV B, A RRC RRC RRC RRC ANI 0FH CALL CODE 1 MOV D, A MOV A, B ANI 0FH CALL CODE 1 MOV E, A POP B POP PSW RET HELLO HELLO : Là chương trình con hiển thị chữ “HELLO”, sau đĩ, hiển thị con trỏ. Input : Khơng Output : Hiển thị  Chương trình khơng thay đổi nội dung các thanh ghi Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 89 HELLO PUSH B MVI A, 02H PUSH PSW CALL DELAY 0.1 MVI B, 00H MVI A, 3F MVI A, C3H STA AddDT79 STA AddCT79 MVI A, 02H MVI A, 01H CALL DELAY 0.1 CALL DELAY 0.1 MVI A, 00H MVI A,98H STA AddDT79 STA AddCT79 INR B MVI A, 76H MOV A, B STA AddDT79 CPI 08H MVI A, 02H JZ *2 CALL DELAY 0.1 JMP *1 MVI A, 79H MVI A, 91H STA AddDT79 STA AddCT79 MVI A. 02H MVI A, 3FH CALL DELAY 0.1 STA AddDT79 MVI A, 38H STA AddDT79 STA AddDT79 STA AddDT79 MVI A, 02H STA AddDT79 CALL DELAY 0.1 MVI A, 80H MVI A, 38H STA AddCT79 STA AddDT79 POP PSW POP B RET KYTUB KYTUB : Là một chương trình con hiển thị kí tự và dấu bằng. Input : Nạp mã 7 đoạn của kí tự cần hiển thị vào thanh ghi B. Output : Hiển thị kí tự và dấu bằng. Khơng làm thay đổi nội dung các thanh ghi. Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 90 KYTUB PUSH PSW MVI A, 80H STA AddCT79 MOV A, B STA AddDT79 MVI A, 81H STA AddCT79 MVI A, 48H STA AddDT79 MVI A, 82H STA AddCT79 MVI A, 00H STA AddDT79 MVI A, 83H STA AddCT79 MVI A, 00H STA AddDT79 MVI A, 84H STA AddCT79 MVI A, 00H STA AddDT79 MVI A, 85H STA AddCT79 MVI A, 00H STA AddDT79 POP PSW RET Thiết kế Thiết bị thực tập vi xử lí 8085 Trang 78 ORMP ORMP : Đây là chương trình con hợp hai byte mã phím thành một byte. Input : Lấy dữ liệu trong Addqp+2 và Addqp+3 Output : Kết quả được trữ trong thanh ghi A. Chương trình khơng thay đổi các thanh ghi khác. ORMP PUSH B MOV B, A LDA Addqp+2 LDA Addqp+3 RLC ORA B RLC POP B RLC RET RLC XADD XADD : Đây là chương trình con hiển thị “ADD” ra màn hình. Input : Khơng Output : Hiển thị  Chương trình khơng thay đổi nội dung các thanh ghi.  Cĩ gọi chương trình DELAY 0.1 XADD PUSH PSW STA AddCT79 MVI A, C3H MVI A, 5EH STA AddCT79 STA AddDT79 MVI A, 01H MVI A, 82H CALL DELAY 0.1 STA AddCT79 MVI A, 80H MVI A, 5EH STA AddCT79 STA AddDT79 MVI A, 77H POP PSW STA AddDT79 RET MVI A, 81H

Các file đính kèm theo tài liệu này:

  • pdfluanvan11_6713.pdf