單片機應用技術項目教程(C語言版)(第3版)課件 項目一 單片機最小系統(tǒng)設計_第1頁
單片機應用技術項目教程(C語言版)(第3版)課件 項目一 單片機最小系統(tǒng)設計_第2頁
單片機應用技術項目教程(C語言版)(第3版)課件 項目一 單片機最小系統(tǒng)設計_第3頁
單片機應用技術項目教程(C語言版)(第3版)課件 項目一 單片機最小系統(tǒng)設計_第4頁
單片機應用技術項目教程(C語言版)(第3版)課件 項目一 單片機最小系統(tǒng)設計_第5頁
已閱讀5頁,還剩117頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目一單片機最小系統(tǒng)設計任務1.1

搭建單片機最小系統(tǒng)“十四五”職業(yè)教育國家規(guī)劃教材單片機應用技術項目教程/learn/NTVU-1206695819?tid=1474236512#/learn/content項目導讀個人計算機僅有一個主機是無法工作的,需要連接電源以及必要的顯示裝置(顯示器)、輸入裝置(鍵盤、鼠標)等。單片機同樣如此,要讓它正常工作,執(zhí)行程序并完成控制功能,至少需要在小小的芯片外部連接什么呢?也就是說,單片機最小系統(tǒng)是什么樣的呢?學海領航

[中國心,中國芯]梁駿:自主研發(fā)創(chuàng)新二十載只為我的中國“芯”任務內容搭建一個單片機最小系統(tǒng),外接一個發(fā)光二極管(LED),要求系統(tǒng)上電后,發(fā)光二極管被點亮。/previewIndex/1060481學習目標素養(yǎng)目標:培養(yǎng)學生堅定理想信念,以及敢于擔當、不懈奮斗和自強不息的精神知識目標:1.了解什么是單片機2.掌握51單片機的結構與引腳技能目標:1.學會Proteus仿真軟件的使用2.學會單片機最小系統(tǒng)電路設計知識點知識1

單片機概述知識補充計算機中的數(shù)(選學)知識2

STC89C52單片機的引腳知識補充STC15W4K32S4系列單片機引腳(選學)知識3

單片機最小系統(tǒng)知識4

單片機硬件仿真開發(fā)工具Proteus電子計算機高速發(fā)展到今天,通??煞譃榫扌蜋C、大型機、中型機、小型機和微型機五類。它們在系統(tǒng)結構和基本工作原理方面并無本質的區(qū)別,只是在體積、性能和應用領域方面有所不同。其中微型計算機以其體積小、重量輕、功耗低、功能強、價格低、可靠性強的優(yōu)點而得到廣泛應用,其中單片機就是微型計算機的一種。知識1單片機概述/previewIndex/1060480

知識1單片機概述1.單片機的應用(2)醫(yī)用設備領域(3)工業(yè)控制領域(4)智能儀器儀表領域(1)家用電器領域(5)計算機網(wǎng)絡通信領域2.基本概念(1)微處理器MP(MicroProcessor)就是傳統(tǒng)計算機的CPU,是集成在同一塊芯片上的具有運算和邏輯控制功能的中央處理器,簡稱MP,它是構成微型計算機系統(tǒng)的核心部件。知識1單片機概述(2)微型計算機MC(MicroComputer)以微處理器為核心,再配上存儲器、I/O接口和中斷系統(tǒng)等構成的整體,稱為微型計算機。它們可集中裝在同一塊或數(shù)塊印刷電路板上,一般不包括外設和軟件。知識1單片機概述(3)微型計算機系統(tǒng)MCS(MicroComputerSystem)指以微型計算機為核心,配上外圍設備、電源和軟件等,構成能獨立工作的完整計算機系統(tǒng)。知識1單片機概述(4)

單片機(SingleChipMicrocomputer)單片機是將微處理器、存儲器、I/O口和中斷系統(tǒng)集成在同一塊芯片上,具有完整功能的微型計算機。知識1單片機概述3.單片機的發(fā)展

第一階段(1974—1976年):起步階

特點:制造工藝落后,集成度較低。

代表產(chǎn)品:仙童公司的F8系列、英特爾公司的3870系列。知識1單片機概述第二階段(1977—1978年):特點:這一階段生產(chǎn)的單片機已是單塊芯片,但性能低、品種少、尋址范圍有限、應用范圍也不廣。代表產(chǎn)品:英特爾公司的MCS-48系列單片機。知識1單片機概述第三階段(1979—1982年):8位單片機的成熟階段。

