《MCS-51單片機(jī)原理與應(yīng)用》第2章 單片機(jī)開發(fā)快速入門_第1頁(yè)
《MCS-51單片機(jī)原理與應(yīng)用》第2章 單片機(jī)開發(fā)快速入門_第2頁(yè)
《MCS-51單片機(jī)原理與應(yīng)用》第2章 單片機(jī)開發(fā)快速入門_第3頁(yè)
《MCS-51單片機(jī)原理與應(yīng)用》第2章 單片機(jī)開發(fā)快速入門_第4頁(yè)
《MCS-51單片機(jī)原理與應(yīng)用》第2章 單片機(jī)開發(fā)快速入門_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2023/1/2MCS-51單片機(jī)原理與應(yīng)用1本章導(dǎo)讀本章以AT89C2051單片機(jī)控制的單燈閃爍實(shí)驗(yàn)為例,來(lái)闡述集編輯、編譯、連接、調(diào)試、仿真于一體的著名51工具軟件KeilμVision3的設(shè)置和使用,讓讀者一開始就初步掌握單片機(jī)開發(fā)過(guò)程,在動(dòng)手中迅速入門,建立起單片機(jī)軟硬件控制的整體概念。第2章單片機(jī)開發(fā)快速入門2023/1/2MCS-51單片機(jī)原理與應(yīng)用2用AT89C2051單片機(jī)控制一個(gè)LED燈的亮與滅。2.1.1AT89C2051引腳功能AT89C2051是Atmel公司生產(chǎn)的一種低功耗、高性能CMOS八位單片機(jī),20個(gè)引腳的雙列直式芯片,其實(shí)物外形如圖2.1〔a〕所示。單片機(jī)的根本功能部件都集成在這個(gè)小小的芯片中,AT89C2051是40個(gè)引腳AT89C51的簡(jiǎn)化版,電氣特性都與AT89C51根本一樣,2.1初識(shí)單片機(jī)12023/1/2MCS-51單片機(jī)原理與應(yīng)用3只是FEPROM容量減少到2KB,I/O口線,減少到15個(gè)。AT89C2051是PDIP封裝,引腳排列如圖2.1〔b〕。比照上面兩個(gè)圖,容易看出引腳的排列規(guī)律。引腳功能說(shuō)明:〔1〕VCC:電源輸入,12MHz下電壓范圍為2.7V~6.0V。〔2〕GND:接地端?!?〕RST:復(fù)位輸入。晶振工作時(shí),RST引腳持續(xù)保持2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位?!?〕XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端?!?〕XTAL2:振蕩器反相放大器的輸出端?!?〕P1.0~P1.7,P3.0~P3.5、P3.7共15個(gè)I/O引腳。引腳的第二功能,在圖2.1〔b〕中是用括號(hào)括起來(lái)的。2.1初識(shí)單片機(jī)22023/1/2MCS-51單片機(jī)原理與應(yīng)用41.單燈閃爍的硬件線路AT89C2051控制單燈閃爍的完整電路如以下圖2.2所示,只需一個(gè)引腳P1.0控制LED燈的亮與滅。在圖2.2中,電源電壓是5V,即第20腳VCC接正極,第10腳2.1.2AT89C2051控制的單燈閃爍12023/1/2MCS-51單片機(jī)原理與應(yīng)用5GND接負(fù)極。單片機(jī)振蕩電路:在4腳和5腳間接12MHz晶振T1,T1兩端分別接兩只20pF小電容到地,以保證振蕩器穩(wěn)定。C3和R2組成了高電平復(fù)位電路。P1.0引腳與LED陰極相連,采用了P1.0低電平直接驅(qū)動(dòng)LED電路。當(dāng)P1.0為高電平時(shí),LED沒(méi)有正向偏壓而不會(huì)點(diǎn)亮;只有當(dāng)P1.0為低電平時(shí),LED因正向偏置而點(diǎn)亮。R1是LED的限流電阻,流過(guò)LED的電流I可以用以下公式估算:I=〔5V-VD〕/R1,其中VD是LED的導(dǎo)通壓降,在1.5~1.8V之間。2.單燈閃爍的匯編源程序控制要求:單燈閃爍間隔為0.1s。P1.0置1:SETBP1.0,并延時(shí)0.1s使LED熄滅。P1.0清0:CLRP1.0,延時(shí)0.1s使LED點(diǎn)亮。2.1.2AT89C2051控制的單燈閃爍22023/1/2MCS-51單片機(jī)原理與應(yīng)用6 ORG 0000H LJMP START ORG 0030H START:CLR P1.0 ;使P1.0=0,LED點(diǎn)亮

