国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

單片機(jī)開發(fā)中C語言的應(yīng)用

2018-01-09 09:58林龍?jiān)?/span>
中文信息 2018年11期
關(guān)鍵詞:編程語言數(shù)組指針

林龍?jiān)?/p>

摘 要:針對(duì)單片機(jī)開發(fā)對(duì)編程語言提出的高要求,在簡(jiǎn)單介紹C語言具有的優(yōu)勢(shì)和單片機(jī)開發(fā)過程中C語言應(yīng)用可行性的基礎(chǔ)上,對(duì)其在實(shí)際的單片機(jī)開發(fā)中的具體應(yīng)用進(jìn)行深入分析,旨在為單片機(jī)開發(fā)提供有效工具和方法。

關(guān)鍵詞:?jiǎn)纹瑱C(jī)開發(fā) C語言

中圖分類號(hào):TP313 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-9082(2018)11-000-01

如今,單片機(jī)技術(shù)快速發(fā)展,為滿足使用和發(fā)展需要,必須對(duì)其進(jìn)行開發(fā),而單片機(jī)開發(fā)往往涉及到很多編程與算法設(shè)計(jì),這就對(duì)編程語言提出了更高的要求,傳統(tǒng)手段已經(jīng)難以滿足要求,亟需采用全新的方法和手段。

一、C語言主要優(yōu)勢(shì)與在單片機(jī)開發(fā)過程中應(yīng)用的可行性分析

相對(duì)于傳統(tǒng)匯編語言,C語言有眾多優(yōu)勢(shì),包括具有較強(qiáng)的繼承性與可移植性等,這使單片機(jī)設(shè)計(jì)開發(fā)可將C語言作為主導(dǎo)工具。作為高級(jí)編程語言之一,C語言不僅繼承傳統(tǒng)工具所有優(yōu)勢(shì),還能提高開發(fā)工作的便捷性。這是因?yàn)镃語言強(qiáng)調(diào)借助結(jié)構(gòu)化設(shè)計(jì),同時(shí)按照從上到下的順序依次展開,幫助開發(fā)者更好的掌握內(nèi)部構(gòu)造,從而做好整體分配,保證程序運(yùn)行的便捷性與可靠性。此外,C語言在程序開發(fā)過程中還具有其它的優(yōu)點(diǎn):第一,功能性較強(qiáng)且結(jié)構(gòu)性良好,能在各類機(jī)型上完成運(yùn)行,同時(shí)在編譯運(yùn)算的支持下提供可讀性;第二,解決硬件兼容問題,編程人員容易掌握,且具有很強(qiáng)的邏輯性,能減少實(shí)際工作量;第三,所有不同的模塊均有明確任務(wù)與分工,能使整個(gè)過程都變得十分簡(jiǎn)便[1]。

二、單片機(jī)開發(fā)過程中C語言具體應(yīng)用

單片機(jī)開發(fā)過程中要合理應(yīng)用C語言,使其發(fā)揮出應(yīng)有的作用,必須按照專門的程序和步驟進(jìn)行:首先,編譯目標(biāo)源對(duì)應(yīng)的程序,同時(shí)對(duì)相關(guān)代碼實(shí)施連接與替換;然后,程序設(shè)計(jì)完畢后,對(duì)源程序進(jìn)行轉(zhuǎn)換,得到單片機(jī)可以識(shí)別與運(yùn)行的形式。在整個(gè)開發(fā)過程中,主要包含以下幾個(gè)關(guān)鍵步驟:(1)軟件安裝,登陸網(wǎng)站下載安裝包,此時(shí)按提示完成即可,操作十分簡(jiǎn)單。在下載完畢后,實(shí)施解壓處理,啟動(dòng)程序開始軟件安裝,然后輸入產(chǎn)品序列號(hào),安裝好后即可正常使用軟件;(2)建立源文件,創(chuàng)建一個(gè)全新的項(xiàng)目,再新建一個(gè).c文件并包含到項(xiàng)目中,通過文字編輯窗口來完成程序編輯,這時(shí)源文件建立完畢;(3)通過編譯與調(diào)試得到HEX文件,對(duì)指定程序進(jìn)行翻譯調(diào)試,先啟動(dòng)調(diào)試模式,通過仿真器完成調(diào)試,并改正文件中存在的錯(cuò)誤,然后對(duì)源程序進(jìn)行編譯,通過編輯器生成需要的目標(biāo)文件,之后進(jìn)行模塊連接,保證文件的正確性。正常操作目標(biāo)文件,生成符合要求的HEX文件,充分其所具有的各項(xiàng)功能與作用,再通過程序燒錄軟件向單片機(jī)燒錄程序,最后由單片機(jī)執(zhí)行驗(yàn)證程序效果[2]。

