資源描述:
《《用picc編譯器開發(fā)pic系列單片機(jī)的代碼》》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、肅膆薅螂羋莂薁螂羇芅蕆螁肀蒀莃螀膂芃螞蝿袂蒈薈螈羄芁蒄袇肆蕆莀袆腿艿蚈袆袈肂蚄裊肁莈薀襖膃膁蒆袃袃莆莂袂羅腿蟻袁肇莄薇羈腿膇蒃羀衿莃荿罿羈膅螇羈膄蒁蚃羇芆芄蕿羆羆葿蒅薃肈節(jié)莁薂膀蒈蝕蟻袀芀薆蝕羂蒆蒂蠆肅艿蒈蚈芇肁螆蚈羇莇螞蚇聿膀薈蚆膁蒞蒄蚅袁膈莀螄羃莄蠆螃肅膆薅螂羋莂薁螂羇芅蕆螁肀蒀莃螀膂芃螞蝿袂蒈薈螈羄芁蒄袇肆蕆莀袆腿艿蚈袆袈肂蚄裊肁莈薀襖膃膁蒆袃袃莆莂袂羅腿蟻袁肇莄薇羈腿膇蒃羀衿莃荿罿羈膅螇羈膄蒁蚃羇芆芄蕿羆羆葿蒅薃肈節(jié)莁薂膀蒈蝕蟻袀芀薆蝕羂蒆蒂蠆肅艿蒈蚈芇肁螆蚈羇莇螞蚇聿膀薈蚆膁蒞蒄蚅袁膈莀螄羃莄蠆螃肅膆薅螂羋莂薁螂羇芅蕆螁肀蒀莃螀膂芃螞蝿袂蒈薈螈羄芁蒄袇肆蕆莀袆腿
2、艿蚈袆袈肂蚄裊肁莈薀襖膃膁蒆袃袃莆莂袂羅腿蟻袁肇莄薇羈腿膇蒃羀衿莃荿罿羈膅螇羈膄蒁蚃羇芆芄蕿羆羆葿蒅薃肈節(jié)莁薂膀蒈蝕蟻袀芀薆蝕羂蒆蒂蠆肅艿蒈蚈芇肁螆蚈羇莇螞蚇聿膀薈蚆膁蒞蒄蚅袁膈莀螄羃莄蠆螃肅膆薅螂羋莂薁螂羇芅蕆螁肀蒀莃螀膂芃螞蝿袂蒈薈螈羄芁蒄袇肆蕆莀袆腿艿蚈《用PICC編譯器開發(fā)PIC系列單片機(jī)的代碼》本文的全部原文如下:.用PICC編譯器語言開發(fā)PIC系列單片機(jī)的代碼DevelopCodesofPICseriesMicrocontrollersUsingPICCComplier關(guān)鍵詞:PICPICC編譯器匯編語言Hi-TechKeyWords:PICPICCCompl
3、ierAssemblyLanguageHi-Tech摘要:介紹了PIC系列單片機(jī)C語言的發(fā)展,并以HI-TECHSoftware公司的HI-TECHPICC為例介紹了PICC編譯器的特點(diǎn)和用其開發(fā)PIC系列單片機(jī)時(shí)的應(yīng)注意的一些問題。Abstract:ThearticleintroducesthedevelopingprocessofClanguageusedinPICseriesmicrocontrollers,explainsthefeaturesofHI-TECHPICC,onekindofPICCcompliermanufacturedbyHI-TECHSoftw
4、are.ItalsogivessomenotesondevelopingPICutilizingHI-TECHPICC.一.前言目前在市場(chǎng)上應(yīng)用最廣泛的應(yīng)該屬于8位單片機(jī),MicrochipTechnoloogy公司推出的8位PIC系列單片機(jī)目前在國內(nèi)市場(chǎng)上深受用戶歡迎,已經(jīng)逐漸成為單片機(jī)應(yīng)用的新潮流,但遺憾的是,目前國內(nèi)介紹它的C語言開發(fā)工具的書籍和文章卻比較少,而且用的人也不多,廣大的程序員在用其開發(fā)的過程中都在慢慢摸索,可能會(huì)走一些彎路,筆者最近在用PIC的C語言時(shí)就遇到了好些問題,在這里筆者想就最近一段時(shí)間用PIC的C語言的一些經(jīng)驗(yàn)和廣大的底層軟件程序員做一下交流
5、和介紹,希望本文對(duì)用PICC開發(fā)PIC系列單片機(jī)的人有所幫助。目前在國內(nèi)用的比較多的是Hi-Tech的HI-TECHPICC編譯器,而且目前市場(chǎng)上一些國內(nèi)的PIC單片機(jī)仿真器也開始支持HI-TECHPICC編譯格式,因此本文主要以Hi-Tech的PICC為基礎(chǔ)介紹一下PIC的C語言的基本特點(diǎn)。二.HI-TECHPICC的C語言開發(fā)工具的語言特點(diǎn)PICC的C語言按ANSIC來定義,并進(jìn)行了C語言的擴(kuò)展,PICC和ANSIC有一個(gè)根本的區(qū)別就是PICC不支持函數(shù)的遞歸調(diào)用,這是因?yàn)镻IC單片機(jī)內(nèi)的堆棧大小是由硬件決定的,資源有限,所以不支持遞歸調(diào)用。它的數(shù)據(jù)也遵從標(biāo)準(zhǔn)C的數(shù)據(jù)
6、結(jié)構(gòu),PICC的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型的形式出現(xiàn)的。PICC編譯器支持的數(shù)據(jù)類型有位類型(bit)、無符號(hào)字符(unsignedchar)、有符號(hào)字符(signedchar)、無符號(hào)整形(unsignedint)、有符號(hào)整形(signedint)、無符號(hào)長整型(unsignedlong)、有符號(hào)長整型(signedlong)、浮點(diǎn)(float)和指針類型等,需要注意的是,PICC支持的多字節(jié)數(shù)據(jù)都采用低字節(jié)在前,高字節(jié)在后的原則,即一個(gè)多字節(jié)數(shù),比如int型,在內(nèi)存單元中存儲(chǔ)順序?yàn)榈臀蛔止?jié)存儲(chǔ)在地址低的存儲(chǔ)單元中,高位字節(jié)存儲(chǔ)在地址高的存儲(chǔ)單元中,程序員在用union定義變
7、量時(shí)一定要注意這一特點(diǎn)。PIC的C語言變量分為局部變量和全局變量,所有變量在使用前必須先定義后使用。全局變量是在任何函數(shù)之外說明的、可被任意模塊使用的、在整個(gè)程序執(zhí)行期間都保持有效的變量;局部變量在函數(shù)內(nèi)部說明,局部變量有兩種:自動(dòng)變量和靜態(tài)變量,缺省類型為自動(dòng)變量,除非明確將其聲明為靜態(tài)變量,而且,所有的自動(dòng)變量都被分配在寄存器頁0,所以bank限定詞不能用于自動(dòng)變量,但可以用于靜態(tài)的局部變量,當(dāng)程序退出時(shí),自動(dòng)變量占用的空間釋放,自動(dòng)變量也就失去意義;靜態(tài)變量是一種局部變量,因此只在聲明他的函數(shù)內(nèi)部有效,但它占用固定的存儲(chǔ)