導航:首頁 > 操作系統 > 51單片機如何延遲開發

51單片機如何延遲開發

發布時間:2023-08-10 07:08:53

『壹』 C51單片機延時程序,需要不精確延時2小時,請問大神怎麼寫延時代碼,謝謝!

可以有很多辦法,一是調整參數,使其延時5分鍾或6分鍾,循環24次或20次。二是將延時函數的形參改為長整型(32位)延時時間擴大65536倍。三是使用定時器,每次定時50mS,累計144000次,便是2小時,使用定時器(中斷)的好處是在延時期間還可以干許多事情,例如顯示剩餘時間,檢測設備工作狀態或者調整延時時間等,而你的純軟體延時期間想干其它事情比較困難。

『貳』 用匯編怎麼寫51單片機的延時程序

DEL1S:MOV R7,#10x0dx0aD1: MOV R6,#200x0dx0aD2: MOV R5,#250x0dx0a DJNZ R5,$x0dx0a DJNZ R6,D2x0dx0a DJNZ R7,D1x0dx0a RETx0dx0ax0dx0a說明:1、如果不使用R5、R6、R7可以用別的單元替換,比如換成30H、31H、32H等等x0dx0a 2、這個程序是12M時鍾,如果時鍾不同,要修改數值。如6M時鍾,要把MOV R7,#10 修改成:MOV R7,#5

『叄』 51單片機用c語言怎麼寫延時函數

延時時間的計算與單片機的晶振頻率有關。若晶振頻率為12Mhz,那麼單片機每震動一次所需要的時間是1/12M s。那麼再來看看單片機執行一次自減所需要的振動次數是96次,假如我們對時間要求不是特別精確的話,可以約等於100來計算。現在通過上面兩個數據可以得出:單片機每執行一次自減所需要的時間是1/12M *100(s),即1/120000 s,逆向計算一下,每1ms需要自減多少次?120次對吧。所以一個簡單的延時功能就誕生了,我們只需要自減120次,就可以延時1ms,如果我們要延時50ms呢,那就自減50*120=6000次。那麼在程序上如何表達呢?我們可以用兩套for循環
void delay(int i){
int x,y;
for(x=i;x>0;x--){
for(y=120;y>0;y--)
}
}
參數 i 代表該函數延時多少ms

『肆』 51單片機的一個延時,我問下這個延時是具體怎麼執行延時的

  1. 需要延時的時候,在程序中帶參數調用DelayMs,參數傳遞給DelayMs的形式參數「unsigned char t」,t就有了數值。

  2. 「while(t--);」執行t個循環後退出,t個循環用了若干時間。

  3. 連續執行兩條「DelayUs2x(245);」,原理同第1,2步,也用了若干時間。

  4. 以上執行用的時間就是你延時的時間。

  5. 問題點:程序有失誤,DelayMs里的while(t--)後邊不能有分號,這樣t個循環才能作用到下邊的兩條「DelayUs2x(245);」

閱讀全文

與51單片機如何延遲開發相關的資料

熱點內容
不允許代理伺服器什麼意思 瀏覽:511
盲反卷積演算法 瀏覽:306
峰火戰國什麼時候能開伺服器 瀏覽:452
加密的pdf怎麼提取和修改 瀏覽:488
壓縮空氣氣體流量計 瀏覽:845
高角杯如何編程 瀏覽:1011
哪個app可以下載迷失島 瀏覽:29
100以內程序員鍵盤 瀏覽:912
調試助手源碼是什麼 瀏覽:601
程序員網優 瀏覽:461
有沒有極限壓縮方法 瀏覽:79
岳陽hypermill五軸編程 瀏覽:385
超級舒服的解壓神器 瀏覽:450
超短macd源碼 瀏覽:166
群暉怎麼設置用戶訪問指定文件夾 瀏覽:556
安卓怎麼測觸摸屏 瀏覽:596
javastring原理 瀏覽:317
如何關閉手機dhcp伺服器 瀏覽:985
php免費ide 瀏覽:203
程序員詞句 瀏覽:978