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

正文內(nèi)容

c51程序設(shè)計(jì)語(yǔ)言(1)-文庫(kù)吧

2024-12-28 16:05 本頁(yè)面


【正文】 *p”為指針變量所指向的變量 。 其中 , “ 標(biāo)識(shí)符 ” 為所定義的指針變量名; “ 數(shù)據(jù)類(lèi)型 ” 說(shuō)明該指針變量所指向的變量的類(lèi)型 。 指針變量的引用:指針有關(guān)的運(yùn)算符有兩個(gè):地址運(yùn)算符 “ amp。”和間接訪問(wèn)運(yùn)算符 “ *” 。 第 3章 51單片機(jī)的軟件基礎(chǔ) 用 typedef重新定義數(shù)據(jù)類(lèi)型的名稱(chēng) 在 C語(yǔ)言中為了簡(jiǎn)化輸入 , 可以根據(jù)自己的需要 , 對(duì)前面介紹的數(shù)據(jù)類(lèi)型重新定義 。 格式為: 例如: typedef unsinged char uchar ; 即在之后的程序中都可以用 uchar 代表 unsinged char 。 typedef unsinged long ulong ; 即在之后的程序中都可以用 ulong 代表 unsinged long typedef 已有數(shù)據(jù)類(lèi)型 新的數(shù)據(jù)類(lèi)型 第 3章 51單片機(jī)的軟件基礎(chǔ) 變量的存儲(chǔ)種類(lèi)(屬性) 變量是一種在程序執(zhí)行過(guò)程中 , 其數(shù)值不斷變化的量 。 同 ANSI C一樣 , C51規(guī)定變量必須先定義后使用 。 C51對(duì)變量的進(jìn)行定義的格式如下: [存儲(chǔ)種類(lèi) ] 數(shù)據(jù)類(lèi)型 [存儲(chǔ)器類(lèi)型 ] 變量名表 其中 , 存儲(chǔ)種類(lèi) ( 屬性 ) 和存儲(chǔ)器類(lèi)型是可選項(xiàng) 。 存儲(chǔ)種類(lèi)是指變量在程序執(zhí)行過(guò)程中的作用范圍。變量的存儲(chǔ)種類(lèi)有四種,分別為: ? 自動(dòng)( auto) —— 默認(rèn)值,變量為函數(shù)內(nèi)有效。 ? 外部( extern) —— 變量對(duì)所有函數(shù)有效。 ? 靜態(tài)( static) ? 寄存器( register) —— 編譯系統(tǒng)自動(dòng)生成。 第 3章 51單片機(jī)的軟件基礎(chǔ) 使用外部種類(lèi)存儲(chǔ)符 extern定義的變量稱(chēng)為外部變量 。 在一個(gè)函數(shù)體內(nèi) , 要使用一個(gè)已在該函數(shù)體外或別的程序模塊文件中定義過(guò)的外部變量時(shí) ,該變量在本函數(shù)體內(nèi)要用 extern說(shuō)明 。 當(dāng)片內(nèi) RAM資源緊張時(shí) , 不建議將外部變量放在片內(nèi) RAM。 使用存儲(chǔ)種類(lèi)說(shuō)明符 static定義的變量稱(chēng)為靜態(tài)變量 。 靜態(tài)變量分為局部靜態(tài)變量和全局靜態(tài)變量 。 局部靜態(tài)變量是在兩次函數(shù)調(diào)用之間仍能保持其值的局部變量 。 有些程序要求在多次調(diào)用之間仍然保持變量的值 , 使用自動(dòng)變量無(wú)法作用到這一點(diǎn) 。使用全局變量有時(shí)會(huì)帶來(lái)意外的副作用 , 這時(shí)可采用局部靜態(tài)變量 。 第 3章 51單片機(jī)的軟件基礎(chǔ) 使用存儲(chǔ)種類(lèi)說(shuō)明符 register定義的變量稱(chēng)為寄存器變量 。 80C51訪問(wèn)寄存器的速度最快 , 通常將使用頻率最高的那些變量定義為寄存器變量 。C51編譯器能自動(dòng)識(shí)別程序中使用頻率最高的變量 ,并自動(dòng)將其作為寄存器變量 , 用戶(hù)無(wú)需專(zhuān)門(mén)聲明 。 第 3章 51單片機(jī)的軟件基礎(chǔ) C51數(shù)據(jù)的存儲(chǔ)類(lèi)型 定義變量時(shí) , 除了說(shuō)明存儲(chǔ)種類(lèi)外 , 還允許說(shuō)明變量的存儲(chǔ)器類(lèi)型 。 存儲(chǔ)類(lèi)型與數(shù)據(jù)存放的物理存儲(chǔ)區(qū)間和尋址方式有關(guān) , 存儲(chǔ)器類(lèi)型指明該變量所處的單片機(jī)的內(nèi)存空間 。 80C51系列單片機(jī)有程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器 。數(shù)據(jù)存儲(chǔ)器又分片內(nèi)和片外數(shù)據(jù)存儲(chǔ)器 , 片內(nèi)數(shù)據(jù)存儲(chǔ)器還分直接尋址區(qū)和間接尋址區(qū) 。 所以 C51的存儲(chǔ)類(lèi)型分別對(duì)應(yīng) code、 data、 idata、 xdata以及根據(jù) 80C51系列特點(diǎn)而設(shè)定的 pdata類(lèi)型 。 第 3章 51單片機(jī)的軟件基礎(chǔ) 存儲(chǔ)器類(lèi)型 長(zhǎng)度 數(shù)據(jù)范圍 存儲(chǔ)空間位置 描述 data 8位 0~ 255 直接尋址片內(nèi)數(shù)據(jù)存儲(chǔ)器低 128B,訪問(wèn)速度最快 bdata 1位 0/1 可位尋址的片內(nèi)數(shù)據(jù)存儲(chǔ)器(地址 20H~ 2FH共16B)允許位和字節(jié)混合訪問(wèn) idata 8位 0~ 255 間接尋址片內(nèi)數(shù)據(jù)存儲(chǔ)器 256B。允許訪問(wèn)片內(nèi)全部地址,速度較快 pdata 8位 0~ 255 分頁(yè)尋址片外數(shù)據(jù)存儲(chǔ)器 256B,使用指令 MOVX @Rn訪問(wèn),需要 2個(gè)指令周期速度較慢 xdata 16位 0~65535 尋址片外數(shù)據(jù)存儲(chǔ)器 64KB,使用指令 MOVX @DPTR訪問(wèn),速度最慢 code 16位 0~65535 尋址程序存儲(chǔ)器區(qū) 64KB,使用指令 MOVC @A+DPTR訪問(wèn) 第 3章 51單片機(jī)的軟件基礎(chǔ) 對(duì) data區(qū)的尋址是最快的,所以應(yīng)該把使用頻率高的變量放在 data區(qū),由于空間有限,必須注意使用 data區(qū), data區(qū)除了包含程序變量外,還包含了堆棧和寄存器組 data區(qū)。 在 SMALL存儲(chǔ)模式下 , 未說(shuō)明存儲(chǔ)器類(lèi)型時(shí) ,變量默認(rèn)被定位在 data區(qū) 。 如果在變量定義時(shí)省略了存儲(chǔ)器類(lèi)型標(biāo)識(shí)符 ,C51編譯器會(huì)選擇默認(rèn)的存儲(chǔ)器類(lèi)型 。 默認(rèn)的存儲(chǔ)器類(lèi)型由 SMALL、 COMPACT和 LARGE存儲(chǔ)模式指令決定 。 1) data區(qū) 第 3章 51單片機(jī)的軟件基礎(chǔ) 當(dāng)在 DATA區(qū)的 位尋址區(qū)定義變量 , 這個(gè)變量就可進(jìn)行位尋址 , 并且聲明位變量 。 這對(duì)狀態(tài)寄存器來(lái)說(shuō)十分有用 , 因?yàn)樗梢詥为?dú)使用變量的每一位 , 而不一定要用位變量名引用位變量 。 idata區(qū)也可以存放使用比較頻繁的變量 , 使用寄存器作為指針進(jìn)行尋址 。 在寄存器中設(shè)置 8位地址進(jìn)行間接尋址 , 與外部存儲(chǔ)器尋址比較 , 它的指令執(zhí)行周期和代碼長(zhǎng)度都比較短 。 2) bdata區(qū) 3) idata區(qū) 第 3章 51單片機(jī)的軟件基礎(chǔ) 在這兩個(gè)區(qū)聲明變量和在其他區(qū)的語(yǔ)法是一樣的 , pdata區(qū)只有 256B, 而 xdata區(qū)可達(dá) 65536B code區(qū)即 80C51的程序代碼區(qū) , 所以代碼區(qū)的數(shù)據(jù)是不可改變的 , 80C51的代碼區(qū)不可重寫(xiě) 。 一般代碼區(qū)中可存放數(shù)據(jù)表 , 跳轉(zhuǎn)向量和狀態(tài)表 4) pdata和 xdata區(qū) 5) code區(qū) 第 3章 51單片機(jī)的軟件基礎(chǔ) 一個(gè)變量的存儲(chǔ)器模式確定了 未聲明存儲(chǔ)器類(lèi)型 的變量在內(nèi)存中的地址空間 。 在 SMALL模式下 ,該變量在 80C51 單片機(jī)的內(nèi)部 RAM 中;在COMPACT和 LARGE模式下 , 該變量在 80C51單片機(jī)的外部 RAM中 。 建議在編寫(xiě)源程序時(shí) , 把存儲(chǔ)模式設(shè)定為SMALL( 默認(rèn) , 即對(duì)存儲(chǔ)模式不作聲明 ) , 再在程序中把 xdata、 pdata和 idata等類(lèi)型變量進(jìn)行專(zhuān)門(mén)聲明 。 C51編譯器允許采用三種存儲(chǔ)模式:小編譯模式SMALL、緊湊編譯模式 COMPACT、大編譯模式LARGE。 C51數(shù)據(jù)的存儲(chǔ)模式 第 3章 51單片機(jī)的軟件基礎(chǔ) 例: 數(shù)據(jù)類(lèi)型 存儲(chǔ)類(lèi)型 變量 char data var1。 bit data flags。 unsigned char xdata vextor[10]。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1