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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

單片機時鐘變慢會影響運行速度嗎

姚小熊27 ? 來源:電工之家 ? 作者:電工之家 ? 2020-01-01 15:49 ? 次閱讀

系統(tǒng)時鐘決定了CPU執(zhí)行指令的時候

CPU的主頻大家都知道吧,記得上大學(xué)那會裝的第一臺電腦用的是433MH主頻的CPU?,F(xiàn)在主流CPU主頻一般是3GHz,運算速度已經(jīng)提升了很多個數(shù)量級了。單片機集成了CPU、RAM、ROM等,它的內(nèi)部也有一個CPU。

單片機時鐘變慢會影響運行速度嗎

單片機的時鐘周期、狀態(tài)周期、機器周期、指令周期是什么?

不同架構(gòu)單片機的時鐘周期、狀態(tài)周期、機器周期、指令周期是不一樣的,以8051單片機為例:

時鐘周期:時鐘振蕩的周期叫做時鐘周期,如果使用外部晶振作為系統(tǒng)時鐘,晶振產(chǎn)生的一個振蕩脈沖叫做一個時鐘周期。

狀態(tài)周期:一個時鐘周期定義為一個節(jié)拍,兩個節(jié)拍定義為一個狀態(tài)周期(可以用S表示),所以一個狀態(tài)周期等于兩個時鐘周期。

機器周期:機器周期是指令周期的最小單位,它是讀取一條指令的最短時間,一個機器周期等于6個狀態(tài)周期。

指令周期:一條指令包括了一個或者多個機器周期,不同指令所需要的機器周期是不一樣的,單周期指令只需要一個機器周期,多周期指令就需要多個機器周期。

由此可見,不管是單周期指令還是多周期指令,它的執(zhí)行最終還是與時鐘周期相關(guān)的。

最簡單的指令(單周期指令)它需要12個時鐘周期。

單片機時鐘決定了指令程序執(zhí)行時間

我們編寫的單片機程序,最終會由編譯器翻譯為匯編語言,最后編譯為機器代碼下載到單片機的RoM中去,單片機上電時就會讀取并執(zhí)行ROM的程序。以8051單片機為例:

單周期指令需要12個時鐘周期,雙周期指令需要24個時鐘周期。假如我們使用24MHz的晶振作為系統(tǒng)時鐘,那么12個時鐘周期的時間為0.5us(納秒),也就是說執(zhí)行一條單周期指令需要0.50(納秒);如果把晶振改為12MHz,12個時鐘周期的時間為1us(納秒),執(zhí)行一條單周期指令需要1us(納秒);

程序的執(zhí)行就是依靠芯片的時鐘的。

單片機時鐘選擇:內(nèi)部時鐘源,外部時鐘源

一般單片機系統(tǒng)時鐘是可以選擇內(nèi)部時鐘或者是外部時鐘的。根據(jù)不同的應(yīng)用需求去具體選擇。例如一些小項目對精度的要求不是很大,是可以選擇使用內(nèi)部時鐘的,這樣可以降低些成本,省去了外部時鐘電路。但精度,穩(wěn)定度要求較高,就需要選型高可靠質(zhì)量的外部晶振和與晶振匹配的電容,一起組成外部時鐘源。

芯片內(nèi)部時鐘源:一般是內(nèi)部RC時鐘,也就是由內(nèi)部電阻電容組成的震蕩電路。時鐘的精度,穩(wěn)定度都不是太好,容易受到外界溫度濕度的影響。所以每個芯片內(nèi)部時鐘源都是不一樣的,都會有一定差異性。但這個差異性在一定的應(yīng)用中根本感覺不到。感覺不到是由于一般芯片的運行系統(tǒng)時鐘都是幾MHZ-幾十MHZ的頻率。即便出現(xiàn)一定的偏差,但這個偏差和總時鐘幾十MHZ相比,還是相當(dāng)小的。 一般內(nèi)部RC的精度是幾十ppm-幾百ppm。1PPM的意義是1MHZ會偏差個正負1HZ。

芯片外部時鐘源:晶振和匹配電容。外部晶振的精度5ppm-20ppm。根據(jù)性能要求可具體選擇相應(yīng)參數(shù)

綜上:單片機的時鐘變慢是會影響運行速度的,不僅時鐘有可能變慢,還是有可能變快的。但這個快慢的差異對程序的影響會不會帶來一些錯誤的執(zhí)行,還需要具體分析程序?qū)崿F(xiàn)的功能和邏輯。但一般技術(shù)的實現(xiàn)都已經(jīng)考慮了允許誤差。

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

    關(guān)注

    6037

    文章

    44561

    瀏覽量

    635661
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10870

    瀏覽量

    211901
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1734

    瀏覽量

    131518
