版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
單片機原理與嵌入式設計單片機最小系統(tǒng)設計第四章電子設計系列教材01最小系統(tǒng)原理圖繪制最小系統(tǒng)原理圖繪制01常見的繪制電路原理圖的軟件有Protel、AltiumDesigner、PowerPCB等,其中AltiumDesigner是由Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運行于Windows操作系統(tǒng)。與原先的Protel軟件相比,AltiumDesigner操作界面更加人性化,AltiumDesigner的使用讓電子設計人員能夠高效、快捷地完成電路的設計。AltiumDesigner的主要功能如下。電路原理圖設計:SCH、SCHLIB、各種文本編輯器。電路原理圖是說明電路中各個元器件的電氣連接關系的圖紙。印制電路板設計:PCB、PCBLIB、電路板組件管理器。印制電路板是用來安裝、固定各個實際電路元器件并利用銅箔走線實現(xiàn)其正確連接關系的一塊基板。最小系統(tǒng)原理圖繪制01常見的繪制電路原理圖的軟件有Protel、AltiumDesigner、PowerPCB等,其中AltiumDesigner是由Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運行于Windows操作系統(tǒng)。與原先的Protel軟件相比,AltiumDesigner操作界面更加人性化,AltiumDesigner的使用讓電子設計人員能夠高效、快捷地完成電路的設計。AltiumDesigner的主要功能如下。FPGA及邏輯器設計。在線仿真與調(diào)試。最小系統(tǒng)原理圖繪制01本節(jié)主要介紹使用AltiumDesigner14繪制單片機最小系統(tǒng)原理圖,主要包括STC89C51單片機、電源接口、復位電路、晶振電路及點亮LED電路。通過單片機最小系統(tǒng)的繪制,讓讀者了解使用AltiumDesigner14繪制電路原理圖的基本方法,想要熟練掌握AltiumDesigner14這一強大的電路設計工具,需要讀者多動手練習。最小系統(tǒng)原理圖繪制01新建工程打開AltiumDesigner14軟件,進入AltiumDesigner主界面,如圖所示。最小系統(tǒng)原理圖繪制01新建工程選擇【DXP】→【Preference】,彈出如圖所示參數(shù)設置對話框,找到【System】→【General】→【Localization】,然后勾選【Uselocalizedresources】前面的復選框,單擊【Apply】按鈕后再單擊【OK】按鈕,即可將軟件進行本地化,將軟件語言設置為中文,重啟軟件后生效。最小系統(tǒng)原理圖繪制01新建工程重新打開軟件,選擇【File】→【New】→【Project...】,彈出新建工程對話框,如圖所示。在【Name】處可更改工程的名稱,在【Location】處選擇保存工程的位置,其他保持默認參數(shù),然后單擊【OK】按鈕,新建工程完畢。最小系統(tǒng)原理圖繪制01新建工程此時在左側(cè)快捷菜單欄中可看到剛剛新建的工程PCB_Projectl.PrjPcb,右擊此工程,選擇【AddNewtoProject】→【Schematic】,即可建立一個新的原理圖文檔。按照此步驟重復進行,選擇【AddNewtoProject】→【PCBLibraryY、【AddNewtoProject】→【SchematicLibrary】。這樣就建立了三個文檔,依次右擊每個文檔,選擇【Save】進行保存,可以修改文檔名稱,但不可以修改文檔后綴。保存完畢后,右擊PCB_Projectl.PrjPcb工程,選擇【SaveProject】,工程保存完畢。此時一個工程已經(jīng)建立好了,工程的信息如圖所示。最小系統(tǒng)原理圖繪制01添加元件雙擊原理圖文件Sheet1.SchDoc,進入原理圖繪制界面,如圖所示。最小系統(tǒng)原理圖繪制01添加元件在窗口右側(cè)有一個按鈕【庫..】,單擊它后彈出庫列表,如圖所示,默認含有兩個元件庫:【MiscellaneousDevices】和【MiscellaneousConnectors】。最小系統(tǒng)原理圖繪制01添加元件這兩個庫中含有常用的元件,由于默認的初始庫所含元件并不全面,所以需要用到自己創(chuàng)建的庫或從其他地方下載的庫,單擊【Libraries】按鈕,然后在彈出的對話框中單擊【添加庫】按鈕,即可從計算機文件夾中進行庫的選擇與添加,如圖所示。最小系統(tǒng)原理圖繪制01添加元件添加電源接口。單擊【庫...】按鈕,在彈出的對話框中選擇【MiscellaneousConnectors】,從下拉菜單中選擇(Header2】,Header2為電源接口的標簽,這時可看到電源接口的模型圖,鼠標左擊【Header2】并按住不動即可將此元件拖曳到原理圖工作空間中。通過左擊拖曳即可隨意調(diào)整元件的位置,按空格鍵可以進行元件的旋轉(zhuǎn)。另外,鼠標左擊元件的同時,按鍵盤上的X鍵可沿X軸鏡像該元件,按鍵盤上的Y鍵可沿Y軸鏡像該元件。最小系統(tǒng)原理圖繪制01添加元件添加電源接口。庫列表中第二個框中有個*號,可通過更改*號在庫中快速搜索到需要的元件。有的讀者可能會發(fā)現(xiàn)右側(cè)沒有【庫...】按鈕,這時需要選擇最上方菜單欄中的【設計】→【瀏覽庫】,然后在界面的右側(cè)就會出現(xiàn)【庫..】按鈕了。元件的位置擺好后,雙擊此元件,彈出元件參數(shù)設置對話框,一般我們只是對其進行【Designator】即標簽代號的更改。例如,我們在Designator處將代號P?改名為Dianyuan,單擊【OK】按鈕完成。最小系統(tǒng)原理圖繪制01添加元件添加STC89C51單片機。【MiscellaneousDevices】和【MiscellaneousConnectors】這兩個庫中并沒有單片機元件,需要自己在Schlib1.SchLib元件庫文件中繪制。如果用戶有單片機元件的庫,則直接添加庫即可。最小系統(tǒng)原理圖繪制01制作元件庫雙擊左側(cè)工程信息欄的Schlib1.SchLib元件庫文件,工作空間切換到繪制元件界面,如圖所示。最小系統(tǒng)原理圖繪制01制作元件庫選擇【工具】→【重新命名器件】,彈出重命名對話框,將新元件重命名為STC89C51,單擊【確定】按鈕。選擇【放置】→【矩形】,此時將鼠標指針移到工作空間,即可看到有一個矩形吸附在鼠標指針上,找好位置后,鼠標左擊放置矩形,右擊取消這一狀態(tài)。放置好矩形后,可使用鼠標左擊選中矩形,拖曳其邊緣進行高度調(diào)整和寬度調(diào)整。另外,雙擊矩形,可調(diào)整其屬性,如顏色、寬度、位置等。選擇工程信息欄右下角的【SCHLibrary】,結(jié)果如圖所示。最小系統(tǒng)原理圖繪制01制作元件庫選擇【放置】→【引腳】,為元件添加引腳。引腳放置在矩形上之前按下Tab鍵即可修改引腳的屬性,另外,引腳放置在矩形上后雙擊引腳也可修改引腳的屬性。我們將第一個引腳的【顯示名字】修改為P1.0,【標識】改為1,其他參數(shù)為默認值,然后單擊【確定】按鈕,如圖4-11所示。顯示名字為對引腳功能的注釋,最好按標準起名;引腳標識為引腳的序號,不能隨便寫,要與PCB上的封裝對應。將引腳移動到矩形左上角,鼠標左擊放置。然后鼠標左擊選中矩形,按鍵盤上的空格鍵進行引腳方向的調(diào)整,一定要將引腳標識放置在矩形外面,引腳顯示名字放置在矩形內(nèi)部,如圖所示。否則,生成PCB時,無法與封裝對應。最小系統(tǒng)原理圖繪制01制作元件庫接著選擇【放置】→【引腳】,序號會自動遞增,只需修改引腳名稱,依次添加單片機其他引腳。繪制好的STC89C51元件庫如圖所示。單擊界面上方菜單欄的保存按鈕日,保存文件和工程。單擊界面右側(cè)的【庫...】按鈕,從下拉菜單中選擇Schlib1.SchLib元件庫,即可看到里面含有單片機元件STC89C51,如圖所示。最小系統(tǒng)原理圖繪制01原理圖繪制完成后,我們要對其進行編譯,檢查錯誤。鼠標右擊原理圖文件,選擇【CompileDocumentSheet1.SchDoc】,開始對文件進行編譯,查看編譯信息選擇右下角【System】→【Messages】,如圖所示。最小系統(tǒng)原理圖繪制01系統(tǒng)對原理圖編譯的結(jié)果如圖所示。從編譯結(jié)果中可以看出,信息顯示為“Compilesuccessful,noerrorsfounds”,這說明原理圖編譯成功,無錯誤,下一步就可以進行PCB的設計了。02最小系統(tǒng)PCB設計最小系統(tǒng)PCB設計02雙擊打開自建的封裝庫【PcbLib1.PcbLib】,其初始化界面如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊工程信息欄下方的【PCBLibrary】,切換到PCBLibrary信息欄,在信息欄空白處右擊,在列表中選擇【元件向?qū)А浚鐖D所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02然后單擊【下一步】按鈕,彈出器件圖案對話框。由于我們要創(chuàng)建的是PDIP封裝形式的51單片機,所以在器件圖案中選擇【DualIn-linePackages(DIP)】,即DIP形式的模型,下面的選擇單位為【Imperial(mil),如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【下一步】按鈕,進入焊盤尺寸編輯對話框。經(jīng)查閱STC官網(wǎng)的STC89C51參考手冊,得知其焊盤的孔徑為21mil(實際設計時可比手冊值稍大,以便于安裝),外徑為50mil,如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【下一步】按鈕,進入焊盤間距編輯對話框。經(jīng)查閱STC官網(wǎng)的STC89C51參考手冊,得知它的焊盤縱向間距即同列的相鄰兩引腳間距為100mil,橫向間距即兩列引腳的間距為600mil,如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【下一步】按鈕,進入外框?qū)挾染庉媽υ捒颉DJ外框?qū)挾葹?0mil,如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【下一步】按鈕,編輯DP名稱為C51,如圖所示。單擊【下一步】按鈕,在彈出對話框中單擊【完成】按鈕。繪制STC89C51的封裝最小系統(tǒng)PCB設計02STC89C51的封裝已經(jīng)創(chuàng)建完成,在左側(cè)PCBLibrary信息欄中可以看到多了一個元件,名稱為C51,焊盤為40,右側(cè)工作空間可看到其封裝,如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02雙擊打開原理圖文件【Sheet1.SchDoc】,找到STC89C51單片機,雙擊單片機,彈出屬性設置對話框,單擊【Add...】按鈕,在彈出的對話框中選擇【Footprint》,如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【確定】按鈕,彈出PCB模型選擇對話框,單擊名稱后面的【瀏覽】按鈕,從彈出的對話框中選擇【C51】,如圖所示。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【確定】按鈕后,回到如圖所示對話框,封裝模型中的名字為我們選擇的C51,描述為空,我們可以對其添加文字用于說明模型的作用,其他參數(shù)不更改。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【確定】按鈕后,又回到了單片機屬性設置對話框,這時我們可以發(fā)現(xiàn),在右下方框中已經(jīng)添加了C51模型,如圖所示,單擊【OK】按鈕完成。繪制STC89C51的封裝最小系統(tǒng)PCB設計02單擊【確定】按鈕后,又回到了單片機屬性設置對話框,這時我們可以發(fā)現(xiàn),在右下方框中已經(jīng)添加了C51模型,如圖所示,單擊【OK】按鈕完成。繪制STC89C51的封裝保存原理圖,再次對其進行編譯,檢查錯誤。編譯信息為“Compilesuccessful,noerrorsfounds”,則表示編譯成功,無錯誤。最小系統(tǒng)PCB設計02首先新建一個PCB文件。與建立原理圖類似,右擊此工程,選擇【AddNewtoProject】→【PCB,即可建立一個新的PCB文件。生成PCB然后單擊保存按鈕或使用快捷鍵【Ctr+S》,彈出文件保存對話框,可以修改文件名稱,但不可以修改文件后綴,我們命名此PCB文件為PCB1.PcbDoc。然后右擊工程【PCB_Project1.PrjPcb】,選擇【SaveProject】。最小系統(tǒng)PCB設計02雙擊PCB文件【PCB1.PcbDoc】,PCB初始化界面如圖所示。生成PCB最小系統(tǒng)PCB設計02選擇菜單欄中的【設計】→【UpdateSchematicsinPCB_Project1.PrjPcb】,在彈出的對話框中單擊【Yes】按鈕,打開如圖所示對話框。生成PCB最小系統(tǒng)PCB設計02選擇菜單欄中的【設計】+【ImportChangesFromPCB_Project1.PrjPcb】,彈出如圖所示對話框。生成PCB最小系統(tǒng)PCB設計02至此,可以看到原理圖中的所有元件都被一個陰影層包圍,如圖所示。單擊陰影層,按下鍵盤上的Delete鍵將陰影刪除,生成PCB最小系統(tǒng)PCB設計02此時的所有元件均在工作空間外,用鼠標將所有元件拖曳到PCB工作空間中,然后雙擊元件,即可進入元件參數(shù)調(diào)整界面,這里主要是對元件及其標識進行旋轉(zhuǎn),修改其旋轉(zhuǎn)角度,如圖所示。生成PCB最小系統(tǒng)PCB設計02調(diào)整好元件的位置及旋轉(zhuǎn)角度的PCB如圖所示。生成PCB最小系統(tǒng)PCB設計02然后,需要為PCB設置一個邊框,限制其尺寸。選擇下方布線層的【Keep-OutLayer】即禁止布線層,然后選擇菜單欄中的【放置】→【走線】,此時鼠標指針在PCB工作空間中的狀態(tài)變?yōu)橐粋€十字線,每單擊一次則可以固定一個點,我們繪制一個矩形框,如圖所示。生成PCB最小系統(tǒng)PCB設計02在PCB界面下選擇菜單欄中的【設計】→【規(guī)則】,我們只設置電氣規(guī)則【Electrical】和布線規(guī)則【Routing】。設置布線電氣特性首先設置電氣規(guī)則,選擇【Electrical】一【Clearance】-→【Clearance】,將最小間隔設為20mil,即導線間的最小距離為20mil,超出則會出現(xiàn)綠色線警告,如圖所示。最小系統(tǒng)PCB設計02設置布線電氣特性然后設置布線規(guī)則,選擇【Routing】→【W(wǎng)idth】→【W(wǎng)idth】,將線寬設置為20mil,如圖所示。最小系統(tǒng)PCB設計02設置布線電氣特性線寬設置為40mil,如圖所示。最小系統(tǒng)PCB設計02設置布線電氣特性最后,選擇【Routing】→【Placement】→【ComponentClearance】-【ComponentClearance】,將元件的最小水平間距和最小垂直間距均設置為20mil,如圖所示。最小系統(tǒng)PCB設計02自動布線在PCB界面下選擇菜單欄中的【自動布線】→【全部】,彈出如圖所示對話框。直接單擊【RouteAll】按鈕,開始自動布線。最小系統(tǒng)PCB設計02自動布線自動布線后的PCB如圖所示。從圖中可看出,自動布線的走線較亂,不夠美觀。這就是自動布線的特點:布線速度快,但走線較亂,原理圖正確則PCB正確。最小系統(tǒng)PCB設計02手動布線首先取消自動布線,選擇菜單欄中的【工具】→【取消布線】→【全部】。然后選擇【TopLayer】或【BottomLayer】,用于不同層面的布線。這里正常布線時選擇【BottomLayer】層即藍色線,單擊交叉式布線連接按鈕眇進行手動布線,手動布線的PCB如圖所示。最小系統(tǒng)PCB設計02手動布線繪制完成后,進行設計規(guī)則檢測,選擇菜單欄中的【工具】→【設計規(guī)則檢測》,彈出對話框,如圖所示。最小系統(tǒng)PCB設計02手動布線單擊【運行DRC】按鈕,檢測結(jié)果如圖所示。檢測結(jié)果中含有不合格之處,不合格信息為SilkToSolderMask,即絲印與焊盤間距太小,這個問題可以忽略,最小系統(tǒng)PCB設計完成。值得說明的是,這里最小系統(tǒng)PCB的設計僅考慮完成其功能部分,重點介紹了設計流程。實際上PCB設計是電子系統(tǒng)設計中的重要環(huán)節(jié),內(nèi)容眾多,進一步的設計要求可參考相關資料。03軟件平臺Keil的使用軟件平臺Keil的使用03KeiluVision5的下載與安裝首先打開Keil官網(wǎng),從【Download】→【ProductDownloads】中選擇C51,填寫注冊信息并提交后,頁面中會出現(xiàn)一個C51的下載鏈接,本書下載的是C51V960A.EXE,將此文件下載到計算機中。下載完畢后,計算機中會有一個C51V960a.EXE的安裝文件,雙擊此安裝文件,在彈出界面中單擊【Next】按鈕,進入軟件協(xié)議界面,勾選【IagreetoallthetermsoftheprecedingLicenseAgreement】復選框,如圖所示。軟件平臺Keil的使用03KeiluVision5的下載與安裝單擊【Next】按鈕,進入軟件安裝路徑選擇界面,如圖所示。軟件平臺Keil的使用03KeiluVision5的下載與安裝單擊【Next】按鈕,進入用戶信息填寫界面,如圖所示。軟件平臺Keil的使用03KeiluVision5的下載與安裝繼續(xù)單擊【Next】按鈕,軟件開始安裝,如圖所示。軟件平臺Keil的使用03KeiluVision5的下載與安裝軟件安裝完成后,進入如圖所示界面,取消【ShowReleaseNotes】與【Addexampleprojectstotherecentlyusedprojectlist】復選框的選中狀態(tài),單擊【Finish】按鈕完成KeiluVision5的安裝。軟件平臺Keil的使用03建立工程KeiluVision5集成環(huán)境初始化界面分為6部分。標題欄:顯示工程的名稱與所在位置。菜單欄:主要功能為文件的建立、保存、編輯,工程的建立、調(diào)試,窗口的排列等。工具欄:主要功能為包含文件的建立與保存,操作的撤銷與恢復,編譯調(diào)試,仿真,輸出HEX文件等快捷按鈕。工程管理窗口:顯示工程所含有的文件信息,如.c和.h文件等。工作窗口:進行程序代碼的編寫。編譯信息窗口:對程序進行編譯后,在此處顯示錯誤與警告信息。軟件平臺Keil的使用03建立工程建立新工程選擇菜單欄中的【Project】→【NewuVisionProject】,彈出工程命名與保存對話框,如圖所示。因為一個工程中含有很多小文件,所以通常將一個工程保存到一個獨立的文件夾下。在此給工程起名為test,文件的保存類型為默認的.uvproj即可,單擊【保存】按鈕。軟件平臺Keil的使用03建立工程選擇器件保存后彈出微控制器(單片機)選擇對話框,選擇【Microchip】下的【AT89C51】。這里需要注意,Keil軟件中沒有提供STC系列單片機的微控制器,雖然我們使用的是宏晶公司的STC系列單片機,但這里選擇的是Atmel公司的AT單片機,不管哪個品牌的單片機,只要是以8051為核心的51單片機,系統(tǒng)就能夠兼容。從右邊的【Description】中可看到對所選器件結(jié)構的描述,單擊【OK】按鈕。軟件平臺Keil的使用03建立工程新建源文件現(xiàn)在已經(jīng)創(chuàng)建好了一個空的工程,源代碼組【SourceGroup1】中沒有任何源程序文件,接下來需要給工程新建源文件。選擇菜單欄中的【File】→【New】或單擊工具欄的新建文件按鈕,工作空間中出現(xiàn)了一個名為【Text1】的文本文件,如圖所示。軟件平臺Keil的使用03建立工程新建源文件單擊工具欄的保存按鈕日,彈出Textl文件保存對話框,將其命名為【test.c】,這里的命名我們給其加了后綴.c,表明它是一個C程序文件,程序的代碼將在這里編寫,如圖所示,單擊【保存】按鈕。注意這里的test.c文件與test.uvproj工程同屬一個文件夾下。軟件平臺Keil的使用03建立工程給工程添加C文件在工程管理窗口中展開Project,右擊【SourceGroup1】,在彈出的快捷菜單中選擇【AddExistingFilestoGroup'SourceGroup1'】,如圖所示。軟件平臺Keil的使用03建立工程給工程添加C文件然后彈出如圖所示對話框,在文件中找到需要添加的【test.c】,單擊【Add】按鈕即可將test.c文件添加到SourceGroup1中,然后單擊【Close】按鈕關閉這個對話框。軟件平臺Keil的使用03建立工程給工程添加C文件此時我們創(chuàng)建好了一個可編寫C程序的工程,如圖所示。從標題欄中可看到此工程的位置信息。單擊工程管理窗口中的“+”號可將工程展開,能夠看到SourceGroup1文件夾下包含了子文件test.c。軟件平臺Keil的使用03程序編譯與測試在KeilC51環(huán)境下,工程建立好后,需要在C源文件中添加程序代碼,然后對C源文件進行編譯、鏈接與調(diào)試,生成可執(zhí)行文件.hex。使用到的主要按鈕如下。編譯按鈕,編譯當前改動的源文件,檢查語法錯誤,但并不能生成.hex可執(zhí)行文件。鏈接按鈕,只編譯工程中上次修改的文件及其他依賴于這些修改過的文件的模塊,并對當前編譯的文件進行鏈接,用于生成.hex文件。謚按鈕含有編譯與鏈接的功能。重新鏈接按鈕,編譯鏈接當前工程中的所有文件,用于生成.hex文件。設置工程按鈕。調(diào)試按鈕,用于軟件仿真調(diào)試。軟件平臺Keil的使用03程序編譯與測試程序編譯雙擊【test.c】源文件,在工作窗口中編寫程序,編寫完成后單擊工具欄保存按鈕顯,然后單擊編譯按鈕多或選擇【Project】-【Translate】,,對當前文件進行編譯,在下方的編譯信息窗口中即可看到編譯結(jié)果信息,如圖所示。軟件平臺Keil的使用03程序編譯與測試程序編譯但程序的編寫往往是一個不斷改進的過程,有時會出現(xiàn)錯誤信息,如圖所示。一般情況下錯誤必須更改,一些不影響功能的警告可以忽略。軟件平臺Keil的使用03程序編譯與測試程序鏈接編譯無誤后,單擊工具欄中的鏈接按鈕臼或選擇【Project】→【BuildTarget】,對編譯過的文件進行鏈接,在編譯信息窗口中即可看到鏈接信息,如圖所示。鏈接按鈕臼包括編譯與鏈接兩個功能,可直接單擊此按鈕代替編譯按鈕多。軟件平臺Keil的使用03程序編譯與測試程序鏈接程序鏈接成功后,如果不進行仿真調(diào)試,則可以生成.hex文件。單擊設置工程按鈕器,彈出設置工程對話框,選擇【Output】選項卡,勾選【CreateHEXFile】復選框,如圖所示,單擊【OK】按鈕。軟件平臺Keil的使用03程序編譯與測試程序鏈接然后單擊鏈接按鈕臼再次進行工程的編譯鏈接,則在編譯信息窗口中看到生成HEX文件信息,如圖所示。注意,設置工程后一定要單擊鏈接按鈕出,否則將不會生成HEX文件。軟件平臺Keil的使用03程序編譯與測試程序調(diào)試程序編譯與鏈接無錯誤后,即可進行軟件調(diào)試與仿真。單擊工具欄的調(diào)試按鈕@或選擇【Debug】→【Start/StopDebugSession】,進入軟件調(diào)試狀態(tài),如圖所示。軟件平臺Keil的使用03程序編譯與測試程序調(diào)試在軟件調(diào)試狀態(tài)下,可以設置斷點、單步、全速、進入函數(shù)內(nèi)部運行程序,查看變量變化過程、模擬IO口電平狀態(tài)變化、查看程序代碼執(zhí)行時間等。用到的按鈕主要為工具欄中新增的一些調(diào)試按鈕,如圖所示。04單片機應用I/O操作單片機應用I/O操作0451單片機I/O口原理介紹51單片機內(nèi)部有4個并行的IO口,分別為PO(P0.0~P0.7)、P1(P1.0~P1.7)、P2(P2.0~P2.7)、P3(P3.0~P3.7),共32個引腳。I/O口是單片機內(nèi)部與外設(外部設備)間交換信息的主要通道,可以作為輸出口,直接連接輸出設備(如發(fā)光二極管、數(shù)碼管、顯示器等),也可以作為輸入口,直接連接輸入設備(如按鍵)。單片機應用I/O操作0451單片機I/O口原理介紹單片機與IO外設通信的關系如圖所示。P0~P3口的結(jié)構基本相同但又有差別,我們先講解一下共同之處:數(shù)據(jù)鎖存器(即專用寄存器PO~P3)、輸入緩沖器和輸出驅(qū)動電路。單片機應用I/O操作0451單片機I/O口原理介紹數(shù)據(jù)鎖存器——D觸發(fā)器。數(shù)據(jù)鎖存器的圖形符號如圖所示。對于D觸發(fā)器來說,當D輸入端有一個輸入信號時,如果這時控制端CP沒有信號(也就是時序脈沖沒有到來),那么輸入端D的數(shù)據(jù)是無法傳輸?shù)捷敵龆薗及反相輸出端Q的。如果控制端CP的時序脈沖到了,那么輸入端D的數(shù)據(jù)就會傳輸?shù)絈及Q端。數(shù)據(jù)傳輸過來后,當CP端的時序信號消失了,輸出端還會保持著上次輸入端D的數(shù)據(jù)(即把上次的數(shù)據(jù)鎖存起來了)。如果下一個時序控制脈沖信號來了,那么D端的數(shù)據(jù)才再次傳送到Q端,從而改變Q端的狀態(tài)。單片機應用I/O操作0451單片機I/O口原理介紹即當CP=0時,Q保持不變;當CP由0變1時,On+1=Dn。D觸發(fā)器狀態(tài)表如表所示。所以D觸發(fā)器具有接收并記憶信號的功能。單片機應用I/O操作0451單片機I/O口原理介紹輸入緩沖器——受控三態(tài)門。輸入緩沖器的圖形符號如圖所示。三態(tài)門有三個狀態(tài),即在其輸出端可以是高電平、低電平,同時還有一種就是高阻態(tài)。控制端EN=1時,Y=A;控制端EN=0時,Y=Z。受控三態(tài)門狀態(tài)表如表所示。受控三態(tài)門具有對數(shù)據(jù)傳送起協(xié)調(diào)和緩沖作用的功能。單片機應用I/O操作0451單片機I/O口原理介紹輸出驅(qū)動電路——場效應管。輸出驅(qū)動電路的狀態(tài)表如表所示。輸出驅(qū)動電路具有反相器的作用。單片機應用I/O操作0451單片機I/O口原理介紹51單片機4個IO口的工作原理如下。P0口其中一位的結(jié)構圖如圖所示,它由一個鎖存器、兩個三態(tài)輸入緩沖器和一個輸出驅(qū)動電路及多路開關組成。PO口由8個這樣的電路組成,從圖中可以看出,PO口既可以作為通用I/O口用,也可以作為地址/數(shù)據(jù)總線用。PO口單片機應用I/O操作0451單片機I/O口原理介紹PO口作為通用IO口時工作原理如下。PO口作為輸出口當PO口作為輸出口使用時,內(nèi)部總線將數(shù)據(jù)送入鎖存器,CPU發(fā)出控制信號“0”封鎖“與”門,將輸出上拉場效應管VT1截止,同時多路開關MUX打向下面,把鎖存器與輸出驅(qū)動場效應管VT2柵極接通。單片機應用I/O操作0451單片機I/O口原理介紹PO口作為通用IO口時工作原理如下。PO口作為輸入口在讀輸入數(shù)據(jù)時,由于輸出驅(qū)動電路并接在PO.X引腳上,如果VT2導通,就會將引腳輸入的高電平拉成低電平,產(chǎn)生誤讀,所以在端口進行輸入操作前,應先向端口鎖存器寫“1”,使VT2截止。單片機應用I/O操作0451單片機I/O口原理介紹PO口作為通用IO口時工作原理如下。PO口作為輸入口當PO口作為輸入口使用時,有兩種讀入方式:讀鎖存器和讀引腳。當CPU發(fā)出讀鎖存器指令時,鎖存器的狀態(tài)由Q端經(jīng)上方的三態(tài)輸入緩沖器1進入內(nèi)部總線;當CPU發(fā)出讀引腳指令時,鎖存器的輸出狀態(tài)Q=1、=0,場效應管VT2截止,引腳的狀態(tài)由三態(tài)輸入緩沖器2進入內(nèi)部總線。單片機應用I/O操作0451單片機I/O口原理介紹PO口作為地址/數(shù)據(jù)總線時工作原理如下。P0口作為輸入口在PO口連接外部存儲器時,CPU使控制端保持高電平,此時與門打開,控制權交給了地址/數(shù)據(jù)端,同時控制端的高電平使多路開關MUX打向上面,接通非門,VT2始終保持截止狀態(tài),VT1的狀態(tài)取決于地址/數(shù)據(jù)端。此時PO口工作在地址/數(shù)據(jù)分時復用方式:若地址/數(shù)據(jù)端為1,則VT1導通,PO.X引腳輸出高電平;若地址/數(shù)據(jù)端為0,則VT1截止,P0.X引腳輸出低電平。即PO.X引腳的電平始終與地址/數(shù)據(jù)端電平相同,這樣就將地址/數(shù)據(jù)的信號輸出了。單片機應用I/O操作0451單片機I/O口原理介紹P1口P1口其中一位的結(jié)構圖如圖所示,它由一個鎖存器、兩個三態(tài)輸入緩沖器和一個輸出驅(qū)動電路組成。P1口由8個這樣的電路組成,從圖中可以看出,P1口只能作為通用I/O口用。單片機應用I/O操作0451單片機I/O口原理介紹P1口P1口工作原理如下。作為輸出口。P1口工作在輸出方式時,數(shù)據(jù)經(jīng)內(nèi)部總線送入鎖存器,數(shù)據(jù)為1時,鎖存器輸出端Q為1,Q端為0,VT截止,P1.X引腳輸出高電平;數(shù)據(jù)為0時,鎖存器輸出端Q為0,Q端為1,VT導通,P1.X引腳輸出低電平。單片機應用I/O操作0451單片機I/O口原理介紹P1口P1口工作原理如下。作為輸入口。P1口工作在輸入方式時,有兩種讀入方式:讀鎖存器和讀引腳。當CPU發(fā)出讀鎖存器指令時,鎖存器的狀態(tài)由Q端經(jīng)上方的三態(tài)輸入緩沖器1進入內(nèi)部總線;當CPU發(fā)出讀引腳指令時,先向鎖存器寫“1”,鎖存器的輸出狀態(tài)@=0,場效應管VT截止,引腳的狀態(tài)由三態(tài)輸入緩沖器2進入內(nèi)部總線。單片機應用I/O操作0451單片機I/O口原理介紹P2口P2口作為通用I/O口時工作原理如下。作為輸出口。在控制信號的作用下,多路開關與鎖存器的輸出端Q接通,數(shù)據(jù)經(jīng)內(nèi)部總線送入鎖存器,當CPU輸出數(shù)據(jù)為1時,鎖存器輸出端Q為1,經(jīng)過非門,輸出到VT柵極上為0,VT截止,P2.X輸出為高電平;當CPU輸出數(shù)據(jù)為0時,鎖存器輸出端Q為0,經(jīng)過非門,輸出到VT柵極上為1,VT導通,P2.X輸出為低電平。單片機應用I/O操作0451單片機I/O口原理介紹P2口P2口作為通用I/O口時工作原理如下。作為輸入口。P2口工作在輸入方式時,有兩種讀入方式:讀鎖存器和讀引腳。當CPU發(fā)出讀鎖存器指令時,鎖存器的狀態(tài)由Q端經(jīng)上方的三態(tài)輸入緩沖器1進入內(nèi)部總線;當CPU發(fā)出讀引腳指令時,先向鎖存器寫“1”,鎖存器的輸出狀態(tài)=1,經(jīng)過非門后變?yōu)?,場效應管VT截止,P2.X引腳的電平由三態(tài)輸入緩沖器2進入內(nèi)部總線。單片機應用I/O操作0451單片機I/O口原理介紹P2口P2口作為地址總線口時工作原理如下。在控制信號的作用下,多路開關與地址線接通,此時輸出外部存儲器的高8位地址。當?shù)刂肪€信號輸出為1時,經(jīng)過非門后輸出變?yōu)?,VT截止,P2.X輸出高電平;當?shù)刂肪€信號輸出為0時,經(jīng)過非門后輸出變?yōu)?,VT導通,P2.X輸出低電平。即P2.X引腳的電平始終與地址端電平相同,這樣就將地址端的信號輸出了。單片機應用I/O操作0451單片機I/O口原理介紹P3口P3口其中一位的結(jié)構圖如圖所示,它由一個鎖存器、三個三態(tài)輸入緩沖器和一個輸出驅(qū)動電路組成。P3口由8個這樣的電路組成,P3口相比其他I/O口增加了引腳的第二輸入/輸出功能。單片機應用I/O操作0451單片機I/O口原理介紹P3口P3口用作第一功能——通用1/O口的工作原理如下。當P3口用作第一功能輸出時,第二功能輸出端應保持高電平,與非門為開啟狀態(tài)。當CPU通過內(nèi)部總線向鎖存器輸出1時,鎖存器輸出端Q為1,經(jīng)過與非門,輸出變?yōu)?,VT截止,P3.X引腳輸出高電平;當CPU通過內(nèi)部總線向鎖存器輸出0時,鎖存器輸出端Q為0,經(jīng)過與非門,輸出變?yōu)?,VT導通,P3.X引腳輸出低電平。單片機應用I/O操作0451單片機I/O口原理介紹P3口P3口用作第一功能——通用1/O口的工作原理如下。當P3口用作第一功能輸入時,該位的鎖存器輸出端Q和第二輸出功能端均需要置“1",經(jīng)過與非門后輸出變?yōu)?,保證VT一直處于截止狀態(tài),P3.X引腳的信息通過三態(tài)輸入緩沖器3和2進入內(nèi)部總線,完成讀引腳操作。當P3口用作第一功能輸入時,CPU發(fā)出讀鎖存器指令,鎖存器Q端信息通過三態(tài)輸入緩沖器1進入內(nèi)部總線,完成讀鎖存器操作。單片機應用I/O操作0451單片機I/O口原理介紹P3口P3口用作第二輸入/輸出功能的工作原理如下。當選擇第二輸出功能時,該位的鎖存器輸出端Q需要置“1”,與非門為開啟狀態(tài)。當?shù)诙敵鰹?時,經(jīng)過與非門,輸出變?yōu)?,VT截止,P3.X引腳輸出高電平;當?shù)诙敵鰹?時,經(jīng)過與非門,輸出變?yōu)?,VT導通,P3.X引腳輸出為低電平。當選擇第二輸入功能時,該位的鎖存器輸出端Q和第二輸出功能端均需要置“1”,此時經(jīng)過與非門后,輸出信號為0,保證VT一直處于截止狀態(tài),P3.X引腳的信息經(jīng)過三態(tài)輸入緩沖器3得到。單片機應用I/O操作04端口輸入與輸出程序單片機的I/O口PO~P3是單片機與外設進行信息交換的橋梁,一方面單片機可向IO口發(fā)出命令來控制外設,另一方面可以通過讀取IO口的狀態(tài)來了解外設的狀態(tài)。下面通過一個例子來了解單片機端口的輸入與輸出程序。如圖所示,按鍵K1連接最小系統(tǒng)的P1.5引腳,LED連接P2.0引腳,編程實現(xiàn)按下按鍵K1,LED的狀態(tài)一直取反,即亮滅閃爍。單片機應用I/O操作04端口輸入與輸出程序程序代碼如下。單片機應用I/O操作04最小系統(tǒng)的軟件驗證首先打開KeiluVision5,建立好工程,將程序代碼寫入工作空間。單擊工具欄中的設置工程參數(shù)按鈕惑,進行參數(shù)設置,單擊【Target】選項卡,將【Xtal(MHz)】晶振中的值改為11.0592MHz,如圖所示。單片機應用I/O操作04最小系統(tǒng)的軟件驗證然后單擊【Debug】選項卡,選中【UseSimulator】單選項即軟件調(diào)試,一般默認為選中狀態(tài),如圖所示。單片機應用I/O操作04最小系統(tǒng)的軟件驗證接下來使用KeiluVision5對程序進行軟件調(diào)試。單擊工具欄中的調(diào)試按鈕R,程序調(diào)試窗口如圖所示。單片機應用I/O操作04最小系統(tǒng)的軟件驗證然后單擊工具欄的分析按鈕酈,選擇【LogicAnalyzer】,彈出如圖所示對話框,單擊左上角的【Setup】按鈕,彈出信號分析設置列表,如圖所示。單擊插入按鈕點,根據(jù)程序建立名稱為k1與led的信號,k1信號用紅色線表示,led信號用綠色線表示,其他參數(shù)不變。設置完成后單擊【Close】按鈕關閉此列表,在左下角【Command】命令窗口中可看到出現(xiàn)了k1與led,表明我們可以在命令行對k1與led進行寫入指令操作。單片機應用I/O操作04最小系統(tǒng)的硬件調(diào)試單片機的安裝單片機在其頂部位置有一個缺口,這個缺口是用來定位方向的,缺口的左上方為單片機的1號引腳,然后依次逆時針編號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工手冊培訓計劃及方案
- 員工態(tài)度與職業(yè)道德培訓
- 塔吊安拆培訓課件
- 塔吊司機指揮培訓課件
- 基金合規(guī)培訓
- 員工崗位培訓計劃
- 員工安全用電常識培訓
- 基礎設施項目培訓
- 手術病例交接制度
- 員工培訓課件思路
- 父母贈與協(xié)議書
- 供應鏈危機應對預案
- 3萬噸特高壓及以下鋼芯鋁絞線鋁包鋼芯絞線項目可行性研究報告寫作模板-拿地備案
- 砌筑工技能競賽理論考試題庫(含答案)
- 法學概論(第七版) 課件全套 谷春德 第1-7章 我國社會主義法的基本理論 - 國際法
- 音響質(zhì)量保證措施
- 安全生產(chǎn)標準化績效考核評定報告
- 工裝夾具驗收單
- 循環(huán)水冷卻系統(tǒng)安全操作及保養(yǎng)規(guī)程
- GB/T 20946-2007起重用短環(huán)鏈驗收總則
- GB/T 1040.3-2006塑料拉伸性能的測定第3部分:薄膜和薄片的試驗條件
評論
0/150
提交評論