C語言可對(duì)單片機(jī)資源實(shí)施分配,將指針結(jié)構(gòu)配置以及數(shù)組關(guān)系理順等作為前期。因此,想要在開發(fā)中充分利用C語言,必須正確認(rèn)識(shí)并有效控制上述方面。從指針結(jié)構(gòu)角度講,在使用C語言時(shí),一般情況下,和指針有關(guān)的聲明均采用類型標(biāo)識(shí)符*指針變量名的形式,對(duì)單片機(jī)而言,指針和普通定義存在一定差別,這種差別主要體現(xiàn)在格式方面,應(yīng)設(shè)立不同的存儲(chǔ)區(qū)?;诖耍诼暶髦羔樈Y(jié)構(gòu)的過程中,需要使用不同格式。確定數(shù)據(jù)格式時(shí),常見data等形式,同時(shí)在變量控制的過程中,可使用下列格式:

在指針尋址方面,基于C語言的尋址和其它尋址方式基本相同。因數(shù)組主要存儲(chǔ)于單片機(jī)當(dāng)中,而單片機(jī)資源空間通常情況下會(huì)比較有限,采用這些數(shù)組的時(shí)候,則必須要盡量避開相對(duì)較大的部分?jǐn)?shù)組,使得數(shù)據(jù)結(jié)構(gòu)有效簡(jiǎn)化。并且在定義不需要進(jìn)行操作的數(shù)組,可以使用code類型存儲(chǔ)在ROM中來節(jié)約RAM資源。例如:

事實(shí)上,在操作時(shí),指針尋址的過程中,應(yīng)當(dāng)優(yōu)先考慮data區(qū)對(duì)應(yīng)的指針,采用A/D轉(zhuǎn)換等方式向單片機(jī)轉(zhuǎn)入外部數(shù)據(jù)[3]。完成data區(qū)對(duì)應(yīng)的指針尋址以后,對(duì)存儲(chǔ)區(qū)對(duì)應(yīng)的指針開始尋址。但從數(shù)據(jù)存儲(chǔ)角度講,可通過指針完成函數(shù)調(diào)用,這些調(diào)用通常都需要按照某種格式,數(shù)據(jù)定義后,在以后代碼程序當(dāng)中,即可函數(shù)完成調(diào)用,比如,先確定一個(gè)函數(shù),即scan(),再對(duì)此進(jìn)行調(diào)用,主要采用以下代碼進(jìn)行實(shí)現(xiàn):

從當(dāng)前的工業(yè)控制角度看,看門狗電路方面還有一定欠缺,在復(fù)位過程中使看門狗動(dòng)作,即進(jìn)行熱啟動(dòng)。但在實(shí)際的熱啟動(dòng)中,由于無法從頭開始,導(dǎo)致現(xiàn)有計(jì)算結(jié)果復(fù)位,使系統(tǒng)發(fā)生異常。為有效解決以上問題,需借助相應(yīng)的程序?qū)?、熱啟?dòng)作出綜合判別。通常情況下,應(yīng)先確定一個(gè)標(biāo)志位,同時(shí)在啟動(dòng)過程中對(duì)標(biāo)志位具體內(nèi)容進(jìn)行讀取,若所讀內(nèi)容和設(shè)定值完全相同,則判定為熱啟動(dòng);若所讀內(nèi)容和設(shè)備值不符,則判定為冷啟動(dòng)。除此之外,為確保以上功能得以順利實(shí)現(xiàn),需設(shè)置專門的指針,同時(shí)使其指向一個(gè)特定的單元[4]。

