歡迎來到《圣博凱斯》變頻供水設(shè)備官網(wǎng)
精銳于專業(yè) / 卓然于品質(zhì) -- 20年專注于供水行業(yè),締造至臻品質(zhì) -- 服務(wù)熱線:0731-85783205 18932453205

初學(xué)者怎樣看懂單片機(jī)代碼_單片機(jī)代碼怎么讀懂

就數(shù)據(jù)存儲類型而言,8051系列有片上、輸出程序存儲裝置、片上、輸出數(shù)據(jù)存儲器,片上程序存儲器還分為直接地址區(qū)域和間接地址類型,分別為code 支持根據(jù)idata和51系列特色設(shè)定的pdata類型,通過使用不同的內(nèi)存,程序的執(zhí)行效率不同,與生成C51程序的ANSI-C略有不同,為SAMLL、COMPACT、lll 數(shù)組

51系列中的data、idata、xdata、pdata差異:

data:固定是指前面0x00-0x7f的128個RAM,能夠直接在acc上讀寫,速度最快,生成的代碼也最小。

idata:固定是指前一個0x00-0xff的256個RAM。 其中,前面的128和data的128完全相同,但訪問方法不同。 idata以類似于c的指針方式訪問。 程序集語句為mox ACC,@Rx . (不重要的補(bǔ)充:在c中,idata作為指針式訪問非常有效。 )

xdata:外部擴(kuò)展RAM通常是指外部0x0000-0xffff空間,通過DPTR訪問。

當(dāng)?shù)刂吩诋?dāng)前A0-A7之上時,pdata:外部擴(kuò)展RAM的最低256個字節(jié)被讀寫,并且由movx ACC和@Rx讀寫。 這很特殊,C51上好像有這個bug,所以建議不要太用。 但是,也有他的優(yōu)勢,具體的使用方法是中級的問題,所以在這里不提及。

單片機(jī)c語言unsigned char代碼表[ ]代碼是什么?

代碼的作用是,我定義的數(shù)據(jù)放入程序存儲器區(qū)域(ROM ),告訴單片機(jī)寫入后不能更改,實(shí)際上就像程序集中的尋址MOVX ()。 因?yàn)閏語言無法詳細(xì)說明ROM仍然是RAM,所以可以在軟件中添加此語句以代替匯編指令。 還有對應(yīng)的data

程序可以簡單地分為代碼(程序)區(qū)域和數(shù)據(jù)(數(shù)據(jù))區(qū)域。 代碼區(qū)域在運(yùn)行中無法更改。 在data區(qū)域中放置全局變量和臨時變量需要不斷變更。 cpu從代碼區(qū)域讀取指令,并對data區(qū)域的數(shù)據(jù)進(jìn)行運(yùn)算處理,因此代碼區(qū)域存儲在哪個介質(zhì)上并不重要。 就像以前的計(jì)算機(jī)程序。代碼區(qū)域可以在rom中、ram中、flash中,所以通常先將程序放入flash中,然后加載到ram中執(zhí)行; DATA區(qū)域沒有選擇。 已經(jīng)決定放入RAM。 放入rom也無法變更。 互聯(lián)網(wǎng)

bdata怎么用那個?

程序需要8個以上的bit變量時,想要一次給8個變量賦值時很不方便。 (請舉例說明其便利性,想更深入地了解時請?jiān)贏PP應(yīng)用中考慮。 )此外,不能定義bit數(shù)組。 有唯一的方法

char bdata模式;

sbit MODE_7=MODE^7;

sbit mode _6=模式^ 6;

sbit MODE_5=MODE^5;

sbit MODE_4=MODE^4;

sbit MODE_3=MODE^3;

sbit mode _2=模式^ 2;

sbit mode _1=模式^ 1;

sbit MODE_0=MODE^0;

定義了8個bit變量MODE_n

這是定義語句,Keilc的特殊數(shù)據(jù)類型。 如果是sbit,請記住

比特模式_0=模式^ 0;

賦值語句如果是這樣的c語言,就被視為異或運(yùn)算

-----------------------------請參閱

空間名稱地址范圍的說明

DATAD:00H~7FH片內(nèi)RAM直接地址區(qū)域

BDATAD:20H~2FH片內(nèi)的RAM地址區(qū)域

IDATAI:00H~FFH片內(nèi)的RAM間接地址區(qū)域

XDATAX:0000H~FFFFH64KB普通片外RAM數(shù)據(jù)區(qū)

HDATAX:0000H~FFFFFFH16MB擴(kuò)展片外RAM數(shù)據(jù)區(qū)

