Xem mẫu

  1. Hình 4. 2 : Löu ñoà chöông trình chính MNT BEGIN *A Khôûi taïo ngaên xeáp  Khôûi taïo ngoaïi vi  Khôûi taïo ngaét  Khôûi taïo vuøng döõ lieäu  *B PUSH PSW CALL KYBRD b a c Trang 23 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  2. c b a Ñ CALL PHIMSO POP PSW *C PHIMSO Ñ *D CALL UP POP PSW UP Ñ *E CALL DOWN POP PSW DOWN Ñ *F CALL ADD POP PSW ADD Ñ *G CALL COPY POP PSW COPY Ñ CALL DEL POP PSW DEL *H Ñ POP PSW CALL REG REG *I Ñ CALL SRCH POP PSW SRCH *J Ñ CALL STEP POP PSW STEP *K Ñ CALL INS POP PSW INS *L Ñ CALL PC POP PSW PC *M Trang 24 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  3. ORG 0000H JMP START ORG 0080 ; Khôûi taïo ngaên xeáp START: LXI SP, 9CFFH ; Khôûi taïo 8279 MVI A, 3EH ; laäp trình xung clock STA Addct79 ; baèng 100 KHz MVI A, 10H ; Hieån thò 8 kí töï, ghi phaûi STA AddCT79 ; Baøn phím queùt coù laäp maõ khoùa ngoaøi hai ; phím MVI A, C3H ; xoùa FIFO vaø xoùa hieån thò STA AddCT79 MVI A, 40H ; Ñoïc FIFO, khoâng töï taêng, haøng ñaàu tieân STA AddCT79 MVI A, 90H ; Ghi vaøo RAM hieån thò, töï taêng STA AddCT79 ; Baét ñaàu taïi Led saùt leà phaûi ; Khôûi taïo ngoaïi vi 8255 MVI A, 8BH ; Mode 0, I/0 ñôn giaûn OUT 03H OUT 0BH ; Khôûi taïo ngoaïi vi 8253 MVI A, 35H ; Boä ñeám 0 mode 2, göûi 2 byte OUT 13H ; ñeám BCD MVI A, B5H ; Boä ñeám 2 mode 2, 2 byte, OUT 13H ; BCD MVI A, 75H ; Boä ñeám 1; Mode 2; göûi 2 byte OUT 13H ; ñeám BCD ; Khôûi taïo 8253 taïo xung 300 Hz caáp cho TXC vaø RXC cuûa 8251 MVI A, 99H ; Boä ñeám 0 chia 10000 OUT 10H MVI A, 99H OUT 10H MVI A, 99 ; Boä ñeám 1 chia 10000 OUT 11H MVI A, 99H OUT 11H MVI A, 99H ; Taïo xung 5Hz ñöa ra OUT 12H ; söû duïng Trang 25 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  4. ; Khôûi 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 Trang 26 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  5. 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 Trang 27 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  6. 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 Trang 28 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  7. 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 Trang 29 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  8. 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 Xuaát kha S AddTT =OOH *2 *1 Dòch döõ lieäu vaø naïp maõ phím Naïp OOH môùi aán vaøo vuøng Addqp vaøo Ram hieån thò cuûa 8279 vaø CALL CODE 1 vuøng AddHT PUSH PSW Dòch maõ hieån thò trong ram hieån thò cuûa 8279 vaø trong vuøng AddHT 1 Trang 30 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  9. 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 Trang 31 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  10. 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 PUSH PSW S AddTT =00H Ñ *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 Trang 32 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
  11. PUSH PSW *1: INX H CPI OOH CALL DPHLM JZ *2 MVI A, 0 1 H JMP *1 STA AdTT *2: CALL ORMP POP PSW MOV M,A 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) Trang 33 Thieát keá Thieát bò thöïc taäp vi xöû lí 8085
nguon tai.lieu . vn