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

下載本文檔

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

文檔簡介

項(xiàng)目一單片機(jī)最小系統(tǒng)設(shè)計任務(wù)1.1

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

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

單片機(jī)概述知識補(bǔ)充計算機(jī)中的數(shù)(選學(xué))知識2

STC89C52單片機(jī)的引腳知識補(bǔ)充STC15W4K32S4系列單片機(jī)引腳(選學(xué))知識3

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

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

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

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

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

特點(diǎn):制造工藝落后,集成度較低。

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

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

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

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

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

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

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

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

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

N1=01010101,N2=11010101

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

N1和N2在計算機(jī)中補(bǔ)碼的表示形式為:

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

STC89C52單片機(jī)結(jié)構(gòu)與引腳

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

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

STC89C52單片機(jī)結(jié)構(gòu)與引腳2.STC89C52單片機(jī)的引腳知識2

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

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

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

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

STC89C52單片機(jī)結(jié)構(gòu)與引腳STC15W4K32S4系列是目前應(yīng)用廣泛的單片機(jī)之一,其內(nèi)部資源豐富,有LQFP44、PDIP40、LQFP48等封裝形式。

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

STC15W4K32S4系列單片機(jī)引腳

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

STC15W4K32S4系列單片機(jī)引腳

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

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

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

(2)按鍵復(fù)位

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

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

腳與/WDO

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

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

知識4單片機(jī)硬件仿真開發(fā)工具Proteus任務(wù)實(shí)施

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

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

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

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

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

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

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

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

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

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

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

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

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

在Script選項(xiàng)卡的Text文本框中可以輸入相應(yīng)的描述文字。通過Rotation選項(xiàng)和Justification選項(xiàng)可以對描述文字的放置方位進(jìn)行調(diào)整。圖1.23添加或編輯文字描述

單擊Mode工具箱中的TextScript按鈕

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

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

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

1.了解51單片機(jī)I/O引腳的基本應(yīng)用2.了解單片機(jī)的工作過程技能目標(biāo):

1.學(xué)會Keil開發(fā)軟件的使用2.學(xué)會設(shè)計簡單程序完成單片機(jī)的控制知識點(diǎn)知識1

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

單片機(jī)I/O口的基本應(yīng)用知識3

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

C51語言中的運(yùn)算符與表達(dá)式知識5

C51中的順序結(jié)構(gòu)與基本語句知識6

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

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

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

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

一般“灌電流”能達(dá)到6mA以上,而“拉電流”小于1mA。因此常選左側(cè)電路。√×一般情況下,發(fā)光管的電流在2-5mA即可,因此電阻R的取值可選為1k-2k。知識2單片機(jī)I/O口的基本應(yīng)用知識3C51中的數(shù)C51中的數(shù)分為常量和變量兩種。(1)常量,即程序運(yùn)行過程中其值始終不變的量。(2)變量,則是程序運(yùn)行過程中可以隨時改變?nèi)≈档牧?。變量定義格式:數(shù)據(jù)類型變量標(biāo)識符[=初值];/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]中的位變量。定義的同時也可進(jìn)行初始化,注意,位變量的值只能是0或1。例如:

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

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

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

sfr型變量的定義方法:sfr

變量名=某個SFR地址

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

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

表達(dá)式1關(guān)系運(yùn)算符表達(dá)式2

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

義運(yùn)算規(guī)則說

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

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

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

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

if-else

if-else-if

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論