ACALLDELAY ;調(diào)用0.1秒延時(shí)子程序,等待0.1秒

SETB P1.0 ;使P1.0=1,LED熄滅

ACALLDELAY ;調(diào)用0.1秒延時(shí)子程序,等待0.1秒

LJMP START ;返回到標(biāo)號(hào)START處再循環(huán)DELAY:MOVR0,#255 ;延時(shí)子程序,延時(shí)0.1秒D1: MOV R1,#195 DJNZ R1,$ DJNZ R0,D1 RET END START2.1.2AT89C2051控制的單燈閃爍32023/1/2MCS-51單片機(jī)原理與應(yīng)用7匯編源程序需要在KeilμVision3軟件中編輯、匯編,直到最后得到對(duì)應(yīng)的十六進(jìn)制代碼的目的文件,然后用編程器將該文件寫入到89C2051中。將固化好的芯片插入用戶板的座子上,就可以進(jìn)行本實(shí)驗(yàn)了。KeilμVision3是KeilC51〔V8.02〕工具包中的一個(gè)重要組件,μVision3是用于多種8051MCU的集成開發(fā)環(huán)境(IDE,IntegratedDevelopmentEnvironment),集編輯、編譯、連接、調(diào)試、仿真于一體,支持匯編和C語(yǔ)言的程序設(shè)計(jì)。μVision3提供對(duì)多種最新的8051類MCU支持,其內(nèi)嵌的仿真器不但可以對(duì)目標(biāo)系統(tǒng)進(jìn)行實(shí)時(shí)在線仿真,而且允許模擬仿真,從而對(duì)沒(méi)有仿真器的用戶帶來(lái)了便利。2.2

KeilμVision3軟件的安裝與界面2023/1/2MCS-51單片機(jī)原理與應(yīng)用82.2.1KeilμVision3軟件的安裝1

1.KeilμVision3軟件的安裝供學(xué)習(xí)目的用的KeilC51最新版V8.02的安裝步驟:(1)雙擊安裝執(zhí)行文件c51v802.exe,出現(xiàn)安裝向?qū)?一路按提示進(jìn)行,直到結(jié)束。若選用默認(rèn)的安裝路徑,μVision3就安裝在c:\keil\uv3目錄中,同時(shí)在桌面會(huì)出現(xiàn)一個(gè)μVision3的執(zhí)行圖標(biāo):。(2)雙擊μVision3的執(zhí)行圖標(biāo),首次運(yùn)行此軟件時(shí),要選擇菜單命令:“File_LicenseManagement”,在彈出窗口的“NewLicenseIDCode”中輸入注冊(cè)碼,然后單擊AddLIC;成功的標(biāo)志是在此窗口中注冊(cè)碼行的末端可以看到軟件的使用期限。(3)復(fù)制ccKeilVxx.exe文件到c:\keil\c51\bin\下面并2023/1/2MCS-51單片機(jī)原理與應(yīng)用92.2.1KeilμVision3軟件的安裝2

運(yùn)行它,以修正0xFD的BUG。(4)雙擊keilC51的漢化執(zhí)行文件“漢化程序.exe”,執(zhí)行完后,就可以在中文環(huán)境中使用此軟件了。2KeilμVision3軟件的啟動(dòng)雙擊桌面上KeilμVision3圖標(biāo),先出現(xiàn)的是軟件的Logo窗,如圖2.3所示。幾秒后即出現(xiàn)μVision3的IDE窗口,如圖2.4所示。2023/1/2MCS-51單片機(jī)原理與應(yīng)用102.2.2KeilμVision3軟件的界面12023/1/2MCS-51單片機(jī)原理與應(yīng)用112.2.2KeilμVision3軟件的界面22023/1/2MCS-51單片機(jī)原理與應(yīng)用122.2.2KeilμVision3軟件的界面3表2.1列出了幾個(gè)常用按鈕的功能,以及對(duì)應(yīng)的快捷鍵和菜單命令,這些按鈕以后會(huì)陸續(xù)用到的。2023/1/2MCS-51單片機(jī)原理與應(yīng)用13以單燈閃爍程序說(shuō)明KeilμVision3集成開發(fā)環(huán)境使用。如何創(chuàng)立一個(gè)新工程1.創(chuàng)立新工程選擇菜單命令:“工程_新建工程〞,如圖2.5所示。在彈出的如圖2.6所示“CreateNewProject〞窗口中,選擇工程文件存放的路徑并輸入文件名2.3

