版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Arduino編程控制與應(yīng)用能力模塊四掌握Arduino編程語(yǔ)言的進(jìn)階應(yīng)用任務(wù)二完成數(shù)字秒表的實(shí)現(xiàn)導(dǎo)入每當(dāng)有重大節(jié)日的時(shí)候,都會(huì)啟動(dòng)倒計(jì)時(shí)牌啟動(dòng)儀式,例如2009年5月1日上午,在北京天安門廣場(chǎng)東側(cè)中國(guó)國(guó)家博物館前,舉行中國(guó)2010年上海世博會(huì)倒計(jì)時(shí)一周年暨計(jì)時(shí)牌啟動(dòng)儀式,其中倒計(jì)時(shí)的功能,我們也可以利用Arduino開發(fā)板來實(shí)現(xiàn),本次任務(wù)我們將利用Arduino編程來實(shí)現(xiàn)數(shù)字秒表的功能。新授Newteaching1目錄一、一維數(shù)組二、二維數(shù)組一、一維數(shù)組(一)數(shù)組的定義及作用數(shù)組的定義數(shù)組由若干個(gè)類型相同的元素組成,每個(gè)元素就是一個(gè)變量,每個(gè)數(shù)組都有一個(gè)名稱,稱為數(shù)組名。數(shù)組的作用數(shù)組在大數(shù)量處理和字符串處理中得到廣泛使用。在程序中合理地使用數(shù)組,會(huì)使程序的結(jié)構(gòu)比較整齊,而且可以把較為復(fù)雜的運(yùn)算,轉(zhuǎn)化成簡(jiǎn)單的數(shù)組來表示。一、一維數(shù)組(二)一維數(shù)組的定義一維數(shù)組是最簡(jiǎn)單的數(shù)組,其邏輯結(jié)構(gòu)是線性表。一維數(shù)組的數(shù)組元素只有一個(gè)下標(biāo)。在C語(yǔ)言程序中使用數(shù)組必須先進(jìn)行定義。定義一維數(shù)組的一般形式為:數(shù)據(jù)類型數(shù)組名[整型常量表達(dá)式]其中:數(shù)據(jù)類型是任一種基本數(shù)據(jù)類型或構(gòu)造數(shù)據(jù)類型。數(shù)組名是用戶定義的數(shù)組標(biāo)識(shí)符(數(shù)組名稱)。方括號(hào)中的整型常量表達(dá)式表示數(shù)據(jù)元素的個(gè)數(shù),也稱為數(shù)組的長(zhǎng)度。一、一維數(shù)組(三)一維數(shù)組的初始化數(shù)組的初始化是用來實(shí)現(xiàn)對(duì)數(shù)組的每個(gè)元素賦初值的。雖然有的編譯器會(huì)自動(dòng)對(duì)數(shù)組賦初值,但為了安全起見,建議用戶自己對(duì)數(shù)組賦初值。對(duì)一維數(shù)組初始化的一般形式為:數(shù)據(jù)類型數(shù)組名[長(zhǎng)度]={數(shù)值1,數(shù)值2,……,數(shù)值n}。一、一維數(shù)組(四)一維數(shù)組的引用維數(shù)組的引用就是對(duì)一維數(shù)組元素的使用,數(shù)組定義好并初始化后就可以使用(或稱為調(diào)用)。引用一維數(shù)組的一般形式為:數(shù)組名[下標(biāo)]二、二維數(shù)組(一)二維數(shù)組的定義
二維數(shù)組本質(zhì)上是以數(shù)組作為數(shù)組元素的數(shù)組,即“數(shù)組的數(shù)組”。二維數(shù)組又稱為矩陣,通常有兩個(gè)下標(biāo)(第一個(gè)下標(biāo)表示行,第二個(gè)下表表示列),行列數(shù)相等的矩陣稱為方陣。引用二維數(shù)組的一般形式為:數(shù)據(jù)類型數(shù)組名[整型常量表達(dá)式][整型常量表達(dá)式]二、二維數(shù)組(二)二維數(shù)組的初始化
二維數(shù)組的初始化是用來實(shí)現(xiàn)對(duì)二維數(shù)組的每個(gè)元素賦初值,其賦值方式有多種,這里介紹常用的兩種賦值方式——分段賦值和連續(xù)賦值。二、二維數(shù)組(三)二維數(shù)組的引用
二維數(shù)組的引用就是對(duì)二維數(shù)組元素的使用,數(shù)組定義好并初始化后就可以使用(或稱為調(diào)用)。引用二維數(shù)組的一般形式為:數(shù)組名[下標(biāo)1][下標(biāo)2]任務(wù)實(shí)施2TaskImplementation一、任務(wù)準(zhǔn)備(一)軟件及硬件準(zhǔn)備序號(hào)軟件及硬件名稱數(shù)量1ArduinoIDE/2聯(lián)網(wǎng)的電腦1臺(tái)/人3鍵盤1個(gè)/人4鼠標(biāo)1個(gè)/人5ArduinoUNO開發(fā)板1塊/人6四位數(shù)碼管擴(kuò)展板1塊/人7USB串口線1根/人一、任務(wù)準(zhǔn)備(二)場(chǎng)地設(shè)備準(zhǔn)備(三)安全防護(hù)準(zhǔn)備任務(wù)實(shí)施前需要做好場(chǎng)地防護(hù)準(zhǔn)備以及檢查實(shí)訓(xùn)場(chǎng)地和設(shè)備設(shè)施是否及存在安全隱患,如不正常請(qǐng)匯報(bào)老師并進(jìn)行處理方可實(shí)施任務(wù)。11.注意Arduino開發(fā)板與電腦的連接是否可靠;22.注意Arduino開發(fā)板與電腦連接端口的匹配;
33.注意輸出電壓,避免開發(fā)板被燒壞;
44.注意Arduino開發(fā)板與四位數(shù)碼管擴(kuò)展板連接時(shí),針腳要對(duì)孔,插入時(shí)要小心,避免陣腳變歪或折斷。
二、實(shí)施步驟(一)控制電路連接
步驟1:連接線的方頭端接口連接ArduinoUNO控制板,另一端USB接口連接電腦。
二、實(shí)施步驟(一)控制電路連接
步驟2:四位數(shù)碼管擴(kuò)展板安裝在Arduino開發(fā)板上。
二、實(shí)施步驟(二)控制程序編寫與上傳
步驟1:打開ArduinoIDE軟件,進(jìn)入界面。
二、實(shí)施步驟(二)控制程序編寫與上傳
步驟2:在工具-端口-選擇對(duì)應(yīng)的端口。若分不清端口,先把開發(fā)板連接上,查看端口,有COM1、COM3、COM4、COM5、COM6;斷開開發(fā)板連接,查看端口,有COM3、COM4、COM5、COM6;少了一個(gè)COM10端口,那么COM10就是對(duì)應(yīng)的端口。
二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
步驟1:新建一個(gè)文檔,//后的代碼可刪除;在【代碼編寫區(qū)域】下方輸入如圖所示代碼。
二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
步驟2:在【代碼編寫區(qū)域】中的“voidsetup(){”下方輸入如圖所示代碼。
二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
步驟3:再在【代碼編寫區(qū)域】中的“voidloop(){”下方輸入如圖所示代碼。
二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
步驟4:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到控制板的主控芯片中;
二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
步驟5:若操作順利,將出現(xiàn)“上傳成功”的提示,如圖所示,四位數(shù)碼管擴(kuò)展板上的第4位數(shù)碼管會(huì)出現(xiàn)9-8-7-6-5-4-3-2-1-0的倒數(shù)循環(huán)。
二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
步驟6:控制程序解析:(1)首先使用宏定義#define定義數(shù)碼管的字段管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,即a—11、b—9、c—7、d—5、e—4、f—10、g—8、h—6,并定義了數(shù)碼管公共端管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,即DIG1—A0、DIG2—A1、DIG3—3、DIG4—2。(2)接著利用一維數(shù)組將字段對(duì)應(yīng)的arduinoUNO板管腳號(hào)定義為整型一維數(shù)組intpin[],同時(shí)將顯示0—9這10個(gè)數(shù)字對(duì)應(yīng)的管腳電平狀態(tài)定義成相對(duì)應(yīng)的整型一維數(shù)組,以方便調(diào)用。(3)利用初始化函數(shù)voidsetup將上述所有的管腳定義為輸出模式,并將DIG1、DIG2、DIG3設(shè)置為低電平,使數(shù)碼管前三位不激活顯示,將DIG4設(shè)置為高電平,激活第四位數(shù)碼管。(4)在loop函數(shù)中,利用動(dòng)態(tài)顯示技術(shù)(采用for循環(huán)結(jié)構(gòu)),調(diào)用對(duì)應(yīng)的一維數(shù)組顯示數(shù)字“9”,延時(shí)1s后,接著調(diào)用對(duì)應(yīng)一位數(shù)組顯示“8”,延時(shí)1s……,直到顯示數(shù)字“0”并延時(shí)1s后,再重新進(jìn)行l(wèi)oop循環(huán)。二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
二、實(shí)施步驟(三)一維數(shù)組與“倒數(shù)”
程序運(yùn)行流程圖二、實(shí)施步驟(四)二維數(shù)組秒表
步驟1:新建一個(gè)文檔,//后的代碼可刪除;在【代碼編寫區(qū)域】輸入如圖所示代碼。
二、實(shí)施步驟(四)二維數(shù)組秒表
步驟2:在【代碼編寫區(qū)域】中的“voidsetup(){”下方輸入如圖所示代碼。
二、實(shí)施步驟(四)二維數(shù)組秒表
步驟3:在【代碼編寫區(qū)域】中的“voidloop(){”下方輸入如圖所示代碼。
二、實(shí)施步驟(四)二維數(shù)組秒表
步驟4:在【代碼編寫區(qū)域】下方輸入“voidRefresh(intDIG,intn){”,并在其下方輸入如圖所示代碼。
二、實(shí)施步驟(四)二維數(shù)組秒表
步驟5:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到控制板的主控芯片中。
二、實(shí)施步驟(四)二維數(shù)組秒表
步驟6:若操作順利,將出現(xiàn)“上傳成功”的提示,如圖所示,四位數(shù)碼管擴(kuò)展板上會(huì)出現(xiàn)0-9999的秒表功能,從第四位數(shù)碼管開始計(jì)數(shù),從1開始直到9999才歸零,歸零后又開始新的一輪循環(huán)。
二、實(shí)施步驟(四)二維數(shù)組秒表
步驟7:控制程序解析(1)首先使用宏定義#define定義數(shù)碼管的字段管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,即a—11、b—9、c—7、d—5、e—4、f—10、g—8、h—6,并定義了數(shù)碼管公共端管腳與arduinoUNO板管腳的對(duì)應(yīng)關(guān)系,即DIG1—A0、DIG2—A1、DIG3—3、DIG4—2。(2)接著利用二維數(shù)組將顯示0—9這10個(gè)數(shù)字對(duì)應(yīng)的管腳電平狀態(tài)定義成相對(duì)應(yīng)的字符型二維數(shù)組(每一行對(duì)應(yīng)一個(gè)數(shù)字的電平狀態(tài),0為高電平,1為低電平),以方便調(diào)用。(3)利用初始化函數(shù)voidsetup將上述所有的管腳定義為輸出模式。(4)在loop函數(shù)中,利用動(dòng)態(tài)顯示技術(shù)(采用嵌套的for循環(huán)結(jié)構(gòu),遍歷顯示數(shù)碼管的4位),調(diào)用自定義的子函數(shù)refresh顯示對(duì)應(yīng)的內(nèi)容。(5)定義子函數(shù)refresh點(diǎn)亮數(shù)碼管以顯示相應(yīng)內(nèi)容,該子函數(shù)帶兩個(gè)傳遞參數(shù),其中DIG為位選參數(shù)(即對(duì)應(yīng)四位數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防設(shè)備制造與安裝一體化服務(wù)合同協(xié)議書2篇
- 二零二五年度面包烘焙產(chǎn)品出口合同4篇
- 二零二五年度美食攤位租賃與品牌孵化合同4篇
- 2025年度個(gè)人對(duì)旅游公司借款協(xié)議4篇
- 二零二五獼猴桃種植基地土地租賃與智能灌溉系統(tǒng)合同4篇
- 錄用條件協(xié)議書(2篇)
- 二零二五年度模板木方質(zhì)量保證合同范本4篇
- 市場(chǎng)研究專題報(bào)告十 -急性缺血性腦卒中藥物市場(chǎng)研究專題報(bào)告 202410
- 2025年銷售合同簽訂全流程規(guī)范與操作指南2篇
- 博士答辯導(dǎo)師講座模板
- 2025貴州貴陽(yáng)市屬事業(yè)單位招聘筆試和高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年住院醫(yī)師規(guī)范化培訓(xùn)師資培訓(xùn)理論考試試題
- 期末綜合測(cè)試卷(試題)-2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué)人教版
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 結(jié)構(gòu)力學(xué)本構(gòu)模型:斷裂力學(xué)模型:斷裂力學(xué)實(shí)驗(yàn)技術(shù)教程
- 黑色素的合成與美白產(chǎn)品的研究進(jìn)展
- 金蓉顆粒-臨床用藥解讀
- 法治副校長(zhǎng)專題培訓(xùn)課件
- 汽車、電動(dòng)車電池火災(zāi)應(yīng)對(duì)
- 中醫(yī)藥適宜培訓(xùn)-刮痧療法教學(xué)課件
- 免疫組化he染色fishish
評(píng)論
0/150
提交評(píng)論