第七講--延時(shí)子函數(shù).ppt

第七講--延時(shí)子函數(shù).ppt

ID:59457331

大?。?.27 MB

頁(yè)數(shù):12頁(yè)

時(shí)間:2020-09-15

第七講--延時(shí)子函數(shù).ppt_第1頁(yè)
第七講--延時(shí)子函數(shù).ppt_第2頁(yè)
第七講--延時(shí)子函數(shù).ppt_第3頁(yè)
第七講--延時(shí)子函數(shù).ppt_第4頁(yè)
第七講--延時(shí)子函數(shù).ppt_第5頁(yè)
資源描述:

《第七講--延時(shí)子函數(shù).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、延時(shí)子函數(shù)引入:通過(guò)前幾次課的學(xué)習(xí),我們已經(jīng)知道了控制LED閃爍程序設(shè)計(jì),同時(shí),也能對(duì)閃爍的快慢進(jìn)行適當(dāng)?shù)恼{(diào)節(jié)。但,如果需要較為準(zhǔn)確的延時(shí),程序應(yīng)該怎么編寫呢?能不能將這一部分模塊化,直接調(diào)用?子函數(shù)的編寫與調(diào)用利用for語(yǔ)句實(shí)現(xiàn)延時(shí)一、利用for語(yǔ)句實(shí)現(xiàn)延時(shí)(重難點(diǎn))1、延時(shí)程序(空轉(zhuǎn))for(a=1000;a>0;a--){for(b=125;b>0;b--){}}“for(b=125;b>0;b--)”將會(huì)被執(zhí)行1000*125=125000次,所需時(shí)間約等于1000ms,即1s。我們可以在b不變的情況下,改變a的值,得到需要的時(shí)間

2、2s=2000*125(a=2000)0.5s=500*125(a=500)會(huì)被執(zhí)行多少次?for(a=1000;a>0;a--){for(b=125;b>0;b--){}}*此處變量a,b,x需提前給出數(shù)據(jù)類型;注意這兩條語(yǔ)句名尾的標(biāo)點(diǎn)符號(hào)紅色框內(nèi)即為延時(shí)模塊,延時(shí)時(shí)間由x決定。當(dāng)x=1000,延時(shí)1s,x=500時(shí),延時(shí)0.5s。for(a=1000;a>0;a--){for(b=125;b>0;b--);}for(a=1000;a>0;a--)for(b=125;b>0;b--);2、程序化簡(jiǎn):for(a=x;a>0;a--)for

3、(b=125;b>0;b--);二、子函數(shù)1、作用:將部分程序段模塊化,防止重復(fù)編寫,使用時(shí)直接調(diào)用。如不使用子函數(shù)并不一定影響程序執(zhí)行,但整個(gè)主函數(shù)將非常臃腫。比如:voidmain(){while(1){P1=0x00;for(a=1000;a>0;a--)for(b=125;b>0;b--);P1=0xff;for(a=1000;a>0;a--)for(b=125;b>0;b--);}}重復(fù)書寫!!2、子函數(shù)的基本結(jié)構(gòu)void名稱(定義變量)//無(wú)變量時(shí)為空//{程序語(yǔ)句;……}voidyanshi(uintx){uinta,b;f

4、or(a=x;a>0;a--)for(b=125;b>0;b--);}3、子函數(shù)的調(diào)用格式:子函數(shù)名稱(常量/變量);yanshi(1000);for(a=1000;a>0;a--)for(b=125;b>0;b--);m=1000;yanshi(m);for(a=1000;a>0;a--)for(b=125;b>0;b--);等同于執(zhí)行等同于執(zhí)行延時(shí)1s延時(shí)1s4、子函數(shù)使用規(guī)則1)不是每個(gè)C語(yǔ)言程序都必須要有子函數(shù)。2)子函數(shù)必須預(yù)先聲明。格式為:void子函數(shù)名(數(shù)據(jù)類型);3)子函數(shù)不能自動(dòng)運(yùn)行,必須被調(diào)用后才能被執(zhí)行。4)主函數(shù)

5、可以調(diào)用子函數(shù),子函數(shù)也可以調(diào)用子函數(shù),但子函數(shù)不能調(diào)用主函數(shù)。5)子函數(shù)通常取易記不與系統(tǒng)沖突的名字。要注意區(qū)分大小寫。三、八只LED閃爍完整程序#include//導(dǎo)入頭文件//#defineuintunsignedint//宏定義//voidyanshi(uint);//聲明子函數(shù)//voidmain(){while(1){P1=0x00;yanshi(1000);//燈亮1s//P1=0xff;yanshi(1000);//燈滅1s//}}voidyanshi(uintx){uinti,j;for(i=x;i>0

6、;i--)for(j=125;j>0;j--);}聲明部分死循環(huán)主函數(shù)子函數(shù)包含調(diào)用完成亮滅交替完成延時(shí)預(yù)備工作P1=~P1;yanshi(1000);我們已經(jīng)學(xué)習(xí)了燈的閃爍及時(shí)間的準(zhǔn)確設(shè)置,如果希望八只LED從左往右或從右往左輪流點(diǎn)亮(逐一點(diǎn)亮),程序應(yīng)該怎么寫呢?1、如果讓接在P1口的八只LED同時(shí)閃爍,亮一秒鐘滅兩秒鐘。程序應(yīng)該怎么設(shè)計(jì)?2、子函數(shù)命名時(shí)為小寫,調(diào)用時(shí)為大寫,程序(能/不能)正常執(zhí)行。3、子函數(shù)使用規(guī)則有哪些?

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。