999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單片機C語言編程的常見問題分析

2019-12-16 02:57:56方春華
電腦知識與技術 2019年30期
關鍵詞:單片機

方春華

摘要:隨著計算機技術的不斷發展,使得如今的單片機仿真器普遍支持了c語言程序的調試,這無疑是對單片機使用c語言提供了極大便利。雖然,單片機內中半導體芯片的體積十分微小,但卻容納了眾多的元器件,包括CPU、半導體存儲器、I/O接口以及中斷系統。與此同時,基于c語言本身兼具高級語言和匯編語言的雙重特點,加之c語言能夠直接操作單片機硬件,這為c語言編程在單片機中的應用創造了良好的條件。本文通過概述單片機系統,深入分析單片機c語言編程的常見問題,并根據實際情況提出解決單片機c語言編程問題的策略,為單片機c語言編程的應用提供可參考的資料。

關鍵詞:單片機;c語言;編程問題

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2019)30-0237-02

單片機的開發主要依賴于大量的編程與算法設計,而通過對單片機編程語言的審視,我們不難發現:傳統單片機運用最多的當屬匯編語言,而針對c、c++等高級編譯語言的運用卻十分稀少。而隨著計算機技術的不斷發展,人們對單片機系統功能需求的不斷提升,所以積極將c、c++一類的高級編譯語言運用至單片機中已然成為時代發展的必然趨勢。

1單片機系統

1.1單片機的定義

單片機的英文全稱為“single chip microcomputer”,中文翻譯為單片微型計算機。其主要部件便是半導體芯片。雖然,半導體芯片的體積十分微小,但卻容納了眾多的元器件,包括CPU、半導體存儲器、I/O接口以及中斷系統等。至于單片機則是由眾多包含此半導體芯片的硬件所構成。

1.2單片機的系統組成

就單片機系統而言,其與普通計算機同樣擁有硬件與軟件系統兩大重要組成部分。其中,硬件系統主要包含了上述所提半導體芯片中集成的各類元器件,如CPU、半導體存儲器等。而軟件則是由眾多的主程序與子程序所共同組成,而這些主程序與子程序則均是借助匯編或c語言所編寫而成,其主要功能便是監控系統。

1.3單片機的功能特點

單片機雖是微型電子計算機,卻仍有著極其豐富的功能。如基于單片機的元器件本身便具有較高的基礎高難度,故在大規模以及超大規模的集成電路中均適用,且具體的運用還能增強電路的抗干擾能力與可靠性。其次,同樣基于單片機元器件的高集成度,故其價格也相對較為低廉。再者則是單片機具有強大的控制功能,而相關功能均是由指令輸入來實現;最后則是單片機本身對電壓要求較低,僅是2.2甚至更低的電壓便可運行,如此低功耗也十分符合環保低耗的相關要求。

1.4單片機的應用范圍

單片機具有強大的功能,故使得該設備于國防、軍事、工業、農業等諸多領域均有著十分廣泛的運用。不僅如此,在眾多與家庭相關的系統及設備中,單片機也有著良好的運用價值,諸如機電一體化設備、智能儀表儀器、分布式多機系統等。

2單片機C語言編程的常見問題

雖然單片機的語言編輯器功能也十分強大,但也并非能可支持所有的數據類型。好在當前所流行的數據類型,當前的單片機語言編輯器均能良好兼容,且基于單片機本身所具有的位數數據存儲功能,故能通過合理應用各種字符集來構建完整的數據庫。浮點型數據這種數據類型也常常會應用到語言編輯中,且最常見的一種方式就是邏輯開頭。

就上述語言類型外,單片機除了能完美兼容外,且還支持特殊功能的寄存。而所謂的特殊功能寄存,即指單片機并非只能單純的存儲數據,而是能訪問數據存儲的任意位置。雖然,基于各種強大的功能使得單片機的運用范圍也十分廣泛,但其語言卻有著十分明顯的缺陷。就以市面上最常見的單片機為例,當前,市面上最常見的單片機通常是八位的,也便是能同時計算二的八次方個數據,而在實際運算過程中,為切實提升代碼的準確率,我們通常是通過減少單片機位數長度的方式來降低其數據計算量,以此將能避免占用過多內存。同樣,在語言設計時通常會采取減少程度執行過程中的預算次數或減少字符串總長度的方式來降低單片機的數據計算量。但若所需計算的數據類型為浮點型數據,這便需要得到內部函數的支持方能精準計算,故我們在運用數據時,需務必做到對數據類型的合理選取,以此方能減少代碼長度,并保證代碼整體結構的科學性與合理性。

