¡¶Î¢»úÔ­ÀíÓë½Ó¿Ú¼¼Êõ¡· ºéÓÀǿϰÌâ´ð°¸

41564736.doc¼¯ - 19 - ±àÕߣºÓ÷Æäɽ

(3)´ÓͨÐŽӿÚCOM1½ÓÊÕÒ»¸ö×Ö·û£¬²¢·ÅÈëÄÚ´æ? (4)ͨ¹ýͨÐŽӿÚCOM1ÏòÍâ·¢ËÍ1¸ö×Ö·û?? ´ð£º(1)¡¢MOV DL, ?A?

MOV AH, 05H INT 21H (2)¡¢MOV DX, 0 £»0ºÅ´òÓ¡»ú

MOV AL, ?P? MOV AH, 0 INT 17H

(3)¡¢MOV AH, 03H £»´ÓͨÐŽӿÚCOM1½ÓÊÕÒ»¸ö×Ö·û

INT 21H MOV BUF, AL (4)¡¢MOV DL, ?C? £»Í¨¹ýͨÐŽӿÚCOM1·¢ËÍ×Ö·ûC

MOV AH, 04H INT 21H 7.12 ÀûÓÃDOS ϵͳ¹¦Äܵ÷Óã¬Íê³É½«¼üÅÌÊäÈëµÄСд×Öĸת»»Îª´óд×Öĸ²¢Êä

³öÏÔʾ£¬Ö±µ½ÊäÈë?$?×Ö·ûʱֹͣÊä³ö ´ð£ºÍêÕû³ÌÐòÈçÏ£º CODE SEGMENT

ASSUME CS:CODE

START: MOV AH, 02H

MOV DL, 0DH £»ÏÔʾ¡°»Ø³µ¡± INT 21H MOV AH, 02H MOV DL, 0AH £»ÏÔʾ¡°»»ÐС± INT 21H

INPUT: MOV AH, 01H £»¼üÅÌÊäÈëÒ»¸ö×Ö·û»ØÏÔ¹¦ÄÜ

INT 21H CMP AL, ?$? £»?$?×Ö·û£¿ JE INPUT_END CMP AL, ?a? £»?a~z?×Ö·û£¿ JB INPUT CMP AL, ?z? JA INPUT

AND AL, 0DFH £»Ð¡Ð´×Öĸת»»Îª´óд×Öĸ MOV AH, 02H MOV DL, AL £»ÏÔʾ´óд×Öĸ INT 21H JMP INPUT

INPUT_END: MOV AX, 4C00H £»·µ»ØDOS¹¦ÄÜ

INT 21H

CODE ENDS

END START

41564736.doc¼¯ - 20 - ±àÕߣºÓ÷Æäɽ

7.13 ´ÓÄÚ´æµ¥ÔªBUF¿ªÊ¼µÄ»º³åÇøÖÐÓÐ7¸ö8λÎÞ·ûºÅÊý£¬ÒÀ´ÎΪ53H¡¢0D8H¡¢

67H¡¢82H¡¢0A6H¡¢9EH¡¢0F4H¡£±à³ÌÕÒ³öËüÃǵÄÖмäÖµ²¢·ÅÈëRESµ¥Ôª£¬ÇÒ½«½á¹ûÒÔ¡°(RES)£½£¿¡±µÄ¸ñʽÏÔʾÔÚÆÁÄ»ÉÏ¡£ 7.14 Éèij²âÊÔϵͳÖУ¬1ºÅ¶Ë¿ÚΪ²âÊÔ¿Ú£¬ËùµÃÊý¾ÝÊÇ0¡«9Ö®¼äµÄÊ®½øÖÆÕûÊý£»