特點:存儲容量大、尋址范圍廣,而且中斷源、并行I/O口、定時器/計數(shù)器的個數(shù)都有了不同程度的增加,同時它還集成了全雙工串行通信接口電路,在指令系統(tǒng)方面普遍增設了乘除和比較指令。代表產(chǎn)品:MCS-51系列、MC6801系列等。知識1單片機概述第四階段(1983年以后):特點:出現(xiàn)了工藝先進、集成度高、內部功能更強和運算速度更快的16位單片機,它允許用戶采用面向工業(yè)控制的專用語言,如C語言等。代表產(chǎn)品:MCS-96系列單片機、HPC16040系列單片機等。知識1單片機概述4.MCS-51單片機簡介MCS-51單片機是一種集成的電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的CPU、隨機存儲器(RAM)、只讀存儲器(ROM)、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等集成到一塊芯片上構成的小而完善的計算機系統(tǒng)。知識1單片機概述MCS-51單片機分類:根據(jù)單片機內部程序存儲器的配置不同來分:①無ROM(ROMless)型:8031。此類芯片必須外擴程序存儲器。②帶MaskROM(掩模ROM)型:8051、8052。由半導體廠家在芯片生產(chǎn)過程中通過掩模工藝將用戶程序制作到單片機的ROM中。知識1單片機概述③帶EPROM(可擦編程只讀存儲器)型:87C51、8752。此類芯片帶有透明窗口,可通過紫外線擦除單片機中EPROM的內容,然后通過專門的編程器寫入單片機,需要更新程序時可擦除后重新寫入。④帶EEPROM(電可擦編程只讀存儲器)型:89C51、89C52。該類芯片可直接通過編程器在線擦除后寫入。。知識1單片機概述

根據(jù)單片機內部存儲器的容量配置不同來分①51子系列②52子系列知識1單片機概述根據(jù)芯片的半導體制造工藝不同來分①HMOS工藝型②CHMOS工藝型這兩種器件在功能上是完全兼容的,但CHMOS器件具有低功耗的特點,其常用于低功耗的應用系統(tǒng)。知識1單片機概述5.STC系列單片機簡介

STC系列單片機是MCS-51系列單片機的派生產(chǎn)品,是一種增強型單片機。STC系列單片機具有高速、低功耗等特點,可在系統(tǒng)中編程或在應用中編程(ISP或IAP),不占用戶資源,用戶可以很方便地進行程序的擦寫操作,無需專用編程器,無需專用仿真器,可通過串口(RXD/P3.0、TXD/P3.1)直接下載用戶程序。知識1單片機概述STC系列單片機有STC89系列、STC11系列、STC12系列、STC15系列等多個系列。STC單片機均具備與傳統(tǒng)51單片機兼容的內核,目前新出品的系列單片機內部均集成了AD轉換、PWM輸出模塊、SPI接口模塊、內部存儲模塊、晶振電路等,用戶可根據(jù)系統(tǒng)需要,選擇合適的型號。具體選型參考宏晶科技官網(wǎng)。知識1單片機概述1.常用進制在計算過程中習慣于十進制計數(shù),但在計算機中,最常用的卻是二進制數(shù)。但由于二進制數(shù)書寫冗長,閱讀不便,為此在代碼設計中常用十六進制數(shù)來書寫。下表是十進制數(shù),十六進制數(shù),二進制數(shù)之間的對應關系。知識補充計算機中的數(shù)/previewIndex/1060485知識補充計算機中的數(shù)1.常用進制在匯編語言中通常在數(shù)字后面跟B(Binary)表示二進制數(shù),H(Hexadecimal)表示十六進制數(shù),D(Decimal)或無字母表示十進制數(shù)。

知識補充計算機中的數(shù)在C語言中通常規(guī)定如下:(1)十進制數(shù):用一串連續(xù)的數(shù)字來表示。如12,-1。(2)八進制數(shù):用數(shù)字0開頭。如010,-056。(3)十六進制數(shù):用數(shù)字0和字母x或X開頭。如0x5a。注意區(qū)分十進制和八進制的表示,八進制有前導0,十進制無。知識補充計算機中的數(shù)2.計算機中數(shù)的表示知識補充計算機中的數(shù)(1)位(bit)和字節(jié)(byte)“位”是計算機能夠表示的最小的數(shù)據(jù)單位,位用b表示。字節(jié)由8個二進制位組成,通常一個存儲單元中存放著1個字節(jié)的數(shù)據(jù),字節(jié)用B表示。知識補充計算機中的數(shù)(2)字(word)和字長

“字”是微處理器內部進行數(shù)據(jù)處理的基本單位,通常它也是微處理器與存儲器之間和輸入/輸出電路之間傳送數(shù)據(jù)的基本單位。字用W表示。

“字長”是指一個字所包含的二進制數(shù)的位數(shù),它是微處理器的重要指標之一,通常用數(shù)據(jù)總線的位數(shù)來決定微處理器的字長。8位微處理器的字長是8位,每一個字由一個字節(jié)組成。在字節(jié)中,最左邊的位(D7)為最高位(MSB),最右邊的位(D0)為最低位(LSB)。知識補充計算機中的數(shù)16位微處理器的字長是16位,每一個字由二個字節(jié)組成,左邊的字節(jié)是高位字節(jié),最左邊的位為最高位,右邊的字節(jié)是低位字節(jié),最右邊的位為最低位。知識補充計算機中的數(shù)3.機器數(shù)與真值知識補充計算機中的數(shù)

