導航:首頁 > 操作系統 > delay單片機

delay單片機

發布時間:2024-07-19 01:49:05

❶ 請問單片機中的delay()的單位時間是什麼

單片機中的delay()的單位時間不是系統提供的,而是用戶自己編制的。

如果用循環語句實現的循環,沒法計算,但是可以通過軟體模擬看到具體時間,但是一般精精確延時是沒法用循環語句實現的。

如果想精確延時,一般需要用到定時器,延時時間與晶振有關系,單片機系統一般常選用11.059 2 MHz、12 MHz或6 MHz晶振。第一種更容易產生各種標準的波特率,後兩種的一個機器周期分別為1 μs和2 μs,便於精確延時。本程序中假設使用頻率為12 MHz的晶振。

最長的延時時間可達216=65 536 μs。若定時器工作在方式2,則可實現極短時間的精確延時;如使用其他定時方式,則要考慮重裝定時初值的時間(重裝定時器初值佔用2個機器周期)。

(1)delay單片機擴展閱讀

單片機C語言程序中延時函數delay的原理是:僅僅執行一些,沒有實質性影響的所謂「無意義指令」,比如做比大小啊,做某個int的自加運算啊之類的。

單片機的有些程序需要調用延時程序,合理的安排循環次數以及空操作的個數方法:用匯編的話就根據你的當前晶振頻率去推算你的指令周期,然後結合需要延遲的時間。

編寫延遲程序,用C的話還是要看最後生成的匯編碼是什麼樣的了。最簡單的方法就是寫好程序以後再編譯器里軟模擬看時間。

單片機C語言延時需注意的問題:

標準的C語言中沒有空語句。但在單片機的C語言編程中,經常需要用幾個空指令產生短延時的效果。這在匯編語言中很容易實現,寫幾個nop就行了。

在keil C51中,直接調用庫函數:

#include // 聲明了void _nop_(void);

_nop_(); // 產生一條NOP指令

作用:對於延時很短的,要求在us級的,採用「_nop_」函數,這個函數相當匯編NOP指令,延時幾微秒。NOP指令為單周期指令,可由晶振頻率算出延時時間,對於12M晶振,延時1uS。對於延時比較長的,要求在大於10us,採用C51中的循環語句來實現。

❷ 51單片機C語言中delay函數是怎麼定義和使用的

定義一個延時xms毫秒的延時函數

void delay(unsigned int xms) // xms代表需要延時的毫秒數

{

unsigned int x,y;

for(x=xms;x》0;x--)

for(y=110;y》0;y--);

}

使用:

void Delay10us(uchar Ms)

{

uchar data i;

for(;Ms》0;Ms--)

for(i=26;i》0;i--);

}

i=[(延時值-1.75)*12/Ms-15]/4

(2)delay單片機擴展閱讀

1、在C51中進行精確的延時子程序設計時,盡量不要或少在延時子程序中定義局部變數,所有的延時子程序中變數通過有參函數傳遞。

2、在延時子程序設計時,採用do?while,結構做循環體要比for結構做循環體好。

3、在延時子程序設計時,要進行循環體嵌套時,採用先內循環,再減減比先減減,再內循環要好。

❸ 52單片機C語言中Delay是什麼意思怎麼用

delay是延時的意思,delay(n)是延時n個時間單位,至於一個時間單位是多少,這需要你的delay函數決定的,

閱讀全文

與delay單片機相關的資料

熱點內容
智慧醫療方面最優演算法 瀏覽:920
伺服器ban掉了是什麼意思 瀏覽:394
vvo手機拍的視頻在哪個文件夾 瀏覽:838
華為防火牆cli命令手冊 瀏覽:895
於正新劇玉樓春在什麼App播放 瀏覽:127
學習社會經驗下載什麼app 瀏覽:475
php發布站程序 瀏覽:204
源碼編譯ntfs內核模塊 瀏覽:120
r11s手機管家沒有加密 瀏覽:781
怎麼看電腦連接哪個伺服器 瀏覽:191
二手伺服器設備欺詐如何解決 瀏覽:877
單片機伺服器安裝win10 瀏覽:658
胸椎壓縮性骨折傷殘 瀏覽:954
mt怎麼解壓文件 瀏覽:41
達芬奇項目伺服器有什麼用 瀏覽:854
自製怎麼捏都可以復原的解壓球 瀏覽:615
qq軟體管理怎麼加密 瀏覽:740
手機使用代碼編程器 瀏覽:939
單片機四位99秒錶製作流程圖 瀏覽:617
壓縮包軟體如何安裝 瀏覽:768