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

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

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

一個比較有效的單片機(jī)編程思路

j4AI_wujianying ? 來源:未知 ? 作者:易水寒 ? 2018-04-29 21:09 ? 次閱讀

我曾經(jīng)做過兩年的單片機(jī)產(chǎn)品,在對單片機(jī)編程的過程中逐漸形成了一個大體固定的整體框架,也可以說是編程思路。現(xiàn)提出來供大家參考。

首先,對外圍芯片進(jìn)行分類,屬同一功能或同一芯片的程序采用模塊化的形式,用固定的幾個函數(shù)實(shí)現(xiàn),一般不同芯片之間的函數(shù)功能盡量不重疊,也不要使用一個函數(shù)覆蓋幾個芯片,以便于后期的調(diào)試,如果涉及到芯片之間通訊的,可以單獨(dú)列出,使用專門的函數(shù)進(jìn)行處理;

其次,將單片機(jī)中需要完成的工作按輕重緩急進(jìn)行分類,一般我會設(shè)置兩個定時中斷,其中一個定時時間大致在20mS左右,用來處理一些按鈕防抖處理、時間日期計算、對輸入處理后產(chǎn)生對應(yīng)標(biāo)志位、器件刷新等一些實(shí)時性要求不是很高,但必須有時間要求的事物處理,另外設(shè)立一個定時中斷大概在1mS以下,主要用來實(shí)現(xiàn)時鐘基準(zhǔn)和做一些實(shí)時性要求很高的操作,一般需要將實(shí)時性要求較高的定時中斷設(shè)置為高優(yōu)先級,否則不能實(shí)現(xiàn)正常運(yùn)行,如果還有串行中斷需要處理,則需要嚴(yán)格控制實(shí)時中斷中的代碼長度,以免耽誤串行中斷的處理,還有就是如果使用軟件實(shí)現(xiàn)串口及無線通訊軟解碼的場合,也要合理分配各部分的代碼長度;

最后,將普通的事件檢測和處理以及響應(yīng)放在主程序體中實(shí)現(xiàn),該部分一般只需要幾個并行的函數(shù)就可以了,主程序體可以以簡單的幾行代碼實(shí)現(xiàn)。

本人采用以上結(jié)構(gòu)開發(fā)了若干個單片機(jī)產(chǎn)品,包括包含無線軟解碼的無線防盜報警主機(jī)、RS485中繼器(一拖100)、帶中文顯示的報警接收機(jī)等,都實(shí)現(xiàn)了穩(wěn)定有效的運(yùn)行。

希望本人的一些體會會能給大家有所幫助!


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

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417235
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4237

    瀏覽量

    61973
  • 單片機(jī)編程
    +關(guān)注

    關(guān)注

    10

    文章

    49

    瀏覽量

    23358

原文標(biāo)題:談?wù)勎业膯纹瑱C(jī)編程思路

