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

單片機延時原理

發布時間: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){};
以此類推,上面的方法精確度高適用地方。

閱讀全文

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

熱點內容
ios壓縮圖片app 瀏覽:837
排隊論pdf 瀏覽:520
python調用無參函數 瀏覽:798
主管開除女程序員 瀏覽:712
雲伺服器轉售 瀏覽:540
壓縮空氣漏氣量怎樣計算 瀏覽:102
手機app是怎麼跳轉的 瀏覽:664
學編程的重要性 瀏覽:24
程序員去按摩 瀏覽:739
奧迪手機控車app怎麼添加愛車 瀏覽:4
收磚機石獅編程培訓廠家 瀏覽:761
吉里吉里2安卓模擬器怎麼用 瀏覽:818
編譯器將匯編代碼 瀏覽:681
電路板加密錯誤 瀏覽:21
java自動機 瀏覽:363
相機連拍解壓 瀏覽:31
linuxssh服務重啟命令 瀏覽:330
茂名氫氣隔膜壓縮機 瀏覽:47
程序員地鐵寫程序 瀏覽:330
java的switchenum 瀏覽:329