1. <rt id="cs8fe"><fieldset id="cs8fe"></fieldset></rt>
      <center id="cs8fe"></center>
      <pre id="cs8fe"></pre>
    2. <ul id="cs8fe"><tfoot id="cs8fe"></tfoot></ul>
      <del id="cs8fe"></del>
        <input id="cs8fe"><form id="cs8fe"></form></input>
        国产精鲁鲁网在线视频,国产午夜精品一区二区三区老,日韩av在线高清观看,无码av波多野结衣,国产免费视频一区二区,欧美自慰一级看片免费,亚洲成年轻人电影网站WWW ,成人观看欧美特黄A片
        心得體會

        單片機編程心得體會

        時間:2022-10-08 21:40:10 心得體會

        單片機編程心得體會

          單片機編程心得體會(一)

        單片機編程心得體會

          1. 無論什么時候我們都要以實際應用的角度去考慮程序的編寫。

          2. 無論什么時候都不要讓CPU白白浪費等待,尤其是延時(超過1MS)這樣的地方。

          3.設計相應驅動電路時候,應該仔細閱讀芯片的數據手冊,了解每個引腳的驅動能力,以及整個芯片的驅動能力。

          4.最重要的是,如何去釋放CPU(如果是led每500ms閃爍一次,那么可以設置1ms為基準,定時器定時1ms后,進入相應操作使計數加1,判斷達到500時,進入led(),這些函數執行的時間是相當短的,如果主程序中還有其他函數,則CPU會順次往下執行,對于其它函數(有的話)也要采取相同的措施,保證其不堵塞CPU,若全部基于這種方法執行,我們的小系統依舊可以保證多個任務(多個函數)同時進行,系統的實時性得到了一定的保證。

          ),這是寫出合格程序的基礎。

          5.數碼管顯示,動態顯示的亮度比靜態顯示要差一點,所以在限流電阻時應略小于靜態顯示電路中,動態掃描顯示刷新頻率最好大于50HZ,即每顯示一輪的時間不超過20ms,每個數碼管顯示的時間不能太長也不能太短,時間太長會影響刷新率,導致總體顯示呈現閃爍的現象,時間太短發光二級管的電流導通時間也就短,會影響總體的顯示亮度,一般控制在1ms左右最佳。

          6.模塊化編程,初學單片機的時候(開始是C語言),是接觸一些芯片實現獨立的功能,如DS1302,DS18B20等,程序也不會很大,所以所有的程序都放在一個文件里面。

          隨著學習的逐步深入,程序也愈來愈大,這給調試帶來了一定的困難,后來了解了模塊化編程這個概念,運用之后大大地改善了程序的可讀性和可移植性。

          下面簡單的介紹

          C語言源文件*.c 稍微比較大的設計都會涉及到眾多模塊,我們可以被各自獨立的模塊封裝到不同的*.c源文件中,該文件中定義模塊函數,申明部分一般不放入

          C語言頭文件*.h 把各個模塊的的申明文件(說模塊的接口比較合適),放在相應的*.h頭文件中,相應的模塊對應相應的.h頭文件.形如

          #ifndef __DS1302_H__

          #define __DS1302_H__

          /*模塊ds1302.c文件中函數等的申明文件*/

          #endif

          //上面幾個條件編譯和宏定義是為了防止重復包含

          這樣我們就把各個模塊的接口函數都引出到各自的頭文件中,然后在主程序中調用這些模塊的*.h頭文件即可。

          這點和C++中的類很像。

          在數據類型定義的時候,有時候用typedef會取得很好的效果。

          說到模塊化編程,以前曾看過不少大蝦的例子,他們的源文件和輸出下載文件是放在項目文件夾下地不同文件夾中,如源文件放在src文件夾中,輸出*.hex放在output文件夾中,這樣整個項目就更顯得清晰明了。

          7.多任務程序,這個概念在前面也有提到,就是充分地利用CPU來實現多任務的前后臺操作,相當于自己用程序構造一個基于前后臺的多任務操作系統,換句話說就是通過定時器中斷合理地分配CPU資源來響應不同的任務。

          多個任務需要CPU關照的頻度不一樣,我們選擇最快的那個頻度來作為定時器的節拍(通常為最小公倍數,這樣方便定時器分配),然后通過定時器分頻,即滿足各個任務的響應節拍。

          比如任務A頻度為50HZ,任務B為40HZ,這樣我們就可以去定時器中斷節拍為200HZ,每個任務設定一個節拍控制計數器C,當C計數4次時,任務切換到A,計數到5次切換B……

          void Time

          ...

          單片機編程心得體會(二)

          以下是筆者在C51編程過程中的一點心得體會。

          1.盡量使用短的數據類型。

          如uchar、bit、uint,有時需要對uchar數據類型進行按位訪問,可將其定義在bdam區間。

          慎重使用float數據類型,有時它可以轉化成int數據類型來代用。

          2.熟練指針的使用。

          例如Uint是由雙字節拼接而成,有時用來存放16位地址。

          獲取其高八位和低八位地址的方法為:只要用uchar *p;p=&int0,則*p表示其高八位,*(++p)表示其低八位,非常方便。

          3.使用自加、自減的方法為:a++;a-,它會調用INC、DEC指令,效率遠比a=a+1;a=a-l高。

          4.循環:使用uchar。

          a;for(a=1;a<:8;a++)…時,條件a<=8編譯后代碼比較繁瑣,一可用for(a=8;a;a~)…來代替,充分利用單片機的為零跳轉指令。

          同樣,在do{…}while()中也適用。

          5. 當多個條件判別時,if(A&&B&&C&&D),只要第一個條件A不符合,程序是不管后面的條件的,所以可把最可能出錯的條件排在前面處理。

          6.子程序的參量。

          調用子程序時若帶參量,程序會開辟存儲空間(如Rn)來存放參量,這個空間是可以充分利用的。

          如延時子程序void delay(uehar time){while(time一);J,可以延時相當短的時間。

          7.空指令NOP在C中用_nop一0實現,定義在中。

          8.求余運算“%”操作是調用子程序來完成的,效率低。

          如果是求2的n次方的余數,可使用位操作來代替。

          如:a=a%8可改用8=a&7,效率明顯提高。

          同樣2xN的乘除運算可用移位來實現。

          如:a=a*2;b=h/2可改為a=a《l;b=b》l。

          9.使用結構體類型數組時,在查找第n個值時要利用乘法指令(序號乘以類型寬度),當程序高速運行時,可能會影響其速度。

          10.Keil的軟件調試非常有用。

          筆者常將編譯后的程序與C源程序對照,查看匯編代碼、檢查不恰當之處。

          有時還可用來計算子程序執行時間(在確定精確延時程序參數時非常有用)。

        【單片機編程心得體會】相關文章:

        編程心得體會01-11

        數控編程心得體會03-10

        編程實習心得體會04-07

        編程實驗心得體會03-23

        編程培訓心得體會01-14

        編程實訓心得體會03-30

        單片機實驗心得體會12-28

        單片機實驗心得體會12-07

        編程的心得04-15

        編程實習心得體會7篇04-26

        主站蜘蛛池模板: 欧美牲交a欧美牲交vdo18| 日韩精品亚洲精品第一页| 老司机性色福利精品视频| 99久久久精品免费观看国产| 另类重口特殊av无码| 中文字幕巨乱亚洲| 18禁黄无遮挡网站免费| 免费无码成人AV片在线| 夜夜嗨av一区二区| 亚洲成av人片色午夜乱码| 大量国产激情视频在线观看| 国产国产乱老熟女视频网站97| 女人被做到高潮免费视频| 狠狠色丁香久久综合婷婷| 国产精品一区二区久久沈樵| 91性视频| 5月丁香,6月综合| 国产欧美激情一区二区三区| 无码乱人伦一区二区亚洲一| 国语偷拍视频一区二区三区| 久久久久高潮毛片免费全部播放| 亚洲国产成人麻豆精品| 日本一区二区国产| 在线 | 一区二区三区| 国产xxxxx| 国产精品一区二区韩国AV| 精品美女久久久久| 337p日本欧洲亚洲大胆| 国产成人AV男人的天堂| 无码熟熟妇丰满人妻porn| 污污内射久久一区二区欧美日韩| www.亚洲色图.com| 欧美性猛交xxxx乱大交极品| 亚洲欧美精品suv| 乌克兰少妇xxxx做受野外| 久久婷婷色综合老司机| 免费看的一级毛片| 欧美又粗又大| 五月丁香六月激情| 国产亚洲精品在av| 国产乱人伦真实精品视频 |