KeilμVision3集成開發(fā)環(huán)境使用之一12023/1/2MCS-51單片機(jī)原理與應(yīng)用14oneled.Uv2,單擊“保存〞按鈕。單燈閃爍工程文件就建立了,可以看到在工程區(qū)創(chuàng)立了缺省的目標(biāo)target1和文件組SourceGroup1,如圖2.7所示。假設(shè)看不到此目錄結(jié)構(gòu),可以單擊工程區(qū)下部的File標(biāo)簽。2.3

KeilμVision3集成開發(fā)環(huán)境使用之一22023/1/2MCS-51單片機(jī)原理與應(yīng)用15接著,會(huì)彈出如圖2.8所示選擇CPU廠家和型號(hào)的對(duì)話框,應(yīng)選擇Atmel公司的89C2051,在窗口的右邊欄中將同時(shí)顯示所選的單片機(jī)的簡(jiǎn)要說(shuō)明,然后單擊“確定〞按鈕。2.選擇CPU廠家和型號(hào)2023/1/2MCS-51單片機(jī)原理與應(yīng)用163.復(fù)制啟動(dòng)代碼到工程這時(shí)會(huì)彈出如圖2.9所示的對(duì)話框,對(duì)于大多數(shù)器件μVision3會(huì)詢問(wèn)是否將CPU的特殊啟動(dòng)代碼拷貝到工程中。如果工程中需要使用這些啟動(dòng)代碼,選擇“是〔Y〕〞;如果不使用Keil編寫啟動(dòng)代碼,或者是庫(kù)工程文件以及附加工程文件,那么選擇“否〔N〕〞。這里單擊“否〔N〕〞,工程創(chuàng)立完成。2.3

KeilμVision3集成開發(fā)環(huán)境使用之一42023/1/2MCS-51單片機(jī)原理與應(yīng)用171.創(chuàng)立新源文件選擇菜單命令:“文件_新建〞,在主工作區(qū)翻開一個(gè)空源文件編輯窗。建議先保存該空白的文件,用菜單命令:“文件_另存為〞,在彈出的如圖2.10所示“另存為〞窗口中,輸入文件名oneled.asm。注意,對(duì)于匯編源程序,其擴(kuò)展名asm也必須輸入;單擊“保存〞按鈕,將此文件保存在同一工程文件夾中。新文件成功創(chuàng)立。如何創(chuàng)立新源文件12023/1/2MCS-51單片機(jī)原理與應(yīng)用182.將源文件添加到工程輸入完源程序后,移動(dòng)鼠標(biāo)到工程區(qū),單擊“Target1〞前面的“+〞號(hào),展開后在“SourceGroup1〞上單擊鼠標(biāo)右鍵,將彈出一個(gè)快捷菜單,屏幕如圖2.11所示。如何創(chuàng)立新源文件22023/1/2MCS-51單片機(jī)原理與應(yīng)用19在快捷菜單中選擇并單擊“AddFiletoGroup‘SourceGroup1’〞命令,在出現(xiàn)如圖2.12所示“AddFiletoGroup‘SourceGroup1’〞窗中,選擇要參加的文件oneled.asm,單擊“Add〞按鈕,再單擊“Close〞按鈕,關(guān)閉此窗口。如何創(chuàng)立新源文件32023/1/2MCS-51單片機(jī)原理與應(yīng)用20如果源文件已存在,同樣可用此法把它添加到工程中。添加源程序文件后的μVision3窗口如圖2.13所示。如何創(chuàng)立新源文件42023/1/2MCS-51單片機(jī)原理與應(yīng)用21如何編譯連接工程程序代碼編寫完成后需要編譯連接生成目的代碼,然后進(jìn)行模擬仿真或硬件調(diào)試。選擇菜單命令:“工程_創(chuàng)立目標(biāo)〞,就會(huì)對(duì)源文件進(jìn)行編譯、連接。如果有錯(cuò)誤或警告產(chǎn)生,就會(huì)在輸出區(qū)顯示出錯(cuò)信息提示。用戶可據(jù)此來(lái)糾錯(cuò),直至把程序調(diào)試出來(lái),成功的標(biāo)志是在輸出區(qū)顯示:“0Error(s),0Warning(s).〞,同時(shí)也會(huì)顯示系統(tǒng)資源占用情況,如圖2.14所示。2.4

