国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機延時是怎么實現的

單片機匠人 ? 來源:張飛實戰電子 ? 作者:蔡琰老師 ? 2021-10-12 17:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機延時大家程序中都會用到,那么怎么實現呢?通常我們有軟件實現,就是語句循環;或者硬件實現,通過定時器/計數器。

對于精準而言,從實現語言方向看,底層語言有匯編C語言,通常我們單片機程序用C語言比較多,但是相對而言匯編更精準。從實現方式來看,有軟件方式和硬件方式,那么對于C語言延時的方法哪種更精準呢?自然是定時器計數器的方式了,為什么呢?一起來看看吧。

1、軟件延時-循環實現

在很多時候,定時器會被用作其他用途,不方便再用作計數了,所以這個時候就只能用軟件方法延時。軟件方法延時就是循環語句來實現。

通過使用帶_NOP_();語句的函數實現,定義一系列不同的延時函數。我們都知道C語言最終通過編譯生成匯編,所以一條C語言可能會反匯編成多條匯編語句,每條匯編指令都有指令周期,比如我們時鐘是8Mhz的,那么一個指令周期就是125ns,那么NOP是一個空指令,占用一個指令周期。假如我們定義一個1ms的延時函數,那么函數里面全部用NOP指令也需要循環多次,那么循環語句也可能會有多條匯編實現,具體的根據編譯器不同也不同,我們就很難精確的計算出實際的延時,那么計算大概也可以,然后最有效直接的方法就是通過示波器去測試然后再去調整循環數。不要太糾結計算數值,可以調試的。示波器測試方法更簡單,在延時前后加一個引腳的輸出反轉信號就可以了。

到這里大家是不是覺得其實用匯編寫延時函數就能做到精確了呢?相比較C語言,的確是匯編可以做到很精確的數值,因為我們可以確定每條指令的指令周期是多少,根據延時函數用到的所有指令都可以計算出來,最終計算得出比較精準的循環數值。

2、硬件延時-定時器/計數器實現

當然在大多情況下,我們還是會選擇定時器來做延時處理,首先我們可以通過時鐘配置定時器工作,獲得精準計數,具體精準程度要看給定時器用的時鐘了,內部時鐘或者外部晶振的精度。可以實現極短時間的精確延時。

在實際應用中,定時常采用中斷方式,通過對定時器的配置,獲得中斷方式和定時時間,然后通過判斷計數值獲得想要的延時效果,用這種方法從程序的執行效率和穩定性方面考慮都是最佳的方案。大部分項目主循環需要處理很多事情,如果在主循環中用軟件延時方法難免需要等待過程,尤其是長延時的時候不能處理其他,如果好多外設在工作,會造成通信不上或者響應不及時。

總結:大部分程序中我們可以寫個小的軟件延時,必須等待的小延時可以用軟件的實現,就可以省去對延時時間的判斷了,等待就可以了。但是需要測試延時時間是否準確,或者可以直接用匯編寫延時函數。硬件延時也有必要實現,根據實際需求去應用。

大部分延時應用過程中還是會有些誤差的,這個是在多個小的誤差基礎上疊加的,是可以接受的。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6076

    文章

    45495

    瀏覽量

    670276
  • 軟件
    +關注

    關注

    69

    文章

    5332

    瀏覽量

    91577
  • C語言
    +關注

    關注

    183

    文章

    7644

    瀏覽量

    145575

原文標題:單片機延時的兩種實現方法

