91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

11.0592MHz晶振換成12MHz后單片機串口通訊亂碼的原因分析

貿(mào)澤電子 ? 來源:貿(mào)澤電子 ? 2026-03-06 09:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

真是沒想到啊,把11.0592MHz的晶振焊成了12MHz,單片機串口通訊打印全亂碼了。明明頻率差不多,為什么會導(dǎo)致通訊徹底失敗?貿(mào)澤科普實驗室?guī)Т蠹覐拇趤y碼開始,重新認識晶振——

01為什么晶振頻率有小數(shù)點的特殊數(shù)值?

通信的時候,單片機需要設(shè)置串口波特率,也就是每秒傳輸?shù)谋忍財?shù),比如9600波特率,就是每秒傳9600個二進制位。串口通訊要想正常傳數(shù)據(jù),發(fā)送端和接收端的波特率必須一致,就像兩個人聊天,一個人每秒說10個字,而另一個人每秒只能聽8個字,必然聽不清,也就是對應(yīng)串口亂碼了。

波特率并不是憑空設(shè)定的,而是由晶振頻率計算出來的,以視頻中51單片機為例,其1個機器周期等于12個晶振時鐘周期,波特率就是:

波特率=晶振頻率÷機器周期÷分頻系數(shù)

我們還是以常用的9,600波特率為例,算一筆賬,差距一眼就能看出:

如果使用的是11.0592MHz晶振:

晶振頻率:11,059,200Hz

機器周期:12 個時鐘周期,每秒能產(chǎn)生:11,059,200÷12 = 921600個機器周期

波特率計算:921,600÷96=9,600,剛好是目標波特率

db611b58-175e-11f1-90a1-92fbcf53809c.png

圖1

如果換成12MHz晶振:

晶振頻率:12,000,000Hz

機器周期:12個時鐘周期,每秒能產(chǎn)生 12,000,000÷12= 1,000,000個機器周期

波特率計算:1,000,000÷ 104≈9615(實際波特率),和目標9,600存在明顯誤差。若按理想分頻,單片機無法實現(xiàn)非整數(shù)分頻(1,000,000÷96≈10416.67),只能取近似值,導(dǎo)致實際波特率和目標值的誤差進一步擴大。

dbbf137a-175e-11f1-90a1-92fbcf53809c.png

圖2

所以,把11.0592MHz的晶振焊成了12MHz,就導(dǎo)致了串口通信出錯。如果你在單片機開發(fā)中遇到過這種串口亂碼玄學(xué)問題,不妨先檢查晶振有沒有焊對。

其實,上面串口通信的例子,很好的解釋了振頻率總有很多“帶小數(shù)點”的奇怪數(shù)值,這個問題是很多剛接觸電子開發(fā)的人都會疑惑的。

除了11.0592MHz,32.768kHz也是常用的非整數(shù)晶振頻率,它幾乎是所有實時時鐘(RTC)電路的標配。這是因為32.768kHz恰好是2的15次方(2^15=32768),經(jīng)過15次二分頻后,就能精準得到1Hz的時鐘信號(每秒1個脈沖),完美匹配“秒”的時間單位。如果選用其他頻率,想要得到1Hz信號,要么需要復(fù)雜的分頻電路,要么會產(chǎn)生計時誤差,32.768kHz因此成為RTC電路的“黃金頻率”。

dc3429c6-175e-11f1-90a1-92fbcf53809c.png

圖3

為什么晶振頻率有小數(shù)點的特殊數(shù)值?答案很簡單:這些看似特殊的頻率,都是經(jīng)過精密計算的工程極優(yōu)解,每一個數(shù)字背后都藏著實用的設(shè)計邏輯。

02晶振是如何精確到小數(shù)點四位的?

晶振能實現(xiàn)如此高的頻率精度,核心在于其內(nèi)部的石英晶片。

拆開晶振的金屬外殼,一片經(jīng)過精密切割的石英晶片便顯露出來了,還有連接在其表面的金屬電極。

dca0434a-175e-11f1-90a1-92fbcf53809c.png

圖4

石英晶體具有獨特的壓電效應(yīng):給石英晶體施加交變電壓時,晶體會隨之產(chǎn)生周期性的機械振動(逆壓電效應(yīng));反之,機械振動又會產(chǎn)生對應(yīng)的電信號(正壓電效應(yīng))。正是這種電能與機械振動的持續(xù)相互轉(zhuǎn)換,構(gòu)成了穩(wěn)定振蕩的基礎(chǔ)。

dd0702c4-175e-11f1-90a1-92fbcf53809c.png

圖5

