¡¶Î¢»úÔÀí¼°Ó¦Óá·ÊµÑé½Ì³Ì
C¿Úλд¿ØÖÆ×ֵĸñʽÈçÏ£º
ÆäÖÐλµØÖ·¿ÉÒÔÊÇ000¡ª111£¬·Ö±ð±íʾC¿ÚµÄ8λD0-D7£¬ÄÚÈÝ¿ÉÒÔÊÇ0¡¢1£¬¸Ã¿ØÖÆ×ÖµÄ×÷ÓÃÊǰÑÄÚÈÝ0»ò1дÈëC¿ÚÖ¸¶¨µÄλÖУ¬ËùÒÔ³ÆÎªC¿Úλд¿ØÖÆ×Ö¡£
8255A¹¤×÷·½Ê½0ÊÇ»ù±¾I£¯£Ï¹¤×÷·½Ê½¡£ÔÚÊäÈëʱ£¬ÍâÉèÖ»ÐèÒª°ÑÊý¾Ý´«Ë͸ø¶Ë¿ÚÒý½Å¡¢CPU¾Í¿ÉÒÔÏàÓ¦µÄ¶Ë¿ÚÖжÁÈ¡Êý¾Ý£»ÔÚÊä³öʱ£¬CPUÖ»ÐèÒª°ÑÊý¾ÝдÈë¶Ë¿Ú£¬¾ÍÄÜ´ÓÏàÓ¦µÄ¶Ë¿ÚÒý½Å°ÑÊý¾Ý´«Ë͸øÍâÉè¡£Èç¹û¶Ë¿ÚAºÍB¶¼Ñ¡Ôñ·½Ê½0£¬ÄÇô¶Ë¿ÚCµÄËùÓÐ8λҲ¶¼¿ÉÒÔ×÷ΪI£¯£Ï¿ÚʹÓᣲ¢ÇÒ¶Ë¿ÚA¡¢B¡¢CHºÍCL¶¼¿ÉÒÔ¶ÀÁ¢Ñ¡ÔñÓÃ×÷ÊäÈë¿Ú»òÕßÊä³ö¿Ú£¬ËùÒÔÒ»¹²¿ÉÒÔÓÐ16ÖÖ²»Í¬µÄI£¯£ÏÅäÖᣠ8255A¹¤×÷·½Ê½1ÊÇѡͨI£¯£Ï¹¤×÷·½Ê½¡£ÕâÖÖ¹¤×÷·½Ê½³ýÁË´«ËÍÊý¾ÝÍ⣬¶Ë¿ÚºÍÍâÉè¼ä»¹ÐèÒªÓÐÒ»¶ÔÁªÂçÏߣ¬ÓÃÒÔ´«ËÍÎÕÊÖÐźš£ÁíÍâ¶Ë¿Ú»¹ÓÐÒ»¸ùÖжÏÇëÇóÏߣ¬ÓÃÓÚÏòϵͳÉêÇëÖжϡ£ÕâÈý¸ùÏß¶¼Òª´ÓC¿Ú½èÓá£ËùÒÔ£¬µ±¶Ë¿ÚAºÍBÓÐÒ»¸öÑ¡Ôñ·½Ê½1£¬ÁíÒ»¸öÑ¡Ôñ·½Ê½0£¬C¿ÚÄܶÀÁ¢Ê¹ÓõÄI£¯£ÏÏßÖ»ÓÐ5¸ù£»¶øµ±¶Ë¿ÚAºÍB¶¼Ñ¡Ôñ·½Ê½1£¬¹²Òª´ÓC¿Ú½èÓÃ6¸ùÏߣ¬C¿ÚÄܶÀÁ¢Ê¹ÓõÄI£¯£ÏÏß¾ÍÖ»ÓÐÁ½¸ùÁË¡£ÁíÓÐÒ»µãҪעÒ⣬¶Ë¿ÚAÔÚÊäÈëºÍÊä³öÁ½Çé¿öÏ£¬½èÓÃC¿Ú²»Í¬µÄλÏß×÷ΪÁªÂçÏߣ»¶Ë¿ÚBÔÚÊäÈëºÍÊä³öÁ½ÖÖÇé¿öÏ£¬½èÓÃC¿ÚÏàͬµÄλÏß×÷ΪÁªÂçÏߣ¬Èçͼ6.2Ëùʾ¡£
°´·½Ê½1¹¤×÷£¬ÊäÈë¶Ë¿ÚµÄÊý¾Ý´«Ë͹ý³ÌÈçÏ£º
£¨1£©ÍâÉè°ÑÊý¾Ý´«Ë͸ø¶Ë¿ÚÒý½Å£¬²¢·¢³öSTBÐźţ¨¸ºÂö³å£©£»
£¨2£©STBÐźŰÑÊý¾ÝËø´æµ½ÊäÈëÊý¾Ý¼Ä´æÆ÷ÄÚ£¬²¢Ê¹IBF±ä¸ß£¬Í¨ÖªÍâÉè²»¿É´«ËÍÏÂÒ»¸öÊý£» £¨3£©STBÐźÅʹINT±ä¸ß£¬ÏòϵͳÉêÇëÖжϣ»
£¨4£©CPUÏìÓ¦Öжϣ¬´Ó¶Ë¿Ú¶ÁÈ¡Êý¾Ý£¬Ê¹IBFºÍINT±äµÍ£¬ÔÙ´Ó£¨1£©Öظ´½øÐС£
ÊäÈ뻺³åÆ÷ÂúÐźÅIBF£¬¸ßµçƽÓÐЧ¡£µ±IBFÓÐЧʱ£¬±íʾ»º³åÆ÷ÖÐÓÐÒ»¸öÊý¾ÝÉÐδ±»CPUÈ¡×ß¡£ÍâÉè¿ÉʹÓôËÐźÅÀ´¾ö¶¨ÊÇ·ñÄÜËÍÏÂÒ»¸öÊý¾Ý¡£Ëü¿ÉÒÔ¿´³ÉÊÇ/STBµÄÓ¦´ðÐźš£
ͼ7. 2 8255¹¤×÷·½Ê½1µÄÁªÂçÏß
¶øÊä³ö¶Ë¿ÚµÄÊý¾Ý´«Ë͹ý³ÌÈçÏ£º
£¨1£©CPU°ÑÊý¾ÝдÈë¶Ë¿Ú£¬Ê¹OBFºÍINT±äµÍ£¬OBFÊä³ö¼Ä´æÆ÷ÂúÐźţ¬Í¨ÖªÍâÉèÈ¡Êý£» £¨2£©ÍâÉè´Ó¶Ë¿ÚÒý½ÅÈ¡µÃÊý¾Ý£¬²¢·¢»ØACKÏìÓ¦Ðźţ¨¸ºÂö³å£©£» £¨3£©ACKÐźÅʹOBF±ä¸ß£»
£¨4£©ACKÐźŵÄÉÏÉýÑØÊ¹INT±ä¸ß£¬ÏòϵͳÉêÇëÖжϣ¬CPUÏìÓ¦Öжϣ¬ÔÙ´Ó£¨1£©Öظ´½øÐС£ Êä³ö»º´æÆ÷ÂúÐźÅ/OBF£¬µÍµçƽÓÐЧ¡£¸ÃÐźÅ֪ͨÍâÉ裬Ôڹ涨µÄ¶Ë¿ÚÉÏÒÑÓÐÒ»¸öÓÐЧÊý¾Ý£¬ÍâÉè
31
¡¶Î¢»úÔÀí¼°Ó¦Óá·ÊµÑé½Ì³Ì ¿ÉÒÔÈ¡×ß¡£
ÍâÉèÏìÓ¦ÐźÅ/ACK£¬µÍµçƽÓÐЧ¡£ÓÐЧʱ±íʾÍâÉèÒѴӸö˿ÚÈ¡×ßÊý¾Ý¡£/ACKÓÐЧʱʹ/OBF=1; 8255A¹¤×÷·½Ê½2ÊÇË«ÏòI£¯£Ï¹¤×÷·½Ê½£¬½öÊÊÓÃÓÚ¶Ë¿ÚA¡£ÕâÖÖ¹¤×÷·½Ê½Ôڶ˿ںÍÍâÉè¼äÐèÒªÁ½¶ÔÁªÂçÏߣ¬·Ö±ðÓÃÓÚ´«ËÍÊäÈëºÍÊä³öʱµÄÎÕÊÖÐźţ»¶øÖжÏÇëÇóÏßÖ»ÓÐÒ»¸ù£¬ÊäÈëºÍÊä³öºÏÓÃͬһ¸öÖжÏÇëÇó¡£ÕâÎå¸ùÏß¶¼Òª´ÓC¿Ú½èÓá£ËùÒÔ£¬µ±¶Ë¿ÚAÑ¡Ôñ·½Ê½2£¬¶Ë¿ÚBÑ¡Ôñ·½Ê½0£¬¹²Òª´ÓC¿Ú½èÓÃ5¸ùÏߣ¬C¿ÚÄܶÀÁ¢Ê¹ÓõÄI£¯£ÏÏßÖ»ÓÐ3¸ù£»¶øÇÒ¶Ë¿ÚAÑ¡Ôñ·½Ê½2£¬¶Ë¿ÚBÑ¡Ôñ·½Ê½1£¬¹²Òª´ÓC¿Ú½èÓÃ8¸ùÏߣ¬C¿Ú¾ÍûÓÐÄܶÀÁ¢Ê¹ÓõÄI£¯£ÏÏßÁË¡£8255A¹¤×÷·½Ê½2µÄÁªÂçÏßÈçͼ6.3Ëùʾ¡£
ÊäÈ뷽ʽ Êä³ö·½Ê½
ͼ7. 3 8255¹¤×÷·½Ê½2µÄÁªÂçÏß
¶Ë¿ÚA°´·½Ê½2¹¤×÷£¬ÊäÈëÊý¾Ý»òÊä³öÊý¾ÝµÄ´«Ë͹ý³Ì»ù±¾ÉÏÓ뷽ʽ1Ïàͬ£¬Ö»ÊÇÊä³ö¹ý³ÌµÄ£¨2£©Òª¸ÄΪ£º
¡°ÍâÉè·¢³öACK=0Ðźţ¬´Ó¶Ë¿ÚÒý½ÅÈ¡µÃÊý¾Ý£¬ÔÙ·¢³öACK=1Ðźţ»¡±
×ÛÉÏËùÊö£¬ÎÞÂÛÊǶ˿ÚA»¹ÊÇB£¬ÎÞÂÛÊÇ·½Ê½1»¹ÊÇ2£¬¶¼ÐèÒª´Ó¶Ë¿ÚC½èÓÃÁªÂçÏߺÍÖжÏÇëÇóÏߣ¬ÔÚÕâЩÐźÅÖУ¬³ýÁËSTBºÍACKÒÔÍ⣬ÆäËüËùÓÐÐźŵÄ״̬¶¼¿ÉÒÔÔÚ¶Ë¿ÚCÖжÁÈ¡£¨¶Ë¿ÚµÄλÓëÒý½ÅµÄλÏà¶ÔÓ¦£©£¬Õâ¸ø²»²ÉÓÃÖжϷ½Ê½¶ø²ÉÓòéѯ·½Ê½½øÐÐI£¯£Ï´«ËÍÀ´ËµÊÇÊ®·Ö·½±ãµÄ¡£¶ø¶Ë¿ÚCÖеÄSTBºÍACKËù¶ÔÓ¦µÄ루PC2¡¢PC4ºÍPC6£©ËäÈ»²»ÄÜÓÃÓÚ²éѯ£¬µ«È´ÓÃ×÷ÖжÏÔÊÐí¿ØÖÆÎ»£¬ÆäÖÐPC6ºÍPC4·Ö±ðÓÃÓÚ¶Ë¿ÚAÊä³öºÍÊäÈëʱµÄÖжÏÔÊÐí¿ØÖÆ£¬PC2ÓÃÓÚ¶Ë¿ÚBÊä³ö»òÊäÈëʱµÄÖжÏÔÊÐí¿ØÖÆ£¬¾ù¿É²ÉÓÃλд¿ØÖÆ×Ö½øÐÐÉèÖá£
7.1 ʵÑé1 8255A¹¤×÷·½Ê½0¡¢1µÄ»ù±¾Ó¦Óà һ¡¢ÊµÑéÄ¿µÄ
1£®Ñ§Ï°²¢ÕÆÎÕ8255µÄ0£¬1¹¤×÷·½Ê½¼°ÆäÓ¦Óᣠ2£®Ñ§Ï°ÔÚϵͳ½Ó¿ÚʵÑéµ¥ÔªÉϹ¹ÔìʵÑéµç·¡£
¶þ¡¢ÊµÑéÒÇÆ÷¡¢É豸
¼ÆËã»ú»òEPC-1000ÐÍǶÈëʽ΢»úʵÑéÒǼ°ICоƬ£º8255A¡£
Èý¡¢ÊµÑéÄÚÈݼ°²½Öè
£¨Ò»£©8255¹¤×÷·½Ê½0¡¢1µÄÊäÈëºÍÊä³ö¡£ A£©£®Á¬ÏߣºÈçͼ6.4£¬8255µÄÊý¾ÝÏßD0£D7£¬µØÖ·ÏßA0¡¢A1£¬¿ØÖÆÏßRESET£¬RD£¬WR£¬·Ö±ðºÍ×ÜÏßÏàÁ¬½Ó£¬µçÔ´ºÍµØ·Ö±ðÁ¬µ½ÊµÑéÏäµÄ£«5VºÍµØ¡£
32
¡¶Î¢»úÔÀí¼°Ó¦Óá·ÊµÑé½Ì³Ì
8255µÄCSƬѡ£¬Á¬½ÓµØÖ·ÒëÂëÆ÷Êä³öY0¡£×¢Ò⣺Y0Êä³öºó¾74HC04µÄÁ½¸ö·´Ïà·ÇÃźóÔÙ½ÓÈë/CS¡£ 300£307µØÖ·ÖУ¬303ͬ307Ϊ·½Ê½¿ØÖÆ×ÖµØÖ·£¬300ͬ304ΪPA£¬ÒÔºó˳ÑÓΪPB¡¢PC¡£
PA0£PA7Á¬µ½Âß¼¿ª¹ØÊäÈë¶ËK0£K7¡£ PC4£¨/STBA£©Á¬µ½µ¥Âö³å£¨¸º£©Êä³ö¶Ë¡£
PC5£¨IBFA£© Á¬µ½Âß¼±ÊÊäÈë¶Ë¡££¨¼ì²âÊä³öµÄ¸ßµÍµçƽÐźţ© B£©£®ÊµÑéÔÚDEBUGϽøÐУ¬¿ÉÒÔ²»±Ø±à³Ì£¬Ö±½ÓÓÃDEBUGµÄIºÍO½øÐÐÊäÈëÊä³ö¼´¿É¡£ £¨1£©¹¤×÷·½Ê½0¡¢1ÊäÈë¡££¨ÔÚDEBUG»·¾³ÖУ¬ºóͬ£©
ͼ7. 4 8255A¹¤×÷·½Ê½0£¬1ÊäÈë
74HC04 Áù·´ÏàÆ÷£¬¸ÃƬµÄµçÔ´ºÍµØÊµÑéÏäÉÏÒѾ½ÓºÃ£¬¿ÉÖ±½ÓʹÓᣠ¼üÈëO307 9B
ÈÎÒⲦ¶¯¿ª¹Ø£¬¼üÈëI304
¼üÈëO307 BB
ÈÎÒⲦ¶¯¿ª¹Ø£¬¼üÈëI304
¼üÈëI304
ÖØ¸´ÒÔÉÏ3²½¡£
¡ù·½Ê½1ϵÄÊäÈë¹ý³Ì¡£ÍâÉ轫Êý¾ÝË͵½A¿Ú£¬·¢³ö/STBÐźš£ÓÉ/STBÐźţ¬½«Êý¾ÝËø´æµ½A¿ÚÊäÈëËø´æÆ÷ÖС£Í¬Ê±£¬IBFÓÐЧ£¨¸ßµçƽ£©£¬±íʾÓÐÊý¾ÝµÈ´ý±»½ÓÊÕ¡£µ±CPU¶ÁÈ¡Êý¾Ýºó£¬IBFÎÞЧ£¨µÍµçƽ£©¡£µÈ´ýÏÂÒ»´ÎµÄÊý¾ÝÊäÈë¡£
£¨2£©¹¤×÷·½Ê½0¡¢1Êä³ö¡£
33
¡¶Î¢»úÔÀí¼°Ó¦Óá·ÊµÑé½Ì³Ì
ͼ7. 5 8255A¹¤×÷·½Ê½0£¬1Êä³ö
Á¬ÏߣºÈçͼ6.5£¬PA0£PA7¸ÄÁ¬µ½Âß¼µçƽÏÔʾ¶Ë£¨·¢¹â¶þ¼«¹Ü£©L0£L7£¨ºìÉ«RºÍÂÌÉ«G¾ù¿É£©¡£ PC6 £¨/ACKA£©ÖÁµ¥Âö³å£¨¸º£©Êä³ö¶Ë¡£ PC7 £¨/OBFA£©ÖÁÂß¼±ÊÊäÈë¶Ë¡£
¼üÈëO307 8B
¼üÈëO304 XX
¼üÈëO307 AB£¼CR£¾ д·½Ê½¿ØÖÆ×Ö10101011B£¬¹¤×÷·½Ê½1£»
¼üÈëO304 XX£¼CR£¾ Ïò¶Ë¿ÚAÊä³öÊý¾Ý£¬ÆäÖÐXXΪÈÎÒâHexÊý£¬¼Ç¼ÏÔʾ״̬ºÍOBF״̬£» ·¢µ¥Âö³åÖÁACKA£¬¼Ç¼OBFA״̬£» ÖØ¸´ÒÔÉÏÁ½²½¡£
¡ù·½Ê½×ÖËͳöºó£¬OBFΪ¸ßµçƽ£¬Êä³ö¼Ä´æÆ÷ÎÞÊý¾Ý¡£µ±ÓÐÊý¾ÝË͵½Êä³ö¼Ä´æÆ÷£¬OBF±äµÍ£¬Êä³ö¼Ä´æÆ÷Âú£¬µÈ´ýÍâÉèÈ¡Êý¾Ý¡£Êý¾Ý±»È¡×ߺó£¬OBF±ä¸ß£¬µÈ´ýCPUËÍеÄÊý¾Ý¡£
£¨¶þ£©±à³Ì¡£
ÒªÇó£ºA¿Ú¹¤×÷ÔÚ·½Ê½1£¬ÊäÈë¡£B¿Ú¹¤×÷ÔÚ·½Ê½0£¬Êä³ö¡£ÊäÈë½Ó²¦¶¯Âß¼¿ª¹Ø£¬Êä³ö½ÓÂß¼µçƽÏÔʾµÆ¡£
Á¬Ïߣº²»¸Ä±äÉÏÊö·½Ê½1ʱµÄÁ¬Ïߣ¬Ôö¼ÓPB¿ÚµÄÁ¬Ïß¡£ ²Î¿¼³ÌÐò£º
CODE SEGMENT
ASSUME CS: CODE START: MOV DX, 307h
MOV AL, 0B0H OUT DX, AL
AA£º MOV DX, 304H
IN AL, DX
MOV DX, 305H
OUT DX, AL
MOV AH, 0BH £»¼ì²â¼üÅÌÊäÈë INT 21H
AND AL, AL JZ AA
MOV AL, 00H £»;Í˳öǰ¹ØµÆ OUT DX, AL MOV AH, 4CH INT 21H
CODE ENDS
END START
34