国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

查看: 5197|回復: 0
打印 上一主題 下一主題

[提問] 幫忙看一匯編程序,謝謝了

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2011-7-15 15:23:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2積分
這是一段我程序中的匯編語言,我想把它改成C語言,但是一直沒有調試出正確的結果,希望高手指點一下!謝謝了!
TIME0:         PUSH PSW                         ;定時器0中斷程序
                    DJNZ R4,TIME0E
                    PUSH ACC
                    MOV A,#00H
                    MOVC A,@A+DPTR
                    CJNE A,#00H,TIM01      
                    CLR 7EH
                    CLR 7BH
                    ANL P2,#0FH            
                    CLR TR0
                    CLR ET0
TIME0E2:     POP ACC
TIME0E:      POP PSW
                    RETI        
                    ;
TIM01:         INC DPTR
                    MOV R4,A
                    CJNE A,#0FFH,TIM01A
                    CPL 7BH
TIM01A:       CPL 7BH
                    JB 7BH,TIM02
                    ANL P2,#0FH         
                    POP ACC
                    POP PSW
                    RETI
                    ;
TIM02:         MOV A,R2
                    ORL P2,A               
                    POP ACC
                    POP PSW
                    RETI


         
REM:          NOP
                    JB 7EH,REM
                    MOV A,#00H
                    MOVC A,@A+DPTR
                    CJNE A,#00H,REME       ;IF 00H THEN END CODE
                    RET
REME:         MOV R4,A
                    INC DPTR
                    SETB 7EH               ;SET FLAGE OF DRIVE TIME0
                    SETB 7BH               ;SET FLAGE OF SEND 1 REMOTE LED
                    MOV A,R3
                    MOV R2,A
                    ORL P2,A              
                    SETB ET0
                    SETB TR0
                    RET
下面是我自己用C語言寫的:
void time0int() interrupt 1
{
         shuzu--;
   if(shuzu==0)
    {
        while(*p!=0x00)
        {
            p++;
            shuzu=*p;
            while(*p!=0xff)
            {
                flag0=~flag0;
                if(flag0==1)
                {
                    P2=P2|waishe;
                }
                else
                {
                    P2=P2&0x0f;
                }
            }

            flag0=~flag0;
        }
        flag0=0;
        flag1=0;
        P2=P2&0x0f;
        TR0=0;
        ET0=0;
    }
}

void sendcode(void)
{
    while(flag1)
         {;}
    while(*p!=0x00)
    {
        p++;
                   shuzu=*p;
        flag0=1;
        flag1=1;
        P2=P2|waishe;
        ET0=1;
        TR0=1;
    }
}

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表