資料介紹
應(yīng)用單片機(jī)的時(shí)候,經(jīng)常會(huì)遇到需要短時(shí)間延時(shí)的情況。需要的延時(shí)時(shí)間很短,一般都是幾十到幾百微妙(us)。有時(shí)候還需要很高的精度,比如用單片機(jī)驅(qū)動(dòng)DS18B20的時(shí)候,誤差容許的范圍在十幾u(yù)s以內(nèi),不然很容易出錯(cuò)。這種情況下,用計(jì)時(shí)器往往有點(diǎn)小題大做。而在極端的情況下,計(jì)時(shí)器甚至已經(jīng)全部派上了別的用途。這時(shí)就需要我們另想別的辦法了。

以前用匯編語言寫單片機(jī)程序的時(shí)候,這個(gè)問題還是相對(duì)容易解決的。比如用的是12MHz晶振的51,打算延時(shí)20us,只要用下面的代碼,就可以滿足一般的需要:
mov r0, #09h loop:
djnz r0, loop
51單片機(jī)的指令周期是晶振頻率的1/12,也就是1us一個(gè)周期。mov r0, #09h需要2個(gè)極其周期,djnz也需要2個(gè)極其周期。那么存在r0里的數(shù)就是(20-2)/2。用這種方法,可以非常方便的實(shí)現(xiàn)256us以下時(shí)間的延時(shí)。如果需要更長時(shí)間,可以使用兩層嵌套。而且精度可以達(dá)到2us,一般來說,這已經(jīng)足夠了。
現(xiàn)在,應(yīng)用更廣泛的毫無疑問是Keil的C編譯器。相對(duì)匯編來說,C固然有很多優(yōu)點(diǎn),比如程序易維護(hù),便于理解,適合大的項(xiàng)目。但缺點(diǎn)(我覺得這是C的唯一一個(gè)缺點(diǎn)了)就是實(shí)時(shí)性沒有保證,無法預(yù)測代碼執(zhí)行的指令周期。因而在實(shí)時(shí)性要求高的場合,還需要匯編和C的聯(lián)合應(yīng)用。但是是不是這樣一個(gè)延時(shí)程序,也需要用匯編來實(shí)現(xiàn)呢?為了找到這個(gè)答案,我做了一個(gè)實(shí)驗(yàn)。
用C語言實(shí)現(xiàn)延時(shí)程序,首先想到的就是C常用的循環(huán)語句。下面這段代碼是我經(jīng)常在網(wǎng)上看到的:
- 看碼源總結(jié)Keil C 51單片機(jī)延時(shí)程序編寫資料下載
- 使用51單片機(jī)實(shí)現(xiàn)延時(shí)程序控制單燈閃爍的仿真文件免費(fèi)下載 10次下載
- 使用C51編寫單片機(jī)延時(shí)函數(shù)的詳細(xì)方法說明
- 使用51單片機(jī)進(jìn)行精確延時(shí)的程序免費(fèi)下載
- 使用51單片機(jī)點(diǎn)亮LED的程序免費(fèi)下載
- 51單片機(jī)按鍵掃描的C程序免費(fèi)下載
- 51單片機(jī)的延時(shí)函數(shù)程序免費(fèi)下載
- 51單片機(jī)的Keil C延時(shí)程序免費(fèi)下載
- 51單片機(jī)的匯編延時(shí)程序免費(fèi)下載
- 如何進(jìn)行51單片機(jī)的延時(shí)計(jì)算資料和程序免費(fèi)下載的
- 使用51單片機(jī)實(shí)現(xiàn)流水燈C語言的程序實(shí)例免費(fèi)下載
- 使用51單片機(jī)模擬秒表的程序免費(fèi)下載
- 51單片機(jī)的延時(shí)函數(shù)資料免費(fèi)下載
- 51單片機(jī)的串口C語言程序免費(fèi)下載
- C51單片機(jī)開發(fā)工具Keil.UV4應(yīng)用程序免費(fèi)下載 42次下載
- 如何創(chuàng)建51單片機(jī)KEIL工程步驟 5.7k次閱讀
- 使用51單片機(jī)讀寫AT29C040的C語言程序免費(fèi)下載 5.8k次閱讀
- 51單片機(jī)讀寫AT29C040的C51程序 5.9k次閱讀
- HD44780讀寫單片機(jī)C51程序免費(fèi)下載 5.1k次閱讀
- 使用HD44780讀寫單片機(jī)的C51程序詳細(xì)概述 4k次閱讀
- Keil C51單片機(jī)中變量的使用方法解析 6.1k次閱讀
- 單片機(jī)C語言有哪些優(yōu)越性?如何建立一個(gè)Keil C51項(xiàng)目 1.4w次閱讀
- 51單片機(jī)編程環(huán)境的搭建及代碼編寫的方法 2.4w次閱讀
- 80C51單片機(jī)模擬I2C總線的主機(jī)程序分享 4.1k次閱讀
- Keil C51單片機(jī)變量的使用方法詳細(xì)介紹 5.4k次閱讀
- 基于AT89C51單片機(jī)直流電機(jī)PWM調(diào)速程序分享 1.8w次閱讀
- 單片機(jī)延時(shí)程序基本知識(shí)匯總 2.2w次閱讀
- 如何使用Keil3開發(fā)51單片機(jī)程序 8k次閱讀
- 51單片機(jī)的幾種精確延時(shí) 5k次閱讀
- 使用Keil C進(jìn)行51單片機(jī)延時(shí)程序編寫的幾點(diǎn)心得 2.9w次閱讀
下載排行
本周
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2反激式開關(guān)電源設(shè)計(jì)解析
- 0.89 MB | 2次下載 | 5 積分
- 3簡易光伏控制器原理圖資料
- 0.07 MB | 1次下載 | 5 積分
- 4TPS23755數(shù)據(jù)手冊
- 0.07 MB | 次下載 | 免費(fèi)
- 536伏,10兆赫茲低噪聲雙運(yùn)算放大器COS5532 技術(shù)手冊
- 0.41 MB | 次下載 | 免費(fèi)
- 6LM5176 55V 寬輸入電壓同步4開關(guān)降壓/升壓控制器技術(shù)手冊
- 2.40 MB | 次下載 | 免費(fèi)
- 7MCU模塊原理圖資料
- 0.37 MB | 次下載 | 1 積分
- 8LoRa1121 FCC&CE認(rèn)證 多頻段LoRa無線通訊模塊規(guī)格書
- 997.05 KB | 次下載 | 免費(fèi)
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 7次下載 | 10 積分
- 3SDFM 激光測距模塊模組手冊
- 0.54 MB | 7次下載 | 免費(fèi)
- 4直流電路的組成和基本定律
- 1.67 MB | 4次下載 | 免費(fèi)
- 5SW6238V ACCC 三 PD 四口多協(xié)議移動(dòng)電源 SOC規(guī)格書
- 0.59 MB | 4次下載 | 1 積分
- 6安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 7IP6742_datasheet_100V8A 同步 BUCK 控制器
- 2.16 MB | 3次下載 | 免費(fèi)
- 8PAW3395DM-T6QU:光學(xué)游戲?qū)Ш叫酒謨?/a>
- 1.26 MB | 2次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191448次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論