⑴ 請問在單片機C語言中,while(--t)和while(t--)有什麼區別啊
兩者的基層匯編語言不同,程序運行時間也不同。
一、基層匯編語言的差別
(1)while(--t)用到了減一不為0轉移指令DJNZ
執行一次while(t--) 的結束時間
可得單片機在執行while(t--)指令時,共耗時:
(0.00050130s-0.00049479s)/(12/11059200Hz)=5.999616mc≈6mc,
可以發現,單片機在執行while(--t)時所消耗的時間比在執行while(t--)時所消耗的時間短了整整4個機器周期,驗證了第一部分所得結論的正確性。
⑵ 單片機程序:while(1) ; //無限循環,防止程序跑飛。什麼意思
這一般用在僅僅依靠中斷工作的場合,也就是說,單片機做完初始化後,之後的所有工作完全由中斷產生時才完成相應的工作,比如日歷等等。如果沒有這句的話,程序就如流水一樣永不回頭的走了,執行完最後一句就壽終正寢。
⑶ 單片機while循環不加延時函數怎麼設置
1、定義while循環語句:在和侍蔽程序中定義while循環語句,以實現程序的重復執行。
2、定義計數變數:在while循環語句中,定義一個計數變數,以記錄循環的次數。
3、添加循環體:在while循環語句中,添加循環體,即需要重復執行的程序代碼。
4、設置條件語句:在while循環語句中,設置條件語句,以判斷循環是否結束。如果條件成立,繼續執行循環體;如果條件不成立,跳出循環。
5、添加延時函談唯數:在while循環語句中,添加延時函數,喚州以控製程序的執行速度和佔用率。常用的延時函數有延時循環和定時器延時等,具體的實現方法可以根據單片機的型號和開發環境進行選擇和調整。
6、調試程序:在程序編寫完成後,需要進行調試和測試,以確保程序的穩定性和可靠性。可以通過單步調試、串口調試等方式,逐步排查程序中的錯誤和問題。