KeilμVision3集成開發(fā)環(huán)境使用之二12023/1/2MCS-51單片機(jī)原理與應(yīng)用222.4

KeilμVision3集成開發(fā)環(huán)境使用之二2表2.1中的最后三個(gè)按鈕都可用來(lái)編譯,須注意區(qū)別:第10號(hào)按鈕用于單個(gè)源文件編譯,沒(méi)有產(chǎn)生應(yīng)用,不能進(jìn)入調(diào)試模式中運(yùn)行。第11號(hào)按鈕是用于編譯修改過(guò)的源文件并生成應(yīng)用,如果源文件編譯后,在沒(méi)有改變的情況下再次單擊它,將不會(huì)重新執(zhí)行編譯、連接的操作,原來(lái)生成的目標(biāo)文件oneled.obj將不會(huì)變化。第12號(hào)按鈕是用于重新編譯所有的文件并生成應(yīng)用,不管源文件是否改動(dòng)過(guò),只要單擊它,就會(huì)重新執(zhí)行編譯、連接的操作。2023/1/2MCS-51單片機(jī)原理與應(yīng)用23如何調(diào)試運(yùn)行程序11.進(jìn)入調(diào)試模式單擊調(diào)試模式按鈕,系統(tǒng)進(jìn)入調(diào)試模式。選擇菜單命令:“外圍設(shè)備_I/O-Ports_Port1”,出現(xiàn)P1口的調(diào)試窗口如圖2.15所示。因程序尚未運(yùn)行,圖2.15中顯示了上電復(fù)位后的狀態(tài),P1=0xFF,表示P1口初始狀態(tài)輸出全1,所以P1.7~P1.0各位均是打“√”的。這里以“√”表示“1”,否則表示“0”。圖中也有Ins=xFF,其對(duì)應(yīng)各位也均是打“√”的,表示P1口中還未發(fā)現(xiàn)受指令控制的引腳位,這也是因?yàn)槌绦蛏形催\(yùn)行之故。2023/1/2MCS-51單片機(jī)原理與應(yīng)用242.單步運(yùn)行方式以單步運(yùn)行的方式來(lái)調(diào)試程序,可選擇菜單命令:“調(diào)試_單步〞,或用快捷鍵F10,系統(tǒng)進(jìn)入運(yùn)行時(shí),源程序調(diào)試窗口如圖2.16所示。這時(shí)出現(xiàn)一個(gè)指令指針PC,PC首先指向第一條指令LJMPSTART,每按一次F10,系統(tǒng)就會(huì)執(zhí)行一條指令,同時(shí)PC指向下一條指令。如何調(diào)試運(yùn)行程序22023/1/2MCS-51單片機(jī)原理與應(yīng)用25當(dāng)PC指向指令CLRP1.0,且尚未按下F10時(shí),觀察到P1口調(diào)試窗的屏幕如圖2.17〔a〕,即P1.0輸出高電平,模擬LED燈不亮。接著按下F10,P1.0清零的指令就會(huì)被執(zhí)行,觀察到P1口調(diào)試窗的屏幕變?yōu)槿鐖D2.17〔b〕,即P1.0輸出低電平,模擬LED燈亮。繼續(xù)按F10,將執(zhí)行調(diào)用延遲子程序ACALLDELAY。F10單步會(huì)穿越子程序的,這時(shí)PC指向指令SETBP1.0,當(dāng)按下F10時(shí),P1.0置1的指令就會(huì)被執(zhí)行,調(diào)試窗回到圖2.17〔a〕,模擬LED燈變暗。如何調(diào)試運(yùn)行程序32023/1/2MCS-51單片機(jī)原理與應(yīng)用26如何調(diào)試運(yùn)行程序4當(dāng)程序運(yùn)行到LJMPSTART后,程序?qū)⒀h(huán)重復(fù)。3.全速運(yùn)行方式