收藏 人收藏

    評論

    相關(guān)推薦

    STM32上電啟動后,會有幾率出現(xiàn)程序運行速度變慢的現(xiàn)象,是為什么?

    大家好: 請教個問題,我上電啟動后,會有幾率出現(xiàn)程序運行速度變慢的現(xiàn)象,比如定時器1s閃爍一次燈,變成了5s閃爍一次。重新上電或軟復(fù)位后正常。 感覺是啟動時,STM32有幾率出現(xiàn)時鐘沒配置正確
    發(fā)表于 04-08 07:47

    51單片機打開串口通信是否主程序運行速度

    51單片機打開串口通信是否主程序運行速度?我發(fā)現(xiàn)打開,主程序的的死循環(huán)運行超慢,是串口的問題嗎?
    發(fā)表于 06-21 13:28

    為什么電腦發(fā)熱,cpu的運行速度變慢

    為什么電腦發(fā)熱,cpu的運行速度變慢,難道是為了保護,cpu降頻了
    發(fā)表于 07-13 13:55

    AVR運行速度為什么變慢

    AVR有怪象,我用8M內(nèi)部晶振,當(dāng)燒寫程序后它是以8M的速度運行,但斷電后再重啟運行速度明顯變慢,可是它又會慢慢地變快,并且過四五分鐘后它又恢復(fù)8M正常工作。求解{:23:}
    發(fā)表于 01-16 14:49

    ARM處理器設(shè)計的機制是如何使得它的運行速度遠快于51單片機運行速度

    ARM處理器設(shè)計的機制是如何使得它的運行速度遠快于51單片機運行速度的?求解答
    發(fā)表于 08-04 14:22

    單片機時鐘電路原理圖

    單片機時鐘電路原理圖 下面以一個實際的時鐘電路來說明定時器的軟件編程方法,時鐘是最為常見的顯示時、分、秒為
    發(fā)表于 03-14 14:25 ?1.7w次閱讀
    <b class='flag-5'>單片機時鐘</b>電路原理圖

    51單片機時鐘案例

    51單片機時鐘案例,內(nèi)附詳細程序。
    發(fā)表于 06-23 17:56 ?17次下載

    單片機時鐘電路

    時鐘電路、電子表的時鐘電路以及MP3MP4的時鐘電路。 單片機時鐘電路作用 單片機運行需要時鐘
    發(fā)表于 10-16 16:45 ?3w次閱讀

    單片機時鐘精度調(diào)整解析

    本文針對用單片機制作電子鐘或要求根據(jù)時鐘啟控的控制系統(tǒng)時,出現(xiàn)的校準(zhǔn)了的電子時鐘的時間竟然變快或是變慢了的情況而提出的一種解決方案。 單片機
    發(fā)表于 10-16 17:21 ?4次下載
    <b class='flag-5'>單片機時鐘</b>精度調(diào)整解析

    一文看懂rtc實時時鐘單片機時鐘的區(qū)別

    本文首先闡述了rtc實時時鐘單片機時鐘的區(qū)別,其次介紹了單片機時鐘概念與單片機內(nèi)外部時鐘方式
    的頭像 發(fā)表于 05-14 15:48 ?6.1w次閱讀

    單片機的執(zhí)行速度與什么有關(guān)

    單片機的執(zhí)行速度與什么有關(guān)呢,當(dāng)然對于初學(xué)者來說,第一時間想到的是晶振,沒錯,晶振算一個,但準(zhǔn)確的來說應(yīng)該是單片機時鐘源(再具體一點就是單片機
    發(fā)表于 07-20 10:20 ?5847次閱讀

    單片機時鐘不準(zhǔn)怎么辦?這樣來調(diào)整!

    單片機應(yīng)用中,常常會遇到這種情況,在用單片機制作電子鐘或要求根據(jù)時鐘啟控的控制系統(tǒng)時,突然發(fā)現(xiàn)當(dāng)初校準(zhǔn)了的電子時鐘的時間竟然變快或是
    發(fā)表于 02-09 12:18 ?3次下載
    <b class='flag-5'>單片機時鐘</b>不準(zhǔn)怎么辦?這樣來調(diào)整!

    單片機時鐘電路的概念/工作原理/基本結(jié)構(gòu)/作用

    單片機時鐘電路是指用于控制單片機工作頻率的電路,其主要作用是為單片機提供穩(wěn)定的時鐘信號,保證單片機正常工作。
    發(fā)表于 09-08 17:08 ?6596次閱讀

    單片機時鐘電路有哪些不同?

    單片機時鐘電路通??梢苑譃閮?nèi)部時鐘和外部時鐘兩種類型。
    的頭像 發(fā)表于 12-19 18:12 ?1591次閱讀
    <b class='flag-5'>單片機時鐘</b>電路有哪些不同?

    單片機內(nèi)部時鐘電路的工作原理

    單片機時鐘電路是一種用于產(chǎn)生穩(wěn)定時鐘信號的電路,它是單片機正常工作的基礎(chǔ),決定了單片機運行速度和性能。具體的設(shè)計和配置取決于
    發(fā)表于 01-16 15:33 ?6383次閱讀
    <b class='flag-5'>單片機</b>內(nèi)部<b class='flag-5'>時鐘</b>電路的工作原理