0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用程序設(shè)計(jì)入門(mén):經(jīng)典51懶人5步速成法

h1654155971.7688 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-03-12 11:00 ? 次閱讀

【經(jīng)典51懶人5步速成法-05】應(yīng)用程序設(shè)計(jì)入門(mén)再高級(jí)的單片機(jī)也是解決問(wèn)題的一個(gè)工具,如何靈活運(yùn)用已掌握的外設(shè)模塊來(lái)滿(mǎn)足功能需求以解決實(shí)際問(wèn)題,是我們學(xué)習(xí)單片機(jī)開(kāi)發(fā)的目標(biāo)。你的程序?qū)懙煤芸?,每個(gè)外設(shè)用得很溜,并不能代表你解決問(wèn)題的能力就很好。這需要通過(guò)實(shí)際開(kāi)發(fā)的磨練與經(jīng)驗(yàn)的積累。

實(shí)際上每個(gè)工程師在不斷的開(kāi)發(fā)過(guò)程中,多多少少都會(huì)形成自己的思維模式和開(kāi)發(fā)習(xí)慣。因此,在這一節(jié)我們所闡述的也只是本人的思維模式與設(shè)計(jì)習(xí)慣,可以拋磚引玉,作為參考。1、題目需求

2、基本思路

我的設(shè)計(jì)模式是自上而下,從整體到局部。所以,在編寫(xiě)代碼之前,我的腦子里面基本上已經(jīng)有了比較完整的輪廓,包括應(yīng)該定義那些變量,應(yīng)該安排那些函數(shù),程序框架大致如何。

從本題的需求分析中,我們可以獲得以下的信息

<1>秒閃功能,需要使用定時(shí)器0,得安排一個(gè)初始化函數(shù)Init_Timer0()和一個(gè)中斷服務(wù)函數(shù)SeviceTimer0()。

<2> 定時(shí)器0使用16位模式,在12MHz晶振情況下,最大的定時(shí)值也只有65.535ms,因此要定時(shí)500ms不能夠直接實(shí)現(xiàn),那么就需要多次定時(shí)進(jìn)行累加。把定時(shí)器0的間隔定時(shí)確定為50ms比較方便,累計(jì)10次就是500ms了,那么就需要一個(gè)定時(shí)累計(jì)變量t_count。

<3> 按鍵功能,首先要定義一個(gè)按鍵掃描函數(shù)ScanKeys(),在掃描過(guò)程中需要做去抖動(dòng)處理,那么就要安排一個(gè)簡(jiǎn)易的延時(shí)函數(shù)Delay()。

<4> 再檢查思考一下,還有什么嗎?沒(méi)有了。3、程序框架

嚴(yán)格來(lái)說(shuō),在開(kāi)始編寫(xiě)代碼之前,應(yīng)該將程序的流程圖和數(shù)據(jù)定義表做出來(lái)。

不過(guò),對(duì)于簡(jiǎn)單的功能,可以通過(guò)編寫(xiě)代碼搭建整體框架的方式來(lái)體現(xiàn)。這就跟建設(shè)框架結(jié)構(gòu)的房子一樣,先把毛坯建好,再去做個(gè)單元進(jìn)行裝修。我比較喜歡這做。

本題在基本思路分析指導(dǎo)下,可以搭建出程序框架結(jié)構(gòu)。

4、逐個(gè)填充

<1> 定時(shí)器初始化函數(shù):這個(gè)代碼是可以重用的,直接拷貝過(guò)來(lái)就行了。

<2> 定時(shí)器中斷服務(wù)函數(shù)。

<3> 按鍵掃描函數(shù)。

就這樣,一個(gè)簡(jiǎn)單的51單片機(jī)應(yīng)用程序開(kāi)發(fā)就完成了。

5、小結(jié)

作為入門(mén)學(xué)習(xí),本系列教材到這里就結(jié)束了。實(shí)際上51單片機(jī)的內(nèi)容也差不多就這么多了。至于那些上千頁(yè)的書(shū)在講述51單片機(jī)開(kāi)發(fā)的,里面很多內(nèi)容都是各種功能外設(shè),與51內(nèi)核無(wú)關(guān),只是用51單片機(jī)操作那些外設(shè)而已。對(duì)于這部分的內(nèi)容,你學(xué)習(xí)的不是51單片機(jī)了,而是那么功能外設(shè)。在實(shí)際的應(yīng)用中,更多的是要應(yīng)用各種外設(shè)來(lái)解決各種問(wèn)題。所以,一個(gè)單片機(jī)的高手并不是把51單片機(jī)本身玩得有多溜,而是他心中掌握了多少功能模塊的應(yīng)用,設(shè)計(jì)了多少應(yīng)用的代碼,積累了多少項(xiàng)目的經(jīng)驗(yàn)。

入門(mén)教程結(jié)束了,而你們的征途才剛剛開(kāi)始,加油?。?!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44455

    瀏覽量

    630924
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3228

    瀏覽量

    114157

原文標(biāo)題:【經(jīng)典51懶人5步速成法-05】應(yīng)用程序設(shè)計(jì)入門(mén)一例通

文章出處:【微信號(hào):weixin21ic,微信公眾號(hào):21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LabVIEW_8.20程序設(shè)計(jì)入門(mén)級(jí)資料

    LabVIEW_8.20程序設(shè)計(jì)入門(mén)級(jí)資料,適合初學(xué)者
    發(fā)表于 06-07 15:23

    LabVIEW8.2程序設(shè)計(jì)入門(mén)

    LabVIEW8.2程序設(shè)計(jì)入門(mén)到精通
    發(fā)表于 01-05 22:03

    labview8.2程序設(shè)計(jì)入門(mén)到精通(陳錫輝著)

    labview8.2程序設(shè)計(jì)入門(mén)到精通PDF格式
    發(fā)表于 04-16 14:40

    LabVIEW8.2程序設(shè)計(jì)入門(mén)到精通

    本帖最后由 一只耳朵怪 于 2018-6-19 11:33 編輯 LabVIEW8.2程序設(shè)計(jì)入門(mén)到精通實(shí)驗(yàn)源碼
    發(fā)表于 06-16 20:56

    LabVIEW8.2程序設(shè)計(jì)入門(mén)到精通課后實(shí)驗(yàn)報(bào)告

    本帖最后由 一只耳朵怪 于 2018-6-19 11:33 編輯 教材LabVIEW8.2程序設(shè)計(jì)入門(mén)到精通課后的 實(shí)驗(yàn)報(bào)告
    發(fā)表于 06-16 20:59

    Verilog HDL相關(guān)應(yīng)用程序設(shè)計(jì)實(shí)例精講和經(jīng)典黑金資料(入門(mén)教程+實(shí)例精講+百例設(shè)計(jì))

    Verilog HDL應(yīng)用程序設(shè)計(jì)實(shí)例精講v經(jīng)典黑金資料(入門(mén)教程+實(shí)例精講+百例設(shè)計(jì))
    發(fā)表于 03-26 14:45

    AutoCAD七天超級(jí)速成法文檔

    AutoCAD七天超級(jí)速成法,本書(shū)實(shí)例中有一套完整的小型治具圖檔,電子書(shū)用它來(lái)講述。點(diǎn)擊下載
    發(fā)表于 04-11 06:07

    Altium Designer PCB設(shè)計(jì)入門(mén) 經(jīng)典教程

    實(shí)戰(zhàn)速成視頻教程Altium Designer 17 4層四翼飛行器PCB設(shè)計(jì)入門(mén)到精通課程4、Altium Designer16入門(mén)教程Altium Designer16入門(mén)視頻教程
    發(fā)表于 05-16 09:48

    鍵盤(pán)應(yīng)用程序設(shè)計(jì)

    鍵盤(pán)應(yīng)用程序設(shè)計(jì) 鍵盤(pán)使用的編碼
    發(fā)表于 06-12 23:11 ?945次閱讀
    鍵盤(pán)<b class='flag-5'>應(yīng)用程序設(shè)計(jì)</b>

    [Java程序設(shè)計(jì)入門(mén)教程].(.杜邦杰).(掃描版)

    電子發(fā)燒友網(wǎng)站提供《[Java程序設(shè)計(jì)入門(mén)教程].(.杜邦杰).(掃描版).txt》資料免費(fèi)下載
    發(fā)表于 03-28 19:53 ?0次下載

    【LabVIEW從入門(mén)到精通】LabVIEW程序設(shè)計(jì)

    【LabVIEW從入門(mén)到精通】2.3 LabVIEW程序設(shè)計(jì)步驟
    發(fā)表于 01-04 09:41 ?0次下載

    51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)實(shí)例精講part03

    51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)實(shí)例精講(第二版),part03。
    發(fā)表于 05-20 14:28 ?29次下載

    《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---

    《Visual C# 2008程序設(shè)計(jì)經(jīng)典案例設(shè)計(jì)與實(shí)現(xiàn)》---VisualC#2008與Web應(yīng)用程序
    發(fā)表于 01-18 20:23 ?0次下載

    小白系列之51單片機(jī)的入門(mén)速成法

    51單片機(jī)的入門(mén)速成法01-經(jīng)典51內(nèi)核資源全覽濃縮圖02-重要外設(shè)特殊功能寄存器概覽03-程序
    發(fā)表于 11-12 11:51 ?15次下載
    小白系列之<b class='flag-5'>51</b>單片機(jī)的<b class='flag-5'>入門(mén)</b><b class='flag-5'>速成法</b>

    趣味程序設(shè)計(jì)入門(mén)

    電子發(fā)燒友網(wǎng)站提供《趣味程序設(shè)計(jì)入門(mén).pdf》資料免費(fèi)下載
    發(fā)表于 11-20 10:36 ?0次下載
    趣味<b class='flag-5'>程序設(shè)計(jì)入門(mén)</b>