亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        簡(jiǎn)析80C51單片機(jī)的數(shù)據(jù)傳送類指令

        2020-01-08 18:15:47許一洲
        通信電源技術(shù) 2020年9期
        關(guān)鍵詞:累加器字節(jié)寄存器

        許一洲

        (西北民族大學(xué) 電氣工程學(xué)院,甘肅 蘭州730106)

        0 引 言

        80C51單片機(jī)指令系統(tǒng)共有111條指令,由操作碼和操作數(shù)兩部分構(gòu)成[1]。這些指令包括數(shù)據(jù)傳送類指令、算術(shù)運(yùn)算類指令、邏輯運(yùn)算類指令、控制轉(zhuǎn)移類指令和位操作類指令[2]。其中,數(shù)據(jù)傳送類指令在單片機(jī)中使用頻繁,除了一般傳送指令外,還有4類特殊傳送指令。

        1 一般傳送類指令

        一般傳送類指令都是采用MOV操作符,可以分為16位傳送和8位傳送。

        16位傳送指令僅僅只有一條,功能是將源操作數(shù)data16送入目的操作數(shù)DPTR中,如:

        MOV DPTR,#data16;

        當(dāng)源操作數(shù)data16為3456H時(shí),執(zhí)行以上操作后,(DPH)=34H,(DPL)=56H。這條指令一般用于給DPTR賦予ROM中的數(shù)據(jù)表的表頭地址,也可以是某一片外RAM緩沖區(qū)的首地址或者是擴(kuò)展的片外接口地址。

        8位傳送指令能夠?qū)⒃醋止?jié)的內(nèi)容拷貝至目的字節(jié),且源字節(jié)的內(nèi)容不會(huì)變化,屬于字節(jié)傳送。目的字節(jié)可以是累加器A、寄存器Rn或Ri、片內(nèi)RAM單元地址及SFR地址direct。源字節(jié)中除了上述4類以外,8位立即數(shù)#data也可以作為源字節(jié)。以目的字節(jié)為準(zhǔn),將8位傳送指令分成4類。

        1.1 以累加器A為目的字節(jié)

        以累加器A為目的操作數(shù)的指令使用最頻繁,其指令可以構(gòu)造成以下4種,如:

        MOV A,Rn;

        MOV A,direct;

        MOV A,@Ri;

        MOV A,#data;

        累加器A作為目的字節(jié),執(zhí)行后源字節(jié)即可送入累加器A。

        1.2 以Rn為目的

        由于目的字節(jié)為工作寄存器,因此源字節(jié)不能采用工作寄存器及其間址方式尋址。它的指令有以下3種,如:

        MOV Rn,A;

        MOV Rn,direct;

        MOV Rn,#data;

        指令執(zhí)行后,源字節(jié)即可送入到工作寄存器Rn中。

        1.3 以direct為目的

        由于direct也可以作為源字節(jié)(這里用direct1表示),因此其構(gòu)造有5種方式,如:

        MOV direct,A;

        MOV direct,Rn;

        MOV direct,direct1;

        MOV direct,@Ri;

        MOV direct,#data;

        執(zhí)行指令后,源字節(jié)即可送入direct中。

        1.4 以@Ri為目的

        由于目的字節(jié)采用寄存器間址,因此源字節(jié)不能采用寄存器及其間址尋址,如:

        MOV @Ri,A;

        MOV @Ri,direct;

        MOV @Ri,data;

        2 特殊傳送指令

        由于操作符不同,將其他不是MOV操作符指令稱為特殊傳送指令,如MOVC、MOVX、PUSH、POP、XCH、XCHD以及SWAP??蓪⑦@些特殊傳送指令分為ROM查表、外部RAM讀/寫、堆棧操作和交換指令4種。

        2.1 讀取ROM中常數(shù)表的表項(xiàng)指令MOVC

        ROM中通常存放兩類內(nèi)容:一是單片機(jī)執(zhí)行的程序代碼;二是固定不變的常數(shù)。因此,訪問ROM實(shí)際上指的是讀取ROM中的常數(shù)表的表項(xiàng),簡(jiǎn)稱查表,需經(jīng)過累加器來完成。使用MOVC指令,可以由DPTR或PC內(nèi)容為基址。

        (1)以DPTR內(nèi)容做基址時(shí),如:

        MOVC A,@A+DPTR;

        需要注意,在執(zhí)行指令時(shí),需要使累加器A的內(nèi)容與DPTR的內(nèi)容16位無符號(hào)數(shù)相加,作為16位要訪問的ROM地址,最后將該地址單元的內(nèi)容送到累加器A中。例如,(DPTR)=3000H、(A)=40H時(shí),最終結(jié)果A為3040H。

        (2)以PC內(nèi)容為基址時(shí),如:

        MOVC A,@A+PC;

        執(zhí)行該指令的時(shí)候,要注意PC內(nèi)容會(huì)自動(dòng)加1,然后與累加器A的16位無符號(hào)數(shù)相加,作為訪問的16位ROM地址,最后送入累加器A。當(dāng)上訴指令所在地址為1000H且(A)=30H時(shí),執(zhí)行后會(huì)將1031H單元內(nèi)容送入累加器A。

        2.2 讀寫片外RAM及接口單元數(shù)據(jù)的指令MOVX

        單片機(jī)的片外RAM或接口會(huì)經(jīng)常存放一些中間數(shù)據(jù),在訪問片外RAM或接口操作時(shí)可以有讀和寫兩類,這時(shí)需要利用MOVX指令通過累加器來完成。

        (1)做讀操作時(shí),可以將DPTR、R0或R1作為間址尋址器讀片外RAM空間,如:

        MOVX A,@DPTR;

        MOVX A,@Ri;

        若間址寄存器內(nèi)容為3000H,(3000H)=30H,執(zhí)行指令后(A)=30H。

        (2)做寫操作時(shí),同樣可將DPTR、R0或R1作為間址寄存器寫外部RAM。與讀操作的區(qū)別僅僅在于傳輸方向不同,如:

        MOVX @DPTR,A

        MOVX @Ri,A;

        需要注意,片外擴(kuò)展的I/O口也要通過MOVX進(jìn)行數(shù)據(jù)輸入輸出。

        2.3 堆棧指令PUSH和POP

        堆棧是通過“后進(jìn)先出”的原則在片內(nèi)RAM中的一片存儲(chǔ)區(qū),固定的一端稱為棧底,活動(dòng)的一端稱為棧頂,利用指針SP指向棧頂位置。

        PUSH指令會(huì)先將SP的內(nèi)容加1,之后將直接地址操作數(shù)送入SP所指的單元,如:

        PUSH direct;

        若(SP)=07H,(40H)=88H, 執(zhí) 行“PUSH 40H”指令后,(SP)=08H,(08H)=88H。

        POP指令是先將SP所指向的單元送入指令中的直接地址單元,然后再將SP內(nèi)容減1,如:

        POP direct;

        若(SP)=5FH,(5FH)=90H, 執(zhí) 行“POP 70H”指令后,(70H)=90H,(SP)=5EH。

        2.4 數(shù)據(jù)交換指令XCH、XCHD和SWAP

        MOV類指令傳送只是將數(shù)據(jù)從源字節(jié)復(fù)制到目的字節(jié)的單向傳送。當(dāng)需要兩字節(jié)或兩半字節(jié)的雙向交換時(shí),需要利用數(shù)據(jù)交換指令,包括XCH、XCHD和SWAP。

        (1)XCH作為字節(jié)交換指令,具有以下3種構(gòu)造方式:

        XCH A,Rn;

        XCH A,direct;

        XCH A,@Ri;

        這3條指令均能實(shí)現(xiàn)操作數(shù)與累加器A內(nèi)容的互換,如執(zhí)行“XCH A,R0”,若(R0)=80H,(A)=20H,執(zhí)行后(A)=80H,(R0)=20H。

        (2)XCHD屬于半字節(jié)交換,功能是間址操作數(shù)的低半字節(jié)與累加器A的低半字節(jié)內(nèi)容互換如:

        XCHD A,@Ri;

        若(R0)=30H,(30H)=67H,(A)=20H,執(zhí)行“XCHD A,@R0”指令后,(A)=27H,(30H)=60H。

        (3)SWAP同樣屬于半字節(jié)交換,與XCHD不同的是,它是將累加器的高低4位互換,如:

        SWAP A;

        若(A)=31H,執(zhí)行以上指令后,(A)=03H。

        3 結(jié) 論

        現(xiàn)階段,單片機(jī)已被廣泛運(yùn)用于生產(chǎn)和生活中的各個(gè)領(lǐng)域。要熟練掌握單片機(jī),必須要熟悉單片機(jī)的操作指令。數(shù)據(jù)交換指令是單片機(jī)操作指令的一個(gè)重要組成部分,對(duì)其深入學(xué)習(xí),有助于進(jìn)一步使用和發(fā)展單片機(jī)技術(shù)。

        猜你喜歡
        累加器字節(jié)寄存器
        格上身份基簡(jiǎn)短關(guān)聯(lián)環(huán)簽名及其電子投票應(yīng)用
        無線電工程(2024年5期)2024-07-20 00:00:00
        密碼累加器研究進(jìn)展及應(yīng)用
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
        簡(jiǎn)談MC7字節(jié)碼
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于霍夫變換的工位點(diǎn)識(shí)別算法設(shè)計(jì)與實(shí)現(xiàn)
        用于時(shí)間延遲積分型圖像傳感器的流水采樣列級(jí)運(yùn)放共享累加器*
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        中文字字幕在线精品乱码| 五月激情四射开心久久久| 国产三级精品视频2021| 熟女体下毛毛黑森林| 在线a免费观看| 97国产精品麻豆性色| 99久久99久久久精品蜜桃| 亚洲精品国产suv一区88| 福利一区在线观看| 亚洲精品久久久中文字| 人妻中文字幕日韩av| 色爱无码av综合区| 99视频在线国产| 亚洲天堂一区二区精品| av剧情演绎福利对白| 曰韩无码二三区中文字幕| 久久精品国产亚洲不av麻豆| 亚洲码无人客一区二区三区| av网站免费线看精品| 日日噜噜噜夜夜爽爽狠狠视频| 九九久久国产精品大片| 亚洲av网一区二区三区成人| 亚洲av永久无码精品漫画| 99久久久无码国产精品免费砚床| 手机在线中文字幕国产| av在线免费观看网站,| 亚洲av成人无码精品电影在线| 国产 中文 制服丝袜 另类| 国产精品一区二区三区成人| 欧美xxxx做受欧美88| 无码人妻精品一区二区三区在线| 色优网久久国产精品| 麻神在线观看免费观看| 国产午夜福利片| 九九久久国产精品大片| 久久99精品综合国产女同| 疯狂的欧美乱大交| 制服丝袜天堂国产日韩| 日本熟妇裸体视频在线| 亚洲一区二区三区影院| 中文幕无线码中文字蜜桃|