在計算機中,把放在寄存器、存儲器、或數(shù)據(jù)端口中的數(shù)稱為機器數(shù)。機器數(shù)所對應的值稱為真值。機器數(shù)的真值到底是多少,取決于機器數(shù)所對應的是無符號數(shù)還是有符號數(shù)以及所對應的是什么碼制(原碼、補碼等)表示的數(shù)。3.機器數(shù)與真值知識補充計算機中的數(shù)(1)無符號數(shù)在計算機中,對于一個不帶正、負號的數(shù),稱無符號數(shù)。它將字長的所有位均用于表示數(shù)值位。一個n位字長的數(shù)據(jù)可用來表示2n個正整數(shù)。例如:一個8位數(shù)據(jù)可表示的數(shù)值范圍為:

00000000B~11111111B即0~255共256個數(shù)。3.機器數(shù)與真值知識補充計算機中的數(shù)(2)帶符號數(shù)在計算機中,數(shù)的正、負號與數(shù)一起存放在寄存器或內存單元中,因此數(shù)的符號在機器中已“數(shù)碼化”了,通常規(guī)定在數(shù)的前面增設一位符號位,并規(guī)定正號用“0”表示,負號用“1”表示。知識補充計算機中的數(shù)例:設字長為8位,求N1、N2的原碼和補碼。N1=+1010101(十進制數(shù)+85)N2=-1010101(十進制數(shù)-85)解:N1和N2在計算機中原碼的表示形式為:

N1=01010101,N2=11010101

可見,只需將+號用0表示,-號用1表示即可。

N1和N2在計算機中補碼的表示形式為:

N1=01010101,N2=10101011可見:正數(shù)的原碼和補碼是一樣的。負數(shù)的補碼可通過原碼取反加1得到,符號位不變;同樣,負數(shù)的原碼可通過補碼取反加1得到。1.STC89C52單片機的結構知識2

STC89C52單片機結構與引腳

STC單片機內部包含了作為微型計算機所必需的功能部件,各功能部件通過片內單一總線連成一個整體,集成在一塊芯片上。/previewIndex/1060486

特點:(1)8051內核,集成片內振蕩器和時鐘電路。(2)8KB閃存。(3)512B內部RAM。(4)3個16位定時器/計數(shù)器。(5)通用I/O口P0~P4,32或36個I/O口線。(6)一個可編程的全雙工串口。(7)4路外部中斷。(8)2KBEEPROM。(9)12個時鐘/機器周期(12T模式)和6個時鐘/機器周期(6T模式)可以選擇,最新的D版本內部集成了MAX810專用復位電路。知識2

STC89C52單片機結構與引腳2.STC89C52單片機的引腳知識2

STC89C52單片機結構與引腳(1)I/O口引腳P0~P3四組I/O端口,共32條引腳,其主要用途如下:P0口:功能1:普通I/O口,一般需要接上拉電阻。功能2:當系統(tǒng)外接存儲器和擴展I/O口時,通常作為低8位地址/數(shù)據(jù)總線分時復用口,低8位地址由地址鎖存信號ALE下跳沿鎖存到外部地址鎖存器中,高8位地址由P2口輸出。P1口:通常作為普通I/O口,每一位都能作為可編程的輸入或輸出口線。知識2

STC89C52單片機結構與引腳P2口:功能1:作為普通I/O口使用。功能2:當系統(tǒng)外接存儲器和擴展I/O口時,又作為擴展系統(tǒng)的高8位地址總線,與P0口一起組成16位地址總線。P3口:功能1:作為普通I/O口使用。功能2:第二功能輸入/輸出,如串口通信、外部中斷、計數(shù)器等。知識2

STC89C52單片機結構與引腳(2)電源線電源線兩條:Vcc、Vss,分別接+5V電源和地。(3)外接晶振引腳外接晶振線兩條:XTAL1、XTAL2,用于外接晶體振蕩器,提供時鐘信號。(4)控制引腳

控制線共4條:復位端RST;地址鎖存允許/編程線ALE/PROG;外部程序存儲器的讀選通線PSEN;片外ROM允許訪問端/編程電源端EA/VPP。知識2

STC89C52單片機結構與引腳STC15W4K32S4系列是目前應用廣泛的單片機之一,其內部資源豐富,有LQFP44、PDIP40、LQFP48等封裝形式。

下面以PDIP40封裝為例介紹其引腳功能。除18、20引腳作為電源和地外,其余引腳均可作為普通I/O口。STC15W4K32S4單片機內部有RC時鐘電路與上電復位電路,只需接上電源就可以工作。知識補充

