




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、項目三 C51程序設計語言基礎任務1 C51程序的識讀1. C51程序結構例3-1 P_test/* /注釋,還可用/注釋掉一行File name:P_test.cChip name:STC89C51RCClock frequency:1.20MHz*/ #include “reg52.h” /預處理命令,文件包含預處理命令,后綴名都是.h,標準的MCS-51單片機頭文件為”reg51.h”,STC89系列單片機頭文件為”reg52.h” #define unit unsigned int /宏定義預處理命令 sbit BZ=P37 ; sbit key=P10;void delay(unit
2、 ms) unit i; while( ms -) for(i=0;i<120;i+);void main(void) while(1) if(key=0) BZ=0x0; delayms(10); BZ=0x1; delayms(50); P0=0xFF; else P0=P0; delayms(500); 2. C51的數據類型 位變量型 bit字符型 無符號字符型 unsigned char 有符號字符型 signed charC51的數據類型 整數型 無符號整數型 unsigned int基本類型 有符號整數型 signed int 長整數型 無符號長整數型 unsigned l
3、ong int有符號長整數型signed long int 實數型(浮點型) 單精度浮點型float 雙精度浮點型double 數組類型array 結構體類型struct構造類型 共用體union 枚舉enum 指針類型 空類型(void)表3-1 C51基本數據類型的長度和值域類型長度/bit長度/byte范圍位變量型bit10 ,1無符號字符型 unsigned char8單字節0-255有符號字符型 signed char8單字節-128-127無符號整數型 unsigned int16雙字節0-65536有符號整數型 signed int16雙字節-32768-32767無符號長整數型
4、 unsigned long int32四字節有符號長整數型 signed long int32四字節單精度浮點型 float32四字節雙精度浮點型 double 32四字節一般指針類型 24三字節3. C51的標識符和關鍵字標識符是由字母、數字和下劃線組成的字符串,第一個字符必須是字母或下劃線,不超過32個字符。表3-2 C51中的關鍵字關鍵字用途說明auto存儲種類聲明用來聲明局部變量bdata存儲器類型說明可位尋址的內部數據存儲器break程序語句退出最內層循環體bit位變量語句位變量的值是1(true)或0(flase)case程序語句switch語句中的選擇項char數據類型的聲明單
5、字節整數型或字符型數據關鍵字用途說明code存儲器類型聲明程序存儲器const存儲類型說明在程序執行過程中不可修改的變量值continue程序語句退出本次循環,轉向下一次循環data存儲器類型說明直接尋址的內部數據存儲器default程序語句Switch語句中的失敗選擇項do程序語句構成do.while循環結構double數據類型說明雙精度浮點數else程序語句構成if.else選擇結構enum數據類型說明枚舉extern存儲類型說明在其他程序模塊中聲明了的全局變量float數據類型說明單精度浮點型for程序語句構成for循環結構goto程序語句構成goto循環結構idata存儲器類型說明間接
6、尋址的內部數據存儲器if程序語句構成do.while循環結構int數據類型說明基本整數型interrupt中斷聲明定義一個中斷函數long數據類型說明長整數型pdata存儲器類型說明分頁尋址的內部數據存儲器register存儲類型說明使用CPU內部的寄存器變量reentrant再入函數說明定義一個再入函數return程序語句函數返回sbit位變量聲明聲明一個可位尋址的變量short數據類型說明短整數型signed數據類型說明有符號數,二進制的最高位位符號位sizeof運算符計算表達式或數據類型的字節數Sfr特殊功能寄存器聲明聲明一個特殊功能寄存器Sfr16特殊功能寄存器聲明聲明一個16位的特殊
7、功能寄存器static存儲類型說明靜態變量struct數據類型說明結構類型數據switch程序語句構成switch選擇語句typedef數據類型說明重新進行數據類型定義union數據類型說明聯合數據類型unsigned數據類型說明無符號數據using寄存器組定義定義芯片的工作寄存器void數據類型說明無符號數據volatile數據類型說明聲明該變量在程序執行中可被隱含改變while程序語句構成while和do.while循環語句xdata存儲器類型說明外部數據存儲器4. C51的常量和變量1) 常量常量就是在程序運行過程中,其值不能改變的數據,包括整型常量、字符常量、字符串常量、實數常量、位標
8、量等。(1) 整型常量:可以用二進制、八進制、十進制、十六進制表示。 無符號整數常量在一個數字后面加上“u”或“U”表示。長整數型常量在后面加上“l”或“L”,無符號長整數型常量在數字后面加上“ul”或“UL”,實數型常量在后面加“f”或“F”。(2) 字符常量:單引號內的字符,不可以顯示的控制字符在前加“”組成專用轉義字符。(3) 字符串常量:雙引號內的字符,當雙引號內沒有字符時是空字符串。在C語言中,字符串常量是作為字符類型數組來處理的,在存儲字符串時,系統在字符串尾部加上轉義字符“o”,作為該字符串的結束符。(4) 實數常量:有十進制和指數兩種表示形式。指數表示的實數為“±數字
9、.數字e±數字”, 中的內容為可選項(5) 位標量:位標量的值是一個二進制數。2) 變量變量就是在程序運行過程中,其值可以被改變的數據。必須先用標識符作為變量名,并指出所用的數據類型和存儲模式,這樣編譯系統才能為變量分配相應的存儲空間。定義變量的格式: < 存儲模式 > < 類型定義 > 存儲器類型 < 標識符 >;類型定義和標識符是必要的。存儲模式有四種,自動(auto)、外部(extern)、靜態(static)和寄存器(register),默認類型為自動(auto)。表3-3 C51存儲類型與MCS-51單片機存儲空間的對應關系及其大小存儲類
10、型與存儲空間的對應關系長度/bit長度/byte存儲范圍data直接尋址片內數據存儲區,訪問速度快(128B)810-255bdata可位尋址片內數據存儲區,允許位與字節混合訪問(16B)810-255idata間接尋址片內數據存儲區,可訪問片內全部RAM地址空間(256B)810-255pdata分頁尋址片外數據存儲區,由MOVX Ri訪問810-255xdata尋址片外數據存儲區(64KB),由 MOVX DPTR訪問1620-65535code尋址代碼存儲區(64KB),由 MOVC DPTR訪問1620-65535如果在變量定義時省略了存儲類型標識符,則編譯器會自動選擇默認的存儲類型。
11、默認的存儲類型進一步由SMALL、COMPACT、和LARGE存儲模式指令限制。存儲模式決定了變量的默認存儲類型、參數傳遞區和無明確存儲類型說明變量的存儲類型。在SMALL模式下,參數傳遞是在片內數據存儲區中完成的。COMPACT和LARGE模式允許參數在外部存儲器中傳遞。表3-4 存儲模式及說明存儲模式說明SMALL參數及局部變量放入可直接尋址的片內存儲器(最大為128B,默認存儲類型為data),因此訪問十分方便。另外,所有對象(包括棧)都必須嵌入片內RAM,棧長由函數的嵌套導數決定。COMPACT參數及局部變量放入分頁片外存儲區(最大為256B,默認的存儲類型為pdata),通過寄存器R0和R1(R0、R1)間接尋址,棧空間位于MCS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省濟南市萊蕪區市級名校2024-2025學年初三年級第一次質量檢測試題物理試題含解析
- 二手房屋交易定金合同范本
- 濟寧市金鄉縣2025年數學四年級第二學期期末預測試題含解析
- 應收賬款質押合同
- 特許經營合同與市場監管
- 2025年海南省保亭黎族苗族自治縣中考三模道德與法治試題(含答案)
- 健身房轉讓協議
- 幼兒舞蹈表演形式
- 影視后期特效項目教程課件 項目1 不忘初心青春無悔
- 第三章第三節海陸變遷 教學設計-2024-2025學年湘教版七年級地理上冊
- GB/T 15923-2010鎳礦石化學分析方法鎳量測定
- 廣西玉林市容縣十里中學九年級化學 酸堿鹽復習課件 人教新課標版
- 30電導率儀作業指導書
- 給水廠畢業設計正文(全)
- 初高中生物銜接課課件
- KET詞匯表(英文中文完整版)
- JJF(閩)1097-2020總溶解固體(TDS)測定儀校準規范-(現行有效)
- 推拉門定制安裝合同協議書范本
- 麥迪床邊重癥系統操作指南
- 機械完整性專題知識講座
- 《生態環境規劃》課程教學大綱
評論
0/150
提交評論