3解決單片機C語言編程中常見問題的策略

為了擴大單片機c語言編程的應用范圍,便需要積極解決單片機c語言編程中最常見的一些問題,優化c語言的單片機開發環境、合理分配數據存儲器、與匯編語言的混合編程、完善C語言的單片機開發步驟。

3.1優化C語言的單片機開發環境

當前,就單片機程序的開發軟件而言,運用最廣泛的當屬KEIL C51。該軟件不僅集合了編輯、編譯以及仿真等程序設計所必備的功能外,還能支持不同公司生產的MCS51芯片。不僅如此,KEIL C51的操作界面亦十分友好,且該軟件內部不僅集成了c語言,還同時支持其他的匯編語言。當然,該軟件也因此而具備了強大的變成與調試功能。除此之外,基于KEIL C51的開發環境亦包含了諸多程序,包括編譯器、匯編器、項目管理器、調試器以及實時操作系統等。故也方便對目標、組以及單個文件的管理。至于KEIL C51最主要的特性,因其操作界面十分友好,故用戶能可在實際運用過程中快速熟悉。與此同時,基于源代碼編輯器還為代碼編輯創造了一個極為方便的環境,故編譯人員可隨時基于編輯器來對代碼予以調試,以此將方便編譯人員快速找出前期所寫代碼之中是否存在錯誤以及在代碼完成后對其予以合理的優化。

3.2合理分配數據存儲器

就單片機的內部數據存儲器而言,通常僅有幾百字節大小。但若以添加外部存儲器的方式來提高單片機的數據存儲量,則將導致硬件成本的大幅增加。且因外部存儲器的加入會讓原本較為簡便的系統變得愈發復雜,故針對片內存儲器空間的合理利用對單片機開發而言無疑是極為關鍵的一環。對此,若能基于C語言來調用存儲器的覆蓋技術,則可在連接性的程序時,將此前被其他程度所占用的存儲空間重新定義,是之能轉化為另一程序段的變量。而當另一程序停止運行后,這些存儲器空間又將再度釋放并供其他程序使用,以此將能大幅提升單片器存儲器內部空間的應用效率。至于存儲器中的變量,眾所周知,存儲器變量主要有靜態與動態之分。其中靜態變量僅能被調用而無法被釋放,而動態變量則可以被釋放。對此,針對程序設計過程涉及局部變量的使用時,編譯人員需務必采取動態變量,如此方能進一步提高內部數據存儲器的使用率。除此之外,考慮到C語言中的程序中間結果以及參數傳遞均是依靠內部寄存器來完成,但若內部存儲器本身的空間不足,則反而會對程序帶來負面影響。故在設計相關程序時,編譯人員需務必對寄存器空間予以詳盡考量,如此方能最大限度避免計算錯誤的出現。

3.3與匯編語言的混合編程

雖然,C語言編程于絕大多數場合的運用均可達到預期的目標,但并不適用于諸如實時時鐘等對執行效率要求較高的系統。至于匯編語言,因其原本便是一種直接與硬件打交道且具有較高代碼執行效率的匯編語言,故積極將c語的使用過程過程與匯編語言相結合,將能對C語言無法做到之事予以有效彌補。如結合C語言和匯編語言的優點來予以混合編程,便能滿足實時時鐘系統設計的諸多需求。而這也正是當下單片機開發最流行的編程方法。除此之外,在絕大多數單片機系統中,c語言與匯編語言的結合還包含了以下兩種狀況:一是在匯編程序與C語言程序分屬不同模塊的情況下,系統的子程序,也便是會變成度模塊的變量及函數部分通常是由c語言來進行調用。而另一種則是嵌入式匯編,在嵌入式匯編中,通常是在c語言程序中嵌入一段匯編語言程序,后在不同模塊的調用下又將分為若干個C程序與匯編程序模塊。而此時的C語言模塊通常是作為程序的主體框架來輔助匯編程序完成相應的任務。當然,在此過程中,C語言與匯編語言模塊必須基于完整的約定,否則將導致數據交換出錯。除此之外,就嵌入式匯編而言,因c語言使用使得程序內部可自動生產精煉的代碼,由此可極大減少系統的運行時間,且當內部無復雜跳轉時,該嵌人式語言亦將自動完成匯編。

3.4完善C語言的單片機開發步驟

