版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
單?機(jī)led燈閃爍實(shí)驗(yàn)總結(jié)_項(xiàng)??LED燈閃爍設(shè)計(jì)實(shí)現(xiàn)(?)項(xiàng)?任務(wù)ü任任務(wù)1:務(wù)1:點(diǎn)亮LEDn?任務(wù)1.1LED電路認(rèn)識(shí)n?任務(wù)1.2C語(yǔ)?編程框架認(rèn)識(shí)n?任務(wù)1.3實(shí)現(xiàn)點(diǎn)亮LED功能ü任任務(wù)2:LED務(wù)2:LED流?燈功能實(shí)現(xiàn)n?任務(wù)2.1C語(yǔ)?---for等基本語(yǔ)句認(rèn)識(shí)n?任務(wù)2.2實(shí)現(xiàn)流?燈功能(?)相關(guān)知識(shí)點(diǎn)2.1、位的概念51單?機(jī)為8位單?機(jī),?次性能處理?個(gè)字節(jié)(Byte),?個(gè)字節(jié)由8個(gè)bit位組成,例如P0.0,P0.1...P0.6,P0.7這8個(gè)位組成P0?,單?機(jī)可以分別處理P0.0,P0.1...P0.6,P0.7?引腳數(shù)據(jù),也可以同時(shí)處理P0?8個(gè)位數(shù)據(jù)。2.2、進(jìn)制的概念常?的進(jìn)制有?進(jìn)制、?進(jìn)制和?六進(jìn)制。?進(jìn)制,逢?進(jìn)位,?個(gè)位有?個(gè)值:0~9。?進(jìn)制就是逢?進(jìn)位,它的?個(gè)位只有兩個(gè)值:0和1,但它卻是實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)的最基本的理論基礎(chǔ),計(jì)算機(jī)(包括單?機(jī))芯?是基于成萬(wàn)上億個(gè)的開(kāi)關(guān)管組合?成,他們每?個(gè)都只能有開(kāi)和關(guān)兩種狀態(tài),理解?進(jìn)制對(duì)于理解計(jì)算機(jī)的本質(zhì)很有幫助。書(shū)寫(xiě)?進(jìn)制數(shù)據(jù)時(shí)需加前綴0b,每?位的值只能是0或1。?六進(jìn)制就是把4個(gè)?進(jìn)制位組合為?位來(lái)表?,它的每?位有0b0000~0b1111共16個(gè)值,?0~9再加上A~F(或a~f)表?,本質(zhì)上同?進(jìn)制?樣,是程序編寫(xiě)中常?的形式。書(shū)寫(xiě)?六進(jìn)制數(shù)據(jù)時(shí)需加前綴0x,表1是三種進(jìn)制之間的對(duì)應(yīng)關(guān)系。對(duì)于?進(jìn)制來(lái)說(shuō),8位?進(jìn)制稱之為?個(gè)字節(jié),?進(jìn)制的表達(dá)范圍值是從0b00000000~0b11111111,?在程序中??六進(jìn)制表?的時(shí)候就是從0x00到0xFF,這?教?家?個(gè)?進(jìn)制轉(zhuǎn)換?進(jìn)制和?六進(jìn)制的?法,?進(jìn)制4位?組,遵循8/4/2/1的規(guī)律?如0b1010,那么從最?位開(kāi)始算,數(shù)字??是8*1+4*0+2*1+1*0=10,那么?進(jìn)制就是10,?六進(jìn)制就是0xA。尤其?進(jìn)制轉(zhuǎn)?六進(jìn)制的時(shí)候,?六進(jìn)制?位和?進(jìn)制的4位相對(duì)應(yīng)。對(duì)于進(jìn)制來(lái)說(shuō),只是數(shù)據(jù)的表現(xiàn)形式,?數(shù)據(jù)的??不會(huì)因?yàn)檫M(jìn)制表現(xiàn)形式不同?不同,?如?進(jìn)制的0b1、?進(jìn)制的1、?六進(jìn)制的0x01,他們本質(zhì)上是數(shù)值??相等的同?個(gè)數(shù)據(jù)。在進(jìn)?C語(yǔ)?編程的時(shí)候,只寫(xiě)?進(jìn)制和?六進(jìn)制,那么不帶0x的就是?進(jìn)制,帶了0x符號(hào)的就是?六進(jìn)制。2.3、發(fā)光?極管LED簡(jiǎn)介發(fā)光?極管,是?種固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的?臟是?個(gè)半導(dǎo)體的晶?,晶?的?端附在?個(gè)?架上,?端是負(fù)極,另?端連接電源的正極,整個(gè)晶?被環(huán)氧樹(shù)脂封裝起來(lái)。半導(dǎo)體晶?由兩部分組成,?部分是P型半導(dǎo)體,在它??空?占主導(dǎo)地位,另?端是N型半導(dǎo)體,電?占主導(dǎo)地位。兩種半導(dǎo)體連接起來(lái)的時(shí)候,它們之間形成?個(gè)“PN結(jié)”。當(dāng)電流通過(guò)導(dǎo)線作?于這個(gè)晶?的時(shí)候,電?就會(huì)被推向P區(qū),在P區(qū)?電?跟空?復(fù)合,然后就會(huì)以光?的形式發(fā)出能量,這就是LED發(fā)光的原理。光的波長(zhǎng)也就是光的顏?,是由形成P結(jié)的材料決定。LED?極管通常的正向?qū)妷菏?.8V到2.2V之間,?作電流?般在1mA~20mA之間。其中,當(dāng)電流在1mA~5mA之間變化時(shí),隨著通過(guò)LED的電流越來(lái)越?,會(huì)明顯感覺(jué)到這個(gè)?燈越來(lái)越亮,?當(dāng)電流從5mA~20mA之間變化時(shí),發(fā)光?極管的亮度變化不是太明顯了。當(dāng)電流超過(guò)20mA時(shí),LED就會(huì)有燒壞的危險(xiǎn),電流越?,燒壞的也就越快。所以在使?過(guò)程中應(yīng)該特別注意它在電流參數(shù)上的設(shè)計(jì)要求,設(shè)計(jì)LED電路中要添加適當(dāng)??的電阻。VCC電壓是5V,發(fā)光?極管??壓降?概是2V,那么在電阻上承受的電壓就是3V。那么現(xiàn)在要求電流范圍是1~20mA,可以根據(jù)歐姆定律R=U/I,把這個(gè)電阻的上限和下限值求出來(lái)。U=3V,當(dāng)電流是1mA的時(shí)候,電阻值是3K;當(dāng)電流是20mA的時(shí)候,電阻值是150歐,即R的取值范圍是150~3K歐姆。這個(gè)電阻值??的變化,直接可以限制整條通路的電流的??,因此這個(gè)電阻通常稱之為“限流電阻”。2.4、LED點(diǎn)亮的兩種?式點(diǎn)亮LED有兩種?式,以P0.0為例,圖1(a)表?當(dāng)P0.0為?電平時(shí)LED亮,圖1(b)表?當(dāng)P0.0為低電平時(shí)LED亮,常?的?式為圖1(b),這是因?yàn)椋孩?1單?機(jī)上電復(fù)位時(shí)I/O的初始值為?電平,此時(shí)若采?(a)?式在默認(rèn)上電情況下LED會(huì)點(diǎn)亮;②單?機(jī)I/O驅(qū)動(dòng)能?弱,?般?作灌電流。灌電流流是指單?機(jī)輸出低電平時(shí),將允許外部器件向單?機(jī)引腳內(nèi)灌?的電流;拉拉電電流流是指單?機(jī)輸出?電平時(shí),則允許外部器件,從單?機(jī)的引腳拉出的電流。51單?機(jī)的灌電流最?電流為10mA,P1、P2以及P3允許總電流最?為15mA;P0灌?的最?總電流為26mA。全部的四個(gè)接?所允許的灌電流之和最?為71mA,?單?機(jī)的“拉電流”不到1mA,因此采?圖1(b)?式點(diǎn)亮LED更為?便。(a)?電平點(diǎn)亮(b)低電平點(diǎn)亮圖1LED點(diǎn)亮的兩種?式2.5、LED電路部分配合本教材配套的開(kāi)發(fā)板,如圖2以點(diǎn)亮LED3為例,LED陽(yáng)極連接+5V,負(fù)極連接P0.7,因此點(diǎn)亮該LED需要負(fù)極為低電平,即P0.7輸出低電平,在開(kāi)發(fā)板上從右到左依次為P0.4、P0.5、P0.6、P0.7,如圖2(b)所?。(a)LED原理圖(b)LED硬件連接圖圖2LED連接圖2.6、程序框架常?的框架如圖3所?,為了便于理解,采?偽代碼的形式,?般來(lái)說(shuō),最?代碼結(jié)構(gòu)包括頭?件和主函數(shù),隨著學(xué)習(xí)的深?還會(huì)發(fā)現(xiàn)程序中包含聲明區(qū)和?函數(shù),程序中有且只有?個(gè)主函數(shù),?函數(shù)可有可?,甚?可以有?數(shù)個(gè)。圖3程序最?框架圖2.7、C語(yǔ)?知識(shí)點(diǎn)---頭?件、函數(shù)等概念和語(yǔ)句2.7.1頭?件作?頭?件的作?相當(dāng)于在該?位置鍵??件“reg52.h”的全部?jī)?nèi)容。打開(kāi)任意程序,編譯后將?標(biāo)放置“<reg52.h>”的任意位置,如圖4所?,選擇“Opendocument<reg52.h>”,即可打開(kāi)“reg52.h”的?檔,部分內(nèi)容如圖5所?,可以看到?系列的定義,主要是“sfr”和“sbit”這兩個(gè)關(guān)鍵字來(lái)進(jìn)?定義。以“sfrP0=0x80”為例,意思是將單?機(jī)硬件的0x80這個(gè)地址賦給P0這兩個(gè)字母。在項(xiàng)?1提到過(guò),學(xué)習(xí)單?機(jī)的實(shí)質(zhì)是通過(guò)寄存器實(shí)現(xiàn)對(duì)引腳的控制,在頭?件中通過(guò)關(guān)鍵字“sfr”實(shí)現(xiàn)變量P0和地址的聯(lián)系,每個(gè)寄存器都有唯?地址,操作地址的過(guò)程其實(shí)是控制寄存器的過(guò)程。通俗的講,通過(guò)這樣定義之后對(duì)P0的操作就會(huì)執(zhí)?到0x80地址的寄存器中。因?yàn)槌绦蜃罱K是要由硬件來(lái)執(zhí)?,所以本質(zhì)上是對(duì)單?機(jī)的硬件地址進(jìn)?操作。51單?機(jī)具有P0、P1、P2、P3,四個(gè)統(tǒng)稱IO?,每個(gè)統(tǒng)稱IO?有8個(gè)IO?。sfrP0=0x80就是將P0的8個(gè)IO?定義為P0?,就是說(shuō)sfr?次定義了8位,這時(shí)不難發(fā)現(xiàn)sfr和sbit的區(qū)別:sfr能?次定義8位,sbit?次只能定義?位。圖4打開(kāi)頭?件操作界?圖圖5頭?件部分內(nèi)容了解了這兩個(gè)語(yǔ)句后,看?下單?機(jī)的特殊功能寄存器。請(qǐng)注意,每個(gè)型號(hào)的單?機(jī)都會(huì)配有?產(chǎn)?商所編寫(xiě)的數(shù)據(jù)?冊(cè)(Datasheet),看?下STC89C52的數(shù)據(jù)?冊(cè),從21頁(yè)到24頁(yè),全部是對(duì)特殊功能寄存器的介紹以及地址映射列表,如圖6所?。在使?這個(gè)寄存器之前,必須對(duì)這個(gè)寄存器的地址進(jìn)?說(shuō)明。圖6IO?特殊功能寄存器其中P4?STC89C52對(duì)標(biāo)準(zhǔn)51的擴(kuò)展,先忽略它,只看前邊的P0、P1、P2、P3這4個(gè),每個(gè)P?本??有8個(gè)控制端???梢越Y(jié)合開(kāi)發(fā)板原理圖看,這樣就確定了單?機(jī)?共有32個(gè)IO?(IO,Input和Output,分別是輸?和輸出)。其中P0?所在的地址是0x80,?共有從7到0這8個(gè)IO?控制位,后邊有個(gè)ResetValue(復(fù)位值),這個(gè)很重要,是看寄存器必看的?個(gè)參數(shù),8個(gè)控制位復(fù)位值全部都是1。即每當(dāng)單?機(jī)上電復(fù)位的時(shí)候,所有的引腳的值默認(rèn)是都是1,即?電平,在設(shè)計(jì)電路的時(shí)候也要充分的考慮這個(gè)問(wèn)題。那么上邊那2條語(yǔ)句,寫(xiě)sfr的時(shí)候,必須要根據(jù)?冊(cè)?的這個(gè)地址(Add)去寫(xiě),寫(xiě)sbit的時(shí)候,就可以直接將?個(gè)字節(jié)其中某?位取出來(lái)。編程的時(shí)候,也有現(xiàn)成的寫(xiě)好寄存器地址的頭?件,直接包含該頭?件就可以了,不需要逐?去寫(xiě),頭?件的作?也在于此!2.7.2變量在編寫(xiě)C語(yǔ)句中,會(huì)?到各類數(shù)字,在使?這些數(shù)字前?先需要在內(nèi)存開(kāi)辟?塊空間來(lái)存放數(shù)字,因?yàn)閮?nèi)存空間是以地址命名,不容易記,因此常??個(gè)變量名來(lái)代替這塊空間,例如“intnum=1;”,“num”就是?個(gè)變量名,“=”表?賦值,不同于我們之前了解的“等于”,在C語(yǔ)句中的等于?“==”來(lái)表?。在給變量“num”開(kāi)辟空間時(shí)需要指定空間的??,即變量的類型,“int”常?的類型,表?整型,常?的如表2所?。常?的類型有unsignedunsignedcchar,unsignedhar,unsignedintint,例如定義?個(gè)變量“unsignedchari”,則i的取值范圍為0~255,再如i的值?概在10000左右,要選擇unsignedint類型。2.7.3聲明聲明的作?是告訴編譯器?個(gè)變量或者函數(shù)將在接下去的程序中?到,使編譯器提前“認(rèn)識(shí)”該變量或者函數(shù),在圖3中“sbitLEP0^7;”即為?條聲明語(yǔ)句,變量“LED”表?地址P0?的第8位(注意:第?位為P0^0),類型為位類型,通過(guò)該語(yǔ)句將P0的第8位和LED建?了聯(lián)系。2.7.4函數(shù)定義函數(shù)定義的?般形式如下:函數(shù)值類型函數(shù)名(形式參數(shù)列表){函數(shù)體}1、函數(shù)值類型,就是函數(shù)返回值的類型。在后邊的程序中,會(huì)有很多函數(shù)中有returnx語(yǔ)句,這個(gè)返回值也就是函數(shù)本?的類型。還有?種情況,就是這個(gè)函數(shù)只執(zhí)?操作,不需要返回任何值,那么這個(gè)時(shí)候它的類型就是空類型void,這個(gè)void按道理來(lái)說(shuō)是可以省略的,但是?旦省略,Keil軟件會(huì)報(bào)?個(gè)警告,所以通常也不省。2、函數(shù)名,可以由任意的字母、數(shù)字和下劃線組成,但數(shù)字不能作為開(kāi)頭。函數(shù)名不能與其他函數(shù)或者變量重名,也不能是關(guān)鍵字。關(guān)鍵字是程序中具備特殊功能的標(biāo)志符,不可以命名函數(shù),?如char。3、形式參數(shù)列表,也叫做形參列表,這個(gè)是函數(shù)調(diào)?的時(shí)候,相互傳遞數(shù)據(jù)?的。有的函數(shù)不需要傳遞參數(shù)給它,那么可以?void來(lái)替代,void同樣可以省略,但是那個(gè)括號(hào)是不能省略。4、函數(shù)體,包含了聲明語(yǔ)句部分和執(zhí)?語(yǔ)句部分。聲明語(yǔ)句部分主要?于聲明函數(shù)內(nèi)部所使?的變量,執(zhí)?語(yǔ)句部分主要是?些函數(shù)需要執(zhí)?的語(yǔ)句。特別注意,所有的聲明語(yǔ)句部分必須放在執(zhí)?語(yǔ)句之前,否則編譯的時(shí)候會(huì)報(bào)錯(cuò)。5、?個(gè)?程?件必須有且僅有?個(gè)main函數(shù),程序執(zhí)?的時(shí)候,都是從main函數(shù)開(kāi)始的。2.7.4.1主函數(shù)?個(gè)C程序從main()開(kāi)始執(zhí)?,執(zhí)?的內(nèi)容在“{}”中,“{}”總是成對(duì)出現(xiàn),?對(duì)“{}”上下對(duì)齊,便于閱讀和理解。?般稱main()為主函數(shù),?個(gè)程序?有且只有?個(gè)主函數(shù)。框架為:voidmain(){//c程序內(nèi)容}圖7主函數(shù)框架2.7.4.2?函數(shù)?個(gè)函數(shù)中可以有?個(gè)或者多個(gè)?函數(shù),也可以沒(méi)有。?函數(shù)可以理解為具有?定功能的語(yǔ)句集合,?便于主函數(shù)調(diào)?實(shí)現(xiàn)特定的功能。在3.2?節(jié)while語(yǔ)句中“LED=1;delay();LED=1;delay();”,按照C語(yǔ)?從上到下的執(zhí)?規(guī)則,先執(zhí)?“LED=1;”,再執(zhí)?“delay();”,delay()函數(shù)的作?是延時(shí)1s,再執(zhí)?“LED=1;delay();”,執(zhí)?完最后?句后重新再?gòu)念^執(zhí)?。delay()函數(shù)的內(nèi)容即為delay(){…}中括號(hào)?的內(nèi)容,在下?的“for”語(yǔ)句中會(huì)詳細(xì)講解。2.7.5while語(yǔ)句在C語(yǔ)??,通常表達(dá)式符合條件叫做真,不符合條件叫做假。?如前邊i<30000,當(dāng)i等于0的時(shí)候,那這個(gè)條件成?,就是真;如果i?于30000的時(shí)候,條件不成?,就叫做假。while(表達(dá)式)這個(gè)括號(hào)?的表達(dá)式,為真的時(shí)候,就會(huì)執(zhí)?循環(huán)體語(yǔ)句,當(dāng)為假的時(shí)候,就不執(zhí)?。while(表達(dá)式){語(yǔ)句體;}還有另外?種情況,除了表達(dá)式外,還有常數(shù),習(xí)慣上,把?0的常數(shù)都認(rèn)為是真,只有0認(rèn)為是假,所以程序中使?了while(1),這個(gè)數(shù)字1,可以改成2、3、4......等等都可以,都是?個(gè)死循環(huán),不停的執(zhí)?循環(huán)體的語(yǔ)句,但是如果把這個(gè)數(shù)字改成0,那么就不會(huì)執(zhí)?循環(huán)體的語(yǔ)句。2.7.6for語(yǔ)句for語(yǔ)句使?較多,常?的?式如圖8所?,for語(yǔ)句有三個(gè)判斷條件,執(zhí)?過(guò)程:?先判斷執(zhí)?表達(dá)式1,?般情況下在整個(gè)for語(yǔ)句中執(zhí)??次,再執(zhí)?表達(dá)式2,判斷是否滿?條件,在滿?表達(dá)式2的情況下執(zhí)?語(yǔ)句體,執(zhí)?完成后再執(zhí)?表達(dá)式3,表達(dá)式3?般?增或者?減,再跟表達(dá)式2?較判斷,如繼續(xù)滿?則執(zhí)?語(yǔ)句體,不滿?表達(dá)式2則跳出for語(yǔ)句循環(huán)。以圖9“for”循環(huán)為例,執(zhí)?過(guò)程:①將0賦值給變量i;②判斷i<183是否成?,0<183成?;③執(zhí)?“for(j=0;j<1000;j++);”語(yǔ)句;④:執(zhí)?“i++”,表?i?增1,原來(lái)i為0,?增1后為1;⑤判斷i<183是否成?,1<183成?;⑥執(zhí)?“for(j=0;j<1000;j++);”語(yǔ)句;⑦執(zhí)?“i++”,表?i?增1,原來(lái)i為1,?增1后為2;…….直?條件不滿?i<183,跳出整個(gè)for循環(huán)。注意for(j=0;j<1000;j++);是for(j=0;j<1000;j++){};縮寫(xiě),它的語(yǔ)句體為空,即執(zhí)?1000次空語(yǔ)句,圖8整個(gè)for語(yǔ)句執(zhí)?的次數(shù)為183*1000=183000次,即執(zhí)?183000次空語(yǔ)句,通過(guò)執(zhí)?空語(yǔ)句來(lái)達(dá)到延時(shí)的?的,?于為何是183000次,1s時(shí)間是否準(zhǔn)確的問(wèn)題將在仿真項(xiàng)?中詳細(xì)講解。2.7.7#define的使??法#define標(biāo)識(shí)符替換列表標(biāo)識(shí)符的?點(diǎn)說(shuō)明:標(biāo)識(shí)符由字母(A-Z,a-z)、數(shù)字(0-9)、下劃線“_”組成,并且?字符不能是數(shù)字,但可以是字母或者下劃線。不能把C語(yǔ)?關(guān)鍵字作為?戶標(biāo)識(shí)符,關(guān)鍵字例如if,for,while等,在Keil界?中會(huì)顯?粗?體。標(biāo)識(shí)符對(duì)??寫(xiě)敏感,嚴(yán)格區(qū)分??寫(xiě)。?般對(duì)變量名??寫(xiě),符號(hào)常量命名??寫(xiě),例如LED和led是兩個(gè)不同的標(biāo)識(shí)符。標(biāo)識(shí)符命名應(yīng)做到“顧名思義”,例如,LED代表有關(guān)LED的內(nèi)容,替換列表可以是數(shù)字、字符、標(biāo)點(diǎn)符號(hào)、標(biāo)識(shí)符,關(guān)鍵字、字符常量等。#define是預(yù)處理命令,在編譯處理時(shí)進(jìn)?簡(jiǎn)單的替換,例如“#defineLEDP0”,在編譯處理時(shí)會(huì)?P0代替標(biāo)識(shí)符LED。特別是在程序移植過(guò)程中作?更加明顯,因?yàn)?個(gè)變量會(huì)出現(xiàn)在程序的很多地?,這樣在這個(gè)變量改變后需要在每處都改變。如果在?開(kāi)始?這種宏定義的?法,只需改變宏定義的數(shù)值即可。(三)設(shè)計(jì)實(shí)施3.1、點(diǎn)亮第?位LED燈#include<reg52.h>//頭?件sbitLED=P0^4;//定義使?的引腳/*主函數(shù)有且只有?個(gè)*/voidmain(){while(1)//循環(huán)函數(shù){LED=0;//0賦值給變量LED}}本?結(jié)展?了最?的程序框架,包括頭?件、主函數(shù)和循環(huán)函數(shù),?個(gè)函數(shù)有且只有?個(gè)主函數(shù)同時(shí)還需要注意?點(diǎn):①“//”表?注釋,Keil軟件在編譯過(guò)程中不能識(shí)別“//”后?的?字;②/**/表?另?種注釋?式,?字放于“/*”“*/”之間,?般?于?字較多的情況;③注意??寫(xiě),LED和led表?不同的變量;④程序中的字母和符號(hào)都需要在英?輸?法狀態(tài)下輸?;⑤分號(hào)在C語(yǔ)?中表??句話的結(jié)束,?定要在英?狀態(tài)下輸?。將該程序輸?到單?機(jī)中,觀察實(shí)驗(yàn)現(xiàn)象。3.2、實(shí)現(xiàn)?個(gè)LED閃爍功能#include<reg52.h>//頭?件sbitLED=P0^4;//定義使?的引腳/*主函數(shù)有且只有?個(gè)*/voiddelay();//函數(shù)聲明voidmain(){while(1)//循環(huán)函數(shù){LED=0;//0賦值給變量LED,LED點(diǎn)亮delay();//延時(shí)1sLED=1;//1賦值給變量LED,LED//延時(shí)1sdelay();}}voiddelay(){unsignedinti,j;//變量i,j的范圍均為0~65535for(i=0;i<183;i++){for(j=0;j<1000;j++);}}①C程序執(zhí)?過(guò)程:循環(huán)執(zhí)?while語(yǔ)句內(nèi)容,①LED=0;②delay();③LED=1;④delay();①②③④①②….注意執(zhí)?到②時(shí),會(huì)跳轉(zhuǎn)到下?的delay?函數(shù),執(zhí)?完成后返回③繼續(xù)執(zhí)?,即主函數(shù)在執(zhí)?過(guò)程中會(huì)調(diào)??函數(shù)。②本程序有兩個(gè)函數(shù),main主函數(shù)和delay?函數(shù),如果在主函數(shù)之前定義了?函數(shù),那么就不需要再次聲明這個(gè)函數(shù),如果在主函數(shù)之后定義了?函數(shù),那么在主函數(shù)之前必須對(duì)其進(jìn)?聲明。③voiddelay()這個(gè)函數(shù)中的“void”表?該函數(shù)執(zhí)?完成后?返回值,在以后程序中會(huì)出現(xiàn)需要返回?個(gè)函數(shù)值的情況。3.3、實(shí)現(xiàn)LED流?燈功能本?結(jié)以兩種?式實(shí)現(xiàn)LED流?燈功能,即第?盞LED亮其余都滅,延時(shí)1s,第?盞亮其余都滅,延時(shí)1s…..第四盞LED亮其余都滅,延時(shí)1s,再?gòu)牡?盞開(kāi)始,第?盞亮其余都滅…..之前實(shí)例中均采?位控制,在接下來(lái)的實(shí)例中采?4位同時(shí)控制的?式,讀者亦可以根據(jù)要求寫(xiě)出?位控制流?燈的程序,與“?法?”做?較。?法?:#include<reg52.h>#defineLEDP0voiddelay();voidmain(){while(1){LED=0xEF;//?進(jìn)制:11101111delay();LED=0xDF;//?進(jìn)制:110111111delay();LED=0xBF;//?進(jìn)制:10111111delay();LED
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年宣傳部職能規(guī)章樣本(二篇)
- 2024年夫妻和平離婚協(xié)議簡(jiǎn)單版(二篇)
- 2024年學(xué)期初三學(xué)習(xí)計(jì)劃模版(三篇)
- 2024年固體廢物污染防治責(zé)任制度(三篇)
- 2024年城鎮(zhèn)集體所有制企業(yè)職工勞動(dòng)合同范例(二篇)
- 2024年地下車庫(kù)租賃合同協(xié)議(四篇)
- 2024年學(xué)校衛(wèi)生安全工作計(jì)劃范文(三篇)
- 2024年小學(xué)四年級(jí)班主任工作計(jì)劃例文(四篇)
- 2024年外科醫(yī)生的個(gè)人工作計(jì)劃樣本(四篇)
- 2024年土地房屋買賣合同(二篇)
- 物業(yè)安全檢查表
- 疏浚與吹填技術(shù)
- 胸腔積液病例討論-課件
- 紅十字救護(hù)員知識(shí)考試復(fù)習(xí)題庫(kù)200題(含答案)
- 井岡山斗爭(zhēng)和井岡山精神教學(xué)課件
- 兒科急危重癥護(hù)理常規(guī)
- 高中英語(yǔ)-選修二Unit 3 Times Change教學(xué)課件設(shè)計(jì)
- 大學(xué)校園危機(jī)氛圍評(píng)估與分析
- 用數(shù)對(duì)表示點(diǎn)的位置
- 壓力管道試驗(yàn)方案及記錄表格式
- 義務(wù)教育學(xué)校均衡發(fā)展調(diào)查問(wèn)卷
評(píng)論
0/150
提交評(píng)論