΢»úÔ­Àí¼°Ó¦ÓÃʵÑé-¼ò - ͼÎÄ ÏÂÔØ±¾ÎÄ

¡¶Î¢»úÔ­Àí¼°Ó¦Óá·ÊµÑé½Ì³Ì

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 £»Ð´È뷽ʽ¿ØÖÆ×Ö10011011B£¬¹¤×÷·½Ê½0

ÈÎÒⲦ¶¯¿ª¹Ø£¬¼üÈëI304 ´Ó¶Ë¿ÚAÊäÈëÊý¾Ý£¬¼Ç¼ÊäÈëÊý¾ÝºÍ¿ª¹Ø×´Ì¬¡£ ÖØ¸´Éϲ½£¬¼Ç¼ÊäÈëÊý¾ÝºÍ¿ª¹Ø×´Ì¬¡£

¼üÈëO307 BB £»Ð´È뷽ʽ¿ØÖÆ×Ö10111011B£¬¹¤×÷·½Ê½1

ÈÎÒⲦ¶¯¿ª¹Ø£¬¼üÈëI304 ´Ó¶Ë¿ÚAÊäÈëÊý¾Ý£¬¼Ç¼ÊäÈëÊý¾ÝºÍ¿ª¹Ø×´Ì¬¡£ ·¢µ¥Âö³åÖÁ/STBA£¬¼Ç¼IBFA״̬£»

¼üÈëI304 ¼Ç¼ÊäÈëÊý¾ÝºÍIBFAµÄ״̬¡£

ÖØ¸´ÒÔÉÏ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 д·½Ê½¿ØÖÆ×Ö10001011B£¬¹¤×÷·½Ê½0

¼üÈëO304 XX Ïò¶Ë¿ÚAÊä³öÊý¾Ý£¬XXΪÈÎÒâHexÊý£¬¼Ç¼Êä³öÊý¾ÝµÄÏÔʾ״̬¡£ ÖØ¸´Éϲ½£¬¼Ç¼Êä³öÊý¾ÝºÍ¿ª¹Ø×´Ì¬¡£

¼üÈë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