而晶振的精準頻率,要歸功于石英晶體本身的一個關(guān)鍵特性了,它具有一個由自身物理結(jié)構(gòu),比如切割方向、幾何尺寸、厚度等所決定的固有機械諧振頻率。當我們施加的外部交變電壓頻率恰好與這個固有頻率一致時,便會引發(fā)諧振。此時,晶體的機械振幅達到極大,輸出的電信號也極為強勁和穩(wěn)定。

dd6b97c0-175e-11f1-90a1-92fbcf53809c.png

圖6

由于這個頻率是由晶體本身的物理結(jié)構(gòu)決定的,幾乎完全不受外部電路和環(huán)境干擾,因此才能實現(xiàn)極高的精度。晶振有那么多“非整數(shù)”的標稱頻率都是經(jīng)過精密計算和切割后,石英晶體所能穩(wěn)定產(chǎn)生的、精確的固有諧振頻率。

03有源vs無源:晶振該怎么選?

搞懂了晶振的頻率邏輯,接下來就是使用中的實際問題了,比如晶振主要分為有源晶振和無源晶振,怎么選?

無源晶振:需要“外部助力”才能工作

平時在單片機超小系統(tǒng)中常用的2腳晶振,大多是無源晶振,必須依靠外部的起振電路才能產(chǎn)生穩(wěn)定振蕩。

常見的起振電路是皮爾斯并聯(lián)振蕩電路,由兩個匹配電容(CL1、CL2)和單片機內(nèi)部的反相放大器組成。

ddd2d8a4-175e-11f1-90a1-92fbcf53809c.png

圖7

晶振 datasheet 中會標注負載電容(CL)和雜散電容(Cs)的數(shù)值,通過公式 CL = (CL1×CL2)/(CL1+CL2) + Cs,就能計算出合適的匹配電容參數(shù)——如果電容數(shù)值不合適,晶振可能無法起振,或者輸出頻率不穩(wěn)定。

de342212-175e-11f1-90a1-92fbcf53809c.png

圖8

無源晶振的優(yōu)勢很明顯:成本低、體積小、設(shè)計靈活,適合對成本敏感、功能相對簡單的電路,比如51單片機超小系統(tǒng)、簡單傳感器模塊等。但它的缺點也不容忽視:需要額外設(shè)計起振電路,對布線要求較高,抗干擾能力相對較弱。

有源晶振:即插即用的“時鐘模塊”

有源晶振則是一體化解決方案——把石英晶體、起振電路、信號放大電路和波形整形電路全部集成在金屬外殼內(nèi),相當于一個現(xiàn)成的時鐘信號發(fā)生器。

使用時,只需給有源晶振接通電源,就能直接輸出穩(wěn)定的時鐘信號,不需要額外設(shè)計起振電路,電路連接非常簡單。而且有源晶振的輸出信號穩(wěn)定性更高、抗干擾能力更強,還能提供更寬的頻率范圍,部分型號甚至支持頻率可調(diào)。

不過有源晶振的價格比無源晶振高不少,體積也更大,功耗相對較高,更適合對時鐘精度和穩(wěn)定性要求高的場景,比如工業(yè)控制、通信設(shè)備、高端單片機系統(tǒng)等。

04晶振使用也有“坑”要避?

雖然晶振是結(jié)構(gòu)簡單的電子元件,但很多新手會因細節(jié)疏忽踩坑,導(dǎo)致電路工作異常,比如:

1)正如開頭的實驗所示,不同頻率晶振對應(yīng)的機器周期、波特率等參數(shù)不同,隨意替換會導(dǎo)致功能異常,必須根據(jù)電路設(shè)計需求選擇指定頻率,不能隨意更換。

2)無源晶振的匹配電容不能隨便選,需按 datasheet 計算選型,否則會影響起振和頻率穩(wěn)定性。

3)晶振電路對布線要求較高,晶振應(yīng)盡量靠近單片機的晶振引腳,布線不宜過長,避免引入干擾,導(dǎo)致時鐘信號異常。

晶振,就像電子系統(tǒng)的“心臟”,每一次精準振蕩,都為設(shè)備的正常運行提供時間基準。從串口亂碼到實時計時,晶振的頻率選擇和選型都直接影響著項目成敗。希望通過這篇文章,你能真正搞懂晶振的核心邏輯,以后在開發(fā)中再也不會為“選什么晶振”“為什么通訊失敗”而頭疼。

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

    關(guān)注

    6076

    文章

    45495

    瀏覽量

    670292
  • 晶振
    +關(guān)注

    關(guān)注

    35

    文章

    3562

    瀏覽量

    73436
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1619

    瀏覽量

    82811