選擇菜單命令:“調(diào)試_運(yùn)行”,或單擊全速運(yùn)行按鈕,或用快捷鍵F5。系統(tǒng)進(jìn)入全速運(yùn)行狀態(tài),在P1口調(diào)試窗口中可以看到如圖2.17(a)和(b)交替出現(xiàn)的屏幕。在這兩個(gè)圖中均有ins=0xFE,即對(duì)應(yīng)P1.0沒(méi)有打“√”,表示受指令控制的只有P1.0引腳。4.停止程序的運(yùn)行要停止程序運(yùn)行回到文件編輯狀態(tài),分如下兩種情況。(1)停止程序的單步運(yùn)行再單擊調(diào)試模式按鈕,就可退出調(diào)試模式,停止單步運(yùn)行??梢?,調(diào)試模式按鈕是一個(gè)乒乓開關(guān)。2023/1/2MCS-51單片機(jī)原理與應(yīng)用27如何產(chǎn)生十六進(jìn)制文件1(2)停止程序的全速運(yùn)行要先單擊停止按鈕,再單擊調(diào)試模式按鈕,才能退出全速運(yùn)行,回到文件編輯狀態(tài)。IntelHEX文件格式是按地址排列的數(shù)據(jù)信息,數(shù)據(jù)寬度為字節(jié),所有數(shù)據(jù)均采用十六進(jìn)制表示,常用來(lái)保存單片機(jī)的目的代碼。通用編程器都支持IntelHEX格式。μVision3的缺省設(shè)置將不會(huì)產(chǎn)生十六進(jìn)制文件,可按以下步驟設(shè)置編譯器。(1)用菜單命令:“工程_打開工程”,選擇前面做好的工程oneled.Uv2,并打開它。(2)在工程區(qū)單擊“Target1”前面的“+”號(hào),展開后在“SourceGroup1”上單擊鼠標(biāo)右鍵,在彈出的快捷菜2023/1/2MCS-51單片機(jī)原理與應(yīng)用28單中選擇命令“OptionsforTarget‘Target1’〞,屏幕如圖2.18所示。〔3〕出現(xiàn)如圖2.19所示“OptionsforTarget‘Target1’〞選項(xiàng)設(shè)置窗口,單擊“輸出〞標(biāo)簽,按如下步驟設(shè)置:①在“創(chuàng)立HEX文件〞的復(fù)選項(xiàng)前打“√〞,這樣編譯后就能得到十六進(jìn)制文件;②單擊“選擇目標(biāo)路徑〞按鈕,選擇目標(biāo)輸出的路徑在同一個(gè)工程文件夾中;如何產(chǎn)生十六進(jìn)制文件22023/1/2MCS-51單片機(jī)原理與應(yīng)用29③在“執(zhí)行文件名〞欄中,可以設(shè)置編譯生成的執(zhí)行文件名,這里是oneled。設(shè)置好后,單擊“確定〞按鈕。如何產(chǎn)生十六進(jìn)制文件32023/1/2MCS-51單片機(jī)原理與應(yīng)用30現(xiàn)在按前面介紹的方法,重新編譯源文件,完成后注意觀察輸出窗口的編譯信息,HEX文件已經(jīng)創(chuàng)立到指定的路徑中了,如圖2.20所示。翻開工程文件夾,會(huì)發(fā)現(xiàn)多了一個(gè)oneled.hex文件。將此十六進(jìn)制代碼下載到通用編程器,并寫入到89C2051。再將固化好的89C2051插入用戶板的芯片座上,并給用戶板加上電源的,就可看單燈閃爍實(shí)際效果了。如何產(chǎn)生十六進(jìn)制文件42023/1/2MCS-51單片機(jī)原理與應(yīng)用31有時(shí)會(huì)出現(xiàn)不能進(jìn)行模擬仿真的對(duì)話框,如圖2.22所示。這是因?yàn)榫幾g器已經(jīng)被設(shè)置在硬件仿真后引起的。用菜單命令:“工程_OptionsforTarget'Target1'〞,出現(xiàn)圖2.19編譯器設(shè)置窗口后,單擊“調(diào)試〞標(biāo)簽,在出現(xiàn)的如圖2.22所示對(duì)話框中,選中“使用模擬仿真〞單項(xiàng)選擇框,再單擊“確定〞按鈕。這樣就可以進(jìn)行模擬仿真了。如何進(jìn)行模擬仿真的設(shè)置12023/1/2MCS-51單片機(jī)原理與應(yīng)用322.5如何用編程器寫入芯片用煒煌WH-500APU編程器將oneled.hex的內(nèi)容寫入到89C2051中的步驟如下:(1)用USB通訊電纜將計(jì)算機(jī)與編程器連接好,接通編程器電源,指示燈閃亮。(2)雙擊桌面執(zhí)行圖標(biāo),啟動(dòng)WH-500APU編程器軟件,編程器初始化成功后的界面參看圖2.23。(3)用菜單命令:“芯片選擇_手動(dòng)選擇型號(hào)”,出現(xiàn)如2023/1/2MCS-51單片機(jī)原

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論