STC15W4K32S4系列單片機引腳

每個引腳還具有第二功能、第三功能等多重功能,如具有4個串口、10位A/D轉換器、脈沖寬度調制(PWM)等,這些將在具體應用時介紹。知識補充

STC15W4K32S4系列單片機引腳

從本質上講,單片機本身就是一個最小應用系統(tǒng)。由于晶振、開關等器件無法集成到芯片內部,這些器件又是單片機工作所必需的器件,因此,由單片機、晶振電路及由開關、電阻、電容等構成的復位電路共同構成單片機的最小應用系統(tǒng)。知識3單片機最小系統(tǒng)/previewIndex/10604841.晶振電路

STC89C52單片機內部有一個受控制的用于構成振蕩器的與非門,當在引腳XTAL1和XTAL2上外接一個由石英晶振和電容組成的并聯(lián)諧振電路作為反饋元件時,便構成一個自激振蕩器,一般選頻率值為6~24MHz,C1和C2的典型值為20~30pF。知識3單片機最小系統(tǒng)1.復位電路單片機必須外接上電復位電路。(1)上電復位

系統(tǒng)剛剛接通電源時,由于電源可能有抖動或者系統(tǒng)中有其他器件沒有進入穩(wěn)定工作狀態(tài),因此單片機需要在上電時進行復位。復位引腳上高電平必須持續(xù)10ms以上才能保證有效復位。可以采用RC電路來實現(xiàn),如圖所示。知識3單片機最小系統(tǒng)1.復位電路

(2)按鍵復位

單片機在運行期間出現(xiàn)非正常狀態(tài)則可以通過人工強制干預的方法進行復位。常用電路如圖所示,S鍵按下時,RST端經(jīng)電阻R1接通Vcc電源實現(xiàn)復位。同時,上電時即使沒有S按鍵按下,由于R2C電路對電容C充電,RST端也會出現(xiàn)一段高電平,實現(xiàn)上電復位。知識3單片機最小系統(tǒng)1.復位電路

(3)采用看門狗可將MAX813L的/MR

腳與/WDO

腳相連。RST腳接STC89C52的RST腳,WDI腳與單片機口線相連,假設用引腳P1.0。在軟件設計中,P1.0不斷輸出脈沖信號進行喂狗。若程序跑飛,P1.0不輸出脈沖,這是看門狗自動復位單片機。知識3單片機最小系統(tǒng)PROTEUS是英國LabCenterElectronics公司推出的用于仿真單片機及其外圍器件的EDA工具軟件。PROTEUS與KeilC51配合使用,可以在不需要硬件投入的情況下,完成單片機C語言應用系統(tǒng)的仿真開發(fā),從而縮短實際系統(tǒng)的研發(fā)周期,降低開發(fā)成本。知識4單片機硬件仿真開發(fā)工具Proteus/previewIndex/1060482

應用ProteusISIS軟件進行單片機硬件系統(tǒng)的設計與仿真,具體包括以下步驟:1.新建設計文件。2.選擇、放置元器件。元器件分類及名稱詳見附表B.4。3.布線。4.電路的電氣規(guī)則檢查。5.為單片機裝載HEX文件,并進行軟硬件仿真。

知識4單片機硬件仿真開發(fā)工具Proteus任務實施

電路由單片機、電源電路、復位電路、晶振電路及發(fā)光管構成。/previewIndex/10604831.新建設計文件

圖1.12建立新的設計文件執(zhí)行File→NewDesign…命令,彈出圖1.12所示的對話框,從中選擇合適的模板(通常選擇DEFAULT)。

單擊主工具欄的保存文件按鈕,在彈出的SaveISISDesignFile對話框中,選擇保存目錄,輸入新文件名稱,保存類型采用默認值。單擊保存按鈕,完成新建工作。任務實施2.對象的選擇與放置本任務的最小系統(tǒng)電路原理圖中的對象按屬性可分為兩大類:元器件(Component),終端(Terminals)。對象所屬類和子類讀者可通過元件性質查閱附表B.4得到。任務實施

ProteusISIS的元器件庫提供了大量元器件的原理圖符號,在繪制原理圖之前,必須知道每個元器件的所屬類及所屬子類,然后利用ProteusISIS提供的搜索功能可以方便地查找到所需元器件。

在ProteusISIS中元器件的所屬類共有40多種,對象所屬類和子類讀者可通過元件性質查閱附表B.4得到。任務實施從結構上看,PickDevices對話框(圖1.13)共分成3列,左側為查找條件,中間為查找結果,右側為原理圖、PCB圖預覽。圖1.13選擇元器件對話框執(zhí)行Library→PickDevice/Symbol…或單擊對象選擇窗口左上角的按鈕,都會打開PickDevices對話框。(1)元器件的選擇與放置任務實施在PickDevices對話框中,選好元器件(如AT89C52)后,其名稱就會出現(xiàn)在對象選擇窗口中,如圖1.14所示。在對象選擇窗口中單擊AT89C52,其電路原理圖出現(xiàn)在預覽窗口中(圖1.15)。此時通過方向工具欄可以改變原理圖的方向。然后將鼠標指向編輯窗口的合適位置單擊,即可把AT89C51的電路原理圖放置到編輯窗口中。圖1.14選擇元器件圖1.15預覽窗口

