我曾經(jīng)做過兩年的單片機(jī)產(chǎn)品,在對單片機(jī)編程的過程中逐漸形成了一個(gè)大體固定的整體框架,也可以說是編程思路。現(xiàn)提出來供大家參考。
首先,對外圍芯片進(jìn)行分類,屬同一功能或同一芯片的程序采用模塊化的形式,用固定的幾個(gè)函數(shù)實(shí)現(xiàn),一般不同芯片之間的函數(shù)功能盡量不重疊,也不要使用一個(gè)函數(shù)覆蓋幾個(gè)芯片,以便于后期的調(diào)試,如果涉及到芯片之間通訊的,可以單獨(dú)列出,使用專門的函數(shù)進(jìn)行處理;
其次,將單片機(jī)中需要完成的工作按輕重緩急進(jìn)行分類,一般我會(huì)設(shè)置兩個(gè)定時(shí)中斷,其中一個(gè)定時(shí)時(shí)間大致在20mS左右,用來處理一些按鈕防抖處理、時(shí)間日期計(jì)算、對輸入處理后產(chǎn)生對應(yīng)標(biāo)志位、器件刷新等一些實(shí)時(shí)性要求不是很高,但必須有時(shí)間要求的事物處理,另外設(shè)立一個(gè)定時(shí)中斷大概在1mS以下,主要用來實(shí)現(xiàn)時(shí)鐘基準(zhǔn)和做一些實(shí)時(shí)性要求很高的操作,一般需要將實(shí)時(shí)性要求較高的定時(shí)中斷設(shè)置為高優(yōu)先級,否則不能實(shí)現(xiàn)正常運(yùn)行,如果還有串行中斷需要處理,則需要嚴(yán)格控制實(shí)時(shí)中斷中的代碼長度,以免耽誤串行中斷的處理,還有就是如果使用軟件實(shí)現(xiàn)串口及無線通訊軟解碼的場合,也要合理分配各部分的代碼長度;
最后,將普通的事件檢測和處理以及響應(yīng)放在主程序體中實(shí)現(xiàn),該部分一般只需要幾個(gè)并行的函數(shù)就可以了,主程序體可以以簡單的幾行代碼實(shí)現(xiàn)。
本人采用以上結(jié)構(gòu)開發(fā)了若干個(gè)單片機(jī)產(chǎn)品,包括包含無線軟解碼的無線防盜報(bào)警主機(jī)、RS485中繼器(一拖100)、帶中文顯示的報(bào)警接收機(jī)等,都實(shí)現(xiàn)了穩(wěn)定有效的運(yùn)行。
希望本人的一些體會(huì)會(huì)能給大家有所幫助!
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
原文標(biāo)題:談?wù)勎业膯纹瑱C(jī)編程思路
文章出處:【微信號:wujianying_danpianji,微信公眾號:單片機(jī)精講吳鑒鷹】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
相關(guān)推薦
上周給大家分享了《 Bootloader程序安全機(jī)制設(shè)計(jì) 》,今天為大家分享一下遠(yuǎn)程升級單片機(jī)的設(shè)計(jì)思路。
發(fā)表于 09-05 10:34
?1010次閱讀
不能夠?qū)崿F(xiàn)所有要編寫程序的功能,比如當(dāng)想編寫一個(gè)精確控制的定時(shí)程序時(shí),用起匯編語言來還是比較方便的。因此想成為一個(gè)優(yōu)秀的
發(fā)表于 08-29 09:43
怎么學(xué)習(xí)單片機(jī)編程?其實(shí)吧,單片機(jī)學(xué)習(xí)起來不難,反而是一件比較有趣的事情,之所以新手感覺比較
發(fā)表于 07-14 06:01
單片機(jī)學(xué)習(xí)起來其實(shí)不難,反而是一件比較有趣的事情,之所以新手感覺比較難是因?yàn)椴恢涝撛趺慈胧郑瑥哪睦镩_始學(xué)起。單片機(jī)的學(xué)習(xí)無外乎兩方便.
發(fā)表于 09-11 10:03
請問怎么用單片機(jī)做一個(gè)比較有創(chuàng)新的東西?
發(fā)表于 09-29 09:15
狀態(tài)機(jī)思路在單片機(jī)程序設(shè)計(jì)中的應(yīng)用
狀態(tài)機(jī)的概念狀態(tài)機(jī)是軟件編程中的
發(fā)表于 02-09 11:25
?1w次閱讀
狀態(tài)機(jī)思路在單片機(jī)程序設(shè)計(jì)中的應(yīng)用
狀態(tài)機(jī)的概念
狀態(tài)機(jī)是軟件
發(fā)表于 03-18 15:00
?1284次閱讀
單片機(jī)應(yīng)用編程技巧
發(fā)表于 01-23 20:48
?41次下載
前三個(gè)實(shí)驗(yàn)類型為匯編編程,難度較大,重在思路和細(xì)節(jié)的把握。后四個(gè)實(shí)驗(yàn)為動(dòng)手較強(qiáng)的單片機(jī)實(shí)驗(yàn),編程
發(fā)表于 09-16 17:22
?1次下載
單片機(jī)編程器(Single-chip programmer products ),是一款低成本開發(fā)編程器。它能夠?qū)icrochip 的大多數(shù)閃存單
發(fā)表于 10-25 08:55
?1.7w次閱讀
學(xué)習(xí)單片機(jī)需要具備一定的電路基礎(chǔ)、數(shù)字電路、模擬電路、信號系統(tǒng)、C語言編程等相關(guān)的基礎(chǔ)知識(shí)。單片機(jī)的學(xué)習(xí)包括硬件設(shè)計(jì)和編程設(shè)計(jì),早期
發(fā)表于 07-15 17:26
?2169次閱讀
上比較迷茫,不知從何入手,所以本文來聊聊我對單片機(jī)程序的整體框架設(shè)計(jì)的一些思路體會(huì)。 為啥要討論架構(gòu) 單片機(jī)系統(tǒng)開發(fā)人員的目標(biāo)之
發(fā)表于 06-27 11:34
?4417次閱讀
單片機(jī)又稱單片微控制器,它是把一個(gè)計(jì)算機(jī)系統(tǒng),包括cpu、ram、rom、定時(shí)/計(jì)數(shù)器和多種i/o接口集成到一
發(fā)表于 02-09 10:01
?0次下載
ARM單片機(jī)可以使用多種編程語言進(jìn)行編程,包括C語言、匯編語言、C++語言等。C語言是ARM單片機(jī)最常用的編程語言之
發(fā)表于 03-23 15:06
?3064次閱讀
plc與單片機(jī)的優(yōu)缺點(diǎn) PLC與單片機(jī)系統(tǒng)比較有何優(yōu)勢? PLC(可編程邏輯控制器)和單片機(jī)是現(xiàn)代自動(dòng)化領(lǐng)域中常用的控制系統(tǒng)。它們在實(shí)際應(yīng)用
發(fā)表于 11-21 16:10
?3241次閱讀
評論