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