導航:首頁 > 操作系統 > 單片機延時原理

單片機延時原理

發布時間:2022-06-25 22:06:02

單片機的匯編延時程序我比較清楚,但是微機原理的就很糊塗,請問危機原理的延時的原理是什麼

可以再補充下問題么?就一般而言,單片機和微機原理講的延時原理應該是一樣的。
定時器的定時原理:比如一秒鍾定時,假定時鍾頻率為1000hz,
內部對時鍾采樣計數,如果記錄了1000個時鍾,那麼消耗的時間為1000*(1/1000)=1秒,定時器就會產生標志位,並且對計數器清零,重新開始
一條語句佔用幾個指令周期,是由你的mcu決定的,你可以查看mcu的體系結構和指令集。
語句循環產生延時例子:
while(int
i=1000)
{i--;}

② 單片機延時程序是怎麼實現延時的

就是不斷執行一條空指令,因為每執行一條指令都要時間的,大概零點幾毫秒左右,當重復執行許多條空指令就有延時的作用。

③ 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);」

④ 單片機延時函數。我用的是AT89C51單片機

你這種延時是一種不精確的延時,也就是單片機當執行到你這個delay(void)延時函數的時候它需要運算完,然後才能執行下面的函數,這樣就能延時一段時間了,而延時的長短取決於單片機的運算速度,也就是與晶振有關。還有就是延時函數裡面fot循環的次數,次數越多,延時就越長。

⑤ 單片機延時函數原理

就是這個道理,如果一重循環延時時間較短的話,可以用二重循環。但C語言對延時時間不好精確計算,一般只用於對時間要求不嚴的場合。精確延時還是要用定時器。

⑥ 單片機內的延遲函數的原理

不精確延時,數數的原理,單片機數一次,執行一個指令周期,各種單片機的指令周期需要根據手冊來看,如果不做分頻,理論上是 1/12 us 一個指令周期 ,然後做循環慢慢算.

⑦ 單片機延時程序怎麼寫是根據什麼原理寫的有什麼方法嗎

1、比較死板的方法是自己寫一個delay函數,裡面用for,while等做一些循環,下面是1ms的延時函數
void
delay1ms(void)
{
unsigned
char
i,j;
for(i=0;i<10;i++)
for(j=0;j<33;j++);
}
具體演算法是//(3j+2)*i=(3×33+2)×10=1010(us),但精確度不高,如果想准確點可以調節相應的參數用示波器來實
現,上面的函數適用於程序簡單,對時間性要求不高,如:點led燈,單個按鍵操作等等。
2,就是用定時器中斷裡面設定標志位來產生延時的方法,比如你可以把定時器設定為每1ms進一次中斷,在中斷裡面
把一個標志位(如flag)置一
當你需要1ms延時的時候你可以先初始化定時器,然後查詢標志位是否置一,置一則執行if後面的語句,即if(fla{};
當你需要10ms延時時,你可以把flag設置為uchar,中斷裡面flag++;外面查詢用if(10==flag){};
以此類推,上面的方法精確度高適用地方。

閱讀全文

與單片機延時原理相關的資料

熱點內容
eps命令鍵 瀏覽:37
塑料文件夾的尺寸 瀏覽:210
君威壓縮機電磁閥 瀏覽:945
安卓6手機為什麼不能用app 瀏覽:860
什麼java編譯器支持中文 瀏覽:563
香港伺服器如何做代理 瀏覽:201
pdf寫入 瀏覽:986
高爾夫電台怎麼添加到文件夾 瀏覽:239
四川麻將一般下哪個app 瀏覽:864
反編譯exe腳本 瀏覽:462
源碼文件夾怎麼編譯到固件中 瀏覽:912
ERp列印伺服器錯誤怎麼弄 瀏覽:113
蚌埠u盤加密軟體有哪些 瀏覽:180
前端如何認證伺服器 瀏覽:556
linux切換db2用戶命令 瀏覽:308
相片如何用電解壓 瀏覽:908
碩士程序員去學校當老師 瀏覽:122
pythonstr提取到字典 瀏覽:820
程序員那麼可愛有人看上陸漓了 瀏覽:878
php正則提取圖片 瀏覽:105