<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)程序設(shè)計(jì)總結(jié)

          單片機(jī)程序設(shè)計(jì)總結(jié)

          作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò) 收藏

          經(jīng)過(guò)多年的單片機(jī)領(lǐng)域研究,總結(jié)一下幾點(diǎn)的程序設(shè)計(jì)的經(jīng)驗(yàn)
          要想設(shè)計(jì)程序就必須了解單片機(jī)一些基礎(chǔ)知識(shí)
          1 指令是指計(jì)算機(jī)執(zhí)行某種操作的命令,僅僅是簡(jiǎn)單完一件細(xì)小工

          本文引用地址:http://www.ex-cimer.com/article/201611/323362.htm

          作命令。如 MOVLW 06H 或 I=0X06;
          就是將06H的立即數(shù) 移動(dòng)給 單片機(jī)內(nèi)的工作寄存器。
          或 O6H的立即數(shù)賦予I......
          1,程序是指眾多的單片機(jī)指令構(gòu)成有一定規(guī)模及次序,具有特定功

          能、能完成特定任務(wù)的指令集合。


          只要了解這些你就可以知道,程序是什么了,就是我們?nèi)粘I钪械?/p>

          一些做事流程,用指令書寫的方式記下來(lái)。就這么簡(jiǎn)單。

          接下來(lái)就是變量,他是為指令運(yùn)行的提供操作對(duì)象空間,沒(méi)有的變量

          ,指令與程序就是神馬浮云。什么都不是。
          空間是什么,說(shuō)白就是可以放東西的地方,單片機(jī)的空間就是他的內(nèi)

          存是可以用來(lái)存放數(shù)據(jù)了-----單片機(jī)定義為寄存器。
          那數(shù)據(jù)是什么呢,說(shuō)白了就是個(gè)數(shù)----二進(jìn)制的數(shù),為什么用二進(jìn)制

          呢,就是因?yàn)橛?jì)算機(jī)很傻了,他就走兩個(gè)極端,要么沒(méi)有電,要么有

          電,沒(méi)有中間態(tài),所以就用二進(jìn)制配他了。
          現(xiàn)在知道的變量的作用就好辦,
          既然是個(gè)空間--變量,就要有存放與取出、清空的功能,變量的數(shù)據(jù)

          處理有輸入、輸出、清零,而且單片機(jī)中的變量不是一個(gè)哦,是很多

          數(shù)以百計(jì)千記的變量,且變量都有獨(dú)立的房間與名字。
          因此單片機(jī)在運(yùn)行時(shí),其實(shí)就是在指令控制下,完成變量與變量間

          的數(shù)據(jù)交換與處理,而這些交換處理目的就是為完成程序特定的功能

          而運(yùn)行了。
          說(shuō)到這里就要提一下變量的性別與生命期,有點(diǎn)神哦,有生命的東

          西。
          變量的類別:
          全局靜態(tài)變量: 全局靜態(tài)變量是用來(lái)保存程序運(yùn)行中必須的全部

          區(qū)域內(nèi)不動(dòng)產(chǎn)---數(shù)據(jù)不能變化了,編輯后,就固定了,他是用來(lái)保

          存如顯示需要的字符碼,圖像碼,聲音碼及子程序(模塊)內(nèi)特殊用

          途的一些特殊數(shù)據(jù),且這種變量是不能被修改,永恒固定
          生命期:活到整個(gè)程序的結(jié)束,且每個(gè)程序段--子程序都可以讀

          取他(但不能寫)


          局部靜態(tài)變量: 局部靜態(tài)變量是用來(lái)保存程序運(yùn)行中必須的局部

          區(qū)域的不動(dòng)產(chǎn)---數(shù)據(jù)不能變化了,編輯后,就固定了,保存的如按

          鍵時(shí)間,聲音時(shí)間,及子程序(模塊)內(nèi)特殊用途等一些特殊數(shù)據(jù),

          且這種變量是不能被修改,永恒固定
          生命期:活到整個(gè)程序的結(jié)束,且只能在規(guī)定的子程序內(nèi)可以讀

          取他(但不能寫) 超出不能使用。

          局部動(dòng)態(tài)變量: 局部動(dòng)態(tài)變量是用來(lái)保存程序運(yùn)行中必須的局部

          區(qū)域的變化數(shù)據(jù),他是用來(lái)保存如按鍵計(jì)數(shù)器,聲音時(shí)間計(jì)數(shù)器,及

          子程序(模塊)內(nèi)特殊用途等一些特殊數(shù)據(jù),且這種變量是可以被修


          生命期:活到整個(gè)程序的結(jié)束,且只能在規(guī)定的子程序內(nèi)可以讀

          寫與使用。

          全局動(dòng)態(tài)變量:
          全局動(dòng)態(tài)變量是用來(lái)保存程序運(yùn)行中必須的全部區(qū)域內(nèi)的變化數(shù)

          據(jù),他是用來(lái)保存如按鍵值,聲音值,顯示處理值,及子程序(模塊

          )內(nèi)特殊用途等一些特殊數(shù)據(jù),且這種變量是可以被修改
          生命期:活到整個(gè)程序的結(jié)束,在整個(gè)程序內(nèi)都可以讀

          寫與使用。

          隨機(jī)動(dòng)態(tài)變量
          隨機(jī)動(dòng)態(tài)變量是用來(lái)保存程序運(yùn)行中必須的全部區(qū)域內(nèi)的變化臨時(shí)

          數(shù)據(jù)如,按鍵識(shí)別值,顯示運(yùn)算值,四則運(yùn)算的臨時(shí)空間及子程序(

          模塊)內(nèi)特殊用途等一些臨時(shí)特殊數(shù)據(jù)。這種變量是可以讀寫
          生命期:使用他的程序段開始到結(jié)束,只有在改程序段內(nèi)有效,

          程序段結(jié)束,他的生命也沒(méi)有了。
          隨機(jī)動(dòng)態(tài)變量在程序中是用的最多的變量,因?yàn)樗麤](méi)有特定功能,

          就是供所有的程序使用,誰(shuí)要用就出生,不用時(shí)就結(jié)束,繼續(xù)等待下

          個(gè)被使用。這就是他的使命,暈感覺(jué)像讓萬(wàn)人隨意糟蹋的樣子。
          說(shuō)完變量,現(xiàn)在說(shuō)程序的靈魂------算法,很神秘吧,其實(shí)他媽

          就是實(shí)現(xiàn)的方法,因?yàn)閱纹瑱C(jī)是*運(yùn)算與處理數(shù)據(jù)了來(lái)實(shí)現(xiàn)功能了
          所以叫他---算法。
          這是書上描述了
          “ 算法可以理解為有基本運(yùn)算及規(guī)定的運(yùn)算順序所構(gòu)成的完整的解

          題步驟?;蛘呖闯砂凑找笤O(shè)計(jì)好的有限的確切的計(jì)算序列,并且這

          樣的步驟和序列可以解決一類問(wèn)題
          一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:   算法可以使用自然語(yǔ)

          言、偽代碼、流程圖等多種不同的方法來(lái)描述。
          1、有窮性(Finiteness)
            算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止
          2、確切性(Difiniteness)
            算法的每一步驟必須有確切的定義;
          3、輸入項(xiàng)(Input)
            一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫運(yùn)算對(duì)象的初始情況,所謂0

          個(gè)輸入是指算法本身定出了初始條件;
          4、輸出項(xiàng)(Output)
            一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果。

          沒(méi)有輸出的算法是毫無(wú)意義的;
          5、可行性(Effectiveness)
            算法中執(zhí)行的任何計(jì)算步都是可以被分解為基本的可執(zhí)行的操作

          步,即每個(gè)計(jì)算步都可以在有限時(shí)間內(nèi)完成。(也稱之為有效性)

          。”
          我的理解就是算法:為實(shí)現(xiàn)你想要做到的特定事情或解決某個(gè)問(wèn)題

          而采取的方法或策略就是算法
          說(shuō)到算法就要說(shuō)架構(gòu)了,他們兩個(gè)一個(gè)骨 一個(gè)是肉,說(shuō)也說(shuō)不清
          什么是架構(gòu),架構(gòu)就是為完整該事情或任務(wù)而設(shè)計(jì)的程序結(jié)構(gòu),
          就像一個(gè)剛蓋大樓的骨架,有的他,才可以隔間變?yōu)榉块g再用算法

          來(lái)裝修他。
          一個(gè)好的算法與架構(gòu)可以讓程序高效、高速、穩(wěn)定的運(yùn)行,且不占

          用太多的空間-----這也是每個(gè)工程師、程序員必身追求著夢(mèng)想。



          關(guān)鍵詞: 單片機(jī)程序設(shè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();