找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3469|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)怎么模塊化編程?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:252736 發(fā)表于 2017-11-23 16:43 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
單片機(jī)怎么模塊化編程啊?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

來(lái)自 4#
ID:212797 發(fā)表于 2017-11-23 18:38 | 只看該作者
一個(gè)簡(jiǎn)單的示例:假如程序要負(fù)責(zé)按鍵掃描、LED燈閃爍。
主程序結(jié)構(gòu):
void main()
{
    delay_ms(1000);     //等待電平·穩(wěn)定
    interrupt_off();        
    sys_init();               //系統(tǒng)初始化
    delay_ms(1000);
    interrupt_on();

    while(1)
    {
        key_scan();    //按鍵掃描處理
        led_light();    //LED燈處理
    }
}

系統(tǒng)初始化函數(shù)里面又可以調(diào)用:IO口初始化函數(shù),中斷初始化函數(shù)等等,也可以把所有的初始化函數(shù)直接放在while(1)之前。按鍵掃描和LED燈控制函數(shù)分別實(shí)現(xiàn),如果想獨(dú)立便于以后重復(fù)使用代碼,可以分別單獨(dú)寫(xiě)key.c、key.h, led.c、led.h文件,需要的話導(dǎo)入相應(yīng)的頭文件即可。

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

來(lái)自 5#
ID:157238 發(fā)表于 2017-11-23 21:48 | 只看該作者
比如你想要讓幾個(gè)燈泡實(shí)現(xiàn)流水,那么你寫(xiě)一個(gè)叫做led.c的文件實(shí)現(xiàn)怎么亮,然后相應(yīng)寫(xiě)一個(gè)led.h函數(shù)里面寫(xiě)你的led燈連接到單片機(jī)的哪個(gè)腳上,再初始化一下led顯示函數(shù)也就是你寫(xiě)的led亮的函數(shù)。這么你在主函數(shù)中直接調(diào)用你在led.c中寫(xiě)的函數(shù)就能實(shí)現(xiàn)功能了,但是main函數(shù)頭文件中必須包含頭文件led.h

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:252134 發(fā)表于 2017-11-23 17:43 | 只看該作者
把要初始化、實(shí)現(xiàn)的功能等分別寫(xiě)進(jìn)不同的函數(shù),主函數(shù)只負(fù)責(zé)調(diào)用和執(zhí)行,這樣檢查錯(cuò)誤和定位好找些,如果統(tǒng)統(tǒng)寫(xiě)進(jìn)主函數(shù)就很亂,不叫模塊化了

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:252775 發(fā)表于 2017-11-23 18:09 | 只看該作者
模塊化的函數(shù)體系啊
回復(fù)

使用道具 舉報(bào)

6#
ID:193818 發(fā)表于 2017-11-24 08:51 | 只看該作者
所謂模塊化,就是把一些功能打包成一個(gè)函數(shù)。然后在MAIN函數(shù)中調(diào)用
回復(fù)

使用道具 舉報(bào)

7#
ID:253098 發(fā)表于 2017-11-24 16:18 | 只看該作者
你可以試著把不同的功能實(shí)現(xiàn)代碼放到相應(yīng)的不同函數(shù)里面,也可以寫(xiě)多個(gè)文件等等。寫(xiě)出來(lái)后程序不是堆在一起,而是一塊一塊的
回復(fù)

使用道具 舉報(bào)

8#
ID:253245 發(fā)表于 2017-11-24 22:03 | 只看該作者
把你想要實(shí)現(xiàn)的分步驟進(jìn)行,一塊塊切分
回復(fù)

使用道具 舉報(bào)

9#
ID:253264 發(fā)表于 2017-11-24 22:34 | 只看該作者
一些功能打包成一個(gè)函數(shù)。然后在MAIN函數(shù)中調(diào)用
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表