下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本文格式為Word版,下載可任意編輯 能讓匯編轉(zhuǎn)到C51的初學(xué)者有更清晰的認(rèn)識(shí)的一篇文章 8051 是傳統(tǒng) CISC 架構(gòu)微操縱器的代表,而 PIC 則是現(xiàn)代 RISC 架構(gòu)微操縱器的佳作。 雖然說 RISC 架構(gòu)是公認(rèn)未來微操縱器的主流,但是 8051 藉著累積多年的發(fā)展環(huán)境與資源,特別是 C Compiler 的成熟,在未來仍舊有相當(dāng)大的想像空間。希望這是一本可以活用的互動(dòng)式電子書,以討論及共享 KEIL C51 的程式設(shè)計(jì)經(jīng)驗(yàn)為目的。目前的內(nèi)容有 記憶體8051 特有的記憶體型態(tài)特別資料型態(tài)指定絕對(duì)位址的變數(shù)隱藏的初始化程序程式範(fàn)例軟體模擬的 Single Master I2C 介面程式
2、下載 KEIL C51 試用版8051 特有的記憶體型態(tài)code 以 MOVC A+DPTR 讀取的程式記憶體data 可以直接存取的內(nèi)部資料記憶體idata 以 Mov Rn 存取的內(nèi)部資料記憶體bdata 可以位元定址(Bit Addressable)的內(nèi)部記憶體xdata 以 MO DPTR 存取的外部資料記憶體pdata 以 MO Rn 存取的外部資料記憶體特別資料型態(tài)bit 一般位元(bit)變數(shù)sbit 絕對(duì)定址的位元(bit)變數(shù)語法sbit my_flag = location; (location 範(fàn)圍從 0 x00 0 x7F)範(fàn)例sbit EA = 0 xAF;或是協(xié)同
3、bdata 宣告的位元(bit)變數(shù)char bdata my_flags;sbit flag0 = my_flags 0;(注意 sbit 前不可以加 static)sfr 特別功能暫存器(Special Function Register)語法sfr my_sfr = location; (location 範(fàn)圍從 0 x80 0 xFF)範(fàn)例sfr P0 = 0 x80;指定絕對(duì)位址的變數(shù)在單一模組內(nèi)可以使用下面的語法宣告memory_space type variable_name _at_ location範(fàn)例pdata char my_pdata _at_ 0 x80;假如該變數(shù)必
4、須為多個(gè)模組所使用(Global Variable)則以抽象指標(biāo)(Abstract Pointer)的方式在標(biāo)頭檔(Header File)定義較為便利。#define variable_name *(data_type *) location)範(fàn)例#define my_pdata *(char pdata *) 0 x80)(注意 char 與 pdata 的順序)ABSACC.H 提供了以下便利的巨集(Macro)定義。#define CBYTE (unsigned char volatile code *) 0)#define DBYTE (unsigned char volatile
5、data *) 0)#define PBYTE (unsigned char volatile pdata *) 0)#define XBYTE (unsigned char volatile xdata *) 0)#define CWORD (unsigned int volatile code *) 0)#define DWORD (unsigned int volatile data *) 0)#define PWORD (unsigned int volatile pdata *) 0)#define XWORD (unsigned int volatile xdata *) 0)隱藏
6、的初始化程序80C51 在電源重置後(Power On Reset)所執(zhí)行的第一個(gè)程式模組並不是使用者的主程式main(),而是一個(gè)隱藏在 KEIL-C51 標(biāo)準(zhǔn)程式庫中稱為 startup.a51 的程式模組。startup.a51 的主要工作是把包含 idata、xdata、pdata 在內(nèi)的記憶體區(qū)塊清除為 0,並且 初始化遞迴指標(biāo)。接著 startup.a51 被執(zhí)行的仍舊是一個(gè)隱藏在 KEIL-C51 標(biāo)準(zhǔn)程式庫 中稱為 init.a51 的程式模組。而 init.a51 的主要工作則是初始化具有非零初始值設(shè)定的變數(shù)。在完成上述的初始化程序之後,80C51 的操縱權(quán)才會(huì)交給 main() 開始執(zhí)行使用者的程式。研究在 C51Lib 目錄下相關(guān)模組的組合語言程式碼,使用者將會(huì)對(duì) KEIL-C51 的架構(gòu)有進(jìn)一步的了解,同時(shí)更能把握不同的高階應(yīng)用技巧。程式範(fàn)例軟體模擬的 Single Master I2C 介面程式:C51-I2C.C暫存器庫(Register Bank)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度婚姻法律咨詢合同:訴訟離婚與協(xié)議離婚選擇策略
- 2025版門樓安全防范系統(tǒng)設(shè)計(jì)與實(shí)施合同4篇
- 二零二五版環(huán)保型排水系統(tǒng)設(shè)計(jì)施工一體化合同4篇
- 2025年度教育培訓(xùn)機(jī)構(gòu)派遣教師勞動(dòng)合同
- 2025年度個(gè)人住房抵押借款合同范本(全新修訂版)2篇
- 2025年度成人外語培訓(xùn)機(jī)構(gòu)課程及教學(xué)資源轉(zhuǎn)讓合同4篇
- 2025年度鋼構(gòu)結(jié)構(gòu)檢測分包服務(wù)合同
- 2025年跨境電子商務(wù)平臺(tái)合作經(jīng)營合同2篇
- 2025年度個(gè)人貨運(yùn)貨物安全處理合同范本大全4篇
- 林地生態(tài)補(bǔ)償與扶貧合作合同(2025版)3篇
- 鄉(xiāng)鎮(zhèn)風(fēng)控維穩(wěn)應(yīng)急預(yù)案演練
- 腦梗死合并癲癇病人的護(hù)理查房
- 蘇教版四年級(jí)上冊(cè)脫式計(jì)算300題及答案
- 犯罪現(xiàn)場保護(hù)培訓(xùn)課件
- 扣款通知單 采購部
- 電除顫操作流程圖
- 湖北教育出版社三年級(jí)下冊(cè)信息技術(shù)教案
- 設(shè)計(jì)基礎(chǔ)全套教學(xué)課件
- IATF16949包裝方案評(píng)審表
- 1 運(yùn)行方案說明
- 北京房地產(chǎn)典當(dāng)合同
評(píng)論
0/150
提交評(píng)論