新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 在C51程序中嵌入匯編

        在C51程序中嵌入匯編

        作者: 時間:2016-11-27 來源:網絡 收藏
        在C文件中直接嵌入匯編可采用以下方式
        #pragma ASM
        匯編代碼
        #pragma ENDASM
        流水燈程序為例,其中延時部分用匯編

        代碼如下
        #include //°üº¬µ¥Æ¬»ú¼Ä´æÆ÷µÄÍ·Îļþ
        #define uchar unsigned char
        #define uint unsigned int
        void delay();
        void main()
        {
        uchar num,dat1,dat2;
        delay;
        P0=0;
        while(1)
        {
        dat1=0xfe;
        dat2=0x7f;
        for(num=0;num<7;num++)
        {
        P1=dat1; //³õʼ»¯¸³Öµ
        dat1=dat1<<1; //ÓÒÒÆÒ»Î»
        delay; //ÑÓʱ
        }
        for(num=0;num<7;num++)
        {
        P1=dat2; //³õʼ»¯¸³Öµ
        dat2=dat2>>1; //ÓÒÒÆÒ»Î»
        delay; //ÑÓʱ
        }
        }
        }
        void delay()
        {
        #pragma ASM
        mov R5, #00H
        LOOP1: mov R6, #00H
        loop2: mov R7, #00H
        loop3: djnz R7, loop3
        djnz R6, loop2
        djnz R5, loop1
        #pragma ENDASM
        }



        關鍵詞: C51程序嵌入匯

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 大化| 板桥市| 博野县| 双牌县| 石柱| 景谷| 博白县| 长沙县| 海门市| 古交市| 昭平县| 蕲春县| 阳城县| 遵义市| 肥乡县| 巫溪县| 聂拉木县| 烟台市| 凤凰县| 凤翔县| 关岭| 和林格尔县| 高雄市| 广西| 泸定县| 景洪市| 石棉县| 富民县| 威远县| 武隆县| 文成县| 唐山市| 桦甸市| 新宾| 湛江市| 科尔| 西平县| 木兰县| 赫章县| 济源市| 延长县|