#include "reg52.h"
typedef unsigned int u16;
#define led P1
void delay(u16 i){
while(i--);
}
void main(){
u16 i;
led=0xfe;
delay(100);
while(i){
for(i=0;i<8;i++){
P1=(0xfe<<i);
delay(100);
delay(100);
}}}
剛開始學,還不會寫,有沒有大佬可以幫忙看一下這段程式有沒有錯誤。謝謝
uj5u.com熱心網友回復:
while(i) 括弧里應該是1,不是i。uj5u.com熱心網友回復:
i的話也可以,就不是死回圈了
uj5u.com熱心網友回復:
《51單片機專案教程》吳險峰主編那本?好多東西都沒有說明白。看完只知道這樣寫可以點亮LED燈,但為什么這樣寫,書中只字沒提!uj5u.com熱心網友回復:
1如果直接使用p1就不用定義led,定義了led就使用led2主函式回圈使用數字1表示邏輯真0表示邏輯非
3回圈定時似乎短了頻率太快可能看不到亮滅
4回圈8次后就停了不再回圈
5while(1)本來就算個回圈體不需在內再寫回圈寫if判斷控制即可這當然屬于進階范疇不妨也說說
uj5u.com熱心網友回復:
6回圈只有8次無需使用16型的變數。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47369.html
標籤:單片機/工控
上一篇:esp8266和安卓互聯的問題
下一篇:電腦出事了
