新聞中心

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

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

作者:zhuzhaokun1987 時間:2015-02-02 來源:電子產(chǎn)品世界 收藏

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

本文引用地址:http://www.butianyuan.cn/article/269322.htm

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

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

  (二)LED流水燈例程

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

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

 

  

 

  2、保存創(chuàng)建的工程

  

 

  3、選擇所使用的芯片

  

 

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

  

 

  5、新建文件,用以編輯函數(shù)和頭文件

  

 

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

  

 

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

  

 

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

  

 

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

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

  

 

  

 

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

51單片機相關(guān)文章:51單片機教程


c語言相關(guān)文章:c語言教程


單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理



上一頁 1 2 下一頁

關(guān)鍵詞: LED 延時函數(shù)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