任務實施(2)終端的選擇與放置終端的預覽、放置方法與元器件類似。Mode工具箱中其他按鈕的操作方法又與終端按鈕類似,在此不再贅述。圖1.16終端選擇窗口

單擊Mode工具箱中的終端按鈕,ProteusISIS會在對象選擇窗口中給出所有可供選擇的終端類型,如圖1.16所示。任務實施3.對象的編輯

在放置好繪制原理圖所需的所有對象后,可以編輯對象的圖形或文本屬性。下面以電阻元件R1為例,簡要介紹對象的編輯步驟。(1)選中對象

將鼠標指向對象R1,鼠標指針由空心箭頭變成手形后,單擊即可選中對象R1。此時,對象R1高亮顯示,鼠標指針為帶有十字箭頭的手形,如圖1.17所示。任務實施圖1.17(2)移動、編輯、刪除對象

鼠標左鍵單擊選中對象并拖動,實現(xiàn)對象的移動;鼠標左鍵雙擊選中對象,實現(xiàn)對象的編輯;鍵盤delete按鍵,實現(xiàn)選中對象的刪除;通過方向工具欄按鈕實現(xiàn)對象的旋轉等。

選中對象R1后,右擊,彈出快捷菜單,如圖1.18所示。通過該快捷菜單可以移動、編輯、刪除對象R1。圖1.18編輯對象的快捷菜單任務實施

對象編輯窗口中,可實現(xiàn)元件標識編輯(R1),元件值編輯(200Ω),元件封裝編輯等。任務實施4.布線

按照連接的方式,布線可分為3種:兩個對象之間的普通連接,使用輸入、輸出終端的無線連接,多個對象之間的總線連接。4.1普通連接(1)在第一個對象的連接點處單擊。(2)拖動鼠標到另一個對象的連接點處單擊。在拖動鼠標的過程中,可以在希望拐彎的地方單擊,也可以右擊放棄此次畫線。任務實施4.2無線連接(1)在第一個連接點處連接一個輸入終端。(2)在另一個連接點處連接一個輸出終端。(3)利用對象的編輯方法對上面兩個終端進行標識,兩個終端的標識(Label)必須一致。任務實施5.添加或編輯文字描述

在Script選項卡的Text文本框中可以輸入相應的描述文字。通過Rotation選項和Justification選項可以對描述文字的放置方位進行調整。圖1.23添加或編輯文字描述

單擊Mode工具箱中的TextScript按鈕

,在希望放置文字描述的位置處單擊,打開EditScriptBlock對話框(圖1.23)。任務實施6.電氣規(guī)則檢查原理圖繪制完畢后,必須進行電氣規(guī)則檢查(ERC)。執(zhí)行菜單命令Tools→ElectricalRuleCheck…,屏幕彈出如圖1.22所示的電氣規(guī)則檢測報告單。任務實施7.電路仿真

為了觀察電路的運行,特在單片機的P2.0口連接電阻R1及發(fā)光二極管D1。由于單片機的輸出口在復位狀態(tài)下為高電平,因此,本任務不需添加單片機控制軟件,也可進行仿真。點擊仿真運行工具欄中“開始運行”按鈕,可看到發(fā)光二極管點亮。任務實施任務小結(1)熟練使用Proteus繪制原理圖,包括元器件的選擇、元器件型號與參數(shù)的修改等,并掌握如何仿真運行。(2)掌握STC89C52單片機的晶振電路以及幾種常用的復位電路。(3)了解單片機STC89C52的引腳上電復位后為高電平,在應用時要注意該狀態(tài)對相關控制電路的影響,避免上電誤動作(如聲光報警電路在上電時是否誤報警等現(xiàn)象發(fā)生)。課后任務