文章出處:【微信號:gh_e7f294a514ca,微信公眾號:單片機匠人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    浮思特 | 智能洗衣背后的靜默力量,ABOV單片機如何實現精準控制?

    ABOV(現代單片機)的長期合作代理商,浮思特科技希望通過本次技術分享,讓大家了解ABOV單片機在洗衣控制中的關鍵技術實現。現代洗衣是一
    的頭像 發表于 10-16 09:52 ?539次閱讀
    浮思特 | 智能洗衣背后的靜默力量,ABOV<b class='flag-5'>單片機</b>如何<b class='flag-5'>實現</b>精準控制?

    單片機用什么封裝

    單片機封裝是將芯片內部電路與外部引腳連接并包裹保護的結構,不僅影響單片機的安裝方式、適用場景,還與電路設計的緊湊性、散熱性能密切相關。不同封裝類型各有特點,適配從簡單電路到復雜系統的多樣化需求
    的頭像 發表于 08-01 13:47 ?1320次閱讀

    什么單片機比較耐用

    ? ? ? ? 在工業控制、戶外設備、醫療儀器等場景中,單片機的耐用性直接決定了設備的穩定運行與維護成本。耐用的單片機通常具備寬溫工作范圍、強抗干擾能力、穩定的電源適應性和長壽命的硬件設計。深圳市安
    的頭像 發表于 07-31 13:48 ?771次閱讀

    單片機的儲存優點是什么

    單片機作為嵌入式系統的核心,其儲存系統是實現數據存儲與程序運行的關鍵部分。與獨立存儲芯片相比,單片機的儲存單元在集成度、功耗、可靠性等方面具備獨特優勢,這些優點使其能適應從消費電子到工業控制的多樣化
    的頭像 發表于 07-31 10:09 ?693次閱讀

    單片機采用什么電流輸出

    單片機的電流輸出特性與其內部電路設計和應用場景密切相關,既包含自身工作時的微弱電流,也涉及通過外部電路擴展后的驅動電流。了解單片機的電流輸出特點,是實現穩定控制外部設備的基礎。 單片機
    的頭像 發表于 07-30 11:13 ?1099次閱讀

    單片機采用什么電流控制

    單片機作為電子系統的控制核心,其電流控制涉及自身工作電流管理與外部設備電流驅動兩個層面。由于單片機內部電路的特性,其自身工作電流較小,而控制外部設備時需通過特定電路實現電流放大與調節,以適配不同負載
    的頭像 發表于 07-30 10:07 ?736次閱讀

    怎么測單片機系統頻率

    單片機系統頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統頻率對單片機應用開發、程序調試和性能優化具有重要意義。測量
    的頭像 發表于 07-25 11:39 ?783次閱讀

    單片機怎么驅動電機?

    在各類自動化設備和智能裝置中,電機是重要的執行部件,而單片機作為控制核心,需要通過特定的方式驅動電機運轉。單片機驅動電機并非直接連接即可,而是要根據電機類型和功率,搭配合適的驅動電路,才能實現穩定
    的頭像 發表于 07-25 09:31 ?895次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內部存儲單元,讓單片機按照預設邏輯工作的過程,是單片機應用開發中不可或缺的環節。無論是簡單的燈光控制程序,還是復雜的工業控制算法,都需要通過燒
    的頭像 發表于 07-23 11:47 ?1272次閱讀

    給予單片機的溫度控制系統設計

    在工業生產、智能家居等領域,溫度的穩定控制至關重要,基于單片機的溫度控制系統憑借靈活、高效的特點被廣泛應用,其設計原理與實現方式值得深入探討。 基于單片機的溫度控制系統主要由單片機、溫
    的頭像 發表于 07-16 10:57 ?667次閱讀

    KF32A136系列單片機產品介紹

    F32A136 系列單片機是基于 KF32 內核架構開發的單片機
    的頭像 發表于 06-27 11:42 ?2332次閱讀
    KF32A136系列<b class='flag-5'>單片機</b>產品介紹

    KF32A156系列單片機產品介紹

    KF32A156 系列單片機是基于 KF32 內核架構開發的單片機。KF
    的頭像 發表于 06-26 14:43 ?1718次閱讀
    KF32A156系列<b class='flag-5'>單片機</b>產品介紹

    單片機和伺服有什么區別

    單片機和伺服的區別 單片機(Microcontroller)和伺服(Servo System)是兩種完全不同的技術概念,分別屬于 控制系統硬件 和 運動控制執行系統 。以下是它們的詳細對比和區別
    的頭像 發表于 05-26 09:18 ?851次閱讀

    新概念51單片機C語言教程入門、提高、開發、拓展全攻略

    庫函數實現流水燈 第2篇 內外部資源操作篇 3.1 數碼管顯示原理 3.2 數碼管靜態顯示 3.3 數碼管動態顯示 3.4 中斷概念 3.5 單片機的定時器中斷 4.1 獨立鍵盤檢測 4.2 矩陣鍵盤
    發表于 04-15 13:57

    單片機科普總結,建議收藏!

    單片機(MicrocontrollerUnit,MCU)作為嵌入式系統的核心之一,在現代電子產品中無處不在。從智能家居、汽車電子,到工業控制、醫療設備,單片機支撐著無數智能化應用的發展。對于初學者
    的頭像 發表于 04-07 11:58 ?5623次閱讀
    <b class='flag-5'>單片機</b>科普總結,建議收藏!