在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 增強(qiáng)型51系列單片機(jī)W77E58的存儲(chǔ)器訪問(wèn)

            增強(qiáng)型51系列單片機(jī)W77E58的存儲(chǔ)器訪問(wèn)

            作者: 時(shí)間:2012-03-15 來(lái)源:網(wǎng)絡(luò) 收藏

            程序2:數(shù)據(jù)的方法
            #define mem ((unsigned char xdata)0x0) /*定義數(shù)據(jù)指針,片內(nèi)或片外*/
            PMR 1 =1; /*選擇片內(nèi)SRAM*/
            Mem[12]=0x34; /*數(shù)據(jù)0x34存入片內(nèi)SRAM地址為12的單元中*/
            Mem[1200]=0x56; /*由于地址超出1FFH,數(shù)據(jù)0x56存入片外SRAM*/
            PMR =0xfe; /*選擇片外SRAM*/
            Mem[12]=0x78; /*數(shù)據(jù)0x78存入片外SRAM地址為12的單元中*/

            3 雙數(shù)據(jù)指針的應(yīng)用

            與標(biāo)準(zhǔn)的8052相同,也使用MOVX指令外部數(shù)據(jù)。MOVX指令有兩種:MOVX@Ri和MOVX@DPTR。用MOVX@Ri 指令對(duì)數(shù)據(jù)進(jìn)行時(shí),16位的尋址地址由兩部分組成,其中地址的低8位存在Ri中,而地址的高8位由P2口提供。用MOVX@DPTR指令對(duì)數(shù)據(jù)存儲(chǔ)器進(jìn)行訪問(wèn)時(shí),16位地址全部由數(shù)據(jù)指針DPTR提供。

            有兩個(gè)數(shù)據(jù)指針,一個(gè)是所有51CPU所共有的DPTR,另一個(gè)是W77E58增加的DPTR1。用MOVX@DPTR對(duì)數(shù)據(jù)存儲(chǔ)器訪問(wèn)時(shí),究間是DPTR起作用,還是DPTR1起作用,應(yīng)由數(shù)據(jù)指針選擇位DPS來(lái)決定。當(dāng)DPS=0時(shí),DPTR有效;DPS=1,DPTR1有效。改變 DPS的最快捷的方法是使用INC指令。

            下面的程序段是使用兩個(gè)數(shù)據(jù)指針進(jìn)行數(shù)據(jù)塊移動(dòng)的例子,我們可以發(fā)現(xiàn)兩個(gè)數(shù)據(jù)指針的使用為程序編寫(xiě)帶來(lái)了極大方便。

            程序3:兩個(gè)數(shù)據(jù)指針的應(yīng)用
            MOV R2,#CNT ;R2是循環(huán)變量,裝入需要移動(dòng)的字節(jié)數(shù)
            MOV DPS,#00H ;清除DPS,使DPTR有效
            MOV DPTR,#DHDL ;DPTR中裝入塊移動(dòng)的目的地址
            INC DPS ;設(shè)置DPS,使DPTR1有效
            MOV DPTR,#SHSL ;DPTR中裝入塊移動(dòng)的源地址
            LOOP:
            MOVC A,@DPTR ;從源地址中取數(shù)據(jù)
            INC DPTR ;源地址+1
            DEC DPS ;清除DPS,使DPTR有效
            MOVX @DPTR,A ;數(shù)據(jù)存入目的地址
            INC DPTR ;目的地址+1
            INC DPS ;設(shè)置DPS,使DPTR1有效
            DJNZ R2,LOOP ;循環(huán)直到所有移動(dòng)操作完成

            在進(jìn)行塊長(zhǎng)度為50的數(shù)據(jù)移動(dòng)時(shí),如果用標(biāo)準(zhǔn)的8052,需要15720個(gè)機(jī)器周期;如果用W77E58和一個(gè)數(shù)據(jù)指針,則需要5240個(gè)機(jī)器周期;而上例中W77E58使用兩個(gè)數(shù)據(jù)批針,因而只需要3048個(gè)機(jī)器周期就可以了。很明顯,隨著數(shù)據(jù)塊的增大,節(jié)省時(shí)間的效果將更加明顯。



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