Thiết kế thiết bị thực tập vi xử lí

LỜI MỞ ĐẦU Ngày nay, kỹ thuật vi xử lí đã trở nên quen thuộc với hầu hết mọi người, được ứng dụng rộng rãi trong nhiều lĩnh vực, đặc biệt trong lĩnh vực điều khiển tự động. Do đó nhu cầu nghiên cứu để sử dụng vi xử lí là hết sức cần thiết đối với hầu hết các sinh viên ngành điện tử . Đề tài :” Thiết Kế Thiết Bị Thực Tập Vi Xử Lí” nhằm giải quyết phần nào nhu cầu nghiên cứu của bản thân, cũng như nhu cầu thực tập, nghiên cứu của sinh viên và những ai yêu thích vi xử lí. Thời gian, khả năng và công tác in ấn là những yếu tố chính gây ra những sai sót và khiếm khuyết trong đồ án này. Tôi rất mong và ghi nhận những đóng góp của qúi thầy cô và các bạn sinh viên.

doc109 trang | Chia sẻ: banmai | Lượt xem: 1807 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Thiết kế thiết bị thực tập vi xử lí, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
taïo ngoaïi vi 8251 MVI A, 5DH ; Baát ñoàng boä, heä soá nhaân toác ñoä baèng 1, cho OUT 23H ; pheùp duøng parity, khoâng kieåm tra parity ; chaün, kí töï daøi 18 bit, 1 bit stop MVI A, 10H ; Caám phaùt, caám nhaän, reset taát caû caùc côø loãi, OUT 23H ; ngaên chaën reset mode beân trong, ; Khôûi taïo 8259 MVI A, 12H ; taùc ñoäng söôøn döông, khoaûng caùch OUT 20H ; caùc vectô ngaét 8 byte, coù 1 maïch ; PIC, boû ICW4 MVI A, 40 H ; choïn kieåu ngaét 40h ñeán OUT 27H ; 47H MVI A, 00H ; Ñaàu vaøo IRi khoâng noái OUT 27H ; maïch thôï ; Khôûi taïo ngaét MVI A, E5H ; Che RST 7.5, RST 5.5 khoâng SIM ; che RST 5.5 ; Khôûi taïo moät soá oâ nhô ù MVI A,10H STA AddST 14 STA AddTT CALL HELLO MVI A, 00H *A : PUSH PSW STA Addqp+0 *B : CALL KYBRD STA Addqp+1 CPI 10H STA Addqp+2 JM *C STA Addqp+3 CPI ‘UP’ STA AddHT+4 JZ *D STA AddHT+5 CPI ‘DOWN’ STA AddHT+6 JZ *E STA AddHT+7 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 KYBRD · KYBRD : Laø chöông trình con coù nhieäm vuï laáy maõ cuûa phím aán. · Input: Chôø phím aán · Output: Chöông trình seõ duøng laïi cho ñeán khi naøo coù moät phím ñöôïc goõ, khi ñoù (A) = Maõ phím Ngoaøi A khoâng thanh ghi naøo bò ñieàu chænh Coù goïi KYCODE KYBRD PUSH B PUSH D PUSH H *1: CALL KYCODE (A) = FFH Ñ S POP H POP D POP B RET KYRBD PUSH B PUSH D PUSH H *1:CALL KYCODE CPI FFH JZ *1 POP H POP D POP B RET KYCODE · KYCODE : Ñaây laø chöông trình con .Noù coù taùc vuï laáy maõ cuûa phím aán töø FIFO cuûa 8279 ñaët vaøo thanh ghi A · Input: Goõõ phím · Output: Neáu khoâng goõ phím : (A) = FFH Neáu coù phím ñöôïc goõ : (A) = Maõ phím Caùc thanh ghi bò ñieàu chænh : A,B Goïi DELAY 0.1 (Xem phuï luïc) KYCODE LDA AddSTATUS A (A) AND (OFH ) Z=1 S A (01H) *1 CALL DELAY 0.1 A FFH LDA AddDT79 B (A) A (C2H) STA AddCT79 A (B) RET KYCODE LDA AddSTATUS ANI OFH MVI A,C2H JZ *1 STA AddCT79 MVI A,01H MOV A,B CALL DELAY 0.1 RET LDA AddDT79 *1 : MVI A,FFH MOV B,A RET PHIM SO · PHIM SO: Ñaây laø moät chöông trình con coù taùc vuï hieån thò phím aán vaø löu tröõ maõ phím aán. · Input : Maõ phím aán · Output : Hieån thò phím aán vaø löu tröõ phím aán Khoâng thanh ghi naøo bò ñieàu chænh. AddTT = OOH PHIM SO AddTT =OOH Naïp OOH vaøo Ram hieån thò cuûa 8279 vaø vuøng AddHT CALL CODE 1 PUSH PSW Dòch döõ lieäu vaø naïp maõ phím môùi aán vaøo vuøng Addqp Dòch maõ hieån thò trong ram hieån thò cuûa 8279 vaø trong vuøng AddHT Xuaát kha S *2 *1 1 1 POP PSW Naïp maõ hieån thò cuûa phím môùi aán vaøo AddHT vaø vaøo Ram hieån thò cuûa 8279 AddTT (OOH) RET Hình 4.3 laø löu ñoà chöông trình phím soá Addqp : laø 4 oâ nhôù löu giöõ maõ phím cuûa 4 laàn aán phím soá sau cuøng. AddHT: 4 oâ nhôù löu giöõ maõ 7 ñoaïn töông öùng vôùi 4 maõ phím sau cuøng AddTT : cho bieát phím sau cuøng laø phím chöùc naêng hay phím soá CODE : laø chöông trình con ñoåi caùc maõ Hexa töø OOH OFH sang moät kí töï maõ 7 ñoaïn ( xem phuï luïc ) AddTT Addqp+0 AdHT+4 Addqp+1 AdHT+5 Addqp+2 AdHT+6 Addqp+3 AdHT+7 Maõ phím môùi aán Maõ 7 ñoaïn cuûa phím môùi aán UP · UP: Chöông trình con coù taùc vuï taêng ñòa chæ hieän haønh vaø naïp döõ lieäu hieån thò vaøo ñòa chæ hieän haønh ñoù. · Input: Thanh ghi HL · Output: Hieån thò döõ lieäu vaø ñòa chæ cuûa oâ döõ lieäu ñoù chöùa trong HL Caùc thanh ghi coøn laïi khoâng bò ñieàu chænh. AddTT =01H AddTT : ñòa chæ oâ nhôù chöùa cô traïng thaùi AddTT =00H: phím aán sau cuøng laø phím soá AddTT ¹00H: phím aán sau cuøng laø phím chöùc naêng UP AddTT =00H PUSH PSW S Ñ *2 *2: CALL 0RMP M (A) *1: HL (HL) +1 CALL DPHLM AddTT (01H) POP PSW RET Hình 4.4 Löu ñoà chöông trình phím UP ORMP: laø chöông trình con hôïp hai oâ queùt phím (xem phuï luïc) DPHLM: laø chöông trình con coù taùc vuï hieån thò ñòa chæ vaø döõ lieäu trong oâ nhôù coù ñòa chæ trong HL (xem phuï luïc). UP 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 · DOWN : Laø chöông trình con coù taùc vuï giaûm ñòa chæ hieän haønh xuoáng 1 ñôn vò · Input : Thanh ghi HL · Output : Hieån thò ñòa chæ vaø döõ lieäu AddTT = 01H DOWN PUSH PSW HL (HL) – 1 CALL DPHLM AddTT (01H) POP PSW RET DOWN PUSH PSW DCX H CALL DPHLM MVI A,01H STA AddTT POP PSW RET · DPHLM (Xem phuï luïc) ADD · ADD : Laø chöông trình con coù taùc vuï nhaän ñòa chæ môùi , hieån thò ñòa chæ vaø döõ lieäu môùi ñoù. · Input : Laáy döõ lieäu trong 4 oâ queùt phím · Output : Hieän thò ñòa chæ vaø döõ lieäu AddTT = 01H Khoâng ñieàu chænh caùc thanh ghi ADD PUSH PSW PUSH D CALL DEQP HL DE CALL DPHLM AddTT (01H) POP D POP PSW RET ADD PUSH PSW PUSH D CALL DEQP XCHG CALL DPHLM MVI A,01H STA AddTT POP D POP PSW RET · DPHLM ( xem phuï luïc ) COPY · COPY : Laø chöông trình con coù taùc vuï copy döõ lieäu töø vuøng naøy sang vuøng khaùc · Input : Naïp ñòa chæ ñaàu, ñòa chæ cuoái cuûa vuøng goác vaø ñòa chæ ñaàu cuûa vuøng ñích · Output : Copy , hieån thò ñòa chæ vaø döõ lieäu Chöông trình khoâng laøm thay ñoåi noäi dung caùc thanh ghi COPY 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 ADD PHIMSO S S Ñ *2 Ñ (ADDTT)=01H Ñ *16 : CALL PHIMSO S a x *3 : CALL DEQP HL DE Addtt (01H) CALL XADD a A (83 H) AddCT79 (A) A (5 B H) AddDT79 (A) CALL DAUCHAM *4: CALL KYBRD ADD PHIMSO S S Ñ *5 Ñ (ADDTT)=01H Ñ *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 a 1 1 a * 7 : CALL KYBRD ADD PHIMSO S S Ñ *8 Ñ (AddTT)=01H Ñ *18 : CALL PHIMSO S *9 : CALL ORQP A (Addcopy+1) Addcopy+3 (A) + (E) A (Addcopy+0) Addcopy+2 (A) + (D) + Cy D > H HIMSO D = H S *20 Ñ *10 E = L E > L S S *11 Ñ a Ñ 2 b a1 b a 2 D > B D = B S S *12 Ñ *8 Ñ E > C E = C S S Ñ Ñ * 14: CALL COPY C.0 * 13: CALL COPY C.1 *15: POP H CALL DPHLM AddTT (01H) POP D POP B POP PSW RET 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 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 Vuøng nhôù Addcopy duøng ñeå löu tröõ keát quaû cuûa caùc pheùp coäng tröø caëp thanh ghi phuïc vuï cho caùc chöông trình con SUBBCHL vaø COPY C.1 vuøng nhôù Addcopy naèm trong vuøng nhôù AddREC. (C) – (L) Addcopy+0 : 9FD2H (B) – (H) – Cy Addcopy+1 : 9FD3H (A) + (E) Addcopy+2 : 9FD4H A (B) – (H) - Cy (A) + (D) + Cy Addcopy+3 : 9FD5 A (C) – (L) Caùc chöông trình con ñöôïc goïi : SUBBCHL SUBBCHL: Laø chöông trình con coù taùc vuï tröø noäi dung thanh ghi BC cho noäi dung trong HL. · Input : Naïp soá bò tröø vaøo BC Naïp soá tröø vaøo HL · Output : Hieäu soá ñöôïc naïp vaøo 2 oâ nhôù Addcopy+0 vaø Addcopy+1 khoâng laøm thay ñoåi noäi dung caùc thanh ghi. SUBBCHL PUSH PSW A (C) A (A) – (L) AddCOPY + 1 (A) A (B) A (A) – (H) – Cy AddCOPY + 0 (A) POP PSW RET SUBBCHL PUSH PSW MOV A,C SUB L STA AddCOPY + 1 MOV A,B SBB H STA AddCOPY + 0 POP PSW RET ÑÍCH DE · COPY C.O : Ñaây laø chöông trình con sao cheùp döõ lieäu töø vuøng naøy qua vuøng khaùc. Hai vuøng goác vaø ñích khoâng giao nhau hoaëc giao nhau nhö hình veõ GOÁC HL BC · Input : Naïp ñòa chæ ñaàu cuûa vuøng goác vaøo HL Naïp ñòa chæ cuoái cuûa vuøng goác vaøo BC Naïp ñòa chæ ñaàu cuûa vuøng ñích vaøo DE · Output : Khoâng laøm thay ñoåi noäi dung caùc thanh ghi. COPY C.0 PUSH PSW PUSH B PUSH D PUSH H BC (BC) + 1 *1 : A M STAX D HL (HL) + 1 DE (DE) + 1 H = B S L = C Ñ S Ñ *3 : POP H POP D POP B POP PSW RET COPY C.0 · Input : Naïp soá bò tröø vaøo BC Naïp soá tröø vaøo HL · Output : Hieäu soá ñöôïc naïp vaøo 2 oâ nhôù Addcopy+0 vaø Addcopy+1 khoâng laøm thay ñoåi noäi dung caùc thanh ghi. COPY C.0 PUSH PSW PUSH B PUSH D PUSH H BC (BC) + 1 *1 : A M STAX D HL (HL) + 1 DE (DE) + 1 H = B S L = C Ñ S Ñ *3 : POP H POP D POP B POP PSW RET 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 MOV A, B POP PSW CMP H RET COPY C.1 · COPY C.1 Ñaây laø chöông trình con cheùp ñoaïn döõ lieäu truøng nhau nhö hình veõ. HL GOÁC DE ÑÍCH BC bc Input : Naïp ñòa chæ ñaàu cuûa vuøng goác vaøo HL Naïp ñòa chæ cuoái cuûa vuøng vaøo BC Thanh ghi D laáy döõ lieäu töø Addcopy+2 Thanh ghi E laáy döõ lieäu töø Addcopy+3 Output : Khoâng thay ñoåi noäi dung caùc thanh ghi. COPY C.1 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 H = B S Ñ *2 L = C S Ñ *3 *3 : POP H POP D POP B POP PSW RET 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 · Caùc chöông trình con sau ñaây xem phuï luïc + DAUCHAM + DEMP + XADD DEL · DEL : Laø chöông trình con deã xoaù ( naïp 00H ) moät vuøng döõ lieäu · Input : Naïp ñòa chæ ñaàu cuûa vuøng caàn xoaù Naïp ñòa chæ cuoái cuûa vuøng caàn xoaù · Output : Chöông trình khoâng laøm thay ñoåi noäi dung caùc thanh ghi DEL 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 ADD PHIMSO S S Ñ *2 Ñ (ADDTT)=01H Ñ *8 : CALL PHIMSO S CALL DEMP HL DE Addtt (01H) CALL XADD A (83H) AddCT79 (A) A (5BH) AddDT79 (A) CALL DAUCHAM a 1 1 a * 3 : CALL KYBRD ADD PHIMSO S S Ñ *4 Ñ (AddTT)=01H Ñ *10 : CALL PHIMSO S CALL DEMP BC DE BC (BC)+1 *5 : M (00H) HL (HL)+1 H = B *6 L = C *7 * 7 : POP H CALL DPHLM AddTT (01H) POP D POP B POP PSW RET 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 POP B JMP *1 POP PSW *9 : CALL PHIMSO RET JMP *3 *8 : CALL PHIMSO Caùc chöông trình con ñöôïc goïi : DAUCHAM ( xem phuï luïc ) XADD ( xem phuï luïc ) DEMP (xem phuï luïc ) KYBRD ( xem chöông 4 ) REG REG : Ñaây laø chöông trình con coù chöùc naêng hieån thò noäi dung vaø naïp noäi dung caùc thanh ghi. Input : Noäi dung caùc thanh ghi. Output : Hieån thò noäi dung caùc thanh ghi. AddTT = 01H XEM GIAÛI THUAÄT REG CUOÁ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 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; laáy AF JMP *1 INX H; thoâng qua *8 : MVI B, 77 H MOV C, M; ngaên xeáp CALL KYTUB PUSH B; vaø BC INX H MOV E, M MOV B, M XCHG INX H POP D MOV D, M CALL DPHLM INX H MVI A, 01 H MOV E, M STA AddTT PUSH D POP PSW; laáy AF INX H ; laáy HL thoâng qua BC MOV D, M;thoâng vaø ngaên xeáp INX H; qua DE RET DPM : Chöông trình con hieån thò noäi dung oâ nhôù coù ñòa chæ trong HL ( xem phuï luïc ). PHIMSO : Hieån thò ñòa chæ vaø döõ lieäu ( xem phuï luïc ). KYBRD : Chöông trình con queùt phím. KYTUB : Hieån thò kí töï vaø daáu baèng ( xem phuï luïc ) ORMP : Hôïp hai oâ queùt phím ( xem phuï luïc ) Vuøng nhôù AddREG duøng ñeå löu noäi dung cuûa caù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 · SRCH : Laø chöông trình con coù taùc vuï tìm kieám döõ lieäu trong boä nhôù. · Input : Naïp döõ lieäu caàn tìm. Naïp ñòa chæ cuoái cuûa vuøng caàn xoaù · Output : Hieån thò ñòa chæ vaø döõ lieäu vöøa tìm ñöôïc. Thay ñoåi noäi dung laëp thanh ghi HL. AddTT = 03H SRCH PUSH PSW AddTT = 03H *7 S AddTT (01H ) HL (HL) +1 CALL DPFIND A (AddSRCH) *1: CALL KYBRD PHIMSO UP S S Ñ Ñ *2 (AddTT)=00H S *6 : CALL PHIMSO *3 Ñ CALL DPHLM POP PSW *3 : CALL ORMP RET AddSRCH (A) *4 : CPI M Z = 1 HL (HL) + 1 S Ñ *5 : AddTT 03H CALL DPHLM POP PSW RET 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 * Caùc chöông trình ñöôïc goïi : DPFIND ( xem phuï luïc ) DPHLM ( xem phuï luïc ) KYBRD ( xem chöông 4 ) ORMP ( xem phuï luïc ) PHIMSO ( xem chöông 4 ) STEP STEP : Ñaây laø moät chöông trình cho pheùp chaïy töøng leänh cuûa chöông trình ngöôøi söû duïng. Input : Nhaän ñòa chæ hieän haønh vaøo HL. Output : Chæ thay ñoåi thanh ghi HL. Caùc chöông trình con ñöôïc goïi : LMB : Chöông trình nhaän bieát ñöôïc leänh saép thöïc hieän maáy byte. DPHLM : Hieån thò ñòa chæ vaøo döõ lieäu taïi ñòa chæ ñoù. Chöông trình söû duïng caùc vuøng nhôù sau : 9 D 00H Vuøng nhôù vaøo sau ra tröôùc 9 D FFH ( ngaên xeáp giaû ) AddST0 9FDAH AddST1 9FDBH Naïp leänh caàn chaïy AddST2 9FDCH AddST3 9FDDH AddST4 9FDEH Naïp leänh nhaûy AddST5 9FDFH AddST6 9FE0H AddST7 9FE1H AddST8 9FE2H Naïp noäi dung caùc AddST9 9FE3H thanh ghi AddSTA 9FE4H AddSTB 9FE5H Naïp noäi dung caùc AddSTC 9FE6H thanh ghi AddSTD 9FE7H AddSTE 9FE8H AddSTF 9FE9H AddST10 9FEAH AddST11 9FEBH AddST12 9FECH Khi chaïy caùc caùc leänh AddST13 9FEDH nhaûy, leänh goïi vaø leänh AddST14 9FEEH trôû veà AddST15 9FEFH AddST16 9FF0H AddST7 9FF1H XEM GIAÛI THUAÄT STEP CUOÁI CHÖÔNG 4 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 *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 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 LMB : Ñaây laø moät chöông trình con coù nhieäm vuï nhaän bieát leänh maáy byte. Input : HL laø ñòa chæ chöùa leänh ñoù Output : C = 32H : Khi leänh ñoù thuoäc nhoùm leänh naïp töùc thôøi caëp thanh ghi ( 3 byte ) C = 31H : Khi leänh ñoù thuoäc nhoùm leänh löu tröõ tröïc tieáp ( 3 byte ) C = 30H : Khi leänh ñoù thuoäc nhoùm leänh goïi chöông trình con ( 3 byte ) C = 33H : Khi leänh ñoù thuoäc nhoùm leänh nhaûy ( 3 byte ) C = 20H : Khi leänh ñoù thuoäc nhoùm leänh 2 byte C = 11H : Khi leänh ñoù thuoäc nhoùm leänh trôû veà töø chöông trình con C = 10H : Khi leänh ñoù thuoäc nhoùm leänh 1 byte ( keå caû nhöõng maõ khoâng thuoäc boä leänh ) Ngoaøi thanh ghi C chöông trình khoâng aûnh höôûng tôùi caùc thanh ghi khaùc. Do chöông trình ñôn giaûn neân chæ trình baøy thuaät giaûi. Ñöôïc goïi töø chöông trình STEP vaø chöông trình SDC. LMB PUSH PSW A (M) Nhoùm naïp töùc thôøi thanh ghi (3 byte) Ñ C (32H) POP PSW RET S 1 1 Nhoùm leänh löu tröõ tröïc tieáp (3 byte) Ñ C (31H) POP PSW RET S Nhoùm leänh goïi chöông trình con (3 byte) Ñ C (30H) POP PSW RET S Nhoùm leänh nhaûy (3 byte) Ñ C (33H) POP PSW RET S Nhoùm leänh 2 byte Ñ C (20H) S POP PSW RET Nhoùm leänh trôû veà töø chöông trình con Ñ C (11H) S POP PSW C (10H)RET POP PSW RET INS INS : Ñaây laø moät chöông trình con cho pheùp cheøn döõ lieäu taïi ñòa chæ hieän haønh vaø töï söûa ñòa chæ neáu muoán. Input : Naïp ñòa chæ cuoái vuøng INS , nghóa laø chöông trình chæ coù taùc duïng trong khoaûng töø ñòa chæ hieän haønh ñeán ñòa chæ cuoái môùi naïp. Neáu söûa ñòa chæ thì naïp ñòa chæ leänh ñaàu tieân vuøng caàn söûa, nghóa laø chöông trình söûa ñòa chæ chæ coù taùc duïng töø ñòa chæ môùi naïp tôùi ñòa chæ cuoái vuøng INS Output : Ngoaøi AF khoâng thanh ghi naøo bò ñieàu chænh. Vuøng ñòa chæ söû duïng cho INS : AddINS + 0 : 9FDD Ñòa chæ trôû veà sau khi AddINS + 1 : 9FDE INS AddINS + 2 : 9FDF Ñòa chæ keá cuoái vuøng AddINS + 3 : 9FE0 INS AddINS + 4 : 9FE1 Naïp ñòa chæ oâ nhôù AddINS + 5 : 9FE2 caàn cheøn INS 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 A (79H) AddDT79 (A) a CALL DAUCHAM *4: CALL KYBRD ADD PHIMSO S S Ñ *3 (AddTT)=00H S *16 : CALL PHIMSO *4 Ñ PUSH DE CALL DEMP HL DE HL (HL) - 1 SHLD AddINS + 2 POP DE A (H) A < D A = D S Ñ *5 Ñ S A (L) A = E A < E S S Ñ Ñ *6 1 1 AddTT (01H) LHLD AddINS+ 0 CALL DPHLM *7 : CASLL KYBRD DOWN ADD PHIMSO 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 RET PHIMSO S *12 *15 Ñ CALL PHIMSO UP INS *8 S S S *13 Ñ *14 POP H CALL UP CALL DPHLM SHLD AddINS + 0 AddTT (01H) DE HL POP D POP B RET JMP *1 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 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 * Caùc chöông trình con ñöôïc goïi : · DAUCHAM : xem phuï luïc · DEMP : xem phuï luïc · DPHLM : xem phuï luï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 phuï luïc SHM · SHM : Laø chöông trình con coù nhieäm vuï dòch döõ lieäu xuoáng moät oâ nhôù. · Input: Naïp HL laø ñòa chæ giaùp choùt cuûa vuøng INS. Naïp DE laø ñòa chæ oâ nhôù ñöôïc cheøn vaøo. · Output: Khoâng ñieàu chænh noäi dung caùc thanh ghi SHM 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 SH = D *2 Ñ L = E S Ñ *3 POP D POP B POP PSW RET 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 · SDC : Laø chöông trình con coù khaû naêng söûa ñòa chæ nhöõng leänh lieân quan ñeán ñòa chæ ( leänh nhaûy, leänh goïi, leänh löu tröõ ). · Input : Naïp BC laø khoaûng thay ñoåi ñòa chæ. Naïp ñòa chæ oâ nhôù caàn cheøn vaøo AddINS + 4 vaø AddINS + 5 Naïp ñòa chæ giaùp choùt cuûa vuøng caàn INS vaøo AddINS + 2 vaø AddINS + 3 Naïp ñòa chæ trôû veà khi thöïc hieän xong chöông trình vaøo AddINS + 0 vaø AddINS + 1 Naïp ñòa chæ baét ñaàu söûa ñòa chæ · Output : Hieån thò ñòa chæ hieän haønh tröôùc luùc INS Chöông trình khoâng laøm thay ñoåi noäi dung caùc thanh ghi SDC PUSH PSW PUSH D PUSH H Addtt (01H) CALL XADD A (83H) AddCT79 (A) A (7CH) AddDT79 (A) *1: CALL KYBRD PHIMSO ADD S S Ñ *17 *2 Ñ (ADDTT)=00H S CALL PHIMSO Ñ *3 *3 : CALL DEMP HL DE *4 : LDA AddINS + 2 E (A) LDA AddINS + 3 D (A) DE (DE) - 1 a 1 a 1 *5 L = E H = D Ñ *15 Ñ *16 *6 S S LHLD AddINS + 0 PUSH B CALL DPHLM CALL LMB POP H Leänh 1byte (C=10H; C=11H) POP D POP PSW RET *7 HL (HL) + 1 S POP B Leänh 2byte (C=20H) *8 HL (HL) + 2 S POP B Leänh 3byte khoâng lieân quan ñeán ñòa chæ (C=32H) *9 HL (HL) + 3 POP B S 2 a a 2 POP B HL (HL) + 1 PUSH H E (M) HL (HL) + 1 PUSH H D (M) LDA AddINS + 5 A = D A < D S S *10 *11 Ñ Ñ HL (HL) + 1 LDA AddINS + 4 POP D A < E A = E POP D S S *12 Ñ Ñ LDA AddINS + 3 D = A Ñ *13 S LDA AddINS + 2 A < D Ñ A = E Ñ S S A < E Ñ a 3 S *14 a 3 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 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 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 * Caùc chöông trình con ñöôïc goïi : · DEMP : xem phuï luïc · DPHLM : xem phuï luïc · PHIMSO : xem CHÖÔNG 4 · LMP : xem CHÖÔNG 4 · ADDBCDE ADDBCDE · ADDBCDE : Ñaây laø chöông trình con duøng ñeå coäng hai caëp thanh ghi DE vaø BC · Input : Naïp DE, BC · Output : Keát quaû trong DE Chæ thanh ghi D , E bò thay ñoå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 · PC : Laø chöông trình con duøng ñeå chaïy chöông trình cuûa ngöôøi söû duïng. · Input : Naïp ñòa chæ baét ñaàu chaïy · Output : Thöïc hieän chöông trình ngöôøi söû duïng tôùi khi naøo gaëp leänh döøng PC PUSH PSW PUSH D Addtt (01H) CALL DPPC CALL DAUCHAM *1: CALL KYBRD GO PHIMSO S S *4 Ñ *2 Ñ (ADDTT)=00H S CALL PHIMSO *3 Ñ CALL DPHLM POP D CALL DEMP POP PSW HL DE RET POP D POP PSW PC HL PC 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 * Caùc chöông trình con ñöôïc goïi : · DEMP : xem phuï luïc · DPHLM : xem phuï luïc · DAUCHAM : xem phuï luïc · PHIMSO : xem CHÖÔNG 4 · KYBRD : xem CHÖÔNG 4 · DPPC : Laø chöông trình con xuaát hieän thoâng baùo naïp PC (xem phuï luïc) Treân ñaây laø moät soá chöông trình con ñaõ ñöôïc thieát keá vaø chaïy thöû nghieäm treân SDK 85 (System Design Kit 8085) cuûa tröôøng ÑHSPKT, phaàn coøn laïi ñöôïc trình baøy trong phaàn phuï luïc. Do thôøi gian coù haïn neân khoâng theå thöïc hieän nhö mong muoán, nhöng ñeå thieát keá, chaïy thöû vaø thi coâng hôn 30 chöông trình quaû laø moät coâng vieäc khoâng ñôn giaûn. CHÖÔNG 5 seõ cung caáp nhöõng thoâng tin höõu ích veà vaán ñeà naøy. Chöông 5 : THI COÂNG CHÖÔNG 5 : THI COÂNG -------------oOo------------ Thi coâng moät heä thoáng vi xöû lí laø moät quaù trình phöùc taïp. Bao goàm hai giai ñoaïn : Thi coâng phaàn cöùng Thi coâng phaàn meàm Hai giai ñoaïn naøy coù theå tieán haønh ñoäc laäp, khoâng caàn thieát phaûi theo trình töï, nhöng phaûi thoáng nhaát. Sau ñaây laø quaù rình thi coâng phaàn meàm. SOFTWARE Xaùc ñònh yeâu caàu chöông trình Choïn löïa giaûi thuaät Giaûi thuaät toái öu Ñieàu chænh choã sai Kieåm tra löu ñoà toång quaùt Vieát löu ñoà toång quaùt cho giaûi thuaät Xaùc ñònh caáu hình phaàn cöùng A S Ñ S 1 Ñ 1 Ñ Vieát löu ñoà chi tieát cho giaûi thuaät Dòch giaûi thuaät chi tieát sang chöông trình Kieåm tra chöông trình treân giaáy Bieân dòch chöông trình thaønh maõ maùy S Ñ S Ñ S 2 Kieåm tra maõ leänh ñaõ dòch Ñieàu chænh choã sai Ñieàu chænh choã sai Ñieàu chænh choã sai Kieåm tra löu ñoà chi tieát Ñ 2 Ñ Nhaäp maõ leänh vaøo RAM cuûa SDK85 ? Taát caû chöông trình ñaõ ñöôïc vieát vaø kieåm tra treân SDK85 Soaïn thaûo caùc chöông trình treân NC, PASCAL Quan saùt keát quaû Kieåm tra maõ leänh trong RAM SDK 85 Chaïy chöông trình vöøa nhaäp S Ñ S Ñ S A Ñ Ñieàu chænh choã sai 4 3 4 3 Ñieàu chænh choã sai Kieåm tra chöông trình vöøa soaïn thaûo S 6 5 ? Kieåm tra chöông trình vöøa naïp Tuøy ñieàu kieän thöïc teá seõ cho quyeát ñònh cuï theå Toaøn boä caùc chöông trình ñaõ ñöôïc naïp vaøo ROM heä thoáng Toaøn boä caùc chöông trình ñaõ ñöôïc soaïn thaûo Löu taäp tin vaøo ñóa Naïp moät hoaëc moät nhoùm chöông trình vaøo ROM heä thoáng baèng thieát bò naïp ROM Ñ S Ñ S Ñ S Ñ 6 5 Ñieàu chænh choã sai Quan saùt keát quaû ? S Naïp vaø chaïy moät soá chöông trình maãu Ñ Quan saùt keát quaû ? S Ñ Sau cheùp döï phoøng ROM heä thoáng Thay theá ROM khaùc Thöû ROM döï phoøngû S Ñieàu kieän thöïc teá cho pheùp Ñ S Ñ Phaùt trieån phaàn meàm END Hình 5.1 : Löu ñoà caùc böôùc thi coâng phaàn meàm Baûng 5.1 BAÛNG TRA CÖÙU CAÙC HÖÔNG TRÌNH PHUÏC VUÏ MONITOR Teân chöông trình ( 1) Ñòa chæ baét ñaàu ( 2 ) Ñòa chæ cuoá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 Chöông 6 : HÖÔÙNG DAÃN SÖÛ DUÏNG CHÖÔNG 6 : HÖÔÙNG DAÃN SÖÛ DUÏNG 6.1 PHÍM ADD Phím ADD duøng ñeå thay ñoåi ñòa chæ hieän haønh. Muoán thöïc hieän ta thöïc hieän caùc böôùc sau : * AÁn caùc phím soá sao cho treân maøn hình hieän thò caùc ñòa chæ caàn nhaûy tôùi. *Aán phím ADD laäp töùc ñòa chæ môùi vaø döõ lieäu taïi ñòa chæ ñoù ñöôïc hieån thò. 6.2 PHÍM UP ; DOWN Phím UP duøng ñeå taêng ñòa chæ hieän haønh leân moät vaø ñeå xaùc nhaän döõ lieäu môùi. Ví duï : Ñeå nhaäp döõ lieäu D3 vaøo oâ nhôù coù ñòa chæ 7000 ta thöïc hieän nhö sau : Aán caù phím soá, treân maøn hình xuaát hieän 7000 Aán phím ADD, ñòa chæ hieän haønh ñöôïc hieån thò Aán caùc phím soá, treân maøn hình hieån thò D3 Aán phím UP : Döõ lieäu D3 ñöôïc naïp vaøo oâ nhôù coù ñòa chæ 7000 vaø ñòa chæ hieän haønh ñöôïc taêng leân 1 ñôn vò. Muoán giaûm ñòa chæ hieän haønh thì nhaán phím DOWN. Phím DOWN khoâng nhaäp döõ lieäu môùi. 6.3 PHÍM PC VAØ GO Sau khi naïp chöông trình vaøo RAM, ñeå chaïy thöû ta nhaán PC. Treân maøn hình xuaát hieän thoâng baùo “PC = · · · · “ ; Ta nhaán phím soá ñeå naïp ñòa chæ ñaàu cuûa ñoaïn chöông trình caàn thöû. Nhaán phím GO : Laäp töùc vi xöû lí thöïc hieän chöông trình ñoù. khi khoâng naïp ñòa chæ môùi maø nhaán GO thì seõ thoaùt chöông trình PC. 6.4 PHÍM REG Phím REG laø phím chöùc naêng thöïc hieän vieäc xem vaø naïp giaù trò môùi vaøo caùc thanh ghi. ÖÙng duïng : Thieát laäp giaù trò cho caùc thanh ghi laøm bieán soá tröôùc khi chaïy moät chöông trình naøo ñoù. Chuù yù : khoâng naïp giaù trò cho caëp thanh ghi HL trong tröôøng hôïp naøy (chöông trình phím PC laøm thay ñoåi HL). Thieát laäp, xoùa caùc côø tröôùc khi chaïy chöông trình Löu tröõ keát quaû cuûa chöông trình vaøo caùc thanh ghi, ñeå kieåm tra sau khi chaïy xong chöông trình Kieåm tra caùc côø sau khi thöïc hieän caùc leänh soá hoïc vaø logic Vôùi chöông trình Monitor söû duïng phím REG ñeå kieåm tra keát quaû cuûa moät leänh trong thanh ghi, khi duøng phím STEP. Caùch söû duïng : Nhaán phím REG : Treân maøn hình hieån thò thanh ghi A vaø noäi dung trong thanh ghi A VD : Nhaán phím UP, DOWN ñeå xem noäi dung cuûa caùc thanh ghi khaùc.. Khi muoán naïp noäi dung môùi vaøo thanh ghi. VD : naïp vaøo C noäi dung laø A D Ta thöïc hieän caùc böôùc sau : + Nhaán UP, DOWN ñeå treân maøn hình hieån thò thanh ghi vaø noäi dung thanh ghi caàn naïp. + Nhaán phím A, D ( phím soá ), treân maøn hình hieån thò A D + Nhaán phím UP : töùc thì noäi dung môùi ñöôïc naïp. Muoán thoaùt chöông trình REG ta nhaán phím REG moät laàn nöõa. 6.5 PHÍM COPY Khi muoán cheùp moät ñoaïn döõ lieäu töø vuøng naøy qua vuøng khaùc ta nhaán phím COPY. Treân maøn hình hieån thò thoâng baùo naïp ñòa chæ baét ñaàu vuøng goác. Duøng phím soá ñeå naïp ñòa chæ ñoù. Nhaán phím ADD xaùc ñònh ñòa chæ ñoù, treân maøn hình xuaát hieän thoâng baùo naïp ñòa chæ cuoái vuøng goác. Duøng phím soá ñeå naïp ñòa chæ ñoù. Nhaán phím ADD xaùc ñònh ñòa chæ ñoù, treân maøn hình xuaát hieän thoâng baùo naïp ñòa chæ ñaàu cuûa vuøng ñích. Duøng phím soá ñeå naïp ñòa chæ ñoù. Nhaán phím ADD xaùc ñònh ñòa chæ nôùi naïp, chöông trình thöïc hieän vieäc COPY. Neáu moät trong caùc ñòa chæ treân khoâng ñöôïc naïp maø ta nhaán phím ADD thì töï ñoäng thoaùt khoûi chöông trình COPY. 6.6 PHÍM DEL Khi muoán xoùa ( cheùp 00H ) moät ñoaïn döõ lieäu ta nhaán phím DEL. Maøn hình thoâng baùo naïp ñòa chæ ñaàu vuøng caàn xoùa. Duøng phím soá naïp ñòa chæ ñoù. Nhaán phím ADD xaùc ñònh. Maøn hình xuaát hieän thoâng baùo naïp ñòa chæ keát thuùc. Duøng phím soá naïp ñòa chæ ñoù. Nhaán phím ADD xaùc ñònh. Chöông trình thöïc hieän chöùc naêng DEL roài thoaùt khoûi chöông trình phím DEL. Neáu moät trong caùc ñòa chæ treân khoâng ñöôïc naïp maø nhaán ADD thì seõ thoaùt khoûi chöùc naêng DEL. 6.7 PHÍM SRCH Khi muoán tìm kieám moät byte döõ lieäu naøo ñoù ta nhaán phím SRCH. Maøn hình hieån thò : Duøng phím soá naïp giaù trò byte caàn tìm. Nhaán phím UP chöông trình seõ tìm kieám töø ñòa chæ hieän haønh tôùi khi naøo tìm thaáy byte coù giaù trò ñaõ naïp döøng vaø hieån thò. Neáu muoán tìm tieáp ta nhaán phím SRCH thì chöông trình seõ tìm tieáp (khoâng caàn naïp giaù trò môùi). 6.8 PHÍM STEP Phím STEP coù chöùc naêng gôõ roái chöông trình khi thöïc hieän coù keát quaû sai maø chöa bieát ñöôïc leänh sai. Söû duïng STEP coù theå thöïc hieän vaø kieåm tra keát quaû töøng leänh trong 1 chöông trình. Caùch söû duïng : Ñaàu tieân, ta phaûi dôøi con troû tôùi ñòa chæ caàn thöïc hieän. Sau ñoù aán phím STEP chöông trình taïi ñoù seõ thöïc hieän töøng leänh. 6.9 PHÍM INS Phím INS söû duïng ñeå cheøn theâm moät byte hoaëc moät soá byte, coù theå söûa ñòa chæ. Caùch söû duïng : Di chuyeån con troû tôùi ñòa chæ caàn cheøn. Aán phím Ins. Maøn hình hieån thò thoâng baùo naïp ñòa chæ cuoái vuøng INS. Duøng phím soá naïp ñòa chæ cuoái. Aán phím ADD xaùc ñònh ñòa chæ ñoù Söû duïng phím soá, phím UP ñeå cheøn döõ lieäu môùi. Phím DOWN chæ cho pheùp giaûm ñòa chæ xuoáng 1 vaø khoâng luøi lieân tieáp. Noù coù chöùc naêng chænh laïi döõ lieäu vöøa cheøn vaøo. Neáu muoán söûa ñòa chæ, aán phím ADD. Maøn hình thoâng baùo naïp ñòa chæ ñaàu. AÁn phím ADD moät laàn nöõa chöùc naêng söûa ñòa chæ ñöôïc thöïc hieän vaø thoaùt chöông trình. Neáu muoán thoaùt chöông trình khoâng qua chöùc naêng söûa ñòa chæ, aán phím INS moät laàn nöõa. Chöông 7 : TOÙM TAÉT KEÁT LUAÄN ÑEÀ NGHÒ CHÖÔNG 7 : TOÙM TAÉT – KEÁT LUAÄN – ÑEÀ NGHÒ 7.1 TOÙM TAÉT ÑEÀ TAØI Ñeà taøi ñöôïc trình baøy thaønh 7 chöông nhöng quan troïng nhaát laø chöông 4, noù trình baøy töø toång quaùt ñeán cuï theå chöông trình Monitor vaø caùc chöông trinh con phuïc vuï chöông trình Monitor. Chöông trình Monitor quaûn lí toaøn boä heä thoáng vaø cho pheùp ngöôøi söû duïng soaïn thaûo vaø thöû nghieäm caùc chöông trình moät caùch tieän nghi nhaát. Chöông 5 trình baøy nhöõng thoâng tin vaø phöông phaùp thi coâng hoaøn chænh moät phaàn meàm. Chöông 6 laø phaàn höôùng daãn söû duïng thieát bò vöøa thieát keá. Ñaây laø, phaàn quan troïng nhaèm giuùp ngöôøi söû duïng coù theå khai thaùc heát nhöõng chöùc naêng, öu ñieåm cuûa heä thoáng. 7.2 KEÁT LUAÄN Qua 7 tuaàn laøm vieäc khoâng meät moûi, khoâng nhöõng bieát toång hôïp vaø öùng duïng nhöõng kieán thöùc ñaõ hoïc vaøo thöïc teá maø coøn ruùt ra döôïc nhöõng keát luaän sau: \ Coù theå duøng vi xöû lí 8085 ñeå thieát keá thieát bò thöïc taäp vi xöû lí, khaû naêng laøm vieäc cuûa thieát bò phuï thuoäc chuû yeáu vaøo phaàn meàm. \ Phaàn meàm vaø phaàn cöùng coù moái lieân quan chaët cheõ, chuùng coù theå thay theá cho nhau ôû moät soá chöùc naêng naøo ñoù . \ Ñoái vôùi chöùc naêng COPY chöông trình phaûi nhaän bieát ñöôïc hai vuøng goác vaø ñích coù truøng nhau khoâng vaø truøng nhau nhö theá naøo ñeå khi thöïc hieän COPY khoâng bò maát döõ lieäu . \ Ñeå tieän cho vieäc chaïy thöû chöông trình vaø kieåm tra keát quaû sau khi chaïy thöû chöông trình thì chöùc naêng REG phaûi naïp vaø xem ñöôïc noäi dung thanh ghi. \ Neáu chöông trình phím PC söû duïng leänh naïp ñiaï chæ trong caëp thanh ghi HL vaøo caëp thanh ghi PC thì thoâng soá trong caëp thanh ghi HL ñaõ naïp tröôùc ñoù ôû chöùc naêng REG seõ voâ nghóa. \ Chöùc naêng STEP, chöông trình ngöôøi söû duïng vaø chöông trình Monitor chaïy chung vôùi nhau, phaûi thieát keá sao cho chöông trinh phím STEP khoâng söû duïng stackpoiter, ñeå ghaønh stackpoiter cho chöông trình ngöôøi söû duïng. Phaûi baûo toaøn caùc thoâng soá cuûa chöông trình ngöôøi sau moãi böôùc ñeå thöïc hieän böôùc keá tieáp, nhaát laø ñoái vôùi caùc leänh nhaûy, goïi, trôû veà coù ñieàu kieän. Ñoái vôùi caùc leänh goïi vaø trôû veà ta phaûi taïo ra moät con troû MNT- STACKPOITER, laø vuøng nhôù theo kieåu LIFO, gioáng stackpoiter, ñeå löu giöõ ñiaï chæ khi gaëp leänh nhaûy vaø laáy laïi ñiaï chæ ñoù khi gaëp leänh trôû veà, ñaëc bieät khi caùc chöông trình con loàng vaøo nhau. Ñoái vôùi caùc leänh nhaûy, leänh goïi, leänh trôû veà ta phaûi khoáng cheá sao cho chöông trình chay töøng böôùc. \ Chöùc naêng INS raát caàn thieát khi chænh söûa chöông trình nhö cheøn theâm caùc leänh thieáu, phaûi söûa ñöôïc diaï chæ cuûa caùc leänh nhaûy, leänh goïi, leänh löu tröõ neáu ñiaï chæ cuûa chuùng chæ ñeán vuøng INS taùc ñoäng. 7.3 ÑEÀ NGHÒ Maëc duø ñaõ coá gaéng heát söùc mình, yeáu toá thôøi gian ñaõ baét buoäc ngöôøi thöïc hieän phaûi döøng coâng vieäc nghieân cöùu. Thöïc söï, ngöôøi thöïc hieän chöa haøi loøng laém vôùi nhöõng gì giaûi quyeát ñöôïc, hy voïng sau naøy coù thôøi gian nghieân cöùu theâm vaø nhöõng khoaù sau seõ coá gaéng hoaøn thieän ñeà taøi, ñeå noù trôû thaønh moät saûn phaåm hoaøn chænh. Sau ñaây laø moät vaøi ñeà nghò tham khaûo daønh cho nhöõng ai coù yù ñònh phaùt trieån ñeà taøi: \ Xaây döïng theâm chöùc naêng chaïy töøng ñoaïn. Caùc ñoaïn ñoù ñöôïc xaùc ñònh baèng caùc ñieåm döøng ñöôïc ngöôøi söû duïng ñaët. \ Xaây döïng theâm chöùc naêng söûa ñiaï chæ ñeå söû duïng sau khi thöïc hieän chöùc naêng COPY. \ Xaây chöông trình cho pheùp ñoå döõ lieäu töø maùy tính vaøo thieát bò ñeå chaïy thöû. \ Xaây döïng caùc baøi thöïc haønh treân thieát bò vöøa thieát keá. \ Xaây döïng nhöõng chöông trình tieän ích, thieát keá caùc modul phaàn cöùng ñeå gheùp noái vôùi thieát bò phuïc vuï cho caùc baøi thöïc haønh. PHAÀN C TAØI LIEÄU THAM KHAÛO PHUÏ LUÏC TAØI LIEÄU THAM KHAÛO. ---W--- CHAÂU KIM LANG “Phöông phaùp nghieân cöùu khoa hoïc” Ban Sö Phaïm Kó Thuaät tröôøng Ñaïi hoïc Sö Phaïm Kó Thuaät Tp. HCM, 1989. TRAÀN VAÊN TROÏNG “Kó thuaät vi xöû lí 8085A” Ñaïi hoïc Sö Phaïm Kó Thuaät Tp. HCM, 1995. PAUL BATES, PENG “Truyeàn döõ lieäu söû duïng vi maïch LSI” TOÁNG VAÊN ON ( dòch ). Ñaïi hoïc Baùch Khoa Tp. HCM, 1994. Trang 42 – 76. RONALD J. TOCCI “Digital Systems : Principles and Application” 4/e Prentice Hall International Inc, 1998 PHUÏ LUÏC Phaàn naøy trình baøy nhöõng chöông trình con ñôn giaûn, khoâng trình baøy giaûi thuaät. Caùc chöông trình naøy ñöôïc vieát töø ban ñaàu khi coøn chöa coù kinh nghieäm, vì theá chuùng coøn mang tính “thuû coâng’. Caùc chöông trình ñöôïc saép xeáp theo maãu töï A, B, C… ñeå tieän vieäc tra cöùu. DAUCHAM DAUCHAM : Ñaây laø chöông trình con coù nhieäm vuï xuaát caùc ñieåm saùng lan daàn. Input : Khoâng Output : Hieån thò Coù goïi Delay 0.1 Chöông trình khoâng thay ñoåi noä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 : Ñaây laø chöông trình con coù taùc vuï trì hoaõn; 0.1 giaây ( 0….25,5 giaây ). Input : Naïp thôøi gian caàn trì hoaõn vaøo thanh ghi A. Output : Trì hoaõn chöông trình trong thôøi gian ñaõ ñònh. DELAY 0.1 PUSH D SUB A LXI D, 0001H ORA D PUSH PSW ORA E INR A MOV A, B 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 DELAY 0.1 PUSH D DE ( 0001H ) PUSH PSW A ( A) + 1 A ( A) – 1 A = 0 POP PSW PUSH D POP D PUSH B RET DE ( DE ) –1 BC ( 5433H ) 1 c a b C ( C) – 1 1 a b c C = 0 S Ñ B ( B ) –1 B = 0 S Ñ B ( A) A ( A ) – ( A) A ( A) OR ( D) A ( A) OR ( E ) A B A = 0 POP B POP D DEMP DEMP : Ñaây laø chöông trình con coù nhieäm vuï laáy noäi dung trong boán oâ maõ phím. Input : Laáy noäi dung trong caùc oâ maõ phím. ( Addqp+0, Addqp+1, Addqp+2, Addqp+3 ) Output : Keát quaû ñöôïc löu tröõ vaøo caëp thanh ghi DE Coù goïi ORMP Ngoaøi DE chöông trình khoâng thay ñoåi noäi dung caù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 : Ñaây laø chöông trình con coù nhieäm vuï hieån thò “FIND” Input : Khoâng Output : Hieån thò Khoâng thay ñoåi noäi dung caùc thanh ghi Coù goïi DELAY 0.1 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 : Ñaây laø chöông trình con coù nhieäm vuï hieån thò noäi dung thanh ghi HL ra led 7 ñoaïn. Input : Noäi dung thanh ghi HL. Output : Hieån thò Khoâng thay ñoåi noäi dung caùc thanh ghi Coù goïi CODE2 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 : Ñaây laø chöông trình con coù nhieäm vuï hieån thò ñòa chæ vaø döõ lieäu hieän taïi ñòa chæ ñoù. Input : HL chöùa ñòa chæ caàn hieån thò. Ouput : Hieån thò Khoâng thay ñoåi noäi dung caùc thanh ghi Coù goïi DPHL vaø 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 DPM DPM : Laø chöông trình con hieån thò thoâng baùo naïp ñòa chæ vaøo thanh ghi PC. Input : Khoâng Output : Hieån thò Khoâng aûnh höôûng caùc thanh ghi Coù goï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 : Laø chöông trình con hieån thò thoâng baùo naïp ñòa chæ vaøo thanh ghi PC. Input : Khoâng Output : Hieån thò Khoâng aûnh höôûng tôùi caùc thanh ghi Coù goïi DELAY 0.1 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 : Ñaây laø chöông trình con coù nhieäm vuï hieån thò noäi dung thanh ghi A. Input : Naïp thanh ghi caàn hieån thò vaøo A. Output : Hieån thò Coù goï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 CODE 1 CODE 1 : Laø chöông trình con ñoåi caùc soá Hexa töø 00H ® 0FH ra moät kí töï 7 ñoaïn baèng caùch tra baûng maõ. Input : Naïp maõ caàn ñoåi vaøo thanh ghi A Output : Keát quaû ñöôïc ghi vaøo thanh ghi A. Khoâng thay ñoåi noäi dung caùc thanh ghi ngoaøi thanh ghi A CODE 1 PUSH H MOV L, A MVI H, ; naïp ñòa chæ cao baûng maõ MOV A, M POP H RET CODE 2 CODE 2: Ñaây laø chöông trình con ñoåi maõ hai kí töï Hexa ra hai kí töï led 7 ñoaïn. Input : Naïp maõ caàn chuyeån ñoåi vaøo A. Output : Kyù töï hieån thò cho 4 bit cao ñöôïc löu vaøo thanh ghi D Kyù töï hieån thò cho 4 bit thaáp löu vaøo thanh ghi E Coù goïi CODE 1 CODE 2 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 : Laø chöông trình con hieån thò chöõ “HELLO”, sau ñoù, hieån thò con troû. Input : Khoâng Output : Hieån thò Chöông trình khoâng thay ñoåi noäi dung caùc thanh ghi 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 : Laø moät chöông trình con hieån thò kí töï vaø daáu baèng. Input : Naïp maõ 7 ñoaïn cuûa kí töï caàn hieån thò vaøo thanh ghi B. Output : Hieån thò kí töï vaø daáu baèng. Khoâng laøm thay ñoåi noäi dung caùc thanh ghi. 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 ORMP ORMP : Ñaây laø chöông trình con hôïp hai byte maõ phím thaønh moät byte. Input : Laáy döõ lieäu trong Addqp+2 vaø Addqp+3 Output : Keát quaû ñöôïc tröõ trong thanh ghi A. Chöông trình khoâng thay ñoåi caùc thanh ghi khaùc. ORMP PUSH B MOV B, A LDA Addqp+2 LDA Addqp+3 RLC ORA B RLC POP B RLC RET RLC XADD XADD : Ñaây laø chöông trình con hieån thò “ADD” ra maøn hình. Input : Khoâng Output : Hieån thò Chöông trình khoâng thay ñoåi noäi dung caùc thanh ghi. Coù goï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:

  • docLUANVAN.DOC
  • docREG.DOC
  • docSTEP.DOC
  • docSTEP1.DOC
  • docSTEP2.DOC
  • docSTEP3.DOC