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

?

單片機編程模塊化設(shè)計研究

2019-06-11 12:29:14張華林
天工 2019年2期
關(guān)鍵詞:設(shè)計研究單片機

張華林

[摘 要]隨著單片機所控制的對象逐漸增加,單片機本身的應(yīng)用系統(tǒng)也變得愈加復(fù)雜,傳統(tǒng)的編程方法已經(jīng)無法滿足設(shè)計以及使用的要求,因此需要采用簡潔高效的模塊化設(shè)計方法進行設(shè)計。模塊化編程不僅可以實現(xiàn)程序結(jié)構(gòu)以及編程設(shè)計的有效分工,同時能夠增加程序自身的可移植性以及設(shè)計的速度。

[關(guān)鍵詞]單片機;模塊化編程;設(shè)計研究

一、模塊化編程的簡述

為了形成規(guī)范化的應(yīng)用系統(tǒng)來實現(xiàn)一定的功能或控制,除了必要的硬件部分不能與相應(yīng)程序分離,程序的質(zhì)量將決定應(yīng)用系統(tǒng)的性能。實際上,大多數(shù)初學(xué)者編寫的程序只包含一個源文件,通常只有幾十或幾百行小程序是可接受的。但是,隨著單片機控制對象數(shù)量的增加,用C語言編寫的功能越來越多,程序代碼也越來越復(fù)雜,而所有的代碼都被寫在一起,導(dǎo)致調(diào)試起來異常煩瑣,一旦出現(xiàn)需要對程序進行部分修改的問題,就需要花費程序員大量的時間與精力。因此在對復(fù)雜的單片機程序進行設(shè)計時需要采用更加簡便與高效的方法——模塊化編程。模塊化編程的優(yōu)勢在于便于分工,程序的實現(xiàn)更加簡便和易于調(diào)試,有利于輕松地將程序結(jié)構(gòu)進行劃分,增強程序的可讀性和可移植性,從而實現(xiàn)程序多樣化的可讀性和可移植性。

模塊化編程主要指的是一個完整的程序被分成幾個模塊,并通過一些語句將這些模塊組合成一個程序。在C語言中,模塊中只有一個C文件,模塊化設(shè)計是指程序中有多個模塊,即多個源文件和相應(yīng)的頭文件、存儲程序代碼的源文件、存儲函數(shù)的頭文件、變量聲明和引腳定義。

二、模塊化編程的方法

首先,需要新建一個文件夾并將其進行重新命名,根據(jù)命名的文件在其下再新建三個名為mdk、obj和src的子文件夾。在mdk文件夾中存放工程文件,在obj文件夾中存放過程文件與Hex文件,在src文件夾中存放模塊程序源文件和主程序文件。

其次,需要打開Keil軟件并且新建一個工程文件,按照一定的設(shè)計需要將工程文件進行重新設(shè)置,將設(shè)置好的工程文件存放到mdk文件夾中。

再次,需要在keil軟件中新建main.c文件和模塊程序源文件,并且新建好的文件存放到src文件夾中,同時將所有的C文件依次添加到工程中。

最后,需要開始對C文件進行編譯工作。簡單設(shè)置編譯輸出的選項;在標(biāo)簽頁“Output”頁面中“CreateHex File”的選項前打鉤,并點擊頁面中的“Select Folder for Object”按鈕,將其存放到obj文件夾下;標(biāo)簽頁Listing頁面中同樣有“Select Folder for Object”按鈕,點擊后設(shè)置到obj文件夾下,通過這樣設(shè)置編譯生成的Hex文件和過程文件都會放在obj文件夾。接著對每個模塊的C文件進行編譯,如果出現(xiàn)錯誤,則按照相應(yīng)的提示進行修改。在模塊編輯完成之后,需要對工程中所有的C文件進行編譯處理。編譯完成之后會直接生成與工程同名的Hex文件。

最后兩步操作是整個模塊化編程的重點,為了能夠加強理解,可以選取比較簡單易懂的數(shù)碼管秒表為例進行相應(yīng)步驟的講解。在沒有使用模塊化編程之前,程序結(jié)構(gòu)較為簡單,所使用到的數(shù)碼管秒表語句也比較少,在使用模塊化編程之后,整個程序結(jié)構(gòu)變得非常清晰,也比較容易進行修改與移植。

(一)對模塊進行劃分

