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

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

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

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

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

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

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

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

單片機(jī)c語(yǔ)言u(píng)nsigned char代碼表[ ]代碼是什么?

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

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

bdata怎么用那個(gè)?

程序需要8個(gè)以上的bit變量時(shí),想要一次給8個(gè)變量賦值時(shí)很不方便。 (請(qǐng)舉例說(shuō)明其便利性,想更深入地了解時(shí)請(qǐng)?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個(gè)bit變量MODE_n

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

比特模式_0=模式^ 0;

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

-----------------------------請(qǐng)參閱

空間名稱地址范圍的說(shuō)明

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ū)域(對(duì)于Dallas390可用作代碼區(qū)域) ) ) ) ) ) ) ) )。

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

:

:

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

-----------------------------請(qǐng)參閱

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ò)指針收集

猜你喜歡

  • 清水離心泵的啟動(dòng)程序有哪些組成_清水離心泵的啟動(dòng)程序有哪些?

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

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

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

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

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

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

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

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

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

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

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