導航:首頁 > 操作系統 > 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單片機如何延遲開發相關的資料

熱點內容
單片機入門視頻教程第二課 瀏覽:45
天然氣可壓縮多少倍 瀏覽:238
程序員面試評價 瀏覽:128
手錶加密門禁卡 瀏覽:238
psf已加密 瀏覽:553
返利app怎麼用教程 瀏覽:888
一個程序員寫的詩火了 瀏覽:613
red攝影機壓縮比 瀏覽:410
app賬號怎麼弄 瀏覽:823
hc0551單片機 瀏覽:755
噴淋管道支架演算法 瀏覽:592
壓縮機壞了電腦無法啟動 瀏覽:241
不小心加密了怎麼去掉 瀏覽:955
linux命令行連接db2 瀏覽:898
洪恩app怎麼設置護眼模式 瀏覽:971
小猿口算app怎麼選課時 瀏覽:421
手機號脫敏加密解密 瀏覽:169
台電加密u盤多少錢 瀏覽:547
控制面板文件夾怎麼隱藏 瀏覽:846
opticspdf 瀏覽:593