原文標題:11.0592MHz 換 12MHz,串口直接亂碼?原因終于說清了 | 貿(mào)澤科普實驗室

文章出處:【微信號:貿(mào)澤電子,微信公眾號:貿(mào)澤電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    應(yīng)該用11.0592MHZ還是12MHZ的?

    現(xiàn)在正在做一塊測定電機轉(zhuǎn)速的電路板,由于要調(diào)試程序,想把電路板做成可以燒錄單片機的功能的。這時我單片機應(yīng)該用11.0592的還是
    發(fā)表于 08-06 15:47

    11.0592MHZ跟51單片機是什么關(guān)系?

    。11.0592MHZ跟51單片機是什么曖昧關(guān)系?IC旁邊常有的陪伴在上章中已經(jīng)講到,這
    發(fā)表于 06-27 14:26

    單片機外接11.0592mhz問題

    `論述單片機外接11.0592mhz振作用,其與機器周期的關(guān)系,并用此編寫延時子函數(shù)`
    發(fā)表于 12-19 20:30

    請問11.0592MHZ跟51單片機有什么關(guān)系?

    11.0592MHZ跟51單片機是什么曖昧關(guān)系?IC旁邊常有的陪伴在上章中已經(jīng)講到,這
    發(fā)表于 09-27 04:35

    為什么51單片機愛用11.0592MHZ

    為什么51單片機愛用11.0592MHZ?在設(shè)計51單片機系統(tǒng)PCB時,
    發(fā)表于 04-19 09:27

    為什么51單片機愛用11.0592MHZ?

    出來,希望對學(xué)51的童鞋來說能有幫助。一、為什么51單片機愛用11.0592MHZ?其一:因為它能夠準確地劃分成時鐘頻率,與UART(通用異步接收器/發(fā)送器)量常見的波特率相關(guān)..
    發(fā)表于 11-10 06:45

    12MHz11.0592MHz兩種不同的區(qū)別

    最近在學(xué)單片機定時器初值的計算方法,下面大概列出來12MHz11.0592MHz兩種不同
    發(fā)表于 11-22 07:49

    如何解決單片機串口通訊12MHz下的問題

    單片機串口通訊12MHz的問題首先想說單片機12M遠不如
    發(fā)表于 11-26 06:20

    單片機串口通信亂碼怎么解決

    單片機串口通信亂碼問題問題:測試51單片機串口通信時,設(shè)置主程序為單片機將接收到的數(shù)據(jù)發(fā)送出去,
    發(fā)表于 02-18 06:34

    51單片機為什么經(jīng)常用11.0592MHz的?

    51單片機為什么經(jīng)常用11.0592MHz
    發(fā)表于 11-03 06:29

    為什么51單片機一般使用11.0592?

    11.0592原因是51單片機的定時器導(dǎo)致的。用51單片機的定時器做波特率發(fā)生器時,如果
    的頭像 發(fā)表于 09-18 16:11 ?1.3w次閱讀
    為什么51<b class='flag-5'>單片機</b>的<b class='flag-5'>晶</b><b class='flag-5'>振</b>一般使用<b class='flag-5'>11.0592</b>?

    單片機串口通訊12MHz下的問題

    單片機串口通訊12MHz的問題首先想說單片機12M遠不如
    發(fā)表于 11-18 12:06 ?13次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>串口</b><b class='flag-5'>通訊</b>在<b class='flag-5'>12MHz</b>下的問題

    為什么51單片機愛用11.0592MHZ

    11.0592原因是51單片機的定時器導(dǎo)致的。用51單片機的定時器做波特率發(fā)生器時,如果用
    發(fā)表于 11-22 17:36 ?14次下載
    為什么51<b class='flag-5'>單片機</b>愛用<b class='flag-5'>11.0592MHZ</b><b class='flag-5'>晶</b><b class='flag-5'>振</b>

    單片機使用12M串口亂碼問題

    單片機使用12M串口亂碼問題,串口通信01或1,
    發(fā)表于 12-03 19:51 ?12次下載
    <b class='flag-5'>單片機</b>使用<b class='flag-5'>12</b>M<b class='flag-5'>晶</b><b class='flag-5'>振</b><b class='flag-5'>串口</b><b class='flag-5'>亂碼</b>問題

    單片機串口通信亂碼問題

    單片機串口通信亂碼問題問題:測試51單片機串口通信時,設(shè)置主程序為單片機將接收到的數(shù)據(jù)發(fā)送出去,
    發(fā)表于 12-23 19:05 ?10次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>串口</b>通信<b class='flag-5'>亂碼</b>問題