AT89S51最小系統(tǒng)制做
C51最小系統(tǒng)電路在網(wǎng)上一搜一大把,大同小異。我略做改動(dòng)后如圖:
本文引用地址:http://butianyuan.cn/article/201611/316086.htm加一個(gè)11.0592MHZ的晶振是為了以后做串口通信時(shí)和PC有相同的波特率。可用短路帽切換。
說(shuō)說(shuō)板子的布局:網(wǎng)上賣的最小系統(tǒng)都是把板子做的非常小,如果僅僅只學(xué)習(xí)最小系統(tǒng),那是可以的。我以后是要做擴(kuò)展的,所以不能做的太小。因此該有的應(yīng)留著,不該有的都去掉。很重要的是以后在做其它擴(kuò)展功能塊時(shí)的連接線就用一組排線而不能再有其它飛線。因此做一個(gè)好的布局是非常有必要的。
在板上除了最小系統(tǒng)外還有鍵盤輸入、數(shù)碼管、LCD、I2C存儲(chǔ)器。它們的數(shù)據(jù)接口和電源接口也是完全獨(dú)立的。其它的功能都準(zhǔn)備在以后通過(guò)上方的接口另外用板子擴(kuò)展。
圖上方的彎腳插針就是向外擴(kuò)展的接口。我在彎腳下方又安排了一組直插針。它是和彎腳插針并行連接的。這樣在擴(kuò)展功能塊時(shí)我先在AT89S51板上將要輸出的引線(包括數(shù)據(jù)線、控制線、電源線等)跳至直插針上。這樣通過(guò)彎腳插針引到擴(kuò)展板上的線就只有一組排線。不用再零亂地接上幾組連接線了。這也是我用買的學(xué)習(xí)板常常垢病而最終棄而自制的主要原因之一。因?yàn)楫?dāng)時(shí)我擴(kuò)展LCD12864,我既要連上數(shù)據(jù)線,又要連電源線,LCD模塊上還拖著背光電源限流電阻線。還有液晶驅(qū)動(dòng)電壓調(diào)節(jié)電位器。所以感覺(jué)拖的到處是線,很不方便。
實(shí)施:通過(guò)檢查各元件的好壞后便進(jìn)行焊接工作。焊接進(jìn)行的還是比較順利。見(jiàn)下圖:
完成了。在檢查了線路的正確性后,用萬(wàn)用表測(cè)了是否有短路。一切正常!
之前我的AT89S51里已寫好了個(gè)最小系統(tǒng)測(cè)試程序,就是讓P1.0上的紅色發(fā)光管閃爍。
# include
void main(void)
{ unsigned char i,j,k;
while(1)
{
for(i=0;i<100;i++)
{
for(j=0;j<255;j++)
for(k=0;k<255;k++);
}
P1_0= !P1_0;
}
}
我把它先插在我買的學(xué)習(xí)板上運(yùn)行,一切正常。但插在我做的的最小系統(tǒng)上卻沒(méi)反應(yīng)。就那么點(diǎn)線路查來(lái)查去還是沒(méi)問(wèn)題呀!是晶振不起振?在學(xué)習(xí)板上用手拿著改錐分別碰18腳(XTAL2)和19腳(XTAL1)。發(fā)現(xiàn)當(dāng)人體碰到19腳時(shí)程序會(huì)亂掉,就是說(shuō)可能會(huì)停振。于是又把我的系統(tǒng)板上晶振位置的電路重焊一遍,盡量縮短了19腳處線的長(zhǎng)度。C4、C5又分別換了15PF、20PF、30PF的電容試試。故障依然,沒(méi)辦法,得靜一靜,看書! 在看到介紹第31腳(EA/VPP)時(shí)猛然想到31腳沒(méi)有接到電源正啊!起來(lái)立即把31腳接到電源正,紅色發(fā)光管立即閃爍起來(lái)。此時(shí)的高興真不可名狀啊!
總結(jié):除了在焊接時(shí)要仔細(xì)外,先畫好電路圖也是很重要的。像上面的電路圖在89S51的31腳上就只寫了Vcc的字樣,因此焊接時(shí)就被忽視了。應(yīng)該先畫出一張完整的圖才行。
其實(shí)這個(gè)板子上的晶振電路是非常容易起振的。19腳上的引線也沒(méi)那么敏感。但處理19腳時(shí)可能的話還是要盡量短些的,畢竟它比18腳要對(duì)外界干擾敏感的多。手摸上去就停振了。
還有就是學(xué)習(xí)單片機(jī)怎么著也得先買塊最最簡(jiǎn)單的板子。否則你焊好你的板子后有故障到底是程序問(wèn)題還是線路問(wèn)題就無(wú)從查起,查錯(cuò)查得還不瘋掉呀! 程序也沒(méi)法寫進(jìn)片子里去。你可能會(huì)說(shuō)再做一個(gè)ISP下載線呀。做下載線更加不穩(wěn)定,下一篇我會(huì)專門講做ISP下載線的問(wèn)題。再來(lái)個(gè)特寫鼓勵(lì)一下自己。
評(píng)論