3 回答

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊
首先對比一下 左邊與右邊 那里有不同 同時(shí) 程序不同對應(yīng)的輸出結(jié)構(gòu)有哪些不同。。
P2口 連接8個(gè)LED 低電平驅(qū)動(dòng)使其發(fā)光。
P2=0xfe //上電 P2.0連接的 LED發(fā)光。 其余的熄滅。
對比一下程序
void main() //主函數(shù)
{
P2=0xfe; //P2初始化
while(1) //死循環(huán)
{
num=P2; //這里 與左邊不同 把P2的狀態(tài)給 NUM 也就是0XFE num=0xfe
P2=_crol_(num,1); //P2等于num 循環(huán)左移 P2=0xef 這時(shí)應(yīng)該是連接的P2.7的LED發(fā)光
delay(0);//延遲
}
}
左邊 代碼 NUM 每次大循環(huán) 都賦值 num=0xfe 是固定的 所以不管你以后怎么移動(dòng) P2口的輸出都是不變得 只移動(dòng)了一次。

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
一個(gè)時(shí)鐘周期=晶振的倒數(shù)
51單片機(jī)的一個(gè)機(jī)器周期=6個(gè)狀態(tài)周期=12個(gè)時(shí)鐘周期
一個(gè)單周期指令包括一個(gè)機(jī)器周期,即12個(gè)時(shí)鐘周期,所以12m晶振的話一條單周期指令執(zhí)行的時(shí)間為12*(1除12m)=1us
延時(shí)更多的話往上乘就是了

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
延時(shí)函數(shù)沒有起到作用 ,你沒有在延時(shí)函數(shù)中加入 while(i--);
而且你的延時(shí)也太短了,才25,要看到效果至少也是50000
- 3 回答
- 0 關(guān)注
- 243 瀏覽
添加回答
舉報(bào)