請讀者根據(jù)元件清單,參照仿真電路,自行設計并焊接完成單片機最小系統(tǒng)的實物制作。/learn/NTVU-1206695819?tid=1474236512#/learn/content加入國家在線精品課程,進行復習和預習。每個項目學完后,完成該項目的在線單元測驗項目一單片機最小系統(tǒng)設計任務1.2簡易信號指示燈設計“十四五”職業(yè)教育國家規(guī)劃教材單片機應用技術項目教程/learn/NTVU-1206695819?tid=1474236512#/learn/content任務內容設計一個模擬汽車轉向燈控制電路,利用單片機外接兩個按鍵分別模擬左轉和右轉輸入,外接兩個發(fā)光二極管模擬汽車轉向燈,用于指示左轉按鍵和右轉按鍵是否處于被按下的狀態(tài),實現(xiàn)轉向燈控制的基本功能。/previewIndex/1060490項目導讀個人計算機僅有一個主機是無法工作的,需要連接電源以及必要的顯示裝置(顯示器)、輸入裝置(鍵盤、鼠標)等。項目導讀單片機同樣如此,要讓它正常工作,執(zhí)行程序并完成控制功能,至少需要在小小的芯片外部連接什么呢?也就是說,單片機最小系統(tǒng)是什么樣的呢?學海領航[中國心,中國芯]梁駿:自主研發(fā)創(chuàng)新二十載只為我的中國“芯”學習目標素養(yǎng)目標:培養(yǎng)學生堅定理想信念,以及敢于擔當、不懈奮斗和自強不息的精神知識目標:

1.了解51單片機I/O引腳的基本應用2.了解單片機的工作過程技能目標:

1.學會Keil開發(fā)軟件的使用2.學會設計簡單程序完成單片機的控制知識點知識1

單片機軟件開發(fā)工具Keil知識2

單片機I/O口的基本應用知識3

C51語言中的數(shù)知識4

C51語言中的運算符與表達式知識5

C51中的順序結構與基本語句知識6

C51中的分支結構與分支語句用單片機組成應用系統(tǒng)時,應用程序的編程、修改、調試需要借助專門的軟件開發(fā)工具。常用的單片機程序開發(fā)軟件有WAVE、Keil等。KeilμVision4是KeilSoftware公司推出的嵌入式芯片應用軟件開發(fā)工具包,其內含的C51編譯器采用Windows界面的集成開發(fā)環(huán)境(IDE),可以完成51系列兼容單片機的C語言控制代碼的編輯、編譯、連接、調試、仿真等整個開發(fā)流程,是單片機C語言軟件開發(fā)的理想工具。知識1單片機軟件開發(fā)工具Keil知識1單片機軟件開發(fā)工具Keil

熟悉KeilμVision4軟件環(huán)境后,即可錄入、編輯、調試、修改單片機C語言應用程序,具體包括以下步驟:1.創(chuàng)建一個工程,從設備庫中選擇目標設備(CPU),設置工程選項。2.用C語言創(chuàng)建源程序(.c文件)。3.將源程序添加到工程管理器中。4.編譯、鏈接源程序,并修改源程序中的錯誤。5.生成可執(zhí)行代碼(.hex文件)。利用專用的編程工具或借助特定的電路,將可執(zhí)行代碼下載到單片機中,即可運行。知識1單片機軟件開發(fā)工具Keil

單片機的P0~P3四組I/O口均可作為基本I/O口使用,它們是單片機與外界進行信息傳遞的重要接口。下面以按鍵和Led作為典型輸入輸出器件,介紹基本I/O口使用。知識2單片機I/O口的基本應用1.按鍵輸入

按鍵是控制系統(tǒng)中最常見的輸入設備,根據(jù)按鍵硬件電路的連接,按鍵的閉合和打開將在單片機的輸入引腳上分別加入高、低電平,這樣CPU就可以根據(jù)讀入引腳的信號來判斷按鍵的狀態(tài)。圖1.26典型按鍵輸入電路注意:P0~P3的某口線在同時作輸入口,又作輸出口使用時,在讀入引腳狀態(tài)情況下,需要先向端口寫1,再讀入。知識2單片機I/O口的基本應用2.Led輸出常見的外接電路有2種。(1)單片機輸出低電平時將允許外部器件向單片機引腳內灌入電流這個電流稱為“灌電流”外部電路稱為“灌電流負載”。(2)單片機輸出高電平時則允許外部器件從單片機的引腳拉出電流這個電流稱為“拉電流”外部電路稱為“拉電流負載”。知識2單片機I/O口的基本應用

一般“灌電流”能達到6mA以上,而“拉電流”小于1mA。因此常選左側電路?!獭烈话闱闆r下,發(fā)光管的電流在2-5mA即可,因此電阻R的取值可選為1k-2k。知識2單片機I/O口的基本應用知識3C51中的數(shù)C51中的數(shù)分為常量和變量兩種。(1)常量,即程序運行過程中其值始終不變的量。(2)變量,則是程序運行過程中可以隨時改變取值的量。變量定義格式:數(shù)據(jù)類型變量標識符[=初值];/previewIndex/1060489數(shù)據(jù)類型占用的字節(jié)數(shù)取值范圍unsignedchar單字節(jié)0~255signedchar單字節(jié)-128~+127unsignedint雙字節(jié)0~65535signedint雙字節(jié)-32768~+32767unsignedlong四字節(jié)0~4294967295signedlong四字節(jié)-2147483648~+2147483647float四字節(jié)±1.175494E-38~±3.402823E+38*1~3字節(jié)對象的地址bit位0或1sbit位0或1sfr單字節(jié)0~255sfr16雙字節(jié)0~65535表1.3C51語言中的基本數(shù)據(jù)類型1數(shù)據(jù)類型知識3C51中的數(shù)(1)bitbit類型用于定義存儲于位尋址區(qū)[20H-2FH]中的位變量。定義的同時也可進行初始化,注意,位變量的值只能是0或1。例如:

