當涉及到單片機編程時,延時是一項常見但關鍵的任務。在許多應用中,我們需要控制程序暫停一段時間,以實現精確的時間控制或協調不同設備之間的操作。本文將以STM32為例,介紹關于單片機的延時原理以及常用的延時函數方法。
2023-08-09 09:13:00
21033 `單片機用的是STC89C52,12M晶振,代碼參考了郭天祥老師《51單片機c語言教程》里面關于精準延時的一段代碼,如下void delay(unsigned int i){unsigned
2019-07-11 09:58:52
在我們使用單片機的時候,很多情況下需要用到精確的延時。比如在跟DS18B20進行通訊的時候需要遵循嚴格的時序,這就需要我們嚴格把控程序執行的時間。一般我們都是通過執行空語句的方式來使程序延時。這種
2021-11-09 06:08:18
比unsigned int更優化的代碼,在使用時應該使用unsigned char作為延時變量。 以某晶振為12MHz的單片機為例,晶振為12MHz即一個機器周期為1us。定義一個延時xms毫秒的延時函數voi...
2021-07-15 06:42:47
51單片機如何實現毫秒級精確延時?
2023-10-27 06:25:54
,之后定時器部分再做詳細說明。首先介紹單片機的幾個周期在電子技術中,脈沖信號是一個按一定電壓幅度,一定時間間隔連續發出的脈沖信號。脈沖信號之間的時間間隔稱為周期;而將在單位時間(如1秒)內所產生的脈沖
2020-10-13 11:24:29
1、單片機延時程序的延時時間怎么算的?答:如果用循環語句實現的循環,沒法計算,但是可以通過軟件仿真看到具體時間,但是一般精精確延時是沒法用循環語句實現的。如果想精確延時,一般需要用到定時器,延時
2021-07-13 07:59:11
單片機因具有體積小、功能強、成本低以及便于實現分布式控制而有非常廣泛的應用領域。單片機開發者在編制各種應用程序時經常會遇到實現精確延時的問題,比如按鍵去抖、數據傳輸等操作都要在程序中插入一段或幾段
2016-10-04 20:14:33
使用的單片機是STC89C52,晶振是12MHZ,延時函數如何精確地設置為20微秒?用for形式。跪求高手指導。
2013-05-28 13:33:57
DS18B20那樣需要比較精確的延時,比如DS18B20復位時低電平好像要持續大約480us~960us,然后切換,讀字節和寫字節也要精確延時,所以如果不知道delay()函數延時多久,可能會對調試和項目
2013-09-25 19:22:35
{:12:}單片機為啥要設置延時函數,具體點求解
2013-07-08 09:55:55
單片機編程過程中經常用到延時函數,最常用的莫過于微秒級延時delay_us( )和毫秒級delay_ms( )。1.普通延時法這個比較簡單,讓單片機做一些無關緊要的工作來打發時間,經常用循環來實現
2021-08-12 07:07:35
單片機編程過程中經常用到延時函數,最常用的莫過于微秒級延時delay_us( )和毫秒級delay_ms( )。
2021-03-18 06:12:54
求單片機軟件延時精確計算,C編程,for語句。好像與單片機、晶振有關的啊,望詳細解答,先謝謝了void delay(unsigned char n){unsigned char i;for(i=0;i
2020-06-03 05:55:11
延時函數是單片機開發中是必不可少的功能函數,在每個工程里都能找到它的蹤影。雖然看起來不起眼,但在有些時序控制的場合,使用了一點點延時,往往能解決大問題。特別對于某些模塊,往往需要微秒級的延時,例如
2021-12-07 07:17:40
單片機C語言精確延時程序
2013-05-22 10:08:36
本帖最后由 suae 于 2011-7-27 16:24 編輯
1.毫秒級的延時AVR單片機 延時程序延時1ms;void delay_1ms(void){unsigned int i;for(i=1;i
2011-07-27 16:13:55
本人學習單片機已經有些日子,現在正在學習DS18B20,要用到比較精確點的延時函數,不知怎么寫程序比較方便,希望大神給點經驗之談,在此感激不盡
2016-10-04 19:09:00
什么是單片機的延時程序呢?Keil C51單片機程序設計中的精確延時方法有哪幾種?
2021-11-02 07:22:06
PIC單片機非精確延時函數的延時時間怎么計算?
2022-04-25 12:52:41
為1毫秒,最大65535,是不是與單片機的運行速率有關3.為我講解一下STM8的定時器延時與定時器中斷的區別?(之前學51時不管是延時還是中斷都是在定時器的中斷服務函數里寫,我看這段代碼之后就有點迷了)
2019-09-01 19:24:01
使用MCU內核寄存器實現毫秒級精確延時的方法在進行STM32進行開發時,使用到延時函數的頻率非常高,但HAL庫只提供了毫秒級的延時函數,最小延時時間是1ms,在某些應用場合下不能達到要求。下面這種
2021-08-12 06:53:55
Cortex-M內核MCU都有的一個定時器,所以以上延時微秒和延時毫秒的函數適用于任何 Cortex-M內核的MCU。有了精確延時函數,那么使用通用GPIO軟件模擬一些通信協議,如IIC、SPI等串行協議,就可以驅動很多硬件設備了,如EEPROM、溫濕度傳感器、顯示屏等等。
2025-11-20 07:12:25
在網上搜了一些關于C51單片機C語言的精確延時(相對)的例子和方法現總結如下:1,_nop_()適用于us級的少量延時標準的C語言中沒有空語句。但在單片機的C語言編程中,經常需要用幾個空指令產生短
2021-07-14 07:35:29
(temp&0x01&&!(temp&(1VAL =0X00; //清空計數器}原子哥,以上是你程序里延時毫秒的函數,可是現在i我想延時浮點類型的時間,比如說1.5毫秒,該怎么改這個函數呢
2020-07-14 04:56:36
51單片機毫秒級延時如下程序能實現ms毫秒級的比較精確的延時void Delayms(unsigned int n){ unsigned int i,j; for(j=n;j>0;j--){ for(i=112;i>0;i--){ ;}}}轉載原文鏈接
2021-11-23 08:04:09
如何利用stm32基本定時器實現毫秒級精確延時?
2021-11-16 08:18:57
如何實現精確的延時函數?
2021-11-02 06:22:57
如何實現C51單片機C語言的精確延時?
2021-10-15 06:02:41
本帖最后由 咖小啡 于 2011-4-6 15:37 編輯
求單片機軟件延時精確計算,C編程,for語句。好像與單片機、晶振有關的啊,望詳細解答,先謝謝了void delay(unsigned char n){unsigned char i;for(i=0;i
2011-04-06 15:21:56
本帖最后由 無量壽經 于 2017-3-3 22:41 編輯
[hide][/hide]很多人長期被單片機的延時程序困擾,本人最開始也深感痛苦,后來狠下決心,從最低級的匯編語言開始分析,然后將
2017-03-03 21:09:41
單片機C 語言的精確延時程序設計
2009-05-16 14:50:12
47 根據多路精確延時控制系統的設計參數指標,利用單片機和CPLD的功能特性與片上資源,設計了基于CPLD與多個單片機的多路精確延時控制系統,實現了多路獨立調整、顯示,并能輸出
2010-12-16 16:15:51
43 單片機+CPLD的多路精確延時控制系統
1 引言 現代控制系統中控制對象可能是復雜、分散的,而且往往是并行、獨立工作的,但整體上它們是相互關聯的
2008-11-11 09:37:39
2256 
單片機教程五:單片機延時程序分析
上一次課中,我們已經知道,程序中的符號R7、R6是代表了一個個的RAM單元,是用來放一些數據的,下面我們再來看一下其它符
2009-05-15 23:00:15
1241 
本內容詳細介紹了C51精確延時函數的編寫及調試方法
2011-05-24 11:33:00
272 《手把手教你學單片機》單片機視頻教程04:流水燈 單片機視頻教程04:單片機中常用的延時辦法 1、非精確延時:1.for(i=0;i100;i++); 2.i=100;while(i--) 2、精確延時辦法:1.利用庫函數_nop_()
2012-08-21 09:29:09
33806 
電子發燒友網站提供《單片機延時計算小程序.zip》資料免費下載
2015-09-17 17:24:20
6 51單片機匯編語言教程:5課單片機延時程序分析
2016-01-19 15:26:35
0 可以詳細解答stm8s單片機程序中延遲函數的來龍去脈,以及如何寫所需要的延遲時間,具有極高的參考價值。
2016-06-08 15:30:29
25 51單片機的幾種精確延時實現延時通常有兩種方法:一種是硬件延時,要用到定時器/計數器,這種方法可以提高CPU的工作效率,也能做到精確延時;另一種是軟件延時,這種方法主要采用循環體進行。
2016-11-22 11:20:25
4950 單片機延時計算小程序
2016-12-01 16:44:39
2 單片機延時計算小程序
2016-12-28 11:07:14
6 比unsigned int更優化的代碼,在使用時應該使用unsigned char作為延時變量。 以某晶振為12MHz的單片機為例,晶振為12MHz即一個機器周期為1us。
2017-11-16 17:06:11
90074 下面幾個是單片機的延時程序(包括asm和C程序,都是我在學單片機的過程中用到的),在單片機延時程序中應考慮所使用的晶振的頻率,在51系列的單片機中我們常用的是11.0592MHz
2018-03-05 18:40:19
21595 基于51單片機自動適應各晶振延時函數源碼下載
2018-04-18 16:30:41
17 本文檔的主要內容詳細介紹的是AVR單片機的延時函數程序免費下載
2018-11-16 08:00:00
7 全部都是本人通過示波器反復測量得到1~255倍內精確延時。誤差絕對不會超過5%。僅限STC12系列的單片機,如需傳統51單片機軟件延時,請自己計算。
2018-12-18 16:48:00
5 單片機C語言中如何使用nop函數進行短延時的效果資料和程序說明
標準的C語言中沒有空語句。但在單片機的C語言編程中,經常需要用幾個空指令產生短延時的效果。這在匯編語言中很容易實現,寫幾個nop就行了。
2019-03-05 11:01:29
10 本文檔的主要內容詳細介紹的是51單片機延時函數計算問題以及如何準確延時的詳細資料說明免費下載。
2019-04-15 18:24:00
2 參考了51單片機 Keil C 延時程序的簡單研究,自己也親身測試和計算了一些已有的延時函數。這里假定單片機是時鐘頻率為12MHz,則一個機器周期為:1us. 參考了51單片機 Keil C 延時程序的簡單研究后,我們可知道, 在Keil C中獲得最為準確的延時函數將是
2019-09-26 17:16:00
6 在這里, 我來討論一下關于MSP430單片機使用__delay_cycles延時的問題。 IAR for MSP430編譯器提供了一個編譯器內聯的精確延時函數(并非真正的函數)以提供用戶精確延時使用, 該函數原型是:
2019-09-20 17:19:00
1 51單片機精確延時程序(晶振12MHz,一個機器周期1us.) 幾個精確延時程序:在精確延時的計算當中,最容易讓人忽略的是計算循環外的那部分延時, 在對時間要求不高的場合,這部分對程序不會造成影響.
2019-09-03 17:28:00
4 本文檔的主要內容詳細介紹的是51單片機的延時函數免費下載。
2019-08-21 17:31:00
7 延時與中斷出錯,是單片機新手在單片機開發應用過程中,經常會遇到的問題,本文匯總整理了包含了MCS-51系列單片機、 MSP430單片機、C51單片機、8051F的單片機、avr單片機、STC89C52、PIC單片機…。.在內的各種單片機常見的延時與中斷問題及解決方法,希望對單片機新手們,有所幫助!
2019-08-15 17:32:00
7 本文檔的主要內容詳細介紹的是單片機延時函數的資料合集免費下載包括了:1.51單片機延時,晶振為11.0592MHz,(粗略延時,定時器延時)。2.stm32l151C8T6延時,外部晶振8MHz(粗略延時,使用nop延時,利用SysTick延時,定時器延時)
2019-08-02 17:34:00
8 C程序中可使用不同類型的變量來進行延時設計。經實驗測試,使用unsigned char類型具有比unsigned int更優化的代碼,在使用時應該使用unsigned char作為延時變量。 以某晶振為12MHz的單片機為例,晶振為12MHz即一個機器周期為1us。
2019-07-17 17:38:00
1 一些朋友提出使用C語言編寫51單片機延時程序的精度不夠,事實上的確如此,由于C語言最終要編譯成匯編語言運行,因此,匯編程序會很大,從而影響到延時的精度,在此,貼出一些網上資料供大家參考借鑒。
2019-07-17 17:38:00
0 本文檔的主要內容詳細介紹的是51單片機延時函數delay的編寫實例函數和資料免費下載。
2019-07-17 17:39:00
2 本文檔的主要內容詳細介紹的是51單片機的晶振11.0592M延時函數免費下載。
2019-07-09 17:40:00
9 本文檔的主要內容詳細介紹的是51單片機的延時函數資料免費下載。
2019-06-13 17:45:00
3 因為STM32 HAL庫中僅有對HAl_Delay()毫秒級的延時,為實現精確的微秒級延時,就不得不修改Systick,但由于HAL庫內部使用其作為超時判斷等操作,對其修改會發生不可預期的錯誤,不建議修改。因此,使用通用定時器進行定時操作。
2019-06-04 14:55:47
12353 
DelayMS ; 延時x毫秒,x由變量w寄存器設定
movwf L1 ;
Loop1
movlw .39 ;
movwf L2 ;
Loop2
movlw .31 ;
movwf L3 ;
Loop3
nop ;
2019-06-12 15:22:41
3940 1、使用循環函數延時:
void delay1ms(void) //誤差 0us,延時1ms
{
unsigned char a,b;
for(b=199;b》0;b--
2019-06-12 15:32:49
6712 前言 對于某些對時間精度要求較高的程序,用 c 寫延時顯得有些力不從心,故需用到匯編程序。 本人通過測試,總結了 51 的精確延時函數(在 c 語言中嵌入匯編)分享給大家。至于如何在 c 中嵌入匯編
2020-11-05 10:40:28
3459 電子發燒友網為你提供單片機編程過程中經常用到延時函數(STM32)資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
2021-04-04 08:54:39
31 在我們使用單片機的時候,很多情況下需要用到精確的延時。比如在跟DS18B20進行通訊的時候需要遵循嚴格的時序,這就需要我們嚴格把控程序執行的時間。一般我們都是通過執行空語句的方式來使程序延時。這種
2021-11-04 16:21:01
4 在實現單片機功能的時候,經常會用到延時函數,那么延時函數的原理也是非常有必要了解的。一般我們寫延時函數的時候,默認的晶振頻率fosc=12MHZ,而機器周期T=12/fosc=1us。這里我們來寫一
2021-11-11 09:36:02
94 51單片機軟件延時1S
2021-11-12 14:51:01
13 簡介:延時與中斷出錯,是單片機新手在單片機開發應用過程中,經常會遇到的問題,本文匯總整理了包含了MCS-51系列單片機、MSP430單片機、C51單片機、8051F的單片機、avr單片機
2021-11-13 21:06:02
6 51單片機毫秒級延時如下程序能實現ms毫秒級的比較精確的延時void Delayms(unsigned int n){ unsigned int i,j; for(j=n;j&
2021-11-14 17:51:01
4 1、單片機延時程序的延時時間怎么算的?答:如果用循環語句實現的循環,沒法計算,但是可以通過軟件仿真看到具體時間,但是一般精精確延時是沒法用循環語句實現的。如果想精確延時,一般需要用到定時器,延時
2021-11-15 14:21:02
60 51單片機控制42步進電機——程序實現(中斷PWM/延時函數)
2021-11-17 11:36:02
63 51單片機關于LED燈的程序//========================================================================// 函數: void
2021-11-23 16:21:00
11 問題:移植完RTT后運行正常,加入ADC測量后卡死在空閑線程。原因:華大單片機官方庫中含有延時函數,延時函數使用滴答定時器實現。在ADC使用中必需開啟BGR模塊(功能沒看懂),開啟過程中使用了官方
2021-11-23 17:21:37
13 的延時函數被跳過了,也就是所單片機運行過程中并沒有執行延時。延時函數如下↓ void delay_ms(u16 ms){ unsigned char i,j; whi...
2021-11-23 17:36:08
1 STM32單片機SysTick實現精確延時
2021-11-23 18:21:28
11 單片機編程過程中經常用到延時函數,最常用的莫過于微秒級延時delay_us( )和毫秒級delay_ms( )。1.普通延時法這個比較簡單,讓單片機做一些無關緊要的工作來打發時間,經常用循環來實現
2021-11-23 18:21:43
1 在與傳感器或者模塊的總線進行通信的時候,常常需要使用到精確延時,一般我們會封裝幾個常用延時函數,下面我們以STM32F103芯片為例,詳細介紹一下STM32下一種精確延時函數的實現:時鐘樹下圖中紫色
2021-11-24 18:51:02
12 一、前言在實際應用中,經常用到延時函數,而HAL庫的延時函數是毫秒級的,雖然可以自行修改,但該函數使用的地方較多,修改不慎可能會引起其他問題,所以本文使用一個定時器,實現微秒級精確延時,不影響其他
2021-11-24 18:51:02
20 編寫精確的延時函數,就需要使用我們單片機內部的定時器。定時的使用也比較簡單嘛。打開它,讓他數數兒就行了。來我們試試看void main(){ unsigned char CNT; unsigned int LEDNUM; CNT=0; TMOD=0X01;//TMOD指的是定時器的模式寄
2021-11-24 18:51:02
13 單片機學習-2-實現對操作的時間延時在STC-ISP軟件中的右邊的方框上邊選擇軟件延時計算器void Delay500ms() //@12.000MHz{ unsigned char i, j
2021-12-03 19:06:13
0 使用MCU內核寄存器實現毫秒級精確延時的方法在進行STM32進行開發時,使用到延時函數的頻率非常高,但HAL庫只提供了毫秒級的延時函數,最小延時時間是1ms,在某些應用場合下不能達到要求。下面這種
2021-12-09 13:06:14
21 單片機編程者需要知道自己的程序需要花費多長時間、while周期是多少、delay延時是否真如函數功能描述那樣精確延時。
2022-02-08 16:50:53
0 51單片機的幾種精確延時實現延時通常有兩種方法:一種是硬件延時,要用到定時器/計數器,這種方法可以提高CPU的工作效率,也能做到精確延時;另一種是軟件延時,這種方法主要采用循環體進行。
2022-02-08 17:09:22
8 單片機編程過程中經常用到延時函數,最常用的莫過于微秒級延時delay_us()和毫秒級delay_ms()
2023-07-11 15:37:39
2652 
前面我們講解了通用IO輸入輸出,延時函數和外部中斷,今天我們講解單片機另一個重要的功能,定時器。顧名思義,定時器就是用來定時的,與延時函數的設置不同,延時函數是不精確定時,是用來解決一些不需要精確定時的問題的。而定時器以單片機的時鐘頻率為基準,定時都是十分精確的。
2023-07-14 16:22:14
3284 
單片機用按鈕中斷函數? 單片機中斷是一種能夠使單片機響應外部信號的機制,這種機制允許單片機在處理其他任務時去響應中斷信號,從而提高單片機的性能。在單片機系統中經常會使用按鈕中斷函數,從而實現一些特定
2023-09-01 10:17:29
2406 內核延時函數接口 延時的函數有 delay 和 sleep 兩種類型: delay接口 void ndelay ( unsigned long nsecs) ; //納秒延時 void udelay
2023-10-04 15:40:00
1884 在編寫AvR單片機的1us延時函數之前,我們首先需要了解幾個關鍵概念。 單片機的延時函數是通過控制器在特定的時間間隔內執行一系列的指令來實現的。在單片機中,我們通常使用定時器來實現延時功能。定時器
2023-12-26 14:02:07
2632
評論