文章出處:【微信號:wujianying_danpianji,微信公眾號:單片機(jī)精講吳鑒鷹】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    遠(yuǎn)程升級單片機(jī)的設(shè)計思路

    上周給大家分享了《 Bootloader程序安全機(jī)制設(shè)計 》,今天為大家分享下遠(yuǎn)程升級單片機(jī)的設(shè)計思路。
    發(fā)表于 09-05 10:34 ?779次閱讀
    遠(yuǎn)程升級<b class='flag-5'>單片機(jī)</b>的設(shè)計<b class='flag-5'>思路</b>

    單片機(jī)編程語言的比較

    不能夠?qū)崿F(xiàn)所有要編寫程序的功能,比如當(dāng)想編寫精確控制的定時程序時,用起匯編語言來還是比較方便的。因此想成為優(yōu)秀的
    發(fā)表于 08-29 09:43

    怎么學(xué)習(xí)單片機(jī)編程

      怎么學(xué)習(xí)單片機(jī)編程?其實(shí)吧,單片機(jī)學(xué)習(xí)起來不難,反而是比較有趣的事情,之所以新手感覺比較
    發(fā)表于 07-14 06:01

    請問怎么用單片機(jī)一個比較有創(chuàng)新的東西?

    請問怎么用單片機(jī)一個比較有創(chuàng)新的東西?
    發(fā)表于 09-29 09:15

    狀態(tài)機(jī)思路單片機(jī)程序設(shè)計中的應(yīng)用

    狀態(tài)機(jī)思路單片機(jī)程序設(shè)計中的應(yīng)用 狀態(tài)機(jī)的概念狀態(tài)機(jī)是軟件編程中的
    發(fā)表于 02-09 11:25 ?1w次閱讀
    狀態(tài)<b class='flag-5'>機(jī)</b><b class='flag-5'>思路</b>在<b class='flag-5'>單片機(jī)</b>程序設(shè)計中的應(yīng)用

    狀態(tài)機(jī)思路單片機(jī)程序設(shè)計中的應(yīng)用

    狀態(tài)機(jī)思路單片機(jī)程序設(shè)計中的應(yīng)用 狀態(tài)機(jī)的概念       狀態(tài)機(jī)是軟件
    發(fā)表于 03-18 15:00 ?1212次閱讀
    狀態(tài)<b class='flag-5'>機(jī)</b><b class='flag-5'>思路</b>在<b class='flag-5'>單片機(jī)</b>程序設(shè)計中的應(yīng)用

    單片機(jī)應(yīng)用編程技巧

    單片機(jī)應(yīng)用編程技巧
    發(fā)表于 01-23 20:48 ?40次下載

    單片機(jī)的七實(shí)驗(yàn)代碼和資料說明

    前三實(shí)驗(yàn)類型為匯編編程,難度較大,重在思路和細(xì)節(jié)的把握。后四實(shí)驗(yàn)為動手較強(qiáng)的單片機(jī)實(shí)驗(yàn),編程
    發(fā)表于 09-16 17:22 ?1次下載
    <b class='flag-5'>單片機(jī)</b>的七<b class='flag-5'>個</b>實(shí)驗(yàn)代碼和資料說明

    單片機(jī)編程器是什么_單片機(jī)編程器應(yīng)用

    單片機(jī)編程器(Single-chip programmer products ),是款低成本開發(fā)編程器。它能夠?qū)icrochip 的大多數(shù)閃存
    發(fā)表于 10-25 08:55 ?1.6w次閱讀

    如何對IAR單片機(jī)編程軟件進(jìn)行編譯優(yōu)化

    單片機(jī)編程軟件是單片機(jī)開發(fā)不可缺少的工具之,目前市場流通的單片機(jī)編程軟件主要為IAR
    發(fā)表于 10-31 17:15 ?9253次閱讀
    如何對IAR<b class='flag-5'>單片機(jī)</b><b class='flag-5'>編程</b>軟件進(jìn)行編譯優(yōu)化

    如何快速有效的學(xué)習(xí)單片機(jī)

    學(xué)習(xí)單片機(jī)需要具備定的電路基礎(chǔ)、數(shù)字電路、模擬電路、信號系統(tǒng)、C語言編程等相關(guān)的基礎(chǔ)知識。單片機(jī)的學(xué)習(xí)包括硬件設(shè)計和編程設(shè)計,早期
    發(fā)表于 07-15 17:26 ?1979次閱讀

    淺述單片機(jī)程序的整體框架設(shè)計的思路體會

    比較迷茫,不知從何入手,所以本文來聊聊我對單片機(jī)程序的整體框架設(shè)計的思路體會。 為啥要討論架構(gòu) 單片機(jī)系統(tǒng)開發(fā)人員的目標(biāo)之
    的頭像 發(fā)表于 06-27 11:34 ?4283次閱讀
    淺述<b class='flag-5'>單片機(jī)</b>程序的整體框架設(shè)計的<b class='flag-5'>思路</b>體會

    單片機(jī)編程語言的比較

    單片機(jī)又稱單片微控制器,它是把計算機(jī)系統(tǒng),包括cpu、ram、rom、定時/計數(shù)器和多種i/o接口集成到
    發(fā)表于 02-09 10:01 ?0次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>編程</b>語言的<b class='flag-5'>比較</b>

    arm單片機(jī)用什么編程 arm和51單片機(jī)編程樣嗎

    ARM單片機(jī)可以使用多種編程語言進(jìn)行編程,包括C語言、匯編語言、C++語言等。C語言是ARM單片機(jī)最常用的編程語言之
    發(fā)表于 03-23 15:06 ?2824次閱讀

    plc與單片機(jī)的優(yōu)缺點(diǎn) PLC與單片機(jī)系統(tǒng)比較有何優(yōu)勢?

    plc與單片機(jī)的優(yōu)缺點(diǎn) PLC與單片機(jī)系統(tǒng)比較有何優(yōu)勢? PLC(可編程邏輯控制器)和單片機(jī)是現(xiàn)代自動化領(lǐng)域中常用的控制系統(tǒng)。它們在實(shí)際應(yīng)用
    的頭像 發(fā)表于 11-21 16:10 ?2302次閱讀