根據(jù)程序設(shè)計的要求以及所具備的功能,可以將整個工程劃分為四個模塊:主程序、延時模塊、定時器模塊和LED模塊。其中延時、定時器和LED模塊是由H文件和C文件組成,H 文件是該功能與外部的接口,而C文件則是負(fù)責(zé)實現(xiàn)具體的功能;在模塊中C文件上會寫明是程序代碼,在這個文件中包含了能實現(xiàn)功能的源代碼,編譯器從該文件編譯,并從中生成目標(biāo)文件。模塊中的H文件是頭文件,頭文件起到說明書的作用。闡述了該模塊提供的接口函數(shù)、接口變量、一些重要的宏定義和結(jié)構(gòu)信息。頭文件必須以標(biāo)準(zhǔn)格式寫入,否則將出錯。重要的是要注意,為了清楚地知道哪個頭文件對應(yīng)哪個源文件,頭文件和源文件的名稱應(yīng)該保持一致。

(二)對模塊進行編寫

對于延時模塊而言,可以在原始的程序中將其進行修改出來,具體的操作步驟是:首先,編寫一個delay.h文件,用于聲明可以在外部調(diào)用的函數(shù),創(chuàng)建一個新文件,并保存名為delay.h;其次,寫一個延時delay.c文件,這是延遲模塊的具體操作。它可以直接復(fù)制和粘貼延遲功能在原程序中,文件開頭必須#include“delay.h”。因為uchar用于H文件和C文件,所以必須添加#include“common.h”在文件中。Typedef方法通常用于定義常用的數(shù)據(jù)類型,以便形成名為common的頭文件,以便它可以直接在項目中的其他文件中調(diào)用。根據(jù)以上步驟,編寫了定時器和LED模塊,將H和C文件保存在src文件夾中。

(三)編寫主程序

將上文中所有編譯好的程度調(diào)用到一起,可以在對原始程序進行修改時得出相應(yīng)的程序。需要注意模塊變量的使用,尤其是對全局變量而言,更需要注意。

(四)對每個模塊進行編譯

編譯各模塊后四個模塊。在編譯每個模塊沒有錯誤之后,所有文件都被編譯。在沒有錯誤提示之后,軟件自動生成十六進制文件。將模塊化設(shè)計的數(shù)碼管式秒表與原來的數(shù)碼管式秒表相比,模塊化的主程序只有十幾句話,各功能模塊的語句功能簡單易移植,整個工程程序的結(jié)構(gòu)簡潔。

三、總結(jié)

上述項目的程序功能比較簡單。通過對簡單項目的模塊化程序設(shè)計改造,能快速地掌握單片機的模塊化程序設(shè)計方法。當(dāng)程序功能復(fù)雜、資源較多時,必須采用編程模塊化進行設(shè)計。

參考文獻(xiàn):

[1]蔡亞洲.單片機的應(yīng)用與開發(fā)技巧[J].科技風(fēng),2009(19):205.

[2]李冰濤.單片機匯編語言的模塊化編程方法舉例[J].電子制作,2010(12):17-20.

[作者單位]

荊州職業(yè)技術(shù)學(xué)院

(編輯:栗國花)

猜你喜歡
設(shè)計研究單片機
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機的平衡控制系統(tǒng)設(shè)計
電子制作(2017年19期)2017-02-02 07:08:27
辦公大樓環(huán)境景觀設(shè)計
營房數(shù)字化系統(tǒng)文物保護模塊的設(shè)計與研究
能力本位視角下的高職課程體系設(shè)計研究
基于大數(shù)據(jù)的數(shù)字化校園中學(xué)生學(xué)籍管理系統(tǒng)
基于綠色設(shè)計理念下的包裝設(shè)計研究
广灵县| 武胜县| 辽阳市| 虎林市| 乾安县| 阿克苏市| 三都| 宁乡县| 新巴尔虎左旗| 锡林浩特市| 股票| 莱阳市| 越西县| 宁化县| 华蓥市| 天峻县| 股票| 太康县| 信宜市| 武鸣县| 成都市| 界首市| 光泽县| 乌拉特后旗| 河曲县| 陇川县| 衡阳市| 手游| 藁城市| 高雄市| 海口市| 宜兰县| 东宁县| 墨竹工卡县| 应用必备| 日照市| 洛浦县| 邢台县| 西吉县| 射洪县| 栖霞市|