2ºÅ¶Ë¿ÚΪÏÔʾ¿Ú£¬¶ÔÓ¦ÓÚÊý×Ö0¡«9µÄLEDÆß¶Î¹²ÒõÏÔʾÂëÒÀ´ÎΪ£º3FH¡¢06H¡¢5BH¡¢4FH¡¢66H¡¢6DH¡¢3DH¡¢07H¡¢7FH¡¢6FH¡£±àдһ¶Î²é±íËÍÏԵijÌÐò£¬ÒªÇóÏÈ´Ó²âÊÔ¿Ú¶ÁÈëÒ»¸öÊý¾Ý£¬ÔÙ²é±í½«ÏàÓ¦µÄÏÔʾÂë´ÓÏÔʾ¿ÚËͳö£¬Èç´Ë·´¸´½øÐÐÖ±ÖÁ¶ÁÈëÊý¾Ý0FFHΪֹ¡£ 7.15 ±à³ÌʵÏÖÒÔϲÙ×÷£º´Ó¼üÅÌÊäÈë4¸öÊý×Ö£¬·Ö±ð×÷ΪÁ½¸ö10¡«99Ö®¼äµÄÊ®

½øÖÆÊý¡£ÇóËüÃǵĺͣ¬²¢°Ñ½á¹ûÒÔÈýλʮ½øÖÆÊýµÄÐÎʽÏÔʾÔÚÆÁÄ»ÉÏ¡£ÒªÇóÊäÈë»ØÏÔµÄÁ½¸ö¼ÓÊýÓëËÍÏԵĺÍÖ®¼äÓÐÊʵ±µÄ·Ö¸ô£¬ÒÔÊ¾Çø±ð¡£¸ñʽ×ÔÐÐÄⶨ¡£

´ð£ºÍêÕû³ÌÐòÈçÏ£º CODE SEGMENT

ASSUME CS:CODE

START: MOV AH, 02H

MOV DL, 0DH £»ÏÔʾ¡°»Ø³µ¡± INT 21H MOV AH, 02H MOV DL, 0AH £»ÏÔʾ¡°»»ÐС± INT 21H CALL INPUT £»ÊäÈë2Êý²¢×ª»»ÎªÊ®½øÖÆÊýËÍBL MOV AL, BL £»×ª»»µÄÊ®½øÖÆÊý±£´æÔÚALÖÐ CALL INPUT £»ÊäÈë2Êý²¢×ª»»ÎªÊ®½øÖÆÊýËÍBL ADD AL, BL DAA

MOV BH, 0 ADC BH, 0 £»½«½øÎ»Î»±£´æÔÚBHÖÐ MOV BL, AL £»½«ÇóºÍ½á¹û±£´æÔÚBLÖÐ CALL OUTPUT £»ÊäÈëÏÔʾ×Ó³ÌÐòµ÷Óà INT 20H £»½áÊø£¬·µ»ØDOS

INPUT PROC

PUSH AX

MOV AH, 01H £»¼üÅÌÊäÈëÒ»¸ö×Ö·û¹¦ÄÜ INT 21H

AND AL, 0FH £»ASCIIÂëת»»Îª¶þ½øÖÆÊý MOV BL, AL MOV CL, 4 SHL BL, CL £»BLÄÚÈÝ×óÒÆËÄλ MOV AH, 01H £»¼üÅÌÊäÈëÒ»¸ö×Ö·û¹¦ÄÜ

41564736.doc¼¯ - 21 - ±àÕߣºÓ÷Æäɽ

INT 21H AND AL, 0FH OR BL, AL MOV AH, 02H MOV DL, ' '

£»ASCIIÂëת»»Îª¶þ½øÖÆÊý £»ºÏ³ÉΪһ¸öÁ½Î»µÄÊ®½øÖÆÊý £»ÏÔʾ¿Õ¸ñ

INT 21H POP AX RET

INPUT ENDP

OUTPUT PROC

PUSH AX PUSH DX PUSH CX

MOV AH, 02H MOV DL, ' ' INT 21H MOV DL, BH OR DL, 30H

MOV AH, 02H INT 21H MOV DL, BL MOV CL, 04H SHR DL, CL OR DL, 30H MOV AH, 02H INT 21H MOV DL, BL AND DL, 0FH OR DL, 30H