但通過實(shí)際的編譯與運(yùn)行發(fā)現(xiàn),熱啟動(dòng)和冷啟動(dòng),在開機(jī)以后,其內(nèi)存單元的復(fù)位都顯示為0,說明未能達(dá)到預(yù)期的要求。通過分析,將產(chǎn)生這一問題的原因確定如下:利用C語言進(jìn)行編程的過程中,在開機(jī)狀態(tài)下執(zhí)行的代碼不是從目標(biāo)函數(shù)首個(gè)語句開始的。目標(biāo)函數(shù)首個(gè)語句在正式執(zhí)行以前應(yīng)先完成起始代碼的執(zhí)行,但該代碼的執(zhí)行將造成清零。針對(duì)這一實(shí)際問題,應(yīng)在編碼完成后,對(duì)形成的源文件實(shí)施適當(dāng)修改,再利用編譯程序自帶程序進(jìn)行編譯,以此獲得startuo.obj文件,最利用這一代碼完全取代之前的起始代碼,這樣就能從根本上防止原始代碼的執(zhí)行造成清零。

綜上所述,C語言是目前應(yīng)用最為廣泛的編程語言之一,具有其它編程語言不具備的獨(dú)特優(yōu)勢(shì),這也決定了它在單片機(jī)開發(fā)領(lǐng)域具有良好的應(yīng)用與發(fā)展趨勢(shì)。而且通過實(shí)踐可知,在單片機(jī)開發(fā)過程中通過對(duì)C語言的合理應(yīng)用,能有效提高開發(fā)技術(shù)水平,降低技術(shù)難度,從而保證最終的開發(fā)效果。

參考文獻(xiàn)

[1]張祎.C語言在單片機(jī)開發(fā)中的應(yīng)用分析[J].江蘇科技信息,2017(18):47-48.

[2]王國(guó)慶.C語言在單片機(jī)中的應(yīng)用[J].電腦迷,2017(02):104.

[3]周嵐.淺析基于C語言的單片機(jī)技術(shù)[J].軟件工程,2016,19(05):30-31.

[4]李宛娜.試論C語言在單片機(jī)開發(fā)中的運(yùn)用[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2014,30(18):26-27.

猜你喜歡
編程語言數(shù)組指針
JAVA稀疏矩陣算法
壓力-體積轉(zhuǎn)換在CFC編程語言中的實(shí)現(xiàn)解析
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
Java編程語言的特點(diǎn)與應(yīng)用
淺談不同編程語言對(duì)計(jì)算機(jī)軟件開發(fā)的影響
Excel數(shù)組公式在林業(yè)多條件求和中的應(yīng)用
面向?qū)ο骔eb開發(fā)編程語言的的評(píng)估方法
尋找勾股數(shù)組的歷程
基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識(shí)別
ARM Cortex—MO/MO+單片機(jī)的指針變量替換方法
浑源县| 五指山市| 北海市| 安顺市| 南昌县| 铁力市| 嘉黎县| 揭阳市| 凤山市| 明溪县| 淮滨县| 罗平县| 彭阳县| 吐鲁番市| 木兰县| 朝阳市| 洪泽县| 杭州市| 绥中县| 临海市| 永康市| 新巴尔虎左旗| 梧州市| 德州市| 长宁区| 三都| 万年县| 新巴尔虎左旗| 山东| 湖南省| 永登县| 奉化市| 辉县市| 宁南县| 扶余县| 邵阳市| 潼关县| 左贡县| 区。| 田东县| 永兴县|