在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 初步認(rèn)識(shí)51單片機(jī)-2.4單片機(jī)C語言模塊化編程

            初步認(rèn)識(shí)51單片機(jī)-2.4單片機(jī)C語言模塊化編程

            作者: 時(shí)間:2016-11-21 來源:網(wǎng)絡(luò) 收藏
            2.2單片機(jī)C語言模塊化編程

            這里插入一節(jié),講講單片機(jī)C語言的模塊化編程。什么叫做模塊化編程。前面我們寫的代碼全部在led.c文件中,試想一下,如果代碼過多,怎么閱讀。另外與你合作的人如何看懂你的代碼。簡(jiǎn)單的講,沒有可讀性和移植性。模塊化編程就是為了解決這個(gè)問題。當(dāng)一個(gè)工程量比較大時(shí),我們會(huì)把這個(gè)工程分成一段一段的任務(wù),每個(gè)人完成不同段的任務(wù)。同時(shí)每個(gè)段之間是有聯(lián)系的。假設(shè)開發(fā)人員A需要條用B的某個(gè)功能模塊,那么A只要關(guān)注模塊的功能和如何調(diào)用就行了,至于這個(gè)功能是如何實(shí)現(xiàn)的,可以不用理會(huì)。另外,對(duì)于單個(gè)人員開發(fā)完某個(gè)工程,下一個(gè)工程可能需要同樣的功能模塊,同樣只需要知道如何調(diào)用該模塊就可以了,無需再去研究該段代碼實(shí)現(xiàn)功能的過程。還有一個(gè)工程如果過大,出現(xiàn)了錯(cuò)誤,不容易排查錯(cuò)誤。但是按照一個(gè)一個(gè)模塊的思路來排查,思路就顯得更清晰。

            本文引用地址:http://www.biyoush.com/article/201611/319545.htm

            下面我們來看看如何建立單片機(jī)C語言模塊化編程

            (1)打開Keil軟件,Project->New uVersion Project

            打開led文件夾,在file name中輸入led并保存

            (2)選擇單片機(jī)型號(hào),前面講過不羅嗦

            (3)彈出一個(gè)對(duì)話框,選擇yes

            (4)新建一個(gè)空白文件或者使用ctrl+N,然后保存(ctrl+S),取名為src

            然后雙擊src文件夾,在file name中輸入main.c并保存。

            在main.c中輸入以下程序:

            • #include
            • void main(void)
            • {
            • }
            • 然后保存

            (5)點(diǎn)擊project->options for Target ‘target 1’…

            ?

            (6)在target中,選擇晶振為11.0592

            (7)然后點(diǎn)擊output, 勾選Creat HEX File,然后點(diǎn)擊Select Folder for Objects…

            (8)此時(shí)會(huì)彈出一個(gè)對(duì)話框,新建一個(gè)文件夾并取名為output,然后雙擊output文件夾,點(diǎn)擊確定

            (9)然后點(diǎn)擊Listing,之后點(diǎn)擊Select Folder for listings

            (10)在彈出的對(duì)話框中雙擊output,點(diǎn)擊ok,再次點(diǎn)擊ok.

            (11)回到主界面,右鍵單擊source group, 選擇add files to group”sourcegroup1”…

            (12)在彈出的對(duì)話框中雙擊src,點(diǎn)擊main.c,再點(diǎn)擊Add,然后點(diǎn)擊close

            (13)src文件夾中存放源碼,當(dāng)我們點(diǎn)擊編譯時(shí),輸出相關(guān)的文件會(huì)存放在output中

            (14)現(xiàn)在我們新建四個(gè)文件,led.c,led.h,delay.c,delay.h. 我們把前面寫的程序分成三個(gè)模塊,main.c部分,led.c部分,delay.c延時(shí)部分. 如何新建這些文件,同樣的,點(diǎn)擊創(chuàng)建空白文件(ctrl+N),然后保存(ctrl+S),將保存路徑選擇在src文件夾中,如果要建立led.c,則filename為led.c,如果要建立led.h,則filename為led.h

            (15)建好這四個(gè)文件后,在led.c中輸入如下內(nèi)容:

            • #include
            • sbit LED = P1^0;
            • void ledON(void)
            • {
            • LED =0;
            • }
            • void ledOFF(void)
            • {
            • LED=1;
            • }

            復(fù)制代碼

            然后點(diǎn)擊保存。

            在led.h中輸入

            • #ifndef _LED_H_
            • #define _LED_H_
            • extern void ledON(void);
            • extern void ledOFF(void);
            • #endif

            復(fù)制代碼

            在delay.c中輸入,

            • unsigned int i;
            • void delay(void)
            • {
            • for(i=0;i<30000;i++);
            • }

            復(fù)制代碼

            在delay.h中輸入:

            • #ifndef _DELAY_H_
            • #define _DELAY_H_
            • extern void delay(void);
            • #endif

            復(fù)制代碼

            在main.c中輸入:

            • #include
            • #include "delay.h"
            • #include "led.h"
            • void main(void)
            • {
            • while(1)
            • {
            • ledON();
            • delay();
            • ledOFF();
            • delay();
            • }
            • }

            復(fù)制代碼

            (16)添加led.c,delay.c文件

            (17)點(diǎn)擊編譯,檢查錯(cuò)誤,完成。



            評(píng)論


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

            關(guān)閉