學51單片機必看!51單片機導論
一:單片機引腳
本文引用地址:http://cafeforensic.com/article/201608/295775.htm單片機,STC89C52:
單片機全稱單片微型計算機;它內(nèi)部有存儲器、處理器、輸入輸出接口,具有計算機的屬性。
STC代表生產(chǎn)公司,8代表8051內(nèi)核,9代表Flash內(nèi)存,C代表屬于CMOS類,5(表示51單片機)固定不變,2的位置可由1-16任意數(shù)字代替,代表存儲區(qū)大小為4KB的倍數(shù)。
引腳功能:VCC(40腳)是單片機電源正,GND(20腳)是電源正;P0、P1、P2、P3是四組輸入輸出口,顯高電阻狀態(tài),對外能發(fā)出高電平和低電平;10腳是串行輸入口,11腳是串行接收口;12、13腳是外部中斷輸入;18、19腳用于外接時鐘;9腳是復位引腳,有兩個機器周期以上的高電平則使單片機復位;其它引腳不要求掌握。
晶振,11.0592MHz:
晶振全稱為晶體振蕩器,是用電損耗很小的石英晶體經(jīng)精密切割磨削并鍍上電極、焊上引線做成。這種晶體有一個很重要的特性,如果給它通電,它就會產(chǎn)生機械振蕩,反之,如果給它機械力,它又會產(chǎn)生電,這種特性叫機電效應。在工作時,他們的機電效應是機-電-機-電..的不斷轉(zhuǎn)換,因而產(chǎn)生周期性的振蕩。他們有一個很重要的特點,其振蕩頻率與他們的形狀,材料,切割方向等密切相關。利用石英晶體可以產(chǎn)生想要的非常穩(wěn)定的振蕩。
注意點:
1、區(qū)分集成電路芯片的引腳。我們觀察單片機的表面(如右圖),有一個凹進去的半圓缺口,它所對應的左邊第一個腳就是這個芯片的腳1。然后按逆時針的方向數(shù)下去,依次為2,3,???,40(如左圖)。
2、電容、晶振離單片機越近越好,因為晶振的頻率非常高,易受影響。
3、單片機應該安在鎖緊座上,而不是直接焊在板上。
4、單片機P0口要接上10kΩ的上拉電阻。
電路圖:
燒寫模塊:
材料清單:
1:燒寫電路:
DB9母座一個 USB串口線一個
MAX232芯片及芯片座各一個
104瓷片電容 5 個
2:單片機接觸電路:
40PDIP 鎖緊座一個
10K排阻1個排針4排
3:時鐘電路:
11.0592晶振一個
30pF瓷片電容 2個
4:復位電路:
10uF點解電容一個
10K電阻一個
按鍵一個
5:便于調(diào)試電路
發(fā)光二極管8個 1K電阻8個
6:導線焊錫若干,電路板一塊
7:如果用USB供電,需要D形口及USB方口線一條。(推薦~)
8:總開關
自鎖式開關一個,LED一枚 1K電阻1只~
主要元件:
RS232(DB9)接口:
RS232接口是一種串行通訊的標準。該標準規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。之后出現(xiàn)了代替DB25的DB9接口,現(xiàn)在都把RS232接口叫做DB9。DB9如圖
MAX232:
是美信公司生產(chǎn)的一款專用于電平轉(zhuǎn)換的芯片。詳見注意點。
注意點:
1、電平。通常數(shù)據(jù)是采用二進制來存儲、傳輸?shù)模梢杂秒娖叫盘柋硎具壿嫷?/span>0和1,這種表示邏輯0和1的電平叫邏輯電平。在TTL電平信號系統(tǒng)里,+5V等價于邏輯“1”,0V等價于邏輯“0”。當然,實際使用時不可能這么嚴格;一般數(shù)據(jù)輸出時,高電平>2.4V,低電平<0.4V;輸入時,高電平>2.0V,低電平<0.8V。(數(shù)據(jù)來源網(wǎng)絡)。RS232采用負邏輯電平,-15~-3V為邏輯1,+15~+3V為邏輯0。用MAX232芯片可完成TTL電平←→RS232所用邏輯電平的雙向電平轉(zhuǎn)換。
2、9針串口(DB9)除了2、3、5腳外其余的都不連入電路。不要讓其余腳碰到練習版上高電平或低電平,碰到的話可能會使最小系統(tǒng)不穩(wěn)定。
3、筆記本電腦沒有DB9接口,因此我們選用USB轉(zhuǎn)RS232串口線。建議網(wǎng)購,WIN7系統(tǒng)選用型號HL340、XP系統(tǒng)可選HL340和PL2303。
4、MAX232不要直接焊接在練習板上,應該把芯片座焊在電路板上,注意引腳的序號。
三:Keil入門
Keil:
Keil C51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),該軟件包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi),全Windows界面。Keil C51生成的目標代碼效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。本教程講解的Keil版本為V8.02。
Keil的使用:
一、進入Keil工作界面
二、建立工程
點擊“Project”→“NewProject”。如下圖所示。
在彈出的窗口選擇工程要保存的路徑,輸入工程文件名。然后點擊“保存”按鈕。
在彈出的對話框要求選擇單片機的型號,因為51內(nèi)核單片機具有通用性,所以我們?nèi)芜x一款89C52就行。在這里我們選擇Atmel的89C52,然后點擊“確定”按鈕。
完成上一步后,窗口界面如圖所示。
至此,我們已經(jīng)建立一個工程,但工程中還沒有任何文件及代碼。
三、添加文件及代碼
1、添加代碼到文件
點擊“File” →“New”或者點擊按鈕來新建文件。
新建文件后,窗口界面如圖所示。
點擊“File” →“Save”或者點擊,彈出窗口如圖所示,在“文件名”處輸入要保存的文件名(例:pmd.c),必須輸入正確的擴展名(如果用C語言編寫程序,則擴展名必須是.c;如果用匯編語言編寫程序,則擴展名必須是 .asm)。這里的文件名不一定和工程名相同,可以隨意填寫文件名,然后單擊“保存”按鈕。
此時這個新建文件格式就變成了C語言源文件,與我們剛剛建的工程還沒有直接聯(lián)系。
比較好的習慣是先將其添加到工程,再編寫代碼
單擊“Target 1”前面的“+”號,然后右鍵單擊“Source Group 1”,選擇“Add Files to Group ‘SourceGroup 1’”,如圖所示。
在彈出對話框中,選中pmd.c,單擊“Add”按鈕,再單擊“Close”按鈕,然后再單擊左側“Source Group 1”前面的“+”號,屏幕窗口如圖所示。
這時,源代碼文件就與工程關聯(lián)起來了。
然后就可以放心的去編碼了~~。
如果要看昨天上課用P1口實現(xiàn)的
流水燈代碼,請移步至http://blog.csdn.net/metalseed/article/details/8196727
編碼完成后。
四、編譯、連接
點擊“Project”→“Rebuild all target files”或者點擊。信息輸出窗口中顯示了編譯過程和編譯結果,如圖所示。
如果源代碼中有語法錯誤,會有錯誤報告出現(xiàn),雙擊該行,可以定位到出錯的位置,對源程序反復修改之后,最終會得到“”pmd”- 0 Error(s),0 Warning(s).”的結果。
五、生成HEX文件
單擊“Project” →“Options for Target ‘Target 1’”或者單擊,彈出窗口,選擇“Output”,然后選中“Create HEX File”,使程序編譯后產(chǎn)生HEX代碼,供下載器下載到單片機中。
再次單擊,編譯工程,編譯過程和編譯結果如圖所示。
我們發(fā)現(xiàn)編譯過程多出一行“creating hex file from“pmd”…”。當創(chuàng)建并編譯一個工程時,生成的HEX文件名與工程名是相同的。
現(xiàn)在,我們就可以把HEX文件燒到單片機內(nèi)使用了。
四、用STC-ISP燒錄‘
這個程序用于將二進制程序(hex文件,詳見KEIL軟件的使用)燒錄到STC單片機中。具體的步驟,該軟件標明了操作步驟,一看便知。
1:選擇單片機類型(我們用的是STC89C52RC)
2:選擇hex文件(Keil生成的那個)
3:選擇COM口。選擇COM口時,可以查看設備管理器,如圖。要改端口號,雙擊劃線的項、選擇端口設置選項卡、單擊“高級”、選擇COM端口號下拉菜單中的項。(如果是無法識別,則需要安裝串口線的驅(qū)動,百度或者問賣家要)
步驟4可以跳過。
5:點Download然后重新啟動單片機(握手連接)。
也可嚴格按照軟件界面上的說明步驟來搞~
燒錄程序時,要在單片機電源未開的狀態(tài)下點擊步驟5里的“Download/下載”,然后再給單片機上電(因為此處我們用的STC89c51/STC89c52不支持在線可編程ISP)。點了“Download/下載”之后,若USB轉(zhuǎn)RS232串口線沒問題,則步驟三的串口指示燈應該亮。當燒錄不成功時,要檢查硬件電路的焊接,當檢查好幾遍沒有問題時,我們才可以開始懷疑芯片、單片機的質(zhì)量問題。
評論