⑴ 如何根據單片機 選擇晶振
晶振選擇看單片機的能力和你的需要,電路看晶振。
單片機通常都會有一個最高工作頻率要求,比如:Atmega48v(低功耗)最高8MHz,Atmega48a最高16Mhz,選擇晶振時不要超過這個頻率即可。
另外就是看你的需求,比方說,
你需要用到串口通信,那用22.1184MHz或11.0592MHZ,容易實現較高的波特率(19600,19200),
如果你要用到USB通信,那用12Mhz,這個做usb1.0的1.5mhz或2.0的48mhz(鎖相環升頻),都容易實現。
如果要用來計時,4.096MHz或10.24MHz這類2的N次方,容易被分頻,實現精準的計時。
至於晶振邊上的匹配電容或電阻,一般都是個定數了,多少頻率就配多少的電容或電阻,這也有個匹配關系,你可以網路文庫裡面找「晶振匹配電容」「晶振電路」,都可以查到相關文檔。
⑵ STC89C52單片機為什麼選用12M的晶振
個人以為,選用12M晶振主要有兩個理由,一是運行速度快,二是51單片機內部是12分頻,採用12M晶振可以得到1μS的的時鍾周期,這樣定時計算會比較方便。
⑶ 單片機是通過什麼方式來選擇外部晶振還是內部晶振
這個要看單片機型號了。
1、有的是如果外部有晶振電路,就用外部晶振,如果外部沒有晶振電路,就自動換成內部晶振。例如IRC15W415AS。
2、有的是用下載軟體設置使用的是外部晶振還是內部晶振。例如IAP15F2K61S2。
3、有的是用控制寄存器來選擇用的是外部晶振還是內部晶振。例如C8051F350用OSCICN控制寄存器的第7位,選擇是外部還是內部晶振。
4、有的是只有內部晶振。例如STC15W204S。
5、有的是只有外部晶振。例如AT89C2051。
望採納。。。。。。
⑷ 單片機怎麼選擇晶振所謂11.095和22.1184兩種的誤差最小是指什麼為什麼會產生誤差謝謝
主要是考慮到通信的時候的波特率
在使用串口做通訊時,一個很重要的參數就是波特率,只有上下位機的波特率一樣時才可以進行正常通訊。波特率是指串列埠每秒內可以傳輸的波特位數。有一些初學的朋友認為波特率是指每秒傳輸的位元組數,如標准9600會被誤認為每秒種可以傳送9600個位元組,而實際上它是指每秒可以傳送9600個二進位,而一個位元組要8個二進位,如用串口模式1來傳輸那麼加上起始位和停止位,每個數據位元組就要佔用10個二進位,9600波特率用模式1傳輸時,每秒傳輸的位元組數是9600÷10=960位元組。51晶元的串口工作模式0的波特率是固定的,為fosc/12,以一個12M的晶振來計算,那麼它的波特率可以達到1M。模式2的波特率是固定在fosc/64或fosc/32,具體用那一種就取決於PCON寄存器中的SMOD位,如SMOD為0,波特率為focs/64,SMOD為1,波特率為focs/32。模式1和模式3的波特率是可變的,取決於定時器1或2(52晶元)的溢出速率。那麼我們怎麼去計算這兩個模式的波特率設置時相關的寄存器的值呢?可以用以下的公式去計算。
波特率=(2SMOD÷32)×定時器1溢出速率
上式中如設置了PCON寄存器中的SMOD位為1時就可以把波特率提升2倍。通常會使用定時器1工作在定時器工作模式2下,這時定時值中的TL1做為計數,TH1做為自動重裝值,這個定時模式下,定時器溢出後,TH1的值會自動裝載到TL1,再次開始計數,這樣可以不用軟體去干預,使得定時更准確。在這個定時模式2下定時器1溢出速率的計算公式如下:
溢出速率=(計數速率)/(256-TH1)
上式中的「計數速率」與所使用的晶體振盪器頻率有關,在51晶元中定時器啟動後會在每一個機器周期使定時寄存器TH的值增加一,一個機器周期等於十二個振盪周期,所以可以得知51晶元的計數速率為晶體振盪器頻率的1/12,一個12M的晶振用在51晶元上,那麼51的計數速率就為1M。通常用11.0592M晶體是為了得到標準的無誤差的波特率,那麼為何呢?計算一下就知道了。如我們要得到9600的波特率,晶振為11.0592M和12M,定時器1為模式2,SMOD設為1,分別看看那所要求的TH1為何值。代入公式: 11.0592M
9600=(2÷32)×((11.0592M/12)/(256-TH1))
TH1=250//看看是不是和上面實例中的使用的數值一樣?
12M
9600=(2÷32)×((12M/12)/(256-TH1))
TH1≈249.49
上面的計算可以看出使用12M晶體的時候計算出來的TH1不為整數,而TH1的值只能取整數,這樣它就會有一定的誤差存在不能產生精確的9600波特率。當然一定的誤差是可以在使用中被接受的,就算使用11.0592M的晶體振盪器也會因晶體本身所存在的誤差使波特率產生誤差,但晶體本身的誤差對波特率的影響是十分之小的,可以忽略不計 。
同理22.184也是。自己算一下吧。
⑸ 單片機最大可以用多少的晶振,支持的波特率一般多少
不同的單片機廠家支持的晶體,和內部的時鍾頻率的關系是不同的,有的是一半,有的是1/4甚至更多。
支持的波特率也是單片機廠商會標記的。
9600*6,也就是60K左右,常用的波特率比較高一個檔次為115200,因此您這個並不苛刻,要注意規格書裡面的說明,還有應用指南。沒有特別要求的話,國產的也可勝任了。
⑹ 那些單片機可選用8M的外部晶振
1,單片機外部晶振,基本上市場有賣的型號都可以,8M也相當沒有問題。
2,主要你要看晶體的頻率和單片機指令時間的演算法:一個機器周期=(12/8)*(1/12MHZ)
3,還有就是定時器和串口通訊也會用到晶體的頻率!
⑺ 51單片機到底使用哪種晶振好
標準的51單片機晶振是1.2M-12M,一般由於一個機器周期是12個時鍾周期,所以先12M時,一個機器周期是1US,好計算,而且速度相對是最高的(當然現在也有更高頻率的單片機)。
11.0592M是因為在進行通信時,12M頻率進行串列通信不容易實現標準的波特率,比如9600,4800,而11.0592M計算時正好可以得到,因此在有通信介面的單片機中,一般選11.0592M
⑻ 新手上路,麻煩大神們將51單片機常用的晶振型號推薦一下,我好查了選電容
不接串口的話晶振常用12M,6M,接串口的話晶振常用11.0592M,電容20--30P即可,我常用22P的
⑼ 怎樣知道單片機晶振的型號
你有一個問題沒有搞清楚,那就是晶振是用來振的,這個振不是本身動,而是在振盪電路中相當於一個大電容或是大電感,使振盪電路振.