簡論單片機C語言的編程
導讀:

摘 要 C語言不同于一般的計算機語言,相比于簡單的機器語言,C語言數據庫里函數計算公式更多,整體的編譯功能性更強,整體的對數據處理的所需時間更短,編譯過程效率更高。文章首先介紹單片機C語言的編程優點,然后對單片機C語言的編程理由進行分析和探討。
關鍵詞 單片機;計算機語言;C語言
1671-7597(2013)22-0055-01
單片機是一個小型的電腦系統,它具備完成一項某項任務的功能,有的甚至可以完成多項功能,這在工業制約以及智能開發上有巨大用途。單片機系統的實現是建立在大規模集成電路技術發展成熟的基礎之上,它將****處理器CPU,數據存儲ROM,負責信息傳輸的線路和I/O接口整合到一起,放在集成電路板上,完成電腦系統的制作。至于C語言,就是一種特定的機器語言,能幫助我們編譯計算機能夠識別的指令,而且整個編譯過程不需要依靠計算機硬件的應用程序,非常的簡單可行。
1 單片機C語言的編程優點
1)單片機因為是集成電路系統,能在一個很小的原件上完成較為復雜的操作反應,運轉簡單,價格便宜,還能支持C語言的編譯。今天我們所提到的單片機C語言是C語言的一種,它能為單片機提供更多的數據類型,幫助用戶分析遇到的理由,并且針對理由做出專業性處理。整體流程如下:命令以單片機C語言的形式下達,然后通過傳輸接口傳到單片機的存儲器上,CPU在從存儲器上提取信息,進行計算并發出指令,發出的指令在通過接口傳到給執行機器,如此完成整個動作。整個過程沒有異步過程,而且提供標準函數庫,程序員不需要熟記單片機的指令庫就可以完成整個編譯過程。
2)C語言作為一種高級語言,能直接用于操控機器,而不需要軟硬件的驅動程序,為軟件的開發提供了可靠的保障,C語言的應用極大的增加的程序編譯員的工作效率,給開發者更多的時間跟精力去專心研究編譯程序的功能,不用在分精力在硬件與軟件的契合方面。但是單片機C語言占用系統量較大,對一般的單片機來說,CPU直接讀取的存儲是有限的,用C語言進行編譯,很容易將原本簡單的編譯信息寫成多條信息,這就增加了直接存儲的負荷,導致單片機直接存儲不夠用或者棧溢出等理由。
2 單片機C語言的編程理由分析
1)研究表明,單片機C語言編輯器也不是萬能的,不可能支持所有的數據類型。不過現今比較流行的幾種數據類型還是能夠支持的。像是擁有16位數據的char型存儲數據類型,它主要是運用ASCII字符集。像存儲位數為四字節的Int數據存儲類型,它是一個整型數據。整型數據中又有長整型數據,也就是long數據。另外一種數據是浮點型數據,我們在C語言編輯中經常用到,邏輯開頭為float。單片機除了上述的語言類型外,還支持**r這種特殊功能寄存器,不僅僅能夠存儲數據,還能任意訪問數據存儲所在的位置。作為一種跟程序存儲器資源相結合的編譯語言,單片機C語言也具有一定的缺陷性,我們拿最常見的51系列單片機為例子。作為單片機中最常見的,我們知道51系列的單片機CPU是八位的,要計算二的八次方個數據,我們如果想提高代碼的準確率,一般都是采用減少單片機的位數的長度,也就減少了CPU的數據計算數量。我們在使用中,為了避開占用內存過大,通常會減少程序執行過程中的運算次數,減少輸入字符串的總體長度,能夠用小字符串進行定義的絕不使用大的,能夠用整型變量進行定義的就盡量不用長整型變量,這也是我們進行C語言設計時需要遵循的一個原則。在C語言的處理過程中,必須從數據庫里提取公式,但是浮點型的數據就有一定的內部函數來支持,整個浮點型函數經過如此變化,會生成較長代碼,所以我們在運用數據時,要盡量選取合適數據類型,本著減少代碼長度的覺悟,盡量做到合理。
2)單片機C語言的算法的詳解。C語言是算法組成的,它能夠完成單一命令或多種命令。單片機C語言也是由一個個算法組成的,但是普通C語言跟單片機C語言的最大不同就在于存儲量的大小,通常普通C語言的編譯是不需要考慮編譯程序代碼的長度理由,我們只需要考慮編譯的結果符合我們的要求即可。但是在單片機C語言編譯中,因為單片機本身的存儲性能有限,我們就必須對長度過長的代碼進行重新設計排版,讓程序算法最少。當然算法少的程序并不一定是代碼少的程序,有些本身代碼不長的程序,因為要在運轉中走函數或者子程序,造成原本認為少的程序在運轉中涉及的算法更多。為了降低程序消耗的內存,不僅僅要考慮編輯好的程序算法,還要考慮算法運轉的本身。通常我們都知道算法是包括制約結構以及原始操作結構的,原始操作結構也就是我們常說的輸入機構,制約結構與原始操作機構的運轉得出結果的時間就是算法執行的時間,但是普通的一個算法,會因為編譯算法的語言不通
單片機C語言的編程由專注畢業論文與職稱論文的http://www.beijingfeeling.com提供,轉載請保留****.,編譯程序的軟件不通,編譯完成后在運轉計算機的不同產生不同的結果。所以我們在進行單片機上的算法設計時,要考慮解決一個理由時,哪種策略更簡單,哪種策略使用規模最小,哪種策略書寫的程序語言最少,就選用哪一種算法。在C語言中,算法直接影響對語言的實現級別。
3)單片機C語言存儲器的分配結果。單片機的存儲設備一般都是隨即存儲,存儲數據非常少,一般也就64kb,也就是我們常說

的單片機的內存,除了隨即內存外,單片機有時還具備內部存儲設備。在實際運轉中,數據從內部存儲轉到隨即存儲,空余的存儲地址在由新的存儲數據填充。 這就涉及到全局變量以及靜態存儲變量,靜態變量因為是函數調用的,所以所處的存儲器地址基本是不變的,在全局變化中,能被釋放的只有局部變量,我們為了保證單片機的內存,要盡量提高存儲器的利用率,合理分配存儲器地址。
4)存儲器有三種不同的存儲模式,分別為小模式,壓縮模式以及大模式,判定的值是變量所處的地址范圍。我們選取不同的模式,將直接影響到代碼的長度以及程序的執行速度,在研究中發現,我們要把程序代碼放在存儲空間里,然后將一部分訪問變量設計成xdata的類型,放在實時存儲里面,就能減少不必要的時間。
單片機C語言這種通用的計算機語言有著很多優點,功能強大,便于結構化,可讀性強,可移植性強,維護和運用方便,反應速度快,并且具有通用性。單片機的性能在飛速提高,這就需要編程者隨時掌握學習知識,提升技術,在單片機目前有限的系統資源下研究開發出更加優秀的單片機系統。
參考文獻
[1]馬忠梅,籍順心,張凱.單片機的C語言應用程序設計[M].北京航空航天大學出版社,1997.
[2]曾紅兵.淺談8051單片機編程中C語言代碼優化[J].湖南冶金職業技術學院學報,2007(09).
上一篇論文:
淺論新時期中學語文教學語言 下一篇論文:
淺談詩性語言的別致運用