導航:首頁 > 操作系統 > 單片機多個while

單片機多個while

發布時間:2023-02-10 16:45:14

『壹』 c51單片機怎樣在while語句里運行多個子函數

把子程序開頭三個子程序void a1()
void a2()
void a3()
調用時直接寫a1();
a2();a3();

『貳』 pic單片機如何可以讓while語句同時運行

第1種的作用是:一直循環while大括弧內的語句,比如:
while(1)
{
a=b+c;
display();
}
程序就一直在循環執行a=b+c;display(),不會跳出while語句,執行下面的語句。除非while(1)括弧裡面不再為真時,才會跳出循環。(ps:1為真,0為假)
第2種的作用是:程序執行到此處為止,不會再執行while(1)下面的語句。比如:
void main()
{
a=b+c;
display();
while(1);
i++;
}
程序執行a=b+c;display();while(1)就會一直停留在while(1)這個語句這里,不會往下執行i++了,除非while(1)括弧裡面不再為真時,才會跳出循環。(ps:1為真,0為假)

(二) while(i–)語句的用法:

常常用在delay()延遲函數中。例如:
void delay(unsigned int i)
{
while(i–);
}
當主函數執行到延遲函數delay(參數)時,程序就會調用void delay(unsigned int i),從而執行延遲函數裡面的語句,在這里則執行while(i–)語句,減到i=0時才會跳出while語句,從而跳出延遲函數,再去執行主函數中延遲函數的下一條語句。

(三) while(!key)語句的用法:

常用在獨立按鍵試驗中,用來檢測按鍵是否松開。比如:
void keypro()
{
if(key==0)
{
led=~led;
while(!key);
}
}
當按鍵key按下時,key=0,執行led=~led;再執行while(!key)語句,因為key=0,所以!key=1,程序執行停留在while(!key)處,直到松開按鍵時,key=1,!key=0,才跳出while(!key)語句,去執行下一條程序。

總結:無論是三種形式中的哪一種,當while(表達式)語句中的表達式不為0時,程序就一直停留在while語句這里。當表達式為0時就不執行while語句。

其中(i–)裡面是兩個減號,只是電腦顯示不出來

『叄』 51單片機中,是否有兩個while(1)嵌套或並行的情況,如果有,程序怎樣執行

是不能的,但你可以用內部中斷的方法來實現,也就是主程序里有一個while,在這個while里每循環1次或幾次,就跳入中斷去執行中斷服務程序,在中斷服務程序中進行運算或判斷。

閱讀全文

與單片機多個while相關的資料

熱點內容
php獲取原始數據 瀏覽:244
pic單片機如何編程 瀏覽:888
javabyte寫文件 瀏覽:319
java獲取類包名 瀏覽:888
ftp命令編碼格式 瀏覽:298
程序員那麼可愛陸離穿正裝 瀏覽:169
源碼的賬號密碼在哪個文件 瀏覽:437
如何在中國農業銀行app綁定銀行卡 瀏覽:992
shopnum1多用戶商城系統源碼 瀏覽:746
紅包廣告平台源碼 瀏覽:772
硬碟格式化時用的dos命令是 瀏覽:942
找人緩解壓力 瀏覽:938
iphone的pdf 瀏覽:351
90壓縮餅干怎麼吃 瀏覽:668
php教材下載 瀏覽:915
什麼解壓密碼最好 瀏覽:590
資料庫與伺服器如何連接 瀏覽:444
架構師需要閱讀的源碼 瀏覽:483
ch編譯器 瀏覽:456
java必須自己寫一個編譯器嗎 瀏覽:944