• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 牛人業話 > 單片機模塊化編程(二)再探

    單片機模塊化編程(二)再探

    作者:zhuzhaokun1987 時間:2015-02-02 來源:電子產品世界 收藏

      又有幾天沒有跟大家見面啦,真真是有點極為想念呢。在上一帖中,我向大家簡單的講解了使用單片機模塊化編程給我們帶來的好處。而在現實工作場合,不論是“攻城獅”們還是“程序猿”們,也不論是軟件設計還是硬件設計,模塊化的概念也是大家經常或者說是必須使用的思維了。下面針對大家的51單片機課程的學習,詳細給大家講講如何將模塊化編程這一概念運用到單片機實戰當中去。還是以大家非常之熟悉的流水燈為例進行講解吧。(版主下文中開啟嚴肅教學模式,上課大家不要講話,上廁所和有問題的請先舉手示意。)

    本文引用地址:http://www.czjhyjcfj.com/article/269322.htm

      (一)怎樣使用模塊化編程建立工程

      下面以實現一個簡單的流水燈作為實例進行詳細講解。我們都知道,要想實現簡單的流水燈(這里使用,而不使用定時器中斷法),我們必須要有以下函數:初始化函數、和LED流水燈實現函數,這三大類函數。那么,我們怎樣以模塊的形式來使用這些函數呢。下文中作者采用了圖文并茂的形式進行分析,這真真是極好的~

      (二)LED流水燈例程

      1、首先使用Keil uVision新建工程,這里我采用的是Keil uVision4

    。(這個軟件相信大家一定不會陌生)

     

      

     

      2、保存創建的工程

      

     

      3、選擇所使用的芯片

      

     

      4、點擊ok后,在彈出的對話框中選擇“否”

      

     

      5、新建文件,用以編輯函數和頭文件

      

     

      6、將新建的這些文件分別重命名并保存

      

     

      7、將xxx.C的文件添加到工作組中。

      

     

      8、當完成以上步奏之后,我們就可以進行具體的函數編寫了。對于如何編寫一個.C的C語言文件和一個.h的頭文件,下面我來具體說明。首先以主函數main.c為例。如下圖:

      

     

      我們可以看到,這個流水燈的主函數main.c如果用模塊化編程的方法來實現的話,干凈整潔了很多。少了我們常見的相關的delay();以及對uint和uchar的宏定義。且在主函數中,直接使用了LED_init();和LED_display();這兩個函數。而我們知道,要想在主函數中使用一個子函數,必須得在主函數的前面對這幾個子函數進行聲明,可是本段代碼中并沒有出現相關的語句。取而代之的是,在程序段第二行,多了一句#include “LED.h”,這一句話又有什么樣的特殊功能呢?下面讓我們來研究一下LED.c和LED.h的廬山真面目。

      9、LED.c和LED.h的編寫

      

     

      

     

      從LED.c這個C文件中,我們可以看出具體對LED_init();和LED_display();函數如何實現,在這個文件中有著具體的描述。那么問題來了~~LED.c和main.c之間是怎樣產生聯系的呢?換句話說,當我們在另外一個文件中需要調用其他文件當中的某個函數的時候,那么我們該如何做呢?要想搞清楚這個問題,是時候請出LED.h這位大神了。一般來講xxx.h格式的文件為頭文件,頭文件提供了程序內函數被其他函數所調用的接口。我們也可以把他稱為一份“接口描述文件”。

    51單片機相關文章:51單片機教程


    c語言相關文章:c語言教程


    單片機相關文章:單片機教程


    單片機相關文章:單片機視頻教程


    單片機相關文章:單片機工作原理



    上一頁 1 2 下一頁

    關鍵詞: LED 延時函數

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 北流市| 浑源县| 新龙县| 丰原市| 青海省| 卓尼县| 吉水县| 巴林左旗| 兴隆县| 探索| 四子王旗| 东城区| 宁陵县| 蓬安县| 中宁县| 石景山区| 射阳县| 鄂州市| 晋宁县| 临江市| 友谊县| 黔江区| 乐至县| 尚义县| 邓州市| 神木县| 巨野县| 建宁县| 天台县| 襄城县| 邵东县| 郎溪县| 霍山县| 互助| 康乐县| 清原| 郸城县| 阿勒泰市| 铁力市| 连南| 莎车县|