日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

單片機延時是怎么實現(xiàn)的

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

掃碼添加小助手

加入工程師交流群

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

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

1、軟件延時-循環(huán)實現(xiàn)

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

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

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

2、硬件延時-定時器/計數(shù)器實現(xiàn)

當然在大多情況下,我們還是會選擇定時器來做延時處理,首先我們可以通過時鐘配置定時器工作,獲得精準計數(shù),具體精準程度要看給定時器用的時鐘了,內(nèi)部時鐘或者外部晶振的精度??梢詫崿F(xiàn)極短時間的精確延時。

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

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

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

責任編輯:haq

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

    關注

    6078

    文章

    45593

    瀏覽量

    674006
  • 軟件
    +關注

    關注

    69

    文章

    5364

    瀏覽量

    91954
  • C語言
    +關注

    關注

    183

    文章

    7646

    瀏覽量

    146202

原文標題:單片機延時的兩種實現(xiàn)方法

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    第1章 如何學習單片機

    ? 在錯誤的道路上日夜兼程,最終也無法成功,方法和思路絕對是最重要的。本章節(jié)講到的學習單片機的方法,都是作者學習單片機的無數(shù)經(jīng)驗和教訓總結(jié)出來的瑰寶。通過作者前面的披荊斬棘,開辟了道路,可以告訴讀者
    的頭像 發(fā)表于 10-10 10:32 ?686次閱讀

    單片機用什么封裝

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

    什么單片機比較耐用

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

    單片機的儲存優(yōu)點是什么

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

    單片機采用什么電流輸出

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

    單片機采用什么電流控制

    單片機作為電子系統(tǒng)的控制核心,其電流控制涉及自身工作電流管理與外部設備電流驅(qū)動兩個層面。由于單片機內(nèi)部電路的特性,其自身工作電流較小,而控制外部設備時需通過特定電路實現(xiàn)電流放大與調(diào)節(jié),以適配不同負載
    的頭像 發(fā)表于 07-30 10:07 ?918次閱讀

    怎么測單片機系統(tǒng)頻率

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

    單片機怎么驅(qū)動電機?

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

    單片機怎么燒程序

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

    單片機直流電機調(diào)速原理

    在工業(yè)自動化、智能設備等領域,直流電機的調(diào)速控制至關重要,而單片機憑借其靈活的控制能力,成為實現(xiàn)直流電機精準調(diào)速的核心部件。單片機直流電機調(diào)速技術通過程序控制,能讓電機在不同工況下保持穩(wěn)定的轉(zhuǎn)速
    的頭像 發(fā)表于 07-17 13:42 ?937次閱讀

    給予單片機的溫度控制系統(tǒng)設計

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

    KF32A136系列單片機產(chǎn)品介紹

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

    KF32A156系列單片機產(chǎn)品介紹

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

    單片機和伺服有什么區(qū)別

    單片機和伺服的區(qū)別 單片機(Microcontroller)和伺服(Servo System)是兩種完全不同的技術概念,分別屬于 控制系統(tǒng)硬件 和 運動控制執(zhí)行系統(tǒng) 。以下是它們的詳細對比和區(qū)別
    的頭像 發(fā)表于 05-26 09:18 ?1076次閱讀
    澜沧| 南和县| 文安县| 太仆寺旗| 赞皇县| 广灵县| 陆河县| 民乐县| 米林县| 伊宁县| 连城县| 江津市| 白沙| 土默特右旗| 临武县| 洛隆县| 玛纳斯县| 乌苏市| 安多县| 洛宁县| 遂平县| 玉田县| 濮阳市| 玉门市| 商河县| 玛曲县| 札达县| 康马县| 满洲里市| 佛山市| 工布江达县| 龙井市| 新沂市| 普宁市| 广河县| 绵阳市| 开化县| 新密市| 巴南区| 枞阳县| 赤水市|