自己動手做個智能小車(3)


自己動手做個智能小車(3)

——讓小電腦運行程序吧

通了電源,也有了初步的規划,我們就把主芯片給接上,並讓其工作起來。

這個主芯片就是89C52單片機,有人說,單片機沒學過啊,怎么沒,沒關系,在里,我們就從最簡單的入手,然后再慢慢加功能。我們知道學個新程序,一般從HelloWord開始,那單片機同樣,也從其本的開始。

51單片機,有40個引腳,其中,芯片從一個U口的左側開始計數,然后一圈編號,40腳與20腳接電源的正負極。其中,1~8 0~17 39~32 1~28 為單片機的P1 P3 P0 P2口,所謂P口,可以理解為與外界面進行交互的接口,當接口輸出1則用萬用表接上可以量到5v,當輸出0時,則輸出0v。同樣輸入也一樣,即可把數字指令,變成電壓輸出或輸入。

好了,簡單介紹后,如何讓芯片工作呢,簡單電路如下即可:

注意點:

18、19 口接上晶振、和兩個磁片電容后,再接負極

9口,接上電容后,再接個開關,這個為重啟健,當然這塊電路可以不接,可以直接開關電源來重啟么。

31、40口需接上電源正極5v。

當然,芯片要運行的話,還要寫入程序,寫程序當然在電腦上,如何存入51芯片,這里我們自制一個燒寫器,通過串口方式,電路如下:

 

開工焊板:

先找好元件,排列好:

 

這么大芯片,可不能直接焊上去,所以得焊上底坐,就可以方便插撥了。

排好元件,反過來,焊吧,焊接時,40個腳不用所有的都焊上,可以只選擇要用的先焊。

 

主板焊好后,就可以焊編程器,這里就不再詳細描述焊接過程,比較容易:

注意點:

  1. 背面的連接,一般直接用元件剪下來的引腳,然后焊接連接,這樣比較牢固。
  2. 為了方便插撥,所以在出口出,采用一個排插,然后采用杜邦線連接。同時另一端,在主板上,同樣P3.1 P3.0引出,加上正負電源,采用排插引出,方便連入:

 

 

 

調試:

    寫程序,小步快跑,寫一段試運行一段,同樣,做到這,我們也要運行一下了:

  1. 先調試編程器,(編程器不好,程序怎么寫進去?)

    我們知道,編程器,就是一個串口轉換器,於是調試,就采用串口調試工具咯,但沒有被測的串口設備,怎么辦?從自的同時編程器中我們知道,有4根線,2根是電源,正負極,還有2根是數據線,當然就是一個進一個出,於是我們這樣做,把編程器的數據線連接上。

這樣,即發出的數據,就立即可以收到了。將USB轉串口線插上電腦,安裝上驅動,然后在設備管理器中就可以看到:

記下其串口編號:

啟動串口調試工具:

在里面輸入信息后,點發送,發現立即收到,好,證明完全OK了。

 

  1. 調試單片機

    單片機,直接通電肯定沒用,得有程序,所以得先編程。准備開發工具,常用的采用uVersion Keil c51。

    一、安裝並啟動 (這里略)

    二、新建工程

輸入名稱"智能小車",然后點確定:

選擇AT89S52,再點OK:

這里點NO:

再點工具欄上的New:

新建后,會出現一個空白內容頁,再按下Ctrl+S 彈保存,名稱為main.c:

再右健SourceGropu1 ,選Add Files to Group "source Group1",在彈出的窗口中選擇剛才保存的main.c。

為了正常生成燒寫文件,還需要修改一下,在Target1 右健菜單中,先Options for… 在彈出窗口上,第三頁,勾上Create Hex File:

這樣,工程就建好了,就可以編入代碼,如下:

按下F7,編譯,在下面可以看到0 Error 0Warnings 表示已經編譯成功。

 

這是個簡單的測試程序,功能P0口每秒后值變化一下,0~5~0~5… 這樣變。

附代碼如下:

#include<reg52.h>

 

/*****************************************************

* 函數功能:延時若干毫秒

* 入口參數:j

***************************************************/

void Delay(unsigned int i)

{

unsigned int j;

for(;i>0;i--) //變量i由實際參數傳入一個值,因此i不能賦初值

for(j=0;j<125;j++)

{;}

}

 

void main()

{

while(1)

{

P0 = 0xFF;

Delay(1000);

P0 = 0x00;

Delay(1000);

}

}

    好了,這段代碼應該比較容易看懂,不多解釋了,還是趕緊讓CPU跑這段代碼吧。 按下F7,編譯生成,最后,在工程文件夾中,可以看到一個"智能小車.hex"的文件這個就是燒寫用的。那燒寫用什么軟件呢,我這里用的是"stc-ispv4.79" 網上可以方便下載到。

將USB轉串口線,連接到電腦上,找到串口幾,串口頭接上自制燒寫器,用杜邦線將燒寫器連接到主板上串口上。然后啟動軟件:

  • 選擇CPU:STC89C52
  • 點打開文件,選擇"智能小車.hex "
  • 下拉選擇COM口
  • 點"Download/下載"按鈕
  • 這時,軟件等待供電,按下小車主板的電源,就可以看到軟件中進度條提示。

 

好了,寫入成功后,小車主板上的單片機就立即運行了。但如何看出來結果呢,別急,有2個辦法:

方式一:拿個萬用表,一頭接電池負極,一頭接單片機39口,扳到直流電壓檔,可以看到,萬用表的指示,一會兒5v, 一會兒0v。 -----OK 看到這效果,說明運行成功了。

方式二:拿根導線,拿個LED,一頭焊上個1K的電阻,電阻另一頭接上電池負極,另一頭接到單片機39口上,就可以看到小燈一閃一滅的。 ---這樣也就說明單片機在運行了。 接小燈時注意正負極,新的可以看出,長腳的是接正極,即要接單片機。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM