91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

單片機(jī)程序如何編寫(xiě)

姚小熊27 ? 來(lái)源:電工之家 ? 作者:電工之家 ? 2020-02-12 14:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

設(shè)計(jì)編寫(xiě)單片機(jī)程序是一個(gè)漸進(jìn)的過(guò)程不可一蹴而就,畢竟單片機(jī)程序是與硬件有密切關(guān)系的,我們一般稱(chēng)為單片機(jī)程序叫底層硬件驅(qū)動(dòng)程序。編寫(xiě)程序不但要對(duì)軟件要熟悉而且對(duì)硬件也要熟悉才行,所以對(duì)于我們從事單片機(jī)技術(shù)的人員來(lái)說(shuō)能夠編寫(xiě)出沒(méi)有“bug”的優(yōu)秀程序需要具有“軟硬兼施”的本領(lǐng),否則編寫(xiě)的程序就會(huì)出現(xiàn)問(wèn)題。下面根據(jù)我學(xué)習(xí)單片機(jī)來(lái)談?wù)勎覍?duì)這個(gè)問(wèn)題的體會(huì)。

設(shè)計(jì)不出來(lái)單片機(jī)程序的原因

我認(rèn)為初學(xué)者感覺(jué)設(shè)計(jì)不出真正的單片機(jī)程序是一個(gè)普遍的問(wèn)題。我先說(shuō)說(shuō)剛學(xué)單片機(jī)的朋友為什么設(shè)計(jì)不出單片機(jī)程序,首先是對(duì)軟件知識(shí)和硬件知識(shí)有“短板”。因?yàn)槌绦虻脑O(shè)計(jì)少不了使用程序語(yǔ)言,現(xiàn)在比較流行的單片機(jī)編程語(yǔ)言是C語(yǔ)言,如果在編程語(yǔ)言方面有欠缺的話(huà)編程會(huì)受到影響這是其一,其二是硬件方面,我們要知道單片機(jī)的外設(shè)硬件方面的一些工作原理,比如按鍵、顯示器件、各種驅(qū)動(dòng)芯片等,這些都與數(shù)字電路模擬電路知識(shí)有關(guān),如果這方面有欠缺應(yīng)及時(shí)加強(qiáng)。

其次是對(duì)單片機(jī)程序與硬件的內(nèi)在聯(lián)系不清楚。我們編寫(xiě)的程序是與單片機(jī)外設(shè)的硬件緊密相聯(lián)系的,如果不知道用編程語(yǔ)言的哪種處理方法或技巧去控制硬件工作,那么就無(wú)法編寫(xiě)出控制程序。比如編寫(xiě)一個(gè)測(cè)溫度的程序,如何能采集到溫度、如何編寫(xiě)把溫度數(shù)據(jù)轉(zhuǎn)換成數(shù)碼管或者液晶能夠顯示的程序并分理處小數(shù)點(diǎn)等等都有一定的處理方法和技巧。

再次是缺乏設(shè)計(jì)編寫(xiě)程序的經(jīng)驗(yàn)。有句話(huà)叫“萬(wàn)事開(kāi)頭難”,我們?cè)谧鲈S多事情時(shí)剛開(kāi)始都會(huì)感覺(jué)到無(wú)所適從,我認(rèn)為這是很正常的現(xiàn)象,我建議剛開(kāi)始學(xué)習(xí)時(shí)我建議從最簡(jiǎn)單的開(kāi)始,比如從控制LED小燈開(kāi)始再到各種花樣的“跑馬燈”小程序、模擬交通燈程序、具有數(shù)碼管倒計(jì)時(shí)的模擬交通燈程序等,通過(guò)這樣的循序漸進(jìn),由簡(jiǎn)入難地訓(xùn)練經(jīng)過(guò)一段時(shí)間就會(huì)見(jiàn)到成效;最后一點(diǎn)我認(rèn)為是缺乏整體布局的能力。因?yàn)橐粋€(gè)完整的程序除了需要主程序外,還要有許多子程序。要完成整個(gè)控制流程就要對(duì)各個(gè)程序之間的不斷調(diào)用來(lái)實(shí)現(xiàn),這就要在程序的編排上要考慮周全。所以設(shè)計(jì)編寫(xiě)也就是對(duì)整個(gè)控制流程有整體的把控才行。

單片機(jī)程序如何編寫(xiě)

如何能編寫(xiě)出合格的單片機(jī)程序

其實(shí)設(shè)計(jì)單片機(jī)并不是很難能,那么如何才能設(shè)計(jì)編寫(xiě)出合格的單片機(jī)程序呢?我認(rèn)為要從以下幾個(gè)方面。一方面除了把我們自己感覺(jué)有“短板”的地方補(bǔ)齊外,另一方面我感覺(jué)還要做到以下幾點(diǎn):

單片機(jī)程序如何編寫(xiě)

第一點(diǎn)就是在設(shè)計(jì)程序時(shí)先要對(duì)控制的對(duì)象做全面的分析,也就是要把解決的問(wèn)題的條件、初始化的數(shù)據(jù)、輸入與輸出的信息以及要達(dá)到的控制目的都要知道,雖然達(dá)不到“庖丁解?!钡哪欠N嫻熟的程度,最起碼要做到心中有數(shù)。

第二點(diǎn)是在設(shè)計(jì)程序時(shí)要確定程序的“算法”,這個(gè)詞聽(tīng)起來(lái)有點(diǎn)高大上,其實(shí)我們?cè)谠O(shè)計(jì)程序時(shí)要知道根據(jù)控制的要求和我們所有的條件來(lái)確定我們所用的計(jì)算方法。我在學(xué)C語(yǔ)言時(shí)經(jīng)常聽(tīng)老師說(shuō):算法是程序的靈魂這一句話(huà),當(dāng)時(shí)剛接觸對(duì)這句話(huà)并不理解,現(xiàn)在回頭看來(lái)這句話(huà)是很有道理的。這就像我們炒菜一樣,如果我們能按菜譜去做就非常好吃,若是隨心所欲去做菜那肯定難以下咽,我認(rèn)為在這方面兩者有“異工同曲”之處。

單片機(jī)程序如何編寫(xiě)

第三點(diǎn)是要善于繪制流程圖,這一點(diǎn)在我們剛學(xué)習(xí)設(shè)計(jì)程序時(shí)我感覺(jué)很有必要。繪制流程圖可以直觀(guān)地體現(xiàn)我們編寫(xiě)程序的思路,它也是我們?cè)O(shè)計(jì)程序時(shí)的依據(jù)。從一定程度上說(shuō)能繪制完一個(gè)控制流程圖也就離設(shè)計(jì)出程序不遠(yuǎn)了。

第四點(diǎn)就是要抱著“他山之石,可以攻玉”的心態(tài)去多看別人的程序,學(xué)習(xí)別人的設(shè)計(jì)編寫(xiě)程序的技巧。我們知道C語(yǔ)言的可移植性很好,看到有非常好的子程序只要略微修改一下就可以為我所用,這樣有時(shí)會(huì)節(jié)省很多時(shí)間。

我認(rèn)為只要通過(guò)以上幾點(diǎn)堅(jiān)持下去,我們編寫(xiě)出沒(méi)有“bug”的合格程序應(yīng)該是水到渠成的事情了!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guā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)注

    6076

    文章

    45495

    瀏覽量

    670464
  • 單片機(jī)程序
    +關(guān)注

    關(guān)注

    1

    文章

    12

    瀏覽量

    9731
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)程序跑飛死機(jī)的幾種原因分享

    在使用單片機(jī)過(guò)程中,經(jīng)常會(huì)出現(xiàn)程序運(yùn)行一段時(shí)間后,不能夠正常相應(yīng)的情況。一般分為軟件原因和硬件原因,其中硬件原因比較容易查,軟件原因就較為復(fù)雜。 軟件導(dǎo)致單片機(jī)死機(jī)的原因 1、指針異常 指針未
    發(fā)表于 01-21 07:34

    單片機(jī)里的程序運(yùn)行方式

    我們想要理解單片機(jī)是如何運(yùn)行程序的,我們首先需要了解單片機(jī)的組成,我們這里以80C51單片機(jī)為例來(lái)理解程序
    發(fā)表于 01-16 06:57

    單片機(jī)如何燒錄程序?

    單片機(jī)如何燒錄程序
    發(fā)表于 01-08 07:04

    單片機(jī)程序的執(zhí)行

    更快的SRAM中,以得到更快的執(zhí)行速度。而對(duì)于,單片機(jī)而言工作頻率也就幾M,幾十M,從Flash中與從RAM中讀的差異可能并不明顯,不會(huì)成為程序執(zhí)行的瓶頸。 而對(duì)于PC而言,F(xiàn)lash的速度太慢
    發(fā)表于 12-04 06:20

    為什么單片機(jī)還在用C語(yǔ)言編程?

    說(shuō)起單片機(jī)我們就會(huì)想到C語(yǔ)言,單片機(jī)為什么還在用C語(yǔ)言編程?現(xiàn)在有很多很好用的高級(jí)語(yǔ)言,如VC、PYTHON、PHP等等,為什么這些語(yǔ)言不能用來(lái)編寫(xiě)單片機(jī)
    發(fā)表于 11-28 07:37

    編寫(xiě)簡(jiǎn)單高效單片機(jī)匯編程序

    的行數(shù)多并不一定意味著效率低。 關(guān)鍵在于寫(xiě)代碼時(shí)避免冗余,靈活運(yùn)用模塊化設(shè)計(jì)和單片機(jī)資源。 最終程序既要高效運(yùn)轉(zhuǎn),又不失結(jié)構(gòu)清晰。 匯編語(yǔ)言的難點(diǎn)在于編寫(xiě)簡(jiǎn)短而高效的代碼,需要理解單片機(jī)
    發(fā)表于 11-24 07:00

    學(xué)單片機(jī)的誤區(qū)

    任何單片機(jī)程序編寫(xiě)。根本就不要學(xué)去C語(yǔ)言的高級(jí)用法,即使你用C語(yǔ)言的最基礎(chǔ)的語(yǔ)句能夠完成程序編寫(xiě),底層運(yùn)行的機(jī)制是學(xué)習(xí)重中之重! 等你積
    發(fā)表于 11-14 07:46

    單片機(jī)燒錄原理是怎樣的?輝芒微單片機(jī)燒錄程序詳細(xì)步驟講解

    燒錄(Programming)就是把 .hex/.bin 文件里的機(jī)器碼搬運(yùn)進(jìn)單片機(jī)片內(nèi) Flash 的過(guò)程。輝芒微(FMD)單片機(jī)內(nèi)部有一塊 自舉 BootROM,上電時(shí)會(huì)先跑這段程序;如果檢測(cè)
    的頭像 發(fā)表于 09-17 16:14 ?2345次閱讀
    <b class='flag-5'>單片機(jī)</b>燒錄原理是怎樣的?輝芒微<b class='flag-5'>單片機(jī)</b>燒錄<b class='flag-5'>程序</b>詳細(xì)步驟講解

    【老法師】多核異構(gòu)處理器中M核程序的啟動(dòng)、編寫(xiě)和仿真

    有很多研究單片機(jī)的小伙伴在面對(duì)多核異構(gòu)處理器時(shí),可能會(huì)對(duì)多核的啟動(dòng)流程感到困惑——因?yàn)椴皇煜CC編程和GDB調(diào)試,所以也無(wú)法確定多核異構(gòu)處理器的程序是否能像單片機(jī)那樣方便地編寫(xiě)和仿真
    的頭像 發(fā)表于 08-13 09:05 ?3995次閱讀
    【老法師】多核異構(gòu)處理器中M核<b class='flag-5'>程序</b>的啟動(dòng)、<b class='flag-5'>編寫(xiě)</b>和仿真

    單片機(jī)的儲(chǔ)存優(yōu)點(diǎn)是什么

    單片機(jī)作為嵌入式系統(tǒng)的核心,其儲(chǔ)存系統(tǒng)是實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)與程序運(yùn)行的關(guān)鍵部分。與獨(dú)立存儲(chǔ)芯片相比,單片機(jī)的儲(chǔ)存單元在集成度、功耗、可靠性等方面具備獨(dú)特優(yōu)勢(shì),這些優(yōu)點(diǎn)使其能適應(yīng)從消費(fèi)電子到工業(yè)控制的多樣化
    的頭像 發(fā)表于 07-31 10:09 ?698次閱讀

    怎么測(cè)單片機(jī)系統(tǒng)頻率

    單片機(jī)系統(tǒng)頻率是指單片機(jī)工作時(shí)的時(shí)鐘頻率,它直接影響單片機(jī)的運(yùn)行速度和處理能力,準(zhǔn)確測(cè)量系統(tǒng)頻率對(duì)單片機(jī)應(yīng)用開(kāi)發(fā)、程序調(diào)試和性能優(yōu)化具有重要
    的頭像 發(fā)表于 07-25 11:39 ?801次閱讀

    單片機(jī)怎么驅(qū)動(dòng)電機(jī)?

    在各類(lèi)自動(dòng)化設(shè)備和智能裝置中,電機(jī)是重要的執(zhí)行部件,而單片機(jī)作為控制核心,需要通過(guò)特定的方式驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)。單片機(jī)驅(qū)動(dòng)電機(jī)并非直接連接即可,而是要根據(jù)電機(jī)類(lèi)型和功率,搭配合適的驅(qū)動(dòng)電路,才能實(shí)現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?918次閱讀

    單片機(jī)怎么燒程序

    單片機(jī)程序是將編寫(xiě)好的程序代碼寫(xiě)入單片機(jī)內(nèi)部存儲(chǔ)單元,讓單片機(jī)按照預(yù)設(shè)邏輯工作的過(guò)程,是
    的頭像 發(fā)表于 07-23 11:47 ?1311次閱讀

    STC單片機(jī)范例程序

    電子發(fā)燒友網(wǎng)站提供《STC單片機(jī)范例程序.zip》資料免費(fèi)下載
    發(fā)表于 06-04 16:27 ?10次下載

    2.4寸TFT彩屏配套測(cè)試程序-51單片機(jī)

    如題,2.4寸TFT彩屏配套測(cè)試程序-51單片機(jī)。
    發(fā)表于 06-04 16:26 ?0次下載