新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AT89S51最小系統制做

        AT89S51最小系統制做

        作者: 時間:2016-11-13 來源:網絡 收藏
        廢話這里就不多說了,干活吧!

        C51最小系統電路在網上一搜一大把,大同小異。我略做改動后如圖:

        本文引用地址:http://www.104case.com/article/201611/316086.htm

        加一個11.0592MHZ的晶振是為了以后做串口通信時和PC有相同的波特率。可用短路帽切換。
        說說板子的布局:網上賣的最小系統都是把板子做的非常小,如果僅僅只學習最小系統,那是可以的。我以后是要做擴展的,所以不能做的太小。因此該有的應留著,不該有的都去掉。很重要的是以后在做其它擴展功能塊時的連接線就用一組排線而不能再有其它飛線。因此做一個好的布局是非常有必要的。

        在板上除了最小系統外還有鍵盤輸入、數碼管、LCD、I2C存儲器。它們的數據接口和電源接口也是完全獨立的。其它的功能都準備在以后通過上方的接口另外用板子擴展。

        圖上方的彎腳插針就是向外擴展的接口。我在彎腳下方又安排了一組直插針。它是和彎腳插針并行連接的。這樣在擴展功能塊時我先在AT89S51板上將要輸出的引線(包括數據線、控制線、電源線等)跳至直插針上。這樣通過彎腳插針引到擴展板上的線就只有一組排線。不用再零亂地接上幾組連接線了。這也是我用買的學習板常常垢病而最終棄而自制的主要原因之一。因為當時我擴展LCD12864,我既要連上數據線,又要連電源線,LCD模塊上還拖著背光電源限流電阻線。還有液晶驅動電壓調節電位器。所以感覺拖的到處是線,很不方便。

        實施:通過檢查各元件的好壞后便進行焊接工作。焊接進行的還是比較順利。見下圖:

        完成了。在檢查了線路的正確性后,用萬用表測了是否有短路。一切正常!

        之前我的AT89S51里已寫好了個最小系統測試程序,就是讓P1.0上的紅色發光管閃爍。

        # 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;
        }
        }

        我把它先插在我買的學習板上運行,一切正常。但插在我做的的最小系統上卻沒反應。就那么點線路查來查去還是沒問題呀!是晶振不起振?在學習板上用手拿著改錐分別碰18腳(XTAL2)和19腳(XTAL1)。發現當人體碰到19腳時程序會亂掉,就是說可能會停振。于是又把我的系統板上晶振位置的電路重焊一遍,盡量縮短了19腳處線的長度。C4、C5又分別換了15PF、20PF、30PF的電容試試。故障依然,沒辦法,得靜一靜,看書! 在看到介紹第31腳(EA/VPP)時猛然想到31腳沒有接到電源正啊!起來立即把31腳接到電源正,紅色發光管立即閃爍起來。此時的高興真不可名狀啊!

        總結:除了在焊接時要仔細外,先畫好電路圖也是很重要的。像上面的電路圖在89S51的31腳上就只寫了Vcc的字樣,因此焊接時就被忽視了。應該先畫出一張完整的圖才行。

        檢查分幾個部分:1.晶振部分、2.復位部分、3.電源部分(最不可以忘掉EA接V+5v),4.還有就是P1_0發光管最基本的一個應用部分。


        其實這個板子上的晶振電路是非常容易起振的。19腳上的引線也沒那么敏感。但處理19腳時可能的話還是要盡量短些的,畢竟它比18腳要對外界干擾敏感的多。手摸上去就停振了。
        還有就是學習單片機怎么著也得先買塊最最簡單的板子。否則你焊好你的板子后有故障到底是程序問題還是線路問題就無從查起,查錯查得還不瘋掉呀! 程序也沒法寫進片子里去。你可能會說再做一個ISP下載線呀。做下載線更加不穩定,下一篇我會專門講做ISP下載線的問題。再來個特寫鼓勵一下自己。



        關鍵詞: AT89S51最小系

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 翁源县| 大化| 长白| 衡阳市| 桦甸市| 崇明县| 嵊州市| 乌拉特前旗| 浮梁县| 丰原市| 内黄县| 泸西县| 宁河县| 金山区| 城口县| 丰宁| 于都县| 扎囊县| 右玉县| 宜兰市| 景泰县| 布尔津县| 六安市| 池州市| 安阳市| 容城县| 高清| 景洪市| 中牟县| 应用必备| 延川县| 靖宇县| 陇西县| 柳河县| 昌吉市| 竹山县| 什邡市| 玉田县| 松滋市| 澄江县| 乃东县|