MOV AH, 02H INT 21H POP CX POP DX POP AX RET

OUTPUT ENDP CODE ENDS

END START

ASCIIÂë

ASCIIÂë

ASCIIÂë

£»ÏÔʾ¿Õ¸ñ£»ÏÔʾ½øÎ»Î»£»½øÎ»Î»×ª»»Îª£»ÏÔʾÇóºÍ½á¹û¸ßλ£»½á¹û¸ßλת»»Îª£»ÏÔʾÇóºÍ½á¹ûµÍλ£»½á¹ûµÍλת»»Îª41564736.doc¼¯ - 22 - ±àÕߣºÓ÷Æäɽ

µÚ 8 Õ ¼ÆÊýÆ÷/¶¨Ê±Æ÷ÓëDMA¿ØÖÆÆ÷

8.1 8.2 8.3 8.4 8.5

΢»úϵͳÖеÄÍⲿ¶¨Ê±ÓÐÄÄÁ½ÖÖ·½·¨£¿ÆäÌØµãÈçºÎ£¿ 8253¼ÆÊý/¶¨Ê±Æ÷ÓÐÄÄÐ©ÌØµã£¿ 8253³õʼ»¯±à³Ì°üÀ¨ÄÄÁ½ÏîÄÚÈÝ£¿ ´ð£ºÉ趨·½Ê½¿ØÖÆ×ֺͼÆÊý³õʼֵ¡£

8253ÓÐÄļ¸ÖÖ¹¤×÷·½Ê½£¿Çø·Ö²»Í¬¹¤×÷·½Ê½µÄÌØµãÌåÏÖÔÚÄ½Ã棿 Éè8253оƬµÄ¼ÆÊýÆ÷0¡¢¼ÆÊýÆ÷2ºÍ¿ØÖƿڵØÖ··Ö±ðΪ04B0H¡¢04B4H¡¢04B6H¡£¶¨Ò弯ÊýÆ÷0¹¤×÷ÔÚ·½Ê½3£¬CLK0Ϊ5MHz£¬ÒªÇóÊä³öOUT0Ϊ1KHz·½²¨£»¶¨Ò弯ÊýÆ÷2ÓÃOUT0×÷¼ÆÊýÂö³å£¬¼ÆÊýֵΪ1000£¬¼ÆÊýÆ÷¼Æµ½0ʱÏòCPU·¢³öÖжÏÇëÇó£¬CPUÏìÓ¦ÕâÒ»ÖжÏÇëÇóºó¼ÌÐøÐ´Èë¼ÆÊýÖµ1000£¬¿ªÊ¼ÖØÐ¼ÆÊý£¬±£³ÖÿһÃëÖÓÏòCPU·¢³öÒ»´ÎÖжÏÇëÇó¡£ÊÔд³ö¶Ô8253µÄ³õʼ»¯³ÌÐò£¬²¢»­³öÓ²¼þÁ¬½Óͼ¡£ ´ð£ºÓ²¼þÁ¬½ÓͼÈçÏ£º

D7~D0 D7~D0 S2 WR IOWC S1 RD IORC S0 INTA 8253 8259 1Hz 8288 IR INTR OUT2 8086CPU CLK0 A9 »òÃÅ 5MHz OUT0 G2A Y0 A8 7432 GATE0 74LS138 A10 +5V G2B 7400 A6 GATE2 G1 A7 CLK2 C Y5 A5 CS B Y6 A4 A Y7 A3 A1 A2 A0 A1

8253µÄ³õʼ»¯³ÌÐò¶ÎÈçÏ£º

INIT8253: MOV DX, 04B6H £»¿ØÖÆ¿Ú

MOV AL, 37H £»¼ÆÊýÆ÷0·½Ê½3 OUT DX, AL

MOV DX, 04B0H £»¼ÆÊýÆ÷0

MOV AX, 5000H £»¼ÆÊýÖµ=5MHz/1kHz=5000 OUT DX, AL

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)