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

正文內(nèi)容

單片機(jī)的程序設(shè)計ppt課件-資料下載頁

2025-05-06 13:17本頁面
  

【正文】 變量是在程序運行過程中其值可以改變的量。一個變量由兩部分組成:變量名和變量值。 變量必須先定義,后使用。 位類型 bit:位類型是 C51編譯器的一種擴(kuò)充數(shù)據(jù)類型。利用它可以定義一個位類型變量,其值是一個二進(jìn)制位,只有 0或 1。 位類型符有兩個: bit和 sbit。可以定義兩種位變量。 bit位類型符用于定義一般的可位處理位變量。它的格式如下: bit 位變量名; 在格式中可以加上各種修飾,但注意存儲器類型只能是 bdata、data、 idata。只能是片內(nèi) RAM的可位尋址區(qū),嚴(yán)格來說只能是bdata。 【 例 】 bit型變量的定義。 bit data a1; /*正確 */ bit bdata a2; /*正確 */ bit pdata a3; /*錯誤 */ bit xdata a4; /*錯誤 */ sbit位類型符用于定義在可位尋址字節(jié)或特殊功能寄存器中的位,定義時須指明其位地址,可以是位直接地址,可以是可位尋址變量帶位號,也可以是特殊功能寄存器名帶位號。格式如下: sbit 位變量名 =位地址; 如位地址為位直接地址,其取值范圍為 0x00~0xff;如位地址是可位尋址變量帶位號或特殊功能寄存器名帶位號,則在它前面須對可位尋址變量或特殊功能寄存器進(jìn)行定義。字節(jié)地址與位號之間、特殊功能寄存器與位號之間一般用“ ^”作間隔。 【 例 】 sbit型變量的定義。 sbit OV=0xd2; sbit CY=oxd7; unsigned char bdata flag; sbit flag0=flag^0; sfr P1=0x90; sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P1_2=P1^2; 特殊功能寄存器變量 MCS51系列單片機(jī)片內(nèi)有許多特殊功能寄存器,通過這些特殊功能寄存器可以控制 MCS51系列單片機(jī)的定時器、計數(shù)器、串口、I/O及其它功能部件,每一個特殊功能寄存器在片內(nèi) RAM中都對應(yīng)于一個字節(jié)單元或兩個字節(jié)單元。 在 C51中,允許用戶對這些特殊功能寄存器進(jìn)行訪問,訪問時須通過 sfr或 sfr16類型說明符進(jìn)行定義,定義時須指明它們所對應(yīng)的片內(nèi) RAM單元的地址。格式如下: sfr或 sfr16 特殊功能寄存器名 =地址; sfr用于對 MCS51單片機(jī)中單字節(jié)的特殊功能寄存器進(jìn)行定義,sfr16用于對雙字節(jié)特殊功能寄存器進(jìn)行定義。特殊功能寄存器名一般用大寫字母表示。地址一般用直接地址形式,具體特殊功能寄存器地址見前面內(nèi)容。 【 例 】 特殊功能寄存器的定義。 sfr PSW=0xD0; sfr SCON=0x98; sfr TMOD=0x89; sfr P1=0x90; sfr16 DPTR=0x82; sfr16 T1=0x8A; 存儲種類 存儲種類是指變量在程序執(zhí)行過程中的作用范圍。 C51變量的存儲種類有四種,分別是自動 (auto)、外部(extern)、靜態(tài) (static)和寄存器 (register)。 1. auto: 使用 auto定義的變量稱為自動變量,其作用范圍在定義它的函數(shù)體或復(fù)合語句內(nèi)部,當(dāng)定義它的函數(shù)體或復(fù)合語句執(zhí)行時, C51才為該變量分配內(nèi)存空間,結(jié)束時占用的內(nèi)存空間釋放。自動變量一般分配在內(nèi)存的堆??臻g中。定義變量時,如果省略存儲種類,則該變量默認(rèn)為自動 (auto)變量。 2. extern: 使用 extern定義的變量稱為外部變量。在一個函數(shù)體內(nèi),要使用一個已在該函數(shù)體外或別的程序中定義過的外部變量時,該變量在該函數(shù)體內(nèi)要用 extern說明。外部變量被定義后分配固定的內(nèi)存空間,在程序整個執(zhí)行時間內(nèi)都有效,直到程序結(jié)束才釋放。 3. static: 使用 static定義的變量稱為靜態(tài)變量。它又分為內(nèi)部靜態(tài)變量和外部靜態(tài)變量。在函數(shù)體內(nèi)部定義的靜態(tài)變量為內(nèi)部靜態(tài)變量,它在對應(yīng)的函數(shù)體內(nèi)有效,一直存在,但在函數(shù)體外不可見,這樣不僅使變量在定義它的函數(shù)體外被保護(hù),還可以實現(xiàn)當(dāng)離開函數(shù)時值不被改變。外部靜態(tài)變量是在函數(shù)外部定義的靜態(tài)變量。它在程序中一直存在,但在定義的范圍之外是不可見的。如在多文件或多模塊處理中,外部靜態(tài)變量只在文件內(nèi)部或模塊內(nèi)部有效。 4. register: 使用 register定義的變量稱為寄存器變量。它定義的變量存放在 CPU內(nèi)部的寄存器中,處理速度快,但數(shù)目少。 C51編譯器編譯時能自動識別程序中使用頻率最高的變量,并自動將其作為寄存器變量,用戶可以無需專門聲明。 存儲器類型 存儲器類型是用于指明變量所處的單片機(jī)的存儲器區(qū)域情況。存儲器類型與存儲種類完全不同。 C51編譯器能識別的存儲器類型有以下幾種,見表所示。 存儲器類型 描 述 data 直接尋址的片內(nèi) RAM低 128B,訪問速度快 bdata 片內(nèi) RAM的可位尋址區(qū)( 20H~2FH),允許字節(jié)和位混合訪問 idata 間接尋址訪問的片內(nèi) RAM,允許訪問全部片內(nèi) RAM pdata 用 Ri間接訪問的片外 RAM的低 256B xdata 用 DPTR間接訪問的片外 RAM,允許訪問全部 64k片外RAM code 程序存儲器 ROM64k空間 簡單交通燈的設(shè)計( P41)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1