bitflag=1; //定義一個位變量flag并賦初值1知識3C51中的數(shù)(2)sbitsbit用于定義存儲在可位尋址的特殊功能寄存器(SFR)中的位變量。SFR位變量的定義通常有以下三種用法:使用SFR的位地址:

sbit位變量名=位地址;使用SFR的單元名稱:sbit位變量名=SFR單元名稱^變量位序號;使用SFR的單元地址:sbit位變量名=SFR單元地址^變量位序號;知識3C51中的數(shù)例如:本任務中為了增加程序的可讀性,定義P3.0和P3.1口兩個位變量,分別對應左轉燈和右轉燈的控制信號:sbitled_left=P3^0; //定義左轉燈sbitled_right=P3^1; //定義右轉燈知識3C51中的數(shù)(3)sfr

利用sfr型變量可以訪問51系列單片機內部所有的8位特殊功能寄存器。51系列單片機內部共有21個8位的特殊功能寄存器,其中11個是可以位尋址的,10個是不可以位尋址的。STC新系列的單片機增加了多個特殊功能寄存器,具體參考芯片的PDF資料。

sfr型變量的定義方法:sfr

變量名=某個SFR地址

事實上,KEILC51編譯器已經(jīng)在相關的頭文件中,對51系列單片機內部的所有sfr

型變量和sbit型變量進行了定義,在編寫C51程序時可以直接用#include<reg52.h>引用。知識3C51中的數(shù)2.標識符用來標識常量名、變量名、函數(shù)名等對象的有效字符序列稱為標識符(identifier)。簡單地說,標識符就是一個名字。標識符命名規(guī)則:(1)由字母、數(shù)字和下畫線組成,并且第一個字符必須為字母或下畫線。(2)標識符中,大、小寫字母嚴格區(qū)分。(3)自定義標識符不能與系統(tǒng)關鍵字重名。程序中使用的自定義標識符,除要遵循標識符的命名規(guī)則外,還應注意做到“見名知意”,即選具有相關含義的英文單詞或漢語拼音,以增加程序的可讀性。知識3C51中的數(shù)1.賦值運算符與賦值表達式在C51語言中,符號“=”稱為賦值運算符。由賦值運算符組成的表達式稱為賦值表達式,其一般形式如下:變量名=表達式;C51語言規(guī)定可以使用多種復合賦值運算符,例如:+=、-=、*=、/=等。a+=b //等價于:a=a+b a*=b //等價于:a=a*b知識4C51語言中的運算符與表達式/previewIndex/10604872.關系運算符與關系表達式所謂關系運算實際上是“比較運算”,即將兩個數(shù)進行比較,判斷比較的結果是否符合指定的條件。在C51語言中有6種關系運算符:<、<=、>、>=、==、!=用關系運算符將兩個表達式連接起來的式子稱為關系表達式。其一般形式為:

表達式1關系運算符表達式2

關系運算的結果是一個邏輯值:“真”和“假”,C51規(guī)定非0值為“真”,0為“假”。知識4C51語言中的運算符與表達式3.邏輯運算符與邏輯表達式C51語言中有3種邏輯運算符:&&、||、!。用邏輯運算符將關系表達式或其它運算對象連接起來的式子稱為邏輯表達式。邏輯表達式的結果也是一個邏輯值。邏輯運算符含

義運算規(guī)則說

明&&與運算0&&0=0,0&&1=0,1&&0=0,1&&1=1全真則真||或運算0||0=0,0||1=1,1||0=1,1||1=1一真則真!非運算!1=0,!0=1非假則真,非真即假知識4C51語言中的運算符與表達式1.賦值語句在任何合法的賦值表達式的尾部加上一個分號“;”就構成了賦值語句。賦值語句的一般形式為:變量=表達式;2.函數(shù)調用語句

其一般形式為:函數(shù)名(實際參數(shù)表);知識5C51中的順序結構與基本語句/previewIndex/10604883.復合語句在C51語言中,把多條語句用一對大括號“{}”括起來組成的語句稱復合語句。復合語句又稱為“語句塊”,其一般格式為:{語句1;語句2;……;語句n;}注意:大括號“{}”之后不再加分號。

例如:{LedBuff=0x20; P1=LedBuff;}復合語句雖然可由多條語句組成,但它是一個整體,其作用相當于一條語句,凡可以使用單一語句的位置都可以使用復合語句。知識5C51中的順序結構與基本語句4.空語句

