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

正文內(nèi)容

插播2單片機的c語言程序設(shè)計及仿真調(diào)試-在線瀏覽

2025-02-24 15:42本頁面
  

【正文】 變量均位于外部 RAM區(qū)的一頁內(nèi)( 256字節(jié)),這和使用 pdata指定存儲器類型一樣,該模式空間比 Small寬裕,速度比Small慢,比 large快,是一種中間狀態(tài); ? Large模式 : 所有缺省變量可放在多達64KB的外部 RAM區(qū),這和使用 xdata 指定存儲器類型一樣,使用數(shù)據(jù)指針DPTR 進行尋址。該模式的數(shù)據(jù)訪問比 Small和 Compact產(chǎn)生更多的代碼。 Keil C51擴展關(guān)鍵字 ?變量或數(shù)據(jù)類型 Keil C 和 ANSI C ? Keil C51擴展關(guān)鍵字 ? 擴展 I/O口的使用 ? Keil C51函數(shù) ? STC15F2K60S2單片機 C51程序框架 擴展 I/O口的使用 ? 由于使用 C語言訪問外部 I/O時用到指針的功能,因此,首先介紹 Keil C51的指針。一般指針的聲明和使用均與標準 C相同,同時還可以說明指針的存儲類型。 //pt本身依存儲模式存放 ? unsigned char xdata * data pt。 //pt被保存在外部 RAM中 ? 一般指針本身用 3個字節(jié)存放,分別為存儲器類型,高位偏移,低位偏移量。例如: ? char data * str。 //pow指向外部 RAM的 int型整數(shù)。 ? C51是在 設(shè)置 SP指針的,用CODE選項生成的匯編代碼中是找不到這段代碼的。特殊需要時,可以修改這段代碼,然后連接到用戶的程序中去。由于片外 I/O端口與片外存儲器統(tǒng)一編址,所以可以定義 xdata類型的指針訪問外部 I/O端口。 //輸出 81H到端口 ? 讀端口程序 : char xdata *8255; //定義指針 8255=0x7FF0; //使指針指向 8255的 PA口口地址7FF0H char i。 //讀 PA端口到變量 i 擴展 I/O口的使用 ? 2. 外部擴展 I/O口的訪問 ? 方法 2:使用 C51預(yù)定義指針。 ? define CBYTE ((unsigned char volatile code *) 0) ? define DBYTE ((unsigned char volatile data *) 0) ? define PBYTE ((unsigned char volatile pdata *) 0) ? define XBYTE ((unsigned char volatile xdata *) 0) ? 例如: include define PORTA XBYTE [0x7FF0] //其中, PORTA為程序定義的 I/O端口名稱, []內(nèi)的內(nèi)容 7FF0H為 PORTA的地址 void main(void) { char a。 //輸出 81H到端口 7ff0H a=PORTA。被調(diào)用的函數(shù)可以是編譯器提供的庫函數(shù),也可以是用戶自己編制設(shè)計的函數(shù); ?當函數(shù)執(zhí)行完畢的時候,就會發(fā)出返回指令,主程序中語句執(zhí)行完畢,整個程序也完畢; ?但在一般的設(shè)計中,主程序都是一直循環(huán),不斷的重復(fù)執(zhí)行。在 C51中定義主函數(shù)時,要求主函數(shù)沒有參數(shù),并且沒有返回值; ?除此之外, C51的函數(shù)聲明對 ANSI C作了擴展。中斷號告訴編譯器中斷服務(wù)程序的入口地址。 ?例如,串行口 1的中斷函數(shù)可以聲明如下: void UART1_ISR (void) interrupt 4 [using 1] { /* 中斷服務(wù)程序的代碼 */ } Keil C51函數(shù) ? C51的函數(shù)聲明對 ANSI C的擴展 ?指定工作寄存器區(qū) ?當需要指定函數(shù)中使用的工作寄存器區(qū)時,使用關(guān)鍵字 using后跟一個 0到 3的數(shù),對應(yīng)著工作寄存器 0到 3區(qū)。例如: void fun1(void) small { } ?提示: small說明的函數(shù)內(nèi)部變量全部使用內(nèi)部 RAM。 Keil C51函數(shù) ? C51的函數(shù)聲明對 ANSI C的擴展 ?函數(shù)的參數(shù)傳遞規(guī)則 ?最多只能有 3個參數(shù)通過寄存器傳遞,規(guī)律如下表所示: Keil C51函數(shù) ? C51的函數(shù)聲明對 ANSI C的擴展 ?函數(shù)返回值的規(guī)定 ?函數(shù)返回值一律放于寄存器中,規(guī)則如下表所示: Keil C51函數(shù) ?C51的 庫函數(shù) C51的本征庫函數(shù)只有 9個,數(shù)目雖少,但都非常有用,列如下: _crol_,_cror_:將 char型變量循環(huán)向左 (右 )移動指定位數(shù)后返回 _iror_,_irol_:將 int型變量循環(huán)向左 (右 )移動指定位數(shù)后返回 _lrol_,_lror_:將 long型變量循環(huán)向左 (右 )移動指定位數(shù)后返回 _nop_: 相當于插入 NOP _testbit_: 相當于 JBC bitvar測試該位變量并跳轉(zhuǎn)同時清除。 使用時,必須包含 inclucle “”一行。 a = 0xA5。 //執(zhí)行完后, b變?yōu)?0x2D 再如, bit test_flag。 else printf (Bit was clear\n)。在程序中,用 include “”即可使用其中定義的宏來訪問絕對地址,包括: CBYTE、 XBYTE、 PWORD、 DBYTE、 CWORD、 XWORD、PBYTE、 DWORD 例如: rval=CBYTE[0x0002]。 //指向外 RAM的 0004h地址, WORD是一個字,兩個字節(jié),故為 0004h define COM8255 XBYTE[0X060FF] Keil C51函數(shù) ?幾類重要庫函數(shù) 3)動態(tài)內(nèi)存分配函數(shù),位于 4)緩沖區(qū)處理函數(shù)位于“ ”中 其中包括拷貝比較移動等函數(shù)如: memccpy memchr memcmp memcpy memmove memset 這樣很方便地對緩沖區(qū)進行處理。 Keil C 和 ANSI C ? Keil C51擴展關(guān)鍵字 ? 擴展 I/O口的使用 ? Keil C51函數(shù) ? STC15F2K60S2單片機 C51程序框架 STC15F2K60S2單片機 C51程序框架 ? 為了便于學(xué)習(xí),下面給出一個通用的 STC15F2K60S2單片機的 C51程序框架。 STC15F2K60S2單片機 C51程序框架 ? 【 例 21】 編程實現(xiàn)通過延時函數(shù),由 ,并通過示波器觀察程序輸出波形的周期。安裝過程與一般 Windows應(yīng)用程序的安裝過程類似。去掉所有選項的“ √”,單擊“ Finish‖按鈕便可完成安裝。此時,還沒有安裝授權(quán),使用的是評估版,與正式版唯一的區(qū)別是編譯代碼有 2KB字節(jié)的限制。 ? 安裝授權(quán)的方法是,在“ File”菜單中選擇“ License Management...”菜單項,彈出“ License Management”對話框,如下圖所
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1