CODEC:0000H~FFFFH64K通常片內(nèi)外ROM代碼區(qū)域

hconst(ecode ) c :0000 h至fffff fh16 MB擴(kuò)展片外ROM常量區(qū)域(對于Dallas390可用作代碼區(qū)域) ) ) ) ) ) ) ) )。

銀行0~銀行31b0:0000h~FFFFFH

:

:

B31:0000H~FFFFH組碼區(qū),最時尚人生拓展32X64KB ROM

-----------------------------請參閱

keil生成的文件:

. plg:編譯器的編譯結(jié)果

. hex和. bin:可執(zhí)行文件

. map和. lst:連接文件

. o :目標(biāo)文件

. crf、 lnp、 d、 axf :調(diào)試文件

. opt :保存項(xiàng)目配置信息

. bak :工程備份文件

M51文件,startup文件。 spa

注:本文從網(wǎng)絡(luò)指針收集

猜你喜歡

  • 清水離心泵的啟動程序有哪些組成_清水離心泵的啟動程序有哪些?

    清水離心泵的啟動程序有哪些?清水離心泵用于抽吸和輸送清水及物理化學(xué)性質(zhì)類似水但不含固體顆粒的液體,它廣泛用于工業(yè),農(nóng)業(yè),城市,排水和消防供水。1、檢查油杯的儲油量和懸架主體儲油室的油位,油位表中心線應(yīng)控制在2mm左右。2、檢查電動機(jī)的轉(zhuǎn)動方

  • 泵在閉合環(huán)路上工作時,其所需揚(yáng)程等于_管道式無堵塞排污泵的軸彎曲后如何直軸及注意事項(xiàng)

    1.捻打直軸法直軸的辦法有許多,但對管道式無堵塞排污泵來說,現(xiàn)場*簡便易行的辦法是捻打直軸法,這兒只介紹一種。直軸時,把軸放在硬木上(或墊有鋼皮的方鐵上),凹面朝下。然后用錘子、捻棒擊打,使軸的凹面資料受擊打而延伸,把軸校直。捻棒通

  • 長江生活污水排放區(qū)域,加強(qiáng)長江流域城鎮(zhèn)污水處理設(shè)施建設(shè)-泵業(yè)

    泵業(yè)據(jù)悉“中央強(qiáng)調(diào)把修復(fù)長江生態(tài)擺在壓倒性位置,而城鎮(zhèn)污水處理效果是影響長江水環(huán)境質(zhì)量的關(guān)鍵因素之一。”3月9日,全國政協(xié)委員、長江大學(xué)副校長鄭軍接受記者采訪時呼吁,應(yīng)加強(qiáng)長江流域城鎮(zhèn)污水處理設(shè)施建設(shè)。上海泵業(yè)積極參

  • 歐姆龍plc軟件安裝教程_歐姆龍plc

    使用歐姆龍可編程控制器編程軟件CX-程序員簡介我們打開歐姆龍CX-P軟件,顯示如下圖。整體感覺清爽簡約,但功能很強(qiáng)大。軟件屏幕從上到下分為標(biāo)題欄、菜單欄、工具欄、工程編程窗口和底部信息欄。我們點(diǎn)擊工具欄上的。圖標(biāo),可以新建一個項(xiàng)目;單擊工具欄中的。圖標(biāo),您可以打開一個舊項(xiàng)目。工具欄圖標(biāo)的功能,只需將鼠標(biāo)放在圖標(biāo)上即可

  • 計(jì)算機(jī)英語常用詞匯書籍_計(jì)算機(jī)專業(yè)英語詞匯書籍

    可擦除可編程只讀存儲器malafideadj.扭曲的(不誠實(shí)的))。推送操作推拉操作apparentbrightnessn.視覺亮度存在subsistentadj.(microreliefn.地形域集成域的完整性系統(tǒng)控制單元n.系統(tǒng)控制器unstablepointn.

  • 利用中間變量進(jìn)行plc程序的編寫有何意義_plc為什么要加中間變量

    目前,高端PLC的變量都需要自己定義,但今天我們將整理PLC變量的數(shù)據(jù)類型一、布爾布爾變量可以為“真”或“假”。該值是邏輯量,占用1比特的存儲區(qū)域可以認(rèn)為是普通PLC的輔助繼電器2.整數(shù)變量字節(jié)、字節(jié)、沃德、單字節(jié)、單字節(jié)、單字節(jié)、單字節(jié)、雙字節(jié)、雙字節(jié)、單字節(jié)。請注意,從長數(shù)據(jù)類型轉(zhuǎn)換為短數(shù)據(jù)類型會丟失更高級別

18932453205