如果一條語句只有語句結束符分號“;”則稱為空語句。空語句在執(zhí)行時不產(chǎn)生任何動作,但仍有一定的用途。比如,預留位置或用來做空循環(huán)體。但是,在程序中隨意加分號“;”也會導致邏輯上的錯誤,需要慎用。知識5C51中的順序結構與基本語句知識6C51中的分支結構與分支語句分支結構又被稱為條件結構,通常有單分支、雙分支、多分支結構。C51中提供了多個分支語句供選用。if

if-else

if-else-if

switch/previewIndex/10604921.if語句if語句的一般形式為:

if(表達式)語句;其中,if是關鍵字,表達式兩側的圓括號不可少,最后的語句可以是C51語言任意合法的語句。

圖1.28給出了if語句的執(zhí)行過程。可見,if語句是一種單分支語句。圖1.28if語句的執(zhí)行過程知識6C51中的分支結構與分支語句2.if-else語句

if-else語句的一般形式為:

if(表達式)語句1;else 語句2;

其中,語句1、語句2可以是C51語言中任意合法的語句。注意:else不是一條獨立的語句,只是if語句的一部分,在程序中else必須與if配對,共同組成一條if-else語句。知識6C51中的分支結構與分支語句

圖1.30給出了if-else語句的執(zhí)行過程??梢?,if-else語句是一種二分支語句。圖1.30if-else語句的執(zhí)行過程知識6C51中的分支結構與分支語句3.if-else-if語句if-else-if語句的一般形式:

if(表達式1)語句1;elseif(表達式2) 語句2;else 語句3;if-else-if語句又稱為嵌套的if-else語句,其中,語句1、語句2、語句3可以是C51語言中任意合法的語句。知識6C51中的分支結構與分支語句

圖1.31給出了if-else-if語句的執(zhí)行過程??梢?,只要一直嵌套下去,if-else-if語句可實現(xiàn)多分支程序設計要求。圖1.31if-else-if語句的執(zhí)行過程知識6C51中的分支結構與分支語句4.switch語句

switch語句的一般形式:switch(表達式) {case常量表達式1: 語句1;break;case常量表達式2: 語句2;break;……case常量表達式n: 語句n;break;default: 語句n+1; }

C51語言提供了switch語句直接處理多分支選擇。知識6C51中的分支結構與分支語句使用break語句的switch語句的執(zhí)行過程如圖1.31所示。圖1.31使用break語句后switch語句的執(zhí)行過程知識6C51中的分支結構與分支語句本例中,控制邏輯如下表所示:知識6C51中的分支結構與分支語句If(leftkey==0&&rightkey==0) //錯誤命令狀態(tài)(左轉、右轉按鍵均被按下) {leftled=1;rightled=1;}elseif(left==0&&right==1) //左轉命令

{leftled=0;rightled=1;}elseif(leftkey==1&&rightkey==0) //右轉命令

{leftled=1;rightled=0;}else{leftled=1;rightled=1;} //無命令狀態(tài)知識6C51中的分支結構與分支語句在單片機最小系統(tǒng)電路的基礎上,設計2個按鍵分別模擬汽車左轉、右轉控制信號的輸入;設計2個發(fā)光二極管模擬汽車的左右兩組尾燈。任務實施/previewIndex/1060491硬件設計任務實施圖1.33模擬汽車轉向燈控制系統(tǒng)電路1.在Keil軟件中編寫控制代碼建立工程

啟動KeilμVision4,系統(tǒng)打開上次處理的工程,因此,首先需要關閉它,執(zhí)行菜單命令Project→CloseProject。建立新工程可以通過執(zhí)行菜單命令Project→NewμVision4Project來實現(xiàn)。任務實施為工程選擇目標設備

在工程建立完畢后,μVision4會立即打開如圖所示的SelectDeviceforTarget‘Target1’對話框。列表框中列出了μVision4支持的生產(chǎn)廠家分組及所有型號的51系列單片機。這里選擇的Atmel公司生產(chǎn)的AT89C52。任務實施建立C語言源程序,編寫代碼

執(zhí)行菜單命令File→New,或者單擊工具欄按鈕,打開名為Text1的新文件窗口。

執(zhí)行菜單命令File→SaveAs,在“文件名”文本框中輸入文件的正式名稱led.c,.c為文件后綴,不能省略。另外,文件最好與其所屬的工程保存在同一目錄中。任務實施為工程添加文件

至此,已經(jīng)分別建立了一個工程“rw.uvproj”和一個C語言源程序文件“l(fā)ed.c”,除了存放目錄一致外,他們之間還沒有建立起任何關系。下面我們要將源程序文件添加到工程中。

在圖中所示的空白工程中,右擊SourceGroup1,彈出如圖1.41所示的快捷菜單。選擇AddFiles

溫馨提示

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

評論

0/150

提交評論