999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

張華林

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

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

一、模塊化編程的簡(jiǎn)述

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

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

二、模塊化編程的方法

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

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

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

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

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

(一)對(duì)模塊進(jìn)行劃分

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

(二)對(duì)模塊進(jìn)行編寫

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

(三)編寫主程序

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

(四)對(duì)每個(gè)模塊進(jìn)行編譯

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

三、總結(jié)

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

參考文獻(xiàn):

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

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

[作者單位]

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

(編輯:栗國(guó)花)

猜你喜歡
設(shè)計(jì)研究單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
辦公大樓環(huán)境景觀設(shè)計(jì)
營(yíng)房數(shù)字化系統(tǒng)文物保護(hù)模塊的設(shè)計(jì)與研究
能力本位視角下的高職課程體系設(shè)計(jì)研究
基于大數(shù)據(jù)的數(shù)字化校園中學(xué)生學(xué)籍管理系統(tǒng)
基于綠色設(shè)計(jì)理念下的包裝設(shè)計(jì)研究
主站蜘蛛池模板: 国产成人久久777777| 成年看免费观看视频拍拍| 免费全部高H视频无码无遮掩| 重口调教一区二区视频| 波多野结衣在线一区二区| 亚洲精品国产成人7777| 日韩毛片免费| 国产网站在线看| 亚洲成人一区二区| 国产亚洲精品无码专| 日韩天堂网| 曰韩免费无码AV一区二区| 亚洲视频在线网| 国产成人凹凸视频在线| 亚洲男人的天堂视频| 丰满的熟女一区二区三区l| 欧美不卡二区| 亚洲bt欧美bt精品| 国产欧美精品午夜在线播放| 国产精品免费p区| 毛片免费在线| 亚洲香蕉久久| 亚洲av综合网| 亚洲第一视频区| 欧美三级视频网站| 亚洲熟妇AV日韩熟妇在线| 911亚洲精品| 亚洲日韩精品综合在线一区二区 | 亚洲精品视频免费观看| 真实国产精品vr专区| 青草午夜精品视频在线观看| 亚洲欧美日韩另类在线一| 欧美日本不卡| 亚洲日韩每日更新| 91成人在线观看| 欧美人与性动交a欧美精品| 国产精品美女网站| 免费在线看黄网址| 久久男人资源站| 欧美成人午夜影院| 日韩天堂在线观看| 天堂网亚洲系列亚洲系列| 67194亚洲无码| 欧美一级在线看| 日韩一区二区在线电影| 女同国产精品一区二区| 国产成人亚洲精品蜜芽影院| 自拍中文字幕| 成人亚洲视频| 亚洲码在线中文在线观看| 色综合天天操| 国产成人超碰无码| 亚洲国产综合精品中文第一| 免费高清毛片| 97视频精品全国在线观看| 亚洲无码高清一区| 国产美女无遮挡免费视频网站| 色婷婷在线播放| 天天综合网色中文字幕| 香蕉eeww99国产精选播放| AV天堂资源福利在线观看| 国产高清不卡视频| AV天堂资源福利在线观看| 精品国产Av电影无码久久久| 国产成人精品视频一区视频二区| 国产午夜精品一区二区三| 热思思久久免费视频| 欧洲极品无码一区二区三区| 伊在人亚洲香蕉精品播放| 亚洲男人天堂2020| a级毛片免费网站| 伊人国产无码高清视频| 米奇精品一区二区三区| 91小视频在线播放| 国产精品一线天| 国产无码高清视频不卡| 免费在线一区| 内射人妻无套中出无码| 国产亚洲欧美另类一区二区| 国产福利大秀91| 欧美曰批视频免费播放免费| 亚洲欧洲AV一区二区三区|