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

正文內(nèi)容

[工學(xué)]單片機(jī)c語言(參考版)

2025-01-22 11:14本頁面
  

【正文】 1) New 2) Open 3) Close 4) Save 5) Save as… 6) Device Database:維護(hù)器件數(shù)據(jù)庫 7) Print Setup… :設(shè)置打印機(jī) 8) Print 9) Exit 二、編輯( Edit)菜單 1) Undo 2) Redo:恢復(fù)上次的撤銷 3) Cut 4) Copy 5) Paste 6) Indent Select Text:縮進(jìn)一個(gè)制表符位 7) Unindent Select Text左移一個(gè)制表符位 8) Toggle Bookmark:在當(dāng)前行置書簽 9) Goto Next Bookmark移光標(biāo)到下一書簽 10) Goto Previous Bookmark: 移光標(biāo)到上一個(gè)書簽 11) Clear All Bookmark: 清除當(dāng)前文件中所有的書簽 12) Find… 13) Replace… :查找與替換 14) Find in Files… : 在多個(gè)文件中查找字符串 15) Goto Matching Brace: 尋找匹配的各種括號(hào) 三、查看( View)菜單 1) Status Bar:顯示或隱藏狀態(tài)欄 2) File Toolbar:顯示或隱藏文件工具欄 3) Build Toolbar:顯示或隱藏編譯工具欄 4) Debug Toolbar:顯示或隱藏調(diào)試工具欄 5) Project Windows:顯示或隱藏工程窗口 6) Output Windows:顯示或隱藏輸出窗口 7) Source Browser:打開源文件瀏覽器窗口 8) Disassembly Windows: 顯示或隱藏反匯編窗口 9) Watch amp。 工具都是相應(yīng)菜單項(xiàng)的快捷操作按鈕 ,所以,下面以介紹菜單項(xiàng)為主線,并指明對(duì)應(yīng)的工具按鈕。 監(jiān)視程序 Monitor51 通過串行口, PC機(jī)與目標(biāo)板進(jìn)行通信,利用 Monitor51,在 PC機(jī)上顯示程序的運(yùn)行情況 Keil C操作界面 編輯狀態(tài)的操作界面主要由 5部分組成:最上面的 菜單欄 、菜單欄下面的 工具欄 、左邊的 工程管理窗口 、中間的 編輯窗口 、下面的 輸出信息窗口 。 軟件模擬調(diào)試器 dScope51 ( 1)模擬程序運(yùn)行與調(diào)試 ,包括 C、匯編、宏匯編程序; ( 2)模擬 CPU及其外圍器件 ,如串行口、定時(shí)器 /計(jì)數(shù)器、 I/O口等。 這些庫是按規(guī)定格式排列的目標(biāo)模塊,可在以后被鏈接器所使用。 BL51也是鏈接 /定位器 ,除了具有 L51所有的功能之外, (1)可以鏈接定位大于 64KB的程序; (2) 具有代碼域及域切換功能; (3)可用于 RTX51實(shí)時(shí)多任務(wù)操作系統(tǒng)。 A51是匯編語言編譯器 ,其功能是將匯編源代碼編譯生成可重新定位的目標(biāo)模塊。 Keil C集成工具簡介 一、編譯器和鏈接器 Keil C的編譯器和鏈接器包括 C5 A5L51和 BL51。Vision2兩個(gè)術(shù)語不做嚴(yán)格的區(qū)分, 一般多稱呼為 Keil C,包含有 181。集成了文件編輯處理、項(xiàng)目管理、編譯鏈接、軟件仿真調(diào)試等多種功能,是強(qiáng)大的 C51開發(fā)工具。 181。 C51集成開發(fā)軟件 Keil C 主要內(nèi)容 Keil C集成開發(fā)工具簡介 Keil C操作界面 Keil C的使用 項(xiàng)目的運(yùn)行調(diào)試 C51集成開發(fā)軟件 Keil C Keil C: 是德國 KEIL公司開發(fā)的單片機(jī)C語言編譯器 。 extern unsigned char left_shift (char, char)。為被移位后的數(shù) END 閱讀本例注意以下幾個(gè)方面 : 1)函數(shù)的聲明方法和定義方法 3)引用其它文件中的變量的聲明方法和使用方法 4)聲明公共函數(shù)的方法 2) 對(duì)(中斷處理)函數(shù)的定位方法 5)函數(shù)中入口參數(shù)的傳遞方法,返回參數(shù)的傳遞方法 6)外部函數(shù)的聲明方法和使用方法 六、在 C51中調(diào)用匯編函數(shù)的方法 在 C語言文件中調(diào)用匯編語言中的函數(shù),必須先聲明再調(diào)用,其聲明方法與聲明 C語言函數(shù)完全一樣,即: extern 返回值類型 函數(shù)名 (參數(shù)表 ) 。左移 1位 DJNZ R5, LEFT_LP MOV R7, A 。為被移位的數(shù) LEFT_LP: 。左移函數(shù) _ LEFT: 。保存返回值于 R7中 RET 。R5為第 2個(gè)參數(shù) ,移位的位數(shù) RR A 。R7中為第 1個(gè)參數(shù), MOV A, R7 。定義 T1中斷處理函數(shù) T1_INT: MOV TL1, T1_L MOV TH1, T1_H CPL RETI RSEG ?PR?_RIGHT?EXAMP。引用外部變量聲明 EXTRN DATA(T1_L) CSEG AT 001BH 。定義模塊名 ?PR?T1_INT?EXAMP SEGMENT CODE ?PR?_RIGHT?EXAMP SEGMENT CODE ?PR?_LEFT?EXAMP SEGMENT CODE PUBLIC _RIGHT 。所有參數(shù)都是無符號(hào)字符型數(shù)據(jù)。 例如: EXTRN DATA( TIMER_SEC) EXTRN IDATA( DIS_BUF) ENTRN XDATA( SEND_BUF) 函數(shù)編寫格式 匯編語言函數(shù)的格式如下: RSEG ?PR?函數(shù)名 ?模塊名 函數(shù)名: …… …… RET(或 RETI) 五、匯編語言文件編寫舉例 例 16 編寫一個(gè)完整的匯編語言程序文件, 文件包含三個(gè)函數(shù) ,分別是 定時(shí)器 /計(jì)數(shù)器 T1產(chǎn)生方波信號(hào)的中斷函數(shù) 、 循環(huán)右移多位函數(shù) 和 循環(huán)左移多位函數(shù) ; 參數(shù)傳遞: T1的計(jì)數(shù)初值通過全局變量T1_H、 T1_L傳遞。 引用變量聲明 如果在匯編程序中引用了其它文件中的變量,必須作引用聲明。 引用函數(shù)聲明 如果在匯編程序中引用了其它文件中的函數(shù),必須作引用聲明。 公共函數(shù)聲明 如果函數(shù)在其它文件(模塊)中調(diào)用,必須作公共函數(shù)聲明。 例如: NAME EXAMP 函數(shù)聲明 即對(duì)本模塊定義的函數(shù)作聲明 , 其格式為 : ?PR?函數(shù)名 ?模塊名 SEGMENT CODE 格式中的函數(shù)名規(guī)則如上面一所述。 定義模塊 對(duì)匯編語言文件定義模塊名,一般一個(gè)文件為一個(gè)模塊,也可以多個(gè)文件為同一個(gè)模塊名。 表 110 C51利用寄存器傳遞參數(shù)規(guī)則 參數(shù)號(hào) char int long,float 一般指針 1 R7 R6,R7 (低字節(jié) ) R4~R7 R1R2R3(R3為存儲(chǔ)區(qū), R2為高地址 , R1為低地址 ) 2 R5 R4,R5 (低字節(jié) ) R4~R7 或存儲(chǔ)區(qū) R1R2R3或存儲(chǔ)區(qū) 3 R3 R2,R3 (低字節(jié) ) 存儲(chǔ)區(qū) R1R2R3或存儲(chǔ)區(qū) 函數(shù)返回值的傳遞 當(dāng)函數(shù)有返回值時(shí),通過寄存器傳遞。 通過寄存器傳遞速度最快。 表 18 C51中函數(shù)名的轉(zhuǎn)換規(guī)則 C51函數(shù)聲明 匯編 函數(shù)名 說 明 type func1(void) FUNC1 調(diào)用時(shí)不傳遞參數(shù),但有 返回值,函數(shù)名不變 type func2(args) _FUNC2 通過寄存器傳遞參數(shù),函 數(shù)名加前綴“ _” type func3(args) reentrant _?FUNC3 重入函數(shù),通過堆棧傳遞 參數(shù),函數(shù)名加前綴“ _?” 二、 C51函數(shù)段與數(shù)據(jù)段的格式 C51編譯后對(duì)每個(gè)函數(shù)都分配一個(gè)獨(dú)立的CODE段,并且匯編函數(shù)名字還要帶上模塊名,所以 C51匯編語言函數(shù)段的格式為: ?PR?函數(shù)名字符串 ?模塊名 ?PR?_函數(shù)名字符串 ?模塊名 ?PR?_?函數(shù)名字符串 ?模塊名 如果函數(shù)中定義有局部變量,編譯時(shí)也給局部變量分配數(shù)據(jù)段, 數(shù)據(jù)段的格式為: ?數(shù)據(jù)段前綴 ?函數(shù)名 ?數(shù)據(jù)類型 表 19 C51段類型前綴與存儲(chǔ) 段前綴 存儲(chǔ)區(qū)類型 說 明 ?PR? code 可執(zhí)行程序段 ?CO? code 程序存儲(chǔ)器中的常數(shù)數(shù)據(jù)段 ?BI? bit 內(nèi)部 RAM的位類型數(shù)據(jù)段 ?BA? bdata 內(nèi)部 RAM的可位尋址的數(shù)據(jù)段 ?DT? data 內(nèi)部 RAM的數(shù)據(jù)段 ?ID? idata 內(nèi)部 RAM的間接尋址的數(shù)據(jù)段 ?PD? pdata 外部 RAM的分頁數(shù)據(jù)段 ?XD? xdata 外部 RAM的一般數(shù)據(jù)段 三、 C51函數(shù)的參數(shù)傳遞規(guī)則 分為調(diào)用時(shí)的參數(shù)傳遞和返回時(shí)參數(shù)的傳遞。 下面先討論匯編語言函數(shù)的命名和參數(shù)傳遞問題,然后討論混合編程。 P1=lamp。 例 15 編寫一從單片機(jī) P1口做循環(huán)右移輸出的流水燈子程序。 在 C51程序中嵌入?yún)R編程序 其方法是用編譯控制指令“ pragma src”、“ pragma asm”和“ pragma endasm”實(shí)現(xiàn) 。 程序如下: include define TIMER0L 0x18 //設(shè)振蕩頻率為 12MHz define TIMER0H 0xfc //定時(shí) 1ms( 1000微秒) void timer0_int(void) interrupt 1 { TL0=TIMER0L; TH0=TIMER0H; P1_7=~P1_7; //產(chǎn)生的方波頻率為 500Hz } void main( void) { TMOD=0x01; //設(shè)置 T1模式 1定時(shí) TL0=TIMER0L; //設(shè)置 T0低 8位初值 TH0=TIMER0H; //設(shè)置 T0高 8位初值 IE=0x82; //開 T0中斷和總中斷 TR0=1; //開 T0運(yùn)行 while( 1); //等待中斷,產(chǎn)生方波 } C51與匯編語言混合編程 主要內(nèi)容 在 C51程序中嵌入?yún)R編程序 C51程序與匯編程序混合編程 混合編程有兩種方式: 一種是在 C語言函數(shù)中嵌入?yún)R編語言程序 ,程序中沒有獨(dú)立的匯編語言函數(shù),只有個(gè)別 C語言函數(shù)中嵌入有匯編程序; 另一種是 C語言文件與匯編語言文件混合編程 ,程序中有獨(dú)立的匯編程序函數(shù)和匯編語言文件。 C51中斷函數(shù)的定義 C51函數(shù)的定義實(shí)際上已經(jīng)包含了中斷服務(wù)函數(shù),但為了明確起見,下面專門給出中斷處理函數(shù)的具體定義形式: void 函數(shù)名( void) [函數(shù)模式 ] interrupt m [using n] { 局部變量定義 執(zhí)行語句 } 中斷服務(wù)函數(shù)需要注意以下幾點(diǎn): 1)中斷服務(wù)函數(shù)不傳遞參數(shù); 2)中斷服務(wù)函數(shù)沒有返回值; 3)中斷服務(wù)函數(shù)必須有 interrupt m屬性; 4)進(jìn)入中斷服務(wù)函數(shù), ACC、 B、 PSW會(huì)進(jìn)棧,根據(jù)需要, DPL、 DPH也可能進(jìn)棧,如果沒有using n屬性 , R0~ R7也可能進(jìn)棧 , 否則不進(jìn)棧 ; 5)在中斷服務(wù)函數(shù)中調(diào)用其它函數(shù),被調(diào)函數(shù)最好設(shè)置為可重入的,因?yàn)橹袛嗍请S機(jī)的,有可能中斷服務(wù)函數(shù)所調(diào)用的函數(shù)出現(xiàn)嵌套調(diào)用; 6)不能夠直接調(diào)用中斷服務(wù)函數(shù)。關(guān)鍵字using是 C51定義的。 C51支持 32個(gè)中斷源 中斷入口地址與中斷號(hào) m的關(guān)系: 中斷入口地址= 3+ 8 m。 interrupt m: 中斷關(guān)鍵字和中斷號(hào) 。 ? 在編譯時(shí)會(huì)為重入函數(shù)生成一個(gè)堆棧,通過這個(gè)堆棧來完成參數(shù)的傳遞和存放局部變量。所謂可重入函數(shù),就是允許被遞歸調(diào)用的函數(shù)。缺省時(shí)則使用文件的編譯模式。唯一不同的就是在函數(shù)的后面需要帶上若干個(gè) C51的專用關(guān)鍵字。本節(jié)先討論函數(shù)的一般定義,然后專門給出中斷函數(shù)的定義,因?yàn)橹袛嗪瘮?shù)有其特殊性。 //更新秒備份 } } display( )。 i=0。 dis_buf[4]=t2[2]/10。 dis_buf[2]=t2[1]/10。 if(i2) { dis_buf[0]=t2[0]/10。 //開 T1運(yùn)行 while(1
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1