freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

[工學]單片機c語言-展示頁

2025-01-28 11:14本頁面
  

【正文】 : unsigned int pdata cc[10] _at_ 0x34。 對于后兩種方式,在后面指針一節(jié)介紹。 編譯模式控制命令: “ pragma small(或 pact、 large)” 應放在 文件的開始 。 C51支持混合模式: 即可以對函數(shù)設置編譯模式,所以在 large模式下,可以對某些函數(shù)設置為 pact模式或 small模式,從而提高運行速度。 三、 large模式 在 large模式下,變量的默認存儲區(qū)域是“ xdata”,即未指出存儲區(qū)域的變量保存到片外數(shù)據(jù)存儲器,最大變量數(shù)可達 64KB,并且 堆棧也安排在該區(qū)域中 。 pact模式的其特點: 是存儲容量較small模式大,速度較 small模式稍慢,但比large模式要快。 在 small模式下參數(shù)的傳遞: 通過寄存器、堆?;蚱瑑葦?shù)據(jù)存儲區(qū)完成的。 一、 small模式 在 small模式下,變量的默認存儲區(qū)域是“ data”、“ idata”,即未指出存儲區(qū)域的變量保存到片內數(shù)據(jù)存儲器中,并且 堆棧也安排在該區(qū)域中 。編譯模式由編譯控制命令決定。 變量的 存儲模式 也就是程序(或函數(shù))的編譯模式 。 //定義存放接受數(shù)據(jù)的數(shù)組 8)定義存儲在 code區(qū)域 的 unsigned char數(shù)組: unsigned char code dis_code[10]= {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,0x7d,0x07,0x7f,0x6f}。 6)定義在 pdata區(qū)域 的 動態(tài) 有符號 int數(shù)組: int pdata send_data[30]。 4)定義存儲在 bdata區(qū)域 的 動態(tài) unsigned char變量: unsigned char bdata operate, operate1。 2)定義存儲在 data區(qū)域 的 靜態(tài) unsigned char變量: static unsigned char data scan_code=0xfe。 在定義變量時,必須明確指出是存放在哪個區(qū)域 。 MCS51單片機有四個存儲空間 ,分成三類,它們是片內數(shù)據(jù)存儲空間、片外數(shù)據(jù)存儲空間和程序存儲空間。 C51中的寄存器變量: C51的編譯器在編譯時,能夠自動識別程序中使用 頻率高的變量 ,并將其 安排為寄存器變量 , 用戶不用專門聲明。 四、寄存器存儲 寄存器(存儲)變量: 用 register定義的變量為寄存器變量 。 用 extern聲明后,便可以在所聲明的文件中使用。在定義的文件內可以任意使用和修改,外部靜態(tài)變量會一直存在,但在文件外不可見,即在文件外得到保護。 在函數(shù)內可以任意使用和修改,函數(shù)運行結束后會 一直存在 ,但在函數(shù)外不可見,即在函數(shù) 體外得到保護 。分為 內部 靜態(tài)和 外部 靜態(tài)變量。 動態(tài)變量一般分配 使用寄存器或堆棧 。 當定義它的函數(shù)或復合語句執(zhí)行時, C51才為變量分配存儲空間,結束時所占用的 存儲空間釋放 。 按照 ANSI C, C語言的變量有 4種存儲類型 : 動態(tài)存儲( auto) 靜態(tài)存儲( static) 全局存儲( extern) 寄存器存儲( register) 一、動態(tài)存儲 動態(tài)(存儲)變量: 用 auto定義的為動態(tài)變量,也叫自動變量 。 數(shù)據(jù)類型: 在前面的 ,對于變量名也無須多說, 下面主要解釋“存儲類型”和“存儲區(qū)”等概念 。 因此,其十六進制數(shù)為0xC1480000,則存儲結構如右圖所示。 階碼的表達數(shù) =實際階碼數(shù) +127 階碼數(shù)值范圍: 126~ +128。 階碼: 用 移碼 表示。 具體分布為: 1位符號位, 8位階碼位, 23位尾數(shù),如下圖所示。 地址 低 高 : : 12 34 56 78 : : 五、浮點 型變量的存儲 浮點型變量 ( fload)占 4個字節(jié), 用指數(shù)方式表示 ,其 具體格式與編譯器有關 。 如長整型變量的值為 0x12345678,在內存中的存放方法如右圖所示。 signed int數(shù)據(jù) 用補碼表示 。 三、整型變量的存儲 整型變量 ( int) : 不管是unsigned int數(shù)據(jù)還是 signed int數(shù)據(jù),均為 2個字節(jié),其 存儲方法是高位字節(jié)保存在低地址 (在前面), 低位字節(jié)保存在高地址 (在后面) 。 unsigned char數(shù): 可直接被 MSC51接受 signed char數(shù)據(jù): 用補碼表示。 一、位變量的存儲 bit和 sbit型位變量,直接存于 RAM的位尋址空間,包括低 128位和特殊功能寄存器位。 C51數(shù)據(jù)的存儲 MCS51單片機只有 bit和 unsigned char兩種數(shù)據(jù)類型支持 機器指令 ,而其它類型的數(shù)據(jù)都需要 轉換成 bit或 unsigned char型進行 存儲 。 float c。 2)強制轉換 像 ANSI C一樣, 通過強制類型轉換的方式進行轉換 。 +38 特殊功能寄存器型 sfr sfr16 1字節(jié) 2字節(jié) 0~ 255 0~ 65535 位類型 bit、 sbit 1位 0或 1 數(shù)據(jù)類型轉換 1)自動轉換 轉換規(guī)則是 向高精度 數(shù)據(jù)類型轉換、向有符號數(shù)據(jù)類型轉換 。 C51數(shù)據(jù)類型及存儲 主要內容 C51的數(shù)據(jù)類型 C51數(shù)據(jù)的存儲 表 41 C51數(shù)據(jù)類型、長度和數(shù)值范圍 數(shù)據(jù)類型 表示方法 長 度 數(shù) 值 范 圍 無符號 字符 型 unsigned char 1字節(jié) 0~ 255 有符號字符型 signed char 1字節(jié) 128~ 127 無符號 整型 unsigned int 2字節(jié) 0~ 65535 有符號整型 signed int 2字節(jié) 32768~ 32767 無符號 長整型 unsigned long 4字節(jié) 0~ 4294967295 有符號長整型 signed long 4字節(jié) 2147483648~ 2147483647 浮點型 float 4字節(jié) 177。 C51擴展的關鍵字 由于單片機在結構及編程上的特殊要求, C51有自己的特殊關鍵字,稱之為 C51擴展的關鍵字 ,下面給出常用的 C51擴展的關鍵字。 其它的語法規(guī)定、程序結構及程序設計方法,都與 ANSI C相同。 用 C51編寫程序,雖然不像匯編語言那樣需要具體地組織、分配存儲器資源,但是C51對數(shù)據(jù)類型和變量的定義,必須要與單片機的存儲結構相關聯(lián) ,否則編譯器不能正確地映射定位。 “ C51”概念: 為了與 ANSI C區(qū)別, 把“單片機 C語言”稱為“ C51”,也稱為“ Keil C”。 通過本章學習,使讀者能夠比較順利地編寫 C51程序。 單片機 C語言及程序設計 C51概述 C51數(shù)據(jù)類型及存儲 C51變量的定義及數(shù)據(jù)存儲區(qū)域 C51位變量的定義 C51特殊功能寄存器的定義 C51指令的定義 C51的輸入 /輸出 C51函數(shù)的定義 C51與匯編語言混合編程 C51集成開發(fā)軟件 Keil C 目 錄 本章主要討論 C51變量的定義和函數(shù)的定義,以及 Keil C軟件的使用等。 本章內容的安排,認為讀者已經(jīng)學習過 C語言,具有 C語言的基本知識,因此,本章內容完全是結合單片機來講解,也就是補充C語言在單片機方面的概念、數(shù)據(jù)定義和函數(shù)定義等。 C51概述 主要內容 C語言編程的優(yōu)勢 C51與 ANSI C的區(qū)別 C51擴展的關鍵字 C51概述 學習單片機 C語言的必要性 隨著單片機性能的不斷提高, C語言編譯調試工具的不斷完善,以及現(xiàn)在對單片機產品輔助功能的要求、對開發(fā)周期不斷縮短的要求,使得 越來越多的單片機編程人員轉向使用 C語言 ,因此有必要在單片機課程中講授“單片機 C語言”。 C語言編程的優(yōu)勢 在編程方面,使用 C51較匯編語言有諸多優(yōu)勢: 1)編程容易 2)容易實現(xiàn)復雜的數(shù)值計算 3)容易閱讀與交流 4)容易調試與維護程序 5)容易實現(xiàn)模塊化開發(fā) 6)程序可移植性好 C語言與 ANSI 的區(qū)別 用匯編語言編寫單片機程序時,必須要考慮其存儲器的結構 ,尤其要考慮其片內數(shù)據(jù)存儲器、特殊功能寄存器是否正確合理的使用,以及按照實際地址端口數(shù)據(jù)的處理。 用 C51編寫單片機程序,與用 ANSI C編寫程序的 不同之處是 , 需要根據(jù)單片機存儲器結構及內部資源,定義相應的數(shù)據(jù)類型和變量 。所以 本章主要介紹 C51各種變量的定義、指針定義、函數(shù)定義和混合編程 。 _at_ bdata data idata pdata xdata bit sbit sfr sfr16 code interrupt reentrant using volatile 這些關鍵字在后面會陸續(xù)接觸到,此處先不給出它們的含義。 ~ 177。如字符型變量與整型變量相加時,則位變量先轉換字符型或整型數(shù)據(jù),然后相加。如: unsigned int b。 b=(int)c。 為了 減少 單片機的 存儲空間 和 提高 運行速度 ,要 盡可能地使用 unsigned char型數(shù)據(jù)。 二、字符變量的存儲 字符變量 ( char) : 無論是 unsigned char數(shù)據(jù)還是 signed char數(shù)據(jù),均為 1個字節(jié),能夠被直接存儲在 RAM中,可以存儲在 0~ 0x7f區(qū)域,也可以存儲在 0x80~ 0xff區(qū)域,與變量的定義有關。 需要額外的操作 來測試、處理符號位,使用的是兩種庫函數(shù), 代碼量大,運算速度降低 。 例如, 整型變量的值為 0x1234,在內存中的存放如右圖所示。 地址 低 高 : : 12 34 : : 四、長 整型變量的存儲 長整型變量( long)為 4個字節(jié),其存儲方法與整型數(shù)據(jù)一樣,是 最高位字節(jié)保存的地址最低 (在最前面), 最低位字節(jié)保存的地址最高 (在最后面)。不管是unsigned long數(shù)據(jù)還是 signed long數(shù)據(jù)。 對于 Keil C,采用的是 IEEE754標準 ,具有 24位精度,尾數(shù)的最高位始終為 1,因而不保存。 字節(jié)地址 0 1 2 3 浮點數(shù) 內容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 符號和階碼 尾數(shù)高位 尾數(shù)低位 符號位 S: 1表示負數(shù), 0表示正數(shù)。如,實際階碼 126用 1表示,實際階碼 0用 127表示, 即實際階碼數(shù)加上 127得到階碼的表達數(shù) 。 例如浮點數(shù) 符號位為 1, =+0011, 階碼數(shù)值為3+127=130=10000010B, 尾數(shù)為 1001。 地址 低 高 : : C1 48 00 00 : : C51變量的定義及數(shù)據(jù)存儲區(qū)域 主要內容 C51變量的定義 C51變量的存儲類型 C51變量的存儲區(qū)域 C51變量定義舉例 C51變量的存儲模式 C51變量的絕對定位 C51變量的定義 C51變量定義的一般格式為: [存儲類型 ] 數(shù)據(jù)類型 [存儲區(qū) ] 變量名 1[=初值 ] [,變量名 2[=初值 ]] [,…] 或 [存儲類型 ] [存儲區(qū) ] 數(shù)據(jù)類型 變量名 1[=初值 ] [,變量名 2[=初值 ]] [,…] 可見變量 (非位變量) 的定義由 4部分 組成 ,即在變量定義時,指定變量 4種屬性。 C51變量的存儲類型 存儲類型這個屬性我們仍沿用 ANSI C的說法 ,盡量不改變原來的含義。 作用范圍: 在定義它的 函數(shù)內或復合語句內部 。 定義變量時, auto可以省略 ,或者說 如果省略了存儲類型 項,則認為是動態(tài)變量。
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1