運用C語言進行單片機程度開發時,通常需經歷以下幾大重要步驟。依次為程序代碼的編寫、程度代碼的編譯、目標代碼的連接以及目標代碼的轉換等。就以上程序而言,最重要的當屬代碼編寫完成后的調式,其步驟關系到編譯文件未能移植到單片機之上以及在編譯文件移植到單片機上后能可順利執行。至于單片機的開發步驟則通常包含如下四步。分別為軟件的安裝、源文件的創建、編譯與調試以及最終的HEX文件生成。其中,軟件的安裝主要是通過登錄KEIL的官方文件下載軟件的商業版安裝包。通過點擊其解壓后的安裝包并雙擊其中的SETUP.EXE文件,在勾選其協議條款的同意按鈕并按提示輸入序列號后,后續的安裝步驟將自動完成;而源文件的創建則是再打開軟件后創立新的項目,后在新創利的項目中編寫代碼便可生成C與源程序的源文件。編譯與調試的主要任務便是檢查并調試源代碼程序,以找出代碼之中錯誤并加以及時的改正,以免影響到后續的軟件運行。至于最后的HEX文件生成則需借助編譯器寫入單片機芯片中,以此為后續的仿真調試提供條件。

總之,C語言本身兼具高級語言和匯編語言的雙重特點,加之該語言能直接操作單片機硬件,故使得該語言于單片機制造中有著絕佳的發展前景。而目前,該技術已然在眾多領域得到了極其廣泛的運用,甚至在單片機開發中,C語言已然取代了其他匯編語言并成了最合適單片機開發的語言。由此可見,c語言在單片機技術中的運用還將迎來更大的發展空間,因此,我們也必須要對該語言的使用給予高度重視。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 免费不卡在线观看av| 日韩视频福利| 国产综合精品一区二区| 91探花国产综合在线精品| 999精品在线视频| 尤物成AV人片在线观看| 久久人妻xunleige无码| 日韩精品一区二区深田咏美| 亚洲人妖在线| 999国产精品永久免费视频精品久久| 亚洲中文字幕在线一区播放| 国产经典在线观看一区| 毛片在线播放a| 中文字幕无码中文字幕有码在线| 天天躁夜夜躁狠狠躁躁88| 真人免费一级毛片一区二区 | 女高中生自慰污污网站| 日本成人不卡视频| 亚洲人成网7777777国产| 国产精品三级av及在线观看| 久久伊人久久亚洲综合| 乱人伦99久久| 国产精品视频观看裸模| 精品欧美一区二区三区久久久| 亚洲欧美综合在线观看| 玖玖精品视频在线观看| 午夜欧美在线| 精品国产三级在线观看| 日韩精品视频久久| 国产毛片久久国产| 亚洲精品色AV无码看| 日本人又色又爽的视频| 亚洲国产精品VA在线看黑人| 亚洲va在线∨a天堂va欧美va| 午夜福利网址| 日韩毛片在线视频| 国产久操视频| 欧美区在线播放| 国产大片喷水在线在线视频 | 久久免费视频播放| 欧美黄色网站在线看| 五月综合色婷婷| 亚洲成人动漫在线| 人妻丝袜无码视频| 国产成人精品男人的天堂| 成人综合网址| 直接黄91麻豆网站| 国产久草视频| 欧美精品在线看| 在线网站18禁| 国产成人精品免费视频大全五级| 又大又硬又爽免费视频| 99久视频| 97色伦色在线综合视频| 国产亚洲美日韩AV中文字幕无码成人| 国产特级毛片aaaaaa| 亚洲日韩国产精品综合在线观看| 国产白浆在线| 无码aaa视频| 九色综合伊人久久富二代| 欧美特黄一级大黄录像| 色成人综合| 亚洲天堂伊人| 免费a级毛片18以上观看精品| 亚洲av成人无码网站在线观看| 国产精品亚洲综合久久小说| 中文字幕波多野不卡一区| 欧美精品在线视频观看| 被公侵犯人妻少妇一区二区三区| 亚洲自拍另类| 亚洲第一中文字幕| 国产成人综合亚洲欧洲色就色| 九色91在线视频| 欧美日韩在线观看一区二区三区| 免费不卡视频| 精品国产电影久久九九| 国产激爽大片高清在线观看| 精品视频在线一区| 国产欧美日韩一区二区视频在线| 伊人久久大香线蕉影院| 色偷偷男人的天堂亚洲av| 亚洲精品动漫|