找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2541|回復(fù): 1
收起左側(cè)

單片機(jī)處理while語句很慢嗎?

[復(fù)制鏈接]
ID:71542 發(fā)表于 2015-1-3 12:18 | 顯示全部樓層 |閱讀模式
編了個(gè)流水燈程序 代碼如下  左移比右移頻率快


#include <reg51.h>
void main()
{
        unsigned int i,j=0;
        P1 = 0x00;
        while (1)
        {                       

                                           P1 = 0x80>>++j;//依次右移0~7位
                                        for(i=0;i<20000;i++);
                                        
                                        if(j==7)
                                        {
                                                while(j!=0)
                                                {
                                                P1=0x80>>--j; //依次右移7~0位
                                                for(i=0;i<20000;i++);                       
                                                }
                                        }
        }
}


debug 后發(fā)現(xiàn) 就是第二次右移7~0位時(shí)比上面多了個(gè) while(j!=0)導(dǎo)致的頻率不一致  延時(shí)時(shí)間在50ms以上   

單片機(jī)處理 while語句就這么慢?

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2015-1-5 22:11 | 顯示全部樓層
建議 反匯編看一下匯編的代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表