50個(gè)單片機(jī)晶振問題及解決方法小結(jié)
如果你的單片機(jī)只做AD采集轉(zhuǎn)換,那就不需要太高的頻率,內(nèi)部4Mhz振蕩器即可。
但如果還要做其他對時(shí)序要求較嚴(yán)的工作比如說總線通信,那就要考慮使用外部振蕩器,因?yàn)閮?nèi)部振蕩器的誤差太大(即使校準(zhǔn)了還有1%的誤差) ,而用多大的晶振要看工作要求,頻率越高單片機(jī)功耗越大。但只做AD的話,4M夠了。
36、大家好。我想問個(gè)pic單片機(jī)的問題:晶振頻率不一樣。編譯器自己帶的庫延時(shí)函數(shù)延時(shí)一樣嗎?比如晶振20MHZ delayus(1)和5MHZ delayus(1)是同是1us嗎?
答: 應(yīng)該一樣.
因?yàn)轭l率不一樣,編譯時(shí)候你的設(shè)置不一樣,編譯時(shí)候自然計(jì)算需要的倍數(shù),參數(shù)就不一樣了.
但可能因?yàn)轭l率除不盡的緣故,有一點(diǎn)點(diǎn)差異
37、單片機(jī)外接24M的晶振,1ms的基準(zhǔn)延時(shí)函數(shù)用C語言怎么寫?
答:定時(shí)器T0 工作方式1 晶振頻率24MHz
定時(shí)器最大定時(shí)時(shí)間(us):32768
定時(shí)器最小定時(shí)時(shí)間(us):0.5
【1ms精確定時(shí)C51代碼】
void T0_init(void) //定時(shí)器初始化
{
TMOD |= 0x01;
TH0 = 0xf8; //設(shè)置定時(shí)器計(jì)數(shù)初值,定時(shí)1000us
TL0 = 0x33;
IE |= 0x82; //打開總中斷
TR0 = 1; //啟動(dòng)定時(shí)器
}
void T0_intservice(void) interrupt 1 //定時(shí)器中斷服務(wù)
{
TH0 = 0xf8; //重裝載定時(shí)器計(jì)數(shù)初值
TL0 = 0x33;
//這里可以插入其他處理程序,不會(huì)影響定時(shí)器工作
}
38、單片機(jī)24M晶振可以測量20MHZ的信號嗎
答 :要看用什么單片機(jī)了。有些單片機(jī)執(zhí)行一條指令需要兩個(gè)機(jī)器周期以上的。那肯定測量不到20MHZ的信號。
39、用單片機(jī)的晶振電路產(chǎn)生信號和555計(jì)時(shí)器產(chǎn)生信號哪個(gè)更好?
答:一般來說,晶振的穩(wěn)定性好于RC震蕩器。
40、用什么電路能讓32768的晶振產(chǎn)生32768的方波信號?
答 :用或非門,也可以完成 振蕩和方波整形 的任務(wù)。電路如插圖所示。
圖中的晶振,原為38000Hz,如改為32768Hz,也完全正常可以工作。
41、晶振的原理,如何產(chǎn)生正弦信號的,詳細(xì)一點(diǎn),從電路方面分析?
答:晶體可以等效為一個(gè)電感,與里面的電容形成振蕩回路,能量從電感慢慢到電容,再從電容慢慢到電感,周而復(fù)始形成振蕩。正半周是電容的充放電過程,負(fù)半周是電感的充放電過程。
42、11.0952的晶振和單片機(jī)哪些引腳連接能起作用?電源和18B20應(yīng)該和單片機(jī)的哪些引腳相連呢?RT,要把單片機(jī)從實(shí)驗(yàn)板上引出來,應(yīng)該怎么連接?1602LCD的液晶該怎么和單片機(jī)相連呢?每次從仿真上連出來都是只有背光和黑點(diǎn),但是不顯示已經(jīng)燒錄的程序。
答:晶振接單片機(jī)x1(或者叫XTAL1)和x2(或者叫XTAL2)引腳。
電源接單片機(jī)的VCC和GND。
18b20電源腳接電源上,中間的數(shù)據(jù)線可以單片機(jī)的任意io口。具體控制是靠程序完成的。
1602的數(shù)據(jù)線接單片機(jī)io(比如51單片機(jī)的P1口),其它的控制線rw,reset,cs等可以接單片機(jī)的任意io口。
燒錄了程序不能運(yùn)行,而程序是正確的話,你得看程序怎么定義這些引腳,根據(jù)程序定義連接單片機(jī)的位置。
43、我現(xiàn)在要用52單片機(jī)做一個(gè)交通燈電路。要求是紅燈,綠燈30s,黃燈3s。循環(huán)變化。那么外界晶振怎樣選擇?單指令周期多少比較合適?圖中外接的兩個(gè)電容的作用是什么?大小多少合適?
答: 如果選擇晶振的話,那兩個(gè)電容值可以選擇:30加減10PF左右的(頻率在0~33MHZ之間);
如果選擇陶瓷晶振的話,電容值可以選擇:40加減10PF左右的(頻率在1.2~12MHZ)振蕩器應(yīng)盡量靠近電容。指令周期是可以算的,這個(gè)是有公式的!
44、89c52單片機(jī)如果不接晶振會(huì)有什么后果?
答:單片機(jī)不工作了 程序無法燒入。。。。等等
45、若89c52單片機(jī)使用外接晶振,應(yīng)如何設(shè)置?
答:晶振的兩個(gè)管腳各接一個(gè)20~30pf的電容后分別接入單片機(jī)的XTAL1和XTAL2,兩個(gè)電容的另一端并接后接地即可,不再需要任何設(shè)置
46、89c52單片機(jī) 晶振頻率才12兆,太小了,怎樣能改大晶振頻率?
答:外接18.432或者24MHz的晶振啊?;蛘邠Q4T的W77E58單片機(jī),這樣相當(dāng)于把工作頻率提高3倍?;蛘邠Q1T的DS89C4XX單片機(jī),這相當(dāng)于把工作頻率提高8倍!足夠了吧?用1T的STC12C5A**單片機(jī)也有這樣的效果。
47、單片機(jī)工作頻率的問題,晶振到底怎么選擇?
答:
1、最基本的單片機(jī),其機(jī)器工作頻率為:晶振頻率÷12
2、有的單片機(jī)(高級一些的)機(jī)器工作頻率為:晶振頻率÷2(或者6等等)
3、以匯編語言為例,單片機(jī)執(zhí)行一條指令需要的時(shí)間為1~2個(gè)機(jī)器周期(機(jī)器周期 = 1÷機(jī)器工作頻率)
4、舉例:
一普通單片機(jī)晶振12MHz,其機(jī)器工作頻率為 12MHz÷12 = 1MHz
其機(jī)器周期 = 1÷1MHz = 0.000001秒(也就是10的負(fù)6次方)
“MOV”指令需要一個(gè)機(jī)器周期來完成,也就是說執(zhí)行這條指令需要耗費(fèi)10的負(fù)6次方秒,這么長的時(shí)間。
48、51單片機(jī)晶振上接的電容大小該如何選擇?是晶振越大,電容值也要大一些嗎,一般常用多大的。有人說常用的從15-33pf,具體如何選擇效果最好?比如我分別用一個(gè)6M和12M的晶振,用多大電容更合適?
答:15-33pf都可以 我們一般用的是15P和30P 晶振大小影響不大 我們常用的4M 和12M 以及11.0592M和20M 24M 我們都用的 30P 單片機(jī)內(nèi)部有相應(yīng)的整形電路 我們不比擔(dān)心
49、我給51單片機(jī)12M晶振接2200pF電容會(huì)怎么樣?電路圖里貌似是22pF的,但是我沒有22pF的...接2200pF會(huì)不會(huì)不正常工作?
答:不可以,晶體會(huì)不工作的。15-33p是合理范圍。你可以試試看,對單片機(jī)不會(huì)有損壞。
50、單片機(jī)不能正常工作,晶振問題?如何去檢查晶振正常還是不正常?另外我看到說晶振跟兩個(gè)小電容要離得很近,我?guī)缀醵紱]剪引腳(就是買回來多長就多長)就插上去了,這個(gè)也有關(guān)系嗎?
答: 用萬用表測量單片機(jī)連接晶振的兩個(gè)引腳 正常起振的狀態(tài)下電壓大概比供電電壓的1/2略低一些 如果其中一個(gè)或全部引腳為電源電壓或零就表明沒起振。那個(gè)引腳長些一般不會(huì)有什么影響 相比之下接地更關(guān)鍵些 兩個(gè)諧振電容接地端到單片機(jī)的電源地要盡量近些。
評論