版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MCS51MCS51單片機(jī)實(shí)用子程序庫(kù)單片機(jī)實(shí)用子程序庫(kù)目前已有若干版本的子程序庫(kù)公開(kāi)發(fā)表,它們各有特色。本程序庫(kù)中的開(kāi)平方算法為快速逼近算法,它能達(dá)到牛頓迭代法同樣的精度,而速度加快二十倍左右,超過(guò)雙字節(jié)定點(diǎn)除法的速度。本子程序庫(kù)對(duì)《單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)》一書(shū)附錄中的子程序庫(kù)作了重大修訂:(1)按當(dāng)前流行的以IBMPC為主機(jī)的開(kāi)發(fā)系統(tǒng)對(duì)匯編語(yǔ)言的規(guī)定,讀者不必再進(jìn)行修改,便可直接使用。(2)對(duì)浮點(diǎn)運(yùn)算子程序庫(kù)進(jìn)行了進(jìn)一步的測(cè)試和優(yōu)化
2、,對(duì)十進(jìn)制浮點(diǎn)數(shù)和二進(jìn)制浮點(diǎn)數(shù)的相互轉(zhuǎn)換子程序進(jìn)行了徹底改寫(xiě),提高了運(yùn)算精度和可靠性。(3)新增添了若干個(gè)浮點(diǎn)子程序(傳送、比較、清零、判零等),使編寫(xiě)數(shù)據(jù)處理程序的工作變得更簡(jiǎn)單直觀。在使用說(shuō)明中開(kāi)列了最主要的幾項(xiàng):標(biāo)號(hào)、入口條件、出口信息、影響資源、堆棧需求,各項(xiàng)目的意義請(qǐng)參閱《單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)》第六章6.3.7節(jié)的內(nèi)容。程序清單中開(kāi)列了四個(gè)欄目:標(biāo)號(hào)、指令、操作數(shù)、注釋。為方便讀者理解,注釋盡力詳細(xì)。子程序庫(kù)的使用方法如下:
3、1將子程序庫(kù)全部?jī)?nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。優(yōu)點(diǎn)是簡(jiǎn)單方便,缺點(diǎn)是程序太長(zhǎng),大量無(wú)關(guān)子程序也包含在其中。2僅將子程序庫(kù)中的有關(guān)部分內(nèi)容鏈接在應(yīng)用程序之后,統(tǒng)一編譯即可。有些子程序需要調(diào)用一些低級(jí)子程序,這些低級(jí)子程序也應(yīng)該包含在內(nèi)。優(yōu)點(diǎn)是程序緊湊,缺點(diǎn)是需要對(duì)子程序庫(kù)進(jìn)行仔細(xì)刪節(jié)。(一)(一)MCS51定點(diǎn)運(yùn)算子程序庫(kù)及其使用說(shuō)明定點(diǎn)運(yùn)算子程序庫(kù)及其使用說(shuō)明定點(diǎn)運(yùn)算子程序庫(kù)文件名為DQ51.ASM,為便于使用,先將有關(guān)約定說(shuō)明
4、如下:1多字節(jié)定點(diǎn)操作數(shù):用[R0]或[R1]來(lái)表示存放在由R0或R1指示的連續(xù)單元中的數(shù)據(jù)。地址小的單元存放數(shù)據(jù)的高字節(jié)。例如:[R0]=123456H,若(R0)=30H,則(30H)=12H,(31H)=34H,(32H)=56H。2運(yùn)算精度:?jiǎn)未味c(diǎn)運(yùn)算精度為結(jié)果最低位的當(dāng)量值。3工作區(qū):數(shù)據(jù)工作區(qū)固定在PSW、A、B、R2~R7,用戶只要不在工作區(qū)中存放無(wú)關(guān)的或非消耗性的信息,程序就具有較好的透明性。(1)(1)標(biāo)號(hào):標(biāo)號(hào):B
5、CDA功能:多字節(jié)功能:多字節(jié)BCD碼加法碼加法入口條件:字節(jié)數(shù)在R7中,被加數(shù)在[R0]中,加數(shù)在[R1]中。出口信息:和在[R0]中,最高位進(jìn)位在CY中。影響資源:PSW、A、R2堆棧需求:2字節(jié)BCDA:MOVAR7取字節(jié)數(shù)至R2中MOVR2AADDAR0初始化數(shù)據(jù)指針MOVR0AMOVAR2ADDAR1MOVR1ACLRCBCD1:DECR0調(diào)整數(shù)據(jù)指針DECR1MOVR0ARET(4)(4)標(biāo)號(hào):標(biāo)號(hào):BRLN功能:多字節(jié)功能
6、:多字節(jié)BCD碼左移十進(jìn)制一位(乘十)碼左移十進(jìn)制一位(乘十)入口條件:字節(jié)數(shù)在R7中,操作數(shù)在[R0]中。出口信息:結(jié)果仍在[R0]中,移出的十進(jìn)制最高位在R3中。影響資源:PSW、A、R2、R3堆棧需求:2字節(jié)BRLN:MOVAR7取字節(jié)數(shù)至R2中MOVR2AADDAR0初始化數(shù)據(jù)指針MOVR0AMOVR3#0工作單元初始化BRL1:DECR0調(diào)整數(shù)據(jù)指針MOVA@R0取一字節(jié)SWAPA交換十進(jìn)制高低位MOV@R0A存回MOVAR3
7、取低字節(jié)移出的十進(jìn)制高位XCHDA@R0換出本字節(jié)的十進(jìn)制高位MOVR3A保存本字節(jié)的十進(jìn)制高位DJNZR2BRL1處理完所有字節(jié)RET(5)(5)標(biāo)號(hào):標(biāo)號(hào):MULD功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)乘法功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)乘法入口條件:被乘數(shù)在R2、R3中,乘數(shù)在R6、R7中。出口信息:乘積在R2、R3、R4、R5中。影響資源:PSW、A、B、R2~R7堆棧需求:2字節(jié)MULD:MOVAR3計(jì)算R3乘R7MOVBR7MULABMOVR
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- mcs-51單片機(jī)程序設(shè)計(jì)循環(huán)程序?qū)?100h
- mcs-51單片機(jī)結(jié)構(gòu)介紹
- mcs-51單片機(jī)串行接口
- 單片機(jī)程序
- mcs-51單片機(jī)結(jié)構(gòu)和原理
- 單片機(jī)鬧鐘程序
- 單片機(jī)實(shí)驗(yàn)程序
- 單片機(jī)延遲程序
- MCS-51單片機(jī)匯編語(yǔ)言程序IDE設(shè)計(jì)與實(shí)現(xiàn).pdf
- 單片機(jī)相關(guān)外文翻譯-- mcs -51系列單片機(jī)的功能和結(jié)構(gòu)
- c51實(shí)用子程序
- 單片機(jī)課程設(shè)計(jì)--基于mcs-51單片機(jī)的溫度采集系統(tǒng)
- mcs-51單片機(jī)的串行通信口
- mcs-51單片機(jī)存儲(chǔ)器結(jié)構(gòu)
- mcs51單片機(jī)最小系統(tǒng)設(shè)計(jì)
- mcs-51系列單片機(jī)課程設(shè)計(jì)
- mcs-51單片機(jī)溫度控制系統(tǒng)
- mcs-51單片機(jī)結(jié)構(gòu)及原理題解
- 基于mcs—51單片機(jī)串行通信技術(shù)(xin)
- mcs-51單片機(jī)匯編指令集
評(píng)論
0/150
提交評(píng)論