王鑫 李萬軍
摘 要 在各種電子類產(chǎn)品當中,廣泛應用單片機計算機實施控制。針對該行業(yè)的技術(shù)人員,需要掌握單片機性能。在程序設(shè)計環(huán)節(jié),可利用C語言靈活、功能強大的優(yōu)勢,展開模塊化設(shè)計。本文對于單片機內(nèi)容簡單進行了介紹,并對C語言特點展開分析,進而對單片機程序設(shè)計環(huán)節(jié)C語言的實踐應用詳細說明。
關(guān)鍵詞 C語言;單片機;程序設(shè)計
引言
當前,電子產(chǎn)品的廣泛存在于生活當中,利用單片機對各智能系統(tǒng)單片機編程時,可利用C語言,確保程序設(shè)計的結(jié)構(gòu)化特點。利用C語言良好的結(jié)構(gòu)性、功能性以及可移植各類優(yōu)勢,降低硬件設(shè)備的操作頻率。因此,在單片機的系統(tǒng)設(shè)計中,C語言較為實用。
1單片機相關(guān)介紹
對于單片機,當前還未形成確切定義。常規(guī)上認為在同一芯片之上集成CPU、ROM、定時器RAM、I/O接口電路的計算機,組合而成的就是單片機程序,利用其能夠?qū)崿F(xiàn)對硬件系統(tǒng)的智能化控制。因為單片機主要是按照工業(yè)要求完成指令系統(tǒng)以及硬件結(jié)構(gòu)等設(shè)計,因此,通常應用在工業(yè)的數(shù)控裝置當中,或者用于工業(yè)檢測,也稱為微控制器或者嵌入式控制器。單片機的應用十分廣泛,需要使用者熟悉C語言的編程方式,才能保證編程設(shè)計和單片機的外圍電路之間高效連接。
2利用C語言展開單片機程序的設(shè)計和應用
(1)應用優(yōu)勢。C語言本身簡單、使用便利,控制語句9中,關(guān)鍵字32個。在單片機程序設(shè)計當中,利用C語言編程具有諸多優(yōu)勢,即使編程人員不了解單片機指令集,也可編寫較為完美的程序。
應用過程,能夠嚴格檢查句法,出錯率較少,并且錯誤能夠快速在高水平的編程語言當中被排除,程序設(shè)計期間,能夠接受多種實用類型的程序服務。
(2)應用流程。由于高質(zhì)量單片機需要使用C語言程序代碼進行設(shè)計,其運行效率相對較高,并且具有較強的可維護性以及可讀性。如果編寫小型單片機程序,這種差異并不明顯;但是若編寫大程序時,需要多人之間進行合作,此時,這種差異體現(xiàn)得十分明顯。因此,需要對C語言在單片機的程序設(shè)計過程應用流程展開研究。
1)文件結(jié)構(gòu)上。由于單片機中C語言程序文件有兩種類型,其一:頭文件,主要是用來保存“聲明”,該文件主要是“h”后綴文件;其二,定義文件,用于存儲程序“實現(xiàn)”,該文件主要是“c”后綴文件。其中組成頭文件的內(nèi)容有三部分,分別為“版權(quán)聲明、預處理快、函數(shù)聲明”等。設(shè)計期間,為避免重復引用頭文件,需要借助define或者end if等結(jié)構(gòu)展開預處理。
2)代碼行空格。在編程期間,需要在關(guān)鍵詞后面留出空格,比如:virtual,case,const和inline等都屬于關(guān)鍵字,應該在后面留出空格,避免編程時難以對關(guān)鍵詞展開辨析[1]。如果用到“while,if和for”關(guān)鍵字,需要在關(guān)鍵字之后使用“(”,將關(guān)鍵字區(qū)別出來。注意函數(shù)名的后面不可將空格留出,在“(”后面緊跟“;”“,”“、”,如果向前緊跟,則緊跟位置可不留空格。在“,”之后,可留出空格“Function(x,y,z)”。當“;”之后不是結(jié)束符時,需要在其后方預留空格。在“賦值”、“比較”、“算數(shù)”、“邏輯”、“為域”等操作符之后,需要在前后均使用空格。針對一元操作符,可不在前后添加空格。
3)對齊方面。對于程序分解符,像“{”和“}”需要單獨起一行,并使其位于同一列,和引用語句左對齊、“{}”之內(nèi)的代碼需要在“{”其右側(cè)進行左對齊。
4)長行拆分。使用C語言完成單片機的程序設(shè)計,需要將代碼行的長度控制在70~80字符之內(nèi),不可過長,否則不但打印不便利,而且不利于觀察。
5)修飾符位置。編程期間,原則上來講,修飾符“*”的使用需要和變量名靠近,但是實踐應用中還存在爭議,即若修飾符和數(shù)據(jù)類型靠近,像“int*x”,從語義角度分析,這種寫法相對直觀,也就是“x”屬于“int”型指針。但是上述寫法可能存在弊端,導致誤解。當“int*x,y”時,此時“y”可導致歧義,被認為是指針變量,因此,雖然對“x,y”實施分行定義,能夠避免此類誤解,但是并非人人都期待這樣做。
6)注釋類型。C語言編程期間,通常利用“/*…*/”對程序塊進行注釋,而對于程序行注釋,通常以“//…”完成,在版本聲明、函數(shù)接口以及重要代碼行、段等提示當中常使用注釋方式。在單片機的程序設(shè)計期間,注釋主要起提示作用,因此,不可使用過多。此外,還需注意,若代碼出現(xiàn)修改,則需要對注釋展開對應修改,確保其和代碼之間的一致性[2-3]。
3結(jié)束語
總之,C語言在單片機的程序設(shè)計方面應用為未來單片機設(shè)計、開發(fā)、使用的必然趨勢。因此,相關(guān)領(lǐng)域人員需要加強學習,掌握C語言的實踐運用流程,注意程序設(shè)計環(huán)節(jié)的各個要點,設(shè)計出更多高質(zhì)量的程序,提高單片機的應用效率。
參考文獻
[1] 嚴均,周煌輝.C語言在單片機開發(fā)中的應用分析[J].電腦知識與技術(shù),2020,16(3):265-266.
[2] 張帆,王嫣.一款用于C語言教學的移動應用程序設(shè)計與開發(fā)[J].信息與電腦(理論版),2018(24):124-125.
[3] 劉芙,陳宏明.C語言在AVR單片機控制的微打印應用[J].計算機測量與控制,2020,28(8):171-176.
作者簡介
王鑫(1987-),女,河北廊坊人;學歷:碩士研究生,職稱:講師;現(xiàn)就職單位:北華航天工業(yè)學院,研究方向:信息處理、視覺測量。
李萬軍(通訊作者)(1988-),男,湖南郴州人,學歷:碩士,職稱:實驗師;現(xiàn)就職單位:北華航天工業(yè)學院,研究方向:信號處理及傳感器。