¡¡
    ±¾ÎĹØÓÚÖ¸ÁîµÄ×¢Êͽ«ÓëǰÊöÖ¸ÁîÖеÄÂÔÓв»Í¬¡£Ç°ÊöÖ¸Áî×¢ÊÍʱÊǶÔÖ¸Áî¾ßÌåÍê³ÉµÄ¹¦ÄܸøÒÔ˵Ã÷£¬ÕâÖÖ×¢ÊÍ·½·¨¶Ô³õѧÕßȷʵÒ×ÓÚ½ÓÊܺÍÀí½â£¬µ«ÊÇʵ¼ÊÓ¦ÓÃÖеÄPIC²úÆ·»ã±àÓïÑÔµÄ×¢ÊÍͨ³£ÊÇÒÔ³ÌÐòÒª×öʲô(»òÖ¸ÁîµÄ×÷ÓÃ)¶ø²»ÊÇ˵ָÁîµÄÖ±½Ó¹¦ÄÜ¡£¼øÓÚÉÏÊöÔÒò£¬ÏÂÊöµÄÖ¸Áî×¢Êͽ«¸Ä±ä¹ýÈ¥µÄ×¢ÊÍ·½·¨£¬ÓóÌÐòÓ¦ÆðµÄ×÷ÓÃ×÷×¢ÊÍ¡£
              ¡¡¡¡10ª±¼Ä³ÌÆ÷°ë×Ö½Ú½»»»Ö¸Áî
              ¡¡¡¡Ö¸Áî¸ñʽ£ºSWAPF¡¡f£¬d
              ¡¡¡¡ËµÃ÷£ºSWAPFÊÇSwap fµÄºÏд¡£·ûºÅf¡¢dµÄÒâÒåÓëǰÊöµÄÏàͬ¡£¸ÃÌõÖ¸ÁîµÄ¹¦ÄÜÊǼĴæÆ÷fµÄ¸ß4λÓëµÍ4λ½»»»£¬¼´Ö¸ÁîÖ´ÐÐǰ£¬Èô¼Ä´æÆ÷fµÄ8λ״̬ΪD7¡¢D6¡¢D5¡¢D4¡¢D3¡¢D2¡¢D1¡¢D0£¬Ö´ÐкóµÄ8λ״̬±äΪD3¡¢D2¡¢D1¡¢D0¡¢D7¡¢D6¡¢D5¡¢D4£¬Æä½á¹û´æÈëW(d=0)»òf(d=1)ÖС£
              ¡¡¡¡ÊµÀý£ºÖжÏÏÖ³¡±£»¤ÊÇÖжϼ¼ÊõÖÐÖØÒª²¿·Ö¡£ÓÉÓÚPIC16C¡Á¡ÁÖ¸ÁîϵͳÖÐûÓнøÕ»PUSHºÍ³öÕ»POPÖ¸ÁËùÒÔÖ»ÄÜÓÃÆäËüÖ¸ÁîÀ´ÊµÏÖ¡£ÒòΪÔÚÖ÷³ÌÐòÖг£³£Óõ½¹¤×÷¼Ä´æÆ÷WºÍ״̬¼Ä´æÆ÷STATUS£¬ËùÒÔÖжÏÏÖ³¡±£»¤³£Òª±£»¤¼Ä´æÆ÷WºÍSTATUS¡£
              ¡¡¡¡ÏÂÃæÊǶÔPIC16C7¡ÁϵÁÐоƬÖжÏÏÖ³¡±£»¤µÄʵÀý³ÌÐò¡£
              MOVWF  W_TEMP ¡¡       £»½«WÄÚÈÝ´æÈëµ½ÁÙʱ¼Ä´æÆ÷
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ W_TEMPÖÐ
              SWAPF  STATUS£¬W¡¡   £»½»»»STATUSÓëWÄÚÈÝ
              MOVWF STATUS_TEMP   £»½«STATUSµÄÄÚÈÝ´æÈëµ½ÁÙ
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ʱ¼Ä´æÆ÷STATUS_TEMPÖÐ
              ÖжϷþÎñ³ÌÐò
              ¡
              SWAPF  STATUS_TEMP£¬W£»½»»»STATUS_TEMPÓëW
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µÄÄÚÈÝ
              MOVWF STATUS¡¡¡¡¡¡  £»STATUS¸´Ô³ÉÔÀ´µÄ״̬
              SWAPF  W_TEMP£¬F¡¡¡¡ £»½»»»ÄÚÈÝ
              SWAPF  W_TEMP£¬W¡¡¡¡£»W¸´Ô³ÉÔÀ´µÄ״̬
              ¡¡¡¡ËµÃ÷£ºÉÏÊö³ÌÐòÖи÷ÌõÖ¸ÁîµÄ×¢ÊÍ»ù±¾É϶¼ÊÇÒÔ³ÌÐòÓ¦´ïµ½µÄÄ¿µÄ¶ø×¢Ê͵쬶ÔÿÌõÖ¸ÁîµÄ¹¦Äܼ¸ºõÎ´Éæ¼°¡£ÕâÊdzõѧÕßÓ¦ÌØ±ð×¢ÒâµÄ¡£
              ¡¡¡¡11ª±×Ó³ÌÐòµ÷ÓÃÖ¸Áî(Subroutine Call)
              ¡¡¡¡Ö¸Áî¸ñʽ£ºCALL k£»kΪÁ¢¼´µØÖ·
              ¡¡¡¡ËµÃ÷£º×Ó³ÌÐòµ÷Ó㬲»Í¬ÐͺÅоƬµÄʵÏÖ·½·¨²»¾¡Ïàͬ£¬Æä¹²Í¬µãÊÇÊ×ÏȽ«·µ»ØµØÖ·((PC)£«1)ѹջ±£»¤£¬ÔÙתÈëËùµ÷ÓõÄ×Ó³ÌÐòÈë¿ÚµØÖ·Ö´ÐÐ(ÓëMCS£51Ö¸ÁÄÜÏàËÆ)¡£
              Ö¸Áî¸ñʽģʽ£ºHERE   CALL    DELAY£»µ÷ÓÃÑÓʱ×Ó³ÌÐò
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡
              ¡¡¡¡¡¡¡¡¡¡¡¡ DELAY MOVLW 0x80¡¡£»ÑÓʱ×Ó³ÌÐò
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡   RETLW 0
              ¡¡¡¡ËµÃ÷£ºµ÷ÓÃÖ¸ÁîÖ´ÐÐǰ£¬PC=µØÖ·HERE
              ¡¡¡¡µ÷ÓÃÖ¸ÁîÖ´Ðкó£¬PC=µØÖ·DELAY(±êºÅ)£¬¶ÑÕ»Ö¸ÕëTOS=HERE£«1(·µ»ØµØÖ·)¡£
              ¡¡¡¡ÊµÀý£º¼ûÏÂÌõÖ¸ÁîµÄʵÀý
              ¡¡¡¡12ª±¼Ä´æÆ÷ÄÚÈÝÈ¡·´Ö¸Áî
              ¡¡¡¡Ö¸Áî¸ñʽ£ºCOMF¡¡f£¬d
              ¡¡¡¡ËµÃ÷£ºCOMFÊÇComplement fµÄËõд¡£ÆäÖÐd=1ʱ£¬²Ù×÷(f)¡úf£»d=0ʱ£¬²Ù×÷(f)¡úw¡£
              ¡¡¡¡¹¦ÄÜ£º¼Ä´æÆ÷fÄÚÈÝÈ¡·´ºóËÍÈëW(d=0)»òf×ÔÉí(d=1)¡£
              ¡¡¡¡ÊµÀý£º¡¡   ORG ¡¡  0x1FF
              ¡¡¡¡¡¡¡¡¡¡¡¡  GOTO    MAIN
              ¡¡¡¡¡¡¡¡¡¡¡¡  ORG ¡¡  0
              ¡¡¡¡  DELAY    ¡
              ¡¡¡¡  MAIN     MOVLW  0       £»Ö÷³ÌÐò¿ªÊ¼
              ¡¡¡¡  ¡¡¡¡¡¡  TRTS     5       £»ÉèÖÃRA¿ÚΪÊä³ö
                       ¡¡¡¡¡¡   BCF      5£¬0¡¡ 
              £»ÖÃRA¿Ú0λΪ0
              ¡¡¡¡  LOOP ¡¡  CALL    DELAY£»ÉÁ¶¯ÑÓʱ
              ¡¡¡¡¡¡¡¡¡¡¡¡   COMF    5ª±      £»RA¿ÚÇó·´(ÁÁ¡ªÃð¡ª
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡  ÁÁ¡¡¿ØÖÆ)
              ¡¡¡¡¡¡¡¡¡¡¡¡   GOTO    LOOP  £»Ñ»·
                ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
              ¡¡¡¡ËµÃ÷£ºÉÏÊöÖ¸ÁîÊÇÒ»ÖÖPIC16C54 LED·¢¹â¿ØÖÆÊµÑ鲿·Ö³ÌÐò¡£ÆäÖÐÑÓʱ×Ó³ÌÐòDELYδÁгö£¬µ«²»Ó°Ïì±¾ÌõÖ¸ÁîµÄʶ¶Á¡£³ÌÐòÖеÄÖ÷³ÌÐò¿ªÊ¼µÄÈýÌõÖ¸Á¾ùÒѽéÉܹý£¬½ô¸ú×ŵÄCALLÖ¸ÁîÊǵ÷ÓÃÖ´ÐÐ×Ó³ÌÐò£¬ÆäÈë¿ÚµØÖ·Îª±êºÅDELAY¡£×Ó³ÌÐòÖ´ÐнáÊøºó£¬ÓÖÖ´ÐÐCOMF 
              5µÄLED·¢¹âÁÁ¡ªÃð¡ÁÁ¡ªÃð¡¡¿ØÖÆÖ¸Áî¡£ºóÃæÒ»ÌõGOTO LOOPÖ¸ÁîÊÇ´ïµ½LEDÑ»·µãÁÁÄ¿µÄ¡£
              ¡¡¡¡13ª±ÃæÏòλµÄ²Ù×÷Ö¸Áî(¹²4Ìõ£¬PIC¸ß¼¶²úÆ·¶àÔöÒ»Ìõ)
              ¡¡¡¡¸ÃÀàÖ¸Áî³ýÒ»ÌõλÇåÁãÍ⣬ÁíÓÐÒ»Ìõ¼Ä´æÆ÷fλbµÄÖÃ1Ö¸ÁîºÍÁíÍâÁ½ÌõÎ»Ìø²½Ö¸Áî(PIC¸ß¼¶²úÆ·¶àÔöÒ»ÌõfµÄbλ´¥·¢×ª»»Ö¸Áî)¡£
              ¡¡¡¡(1)λÖÃ1Ö¸Áî¡£Ö¸Áî¸ñʽ BSF¡¡f£¬b
              ¡¡¡¡ËµÃ÷£ºBSFÊÇBit Set fµÄËõд¡£FºÍbµÄÒâÒåÓëǰÊöÏàͬ£¬¸ÃÌõÖ¸ÁîµÄ¹¦ÄÜÊǽ«¼Ä´æÆ÷fµÄbλÖÃ1¡£
              ¡¡¡¡(2)λ²âÊÔ¡¢ÎªÁã¼äÌøÖ¸Áî¡£Ö¸Áî¸ñʽ BTFSC   f£¬b
              ¡¡¡¡ËµÃ÷£ºBTFSCÊÇBit Test£¬Skip if ClearµÄËõд¡£Ö¸ÁÄÜÊDzâÊԼĴæÆ÷fλ¡°b¡±£¬ÈçΪ0£¬Ìø¹ýÏÂÒ»ÌõÖ¸ÁΪ1˳ÐòÖ´ÐУ¬¼´µ±f(b)=0ʱ£¬¾Í²»Ö´Ðе±Ç°Ö¸Áî¶øÖ´ÐÐÏÂÒ»ÌõÖ¸Áî(¼äÌø)£¬¼´ÓÃÒ»Ìõ¿ÕÖ¸ÁîNOP´úÌæËü£¬ËùÒÔ¸ÃÌõÖ¸ÁîÕ¼ÓÃ2¸öÖ¸ÁîÖÜÆÚ¡£
              ¡¡¡¡(3)λ²âÊÔ¡¢Îª1¼äÌøÖ¸Áî¡£Ö¸Áî¸ñʽ BTFSS¡¡f£¬b
              ¡¡¡¡ËµÃ÷£ºBTFSSÊÇBit Test£¬Skip if SetµÄËõд¡£ÆäÖ¸ÁîµÄÂß¼¹¦ÄÜÓëÉÏÌõÏà·´£¬Î»²âÊÔf(b)=1¾Í¼äÌøÖ´ÐУ¬f(b)=0˳ÐòÖ´ÐС£
              ¡¡¡¡ÉÏÃæ½éÉܵÄPIC 8λµ¥Æ¬»ú»ã±àÓïÑÔÖ¸Áî½öÊDz¿·ÖÖ¸Á´ËÍ⻹ÓÐÑ»·×ó¡¢ÓÒÒÆÖ¸ÁWºÍ¼Ä´æÆ÷fÏà¡°¼Ó¡±¡¢Ïà¡°Ó롱ָÁîºÍ½øÈë˯Ãß·½Ê½µÈÖ¸Áî¡£¼øÓÚ±¨Ö½°æÃæµÄÏÞÖÆ£¬²»ÔÚÕâÀïÒ»Ò»½éÉÜ£¬½ñºó½«ÔÚ³ÌÐòµÄÓ¦ÓÃÊÔÑéÖÐÔÙ×÷²¹³ä˵Ã÷¡£¡¡¡¡«ù³É¶¼¡¡Ê·Îª¡¡
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ֪ʶ¾ºÈüÊÔÌ⣺
              ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡13ª±Çë°ÑÏÂÁгÌÐò¼Ó×¢ÊÍ£¬³ÌÐòÖеġ°5¡±´ú±íRA(F5)¿Ú£»¡°6¡±´ú±íRB(F6)¿Ú¡£
              ¡¡¡¡CLRW      ¡¡¡¡£»MOVLW OFFH
              ¡¡¡¡TRIS   5  ¡¡       TRIS¡¡  6
              ¡¡¡¡BCF   5£¬1 ¡¡ ¡¡BCF¡¡   5ª±0
              ¡¡¡¡BSF   5£¬0¡¡¡¡¡¡ ¡¡¡¡¡ÓÒÅŽÓ×ó¡¡¡¡¡¡¡¡¡¡ 
¡¡