亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種實(shí)現(xiàn)8051擴(kuò)展指令的電路的制作方法

文檔序號:6386502閱讀:190來源:國知局
專利名稱:一種實(shí)現(xiàn)8051擴(kuò)展指令的電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及8051設(shè)計(jì),尤其涉及一種實(shí)現(xiàn)8051擴(kuò)展指令的電路。
背景技術(shù)
傳統(tǒng)8051CPU采用ROM做程序存儲區(qū),因其不能擦寫,所以沒有更新程序的需求。目前,已經(jīng)出現(xiàn)了采用如FLASH等可擦寫技術(shù)實(shí)現(xiàn)的8051程序存儲區(qū),如果能夠更新FLASH中的程序,將會使得基于標(biāo)準(zhǔn)8051CPU的SOC系統(tǒng)開發(fā)更加靈活。但是傳統(tǒng)8051的編譯指令中是沒有這個功能的。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種實(shí)現(xiàn)8051擴(kuò)展指令的電路,能夠?qū)崿F(xiàn)對可擦寫程序存儲區(qū)的更新,使得基于標(biāo)準(zhǔn)8051CPU的SOC系統(tǒng)開發(fā)更加靈活。為了解決上述技術(shù)問題,本發(fā)明是這樣實(shí)現(xiàn)的:一種實(shí)現(xiàn)8051擴(kuò)展指令的電路,該電路設(shè)置在8051CPU中,用于將CPU的A累加器中的數(shù)據(jù)放到DPTR寄存器指向的程序存儲器中;該電路包括:數(shù)據(jù)讀取電路U1、指令讀取電路U2、二選一電路U3、計(jì)數(shù)器U4、譯碼電路U5 U7、比較電路U8 U11、A累加器、DPTR寄存器、加法器U15、寫地址使能電路U15 ;數(shù)據(jù)讀取電路Ul的輸入端連接CPU的其他電路,輸出端連接A累加器的輸入端,用于將待操作字節(jié)讀入A累加器的輸入端;A累加器的輸出端連接程序存儲器的數(shù)據(jù)線;指令讀取電路U2的輸入端連接CPU內(nèi)部的指令存儲器,輸出端連接譯碼電路U5、U6和U7的指令輸入端,用于將指令讀入三個譯碼電路;二選一電路U3的第一輸入端連接CPU內(nèi)部的地址管理模塊,從中獲取DPTR的值,第二輸入端連接加法器U14的輸出端,輸出端連接DPTR寄存器U13的輸入端,DPTR寄存器U13的輸出端連接程序存儲器的寫地址線,同時連接加法器U14的輸入端;二選一電路U3具有選通端,在選通端置I時,二選一電路U3輸出第二輸入端的數(shù)據(jù),在選通端置O時,輸出第一輸入端的數(shù)據(jù);三個譯碼電路均在輸入使能有效時,識別指令輸入端上的數(shù)據(jù)是否為A5,如果是則輸出使能信號;譯碼電路U5的使能信號輸出端連接到A累加器的使能端;譯碼電路U6的使能信號輸出端連接到DPRT寄存器的使能端;譯碼電路U7的使能信號輸出端連接到計(jì)數(shù)器U4的啟動端;計(jì)數(shù)器U4被啟動后,從O開始加I計(jì)數(shù)到3停止,其計(jì)數(shù)值輸出端連接比較電路U8、U9、U10和Ull的第一比較值輸入端,比較電路U8、U9、UlO、Ul I的第二比較值輸入端分別接入固定值0、1、2、3,比較電路用于當(dāng)兩個比較值輸入端的數(shù)據(jù)相同時,輸出使能信號;比較電路U8的輸出端連接譯碼電路U5的使能端,比較電路U9的輸出端連接譯碼電路U6的使能端,比較電路UlO的輸出端連接加法器U14的使能端和二選一電路U3的選通端,比較電路Ull的輸出端連接寫地址使能電路U15的輸入端;
加法器U14為加I加法器,當(dāng)輸入使能有效時,將輸入端上的地址加I ;寫地址使能電路U15的輸出端連接程序存儲器的寫使能端,在輸入使能有效時,向程序存儲器的寫使能端輸出使能信號。本發(fā)明的工作原理為:數(shù)據(jù)讀取電路將一個待操作字節(jié)讀入A累加器;二選一電路將地址讀入DPTR寄存器;指令讀取電路將指令送入三個譯碼電路U5~U7進(jìn)行譯碼;譯碼電路檢測到A5代碼后,U5準(zhǔn)備好使能A累加器,U6準(zhǔn)備好使能DPTR,U7發(fā)出使能信號使得計(jì)數(shù)器開始從O計(jì)數(shù)到3。通過比較電路UfUll使得分別在計(jì)數(shù)值X等于0/1/2/3時,產(chǎn)生使能信號。當(dāng)X=O時,A累加器的數(shù)據(jù)載入程序存儲器的數(shù)據(jù)線,X=I時,DPTR寄存器的地址載入程序存儲器的地址線,并輸入加法器等待更新;X=2時,加法器對地址更新同時存儲到DPTR寄存器中;X=3時向程序存儲器輸出寫使能信號。有益效果:本發(fā)明針對傳統(tǒng)8051沒有使用的A5指令集,設(shè)計(jì)了 CPU內(nèi)部電路,能夠?qū)崿F(xiàn)對可擦寫程序存儲區(qū)的更新,使得基于標(biāo)準(zhǔn)8051CPU的SOC系統(tǒng)開發(fā)更加靈活。


圖1為本發(fā)明實(shí)現(xiàn)8051擴(kuò)展指令的電路圖。
具體實(shí)施例方式下面結(jié)合附圖并舉實(shí)施例,對本發(fā)明進(jìn)行詳細(xì)描述。標(biāo)準(zhǔn)8051公用111類、255個匯編指令,而A5是沒有使用的指令,一般編譯器也不具備編譯A5這條指令的功能,本發(fā)明通過對CPU內(nèi)部電路的修改,使得A5指令被利用于對程序存儲區(qū)的更新。圖1為本發(fā)明的電路圖。如圖1所示,該擴(kuò)展電路設(shè)置在CPU內(nèi)部,其包括數(shù)據(jù)讀取電路Ul、指令讀取電路U2、二選一電路U3、計(jì)數(shù)器U4、譯碼電路U5 U7、比較電路U8 Ul 1、A累加器U12、數(shù)據(jù)指針(DPTR)寄存器U13、加法器U15、寫地址使能電路U15。A累加器、DPTR寄存器均是805ICPU中的已有組件。其中,數(shù)據(jù)讀取電路Ul、指令讀取電路U2可以用D觸發(fā)器實(shí)現(xiàn)。數(shù)據(jù)讀取電路Ul的輸入端連接CPU的其他指令電路,輸出端連接A累加器的輸入端,用于將待操作字節(jié)讀入A累加器的輸入端。A累加器的輸出端連接程序存儲器的數(shù)據(jù)線,A累加器的使能與否由譯碼電路U5控制。指令讀取電路U2的輸入端連接CPU內(nèi)部的指令存儲器,輸出端連接譯碼電路U5、U6、U7的指令輸入端,用于將指令讀入三個譯碼電路。二選一電路U3的第一輸入端連接CPU內(nèi)部的地址管理模塊,從中獲取DPTR的值,該值是一個地址,第二輸入端連接加法器U14的輸出端,從中獲取更新后的DPTR值;二選一電路U3的輸出端連接DPTR寄存器U13的輸入端,DPTR寄存器U13的輸出端連接程序存儲器的寫地址線,同時連接加法器U14的地址輸入端,DPTR寄存器在使能的情況下將輸入端的數(shù)據(jù)輸出;二選一電路U3具有選通端,在選通端置I時,二選一電路U3輸出第二輸入端的數(shù)據(jù),在選通端置O時,輸出第一輸入端的數(shù)據(jù)。三個譯碼電路均在輸入使能有效時,識別指令輸入端上的數(shù)據(jù)是否為A5,如果是則輸出使能信號。譯碼電路U5的使能信號輸出端連接到A累加器的使能端,當(dāng)使能信號有效時,A累加器將輸入端上的待操作字節(jié)輸出;譯碼電路U6的使能信號輸出端連接到DPRT寄存器的使能端,當(dāng)使能信號有效時,DPRT寄存器將輸入端上的地址輸出;譯碼電路U7的使能信號輸出端連接到計(jì)數(shù)器U4的啟動端,當(dāng)使能信號有效時,計(jì)數(shù)器U4被啟動。計(jì)數(shù)器U4被啟動后,從O開始加I計(jì)數(shù)到3停止,其計(jì)數(shù)值輸出端連接比較電路U8、U9、U10和Ull的第一比較值輸入端,比較電路U8、U9、UlO、Ul I的第二比較值輸入端分別接入固定值0、1、2、3,比較電路用于當(dāng)兩個比較值輸入端的數(shù)據(jù)相同時,輸出使能信號。比較電路U8的輸出端連接譯碼電路U5的使能端,比較電路U9的輸出端連接譯碼電路U6的使能端,比較電路UlO的輸出端連接加法器U14的使能端和二選一電路U3的選通端,比較電路Ull的輸出端連接寫地址使能電路U15的輸入端。加法器U14為加I加法器,當(dāng)輸入使能有效時,將地址輸入端上的地址加I。寫地址使能電路U15的輸出端連接程序存儲器的寫使能端,在輸入使能有效時,向程序存儲器的寫使能端輸出使能信號。上述電路的工作過程為:首先數(shù)據(jù)讀取電路Ul將待操作字節(jié)讀到A累加器的輸入端上,二選一電路U3取到DPTR的值,該值為待操作字節(jié)寫入程序存儲器的地址,由于二選一電路U3的選通端無效,其將DPTR值選通至DPTR寄存器。同時,指令讀取電路U2不斷將指令存儲器中的指令發(fā)送給譯碼電路進(jìn)行識別。當(dāng)指令為A5時,三個譯碼電路均識別出該指令,其中譯碼電路U7直接將使能信號發(fā)送給計(jì)數(shù)器U4,計(jì)數(shù)器U4被啟動;計(jì)數(shù)器U4先輸出0,比較電路U8產(chǎn)生使能信號,觸發(fā)譯碼電路U5向A累加器輸出使能信號,此時A累加器將待操作字節(jié)輸出到程序存儲器的數(shù)據(jù)線上。接著,計(jì)數(shù)器U4輸出I,比較電路U9產(chǎn)生使能信號,觸發(fā)譯碼電路U6向DPTR寄存器輸出使能信號,此時DPTR寄存器將待操作地址輸出到程序存儲器的地址線上,此時,數(shù)據(jù)線和地址線均已經(jīng)準(zhǔn)備好。同時,地址還輸送給加法器U14的輸入端。接著,計(jì)數(shù)器U4輸出2,比較電路UlO產(chǎn)生使能信號,觸發(fā)加法器譯碼電路U6向DPTR寄存器輸出使能信號,觸發(fā)加法器U14對當(dāng)前地址加I操作,并輸出更新后地址給二選一電路U3,由于UlO產(chǎn)生的使能信號也控制二選一電路U3的選通,因而此時二選一電路U3會將更新后的地址存儲到DPTR寄存器中,實(shí)現(xiàn)地址更新。而且地址更新操作必須在寫地址使能之前。接著,計(jì)數(shù)器U4輸出3,比較電路Ull產(chǎn)生使能信號,觸發(fā)寫地址使能電路輸出使能信號,此時程序存儲器檢測到輸入使能,將數(shù)據(jù)線上的數(shù)據(jù)寫入指定地址上,從而實(shí)現(xiàn)程序存儲器的更新。本發(fā)明的操作相當(dāng)于實(shí)現(xiàn)了 M0VC@(DPTR++),A,即實(shí)現(xiàn)將A累加器中的數(shù)據(jù)放到DPTR寄存器指向的存儲區(qū)中。而傳統(tǒng)的move指令只有MOVCA,iA+DPTR,即將DPTR+A指向的程序存儲區(qū)中的值取到a累加器中。而M0VC@(DPTR++),A則可以實(shí)現(xiàn)相反的功能。綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種實(shí)現(xiàn)8051擴(kuò)展指令的電路,該電路設(shè)置在8051CPU中,用于將CPU的A累加器中的數(shù)據(jù)放到DPTR寄存器指向的程序存儲器中;其特征在于,該電路包括:數(shù)據(jù)讀取電路Ul、指令讀取電路U2、二選一電路U3、計(jì)數(shù)器U4、譯碼電路U5 U7、比較電路U8 Ul 1、A累加器、DPTR寄存器、加法器U15、寫地址使能電路U15 ; 數(shù)據(jù)讀取電路Ul的輸入端連接CPU的其他電路,輸出端連接A累加器的輸入端,用于將待操作字節(jié)讀入A累加器的輸入端;A累加器的輸出端連接程序存儲器的數(shù)據(jù)線; 指令讀取電路U2的輸入端連接CPU內(nèi)部的指令存儲器,輸出端連接譯碼電路U5、U6和U7的指令輸入端,用于將指令讀入三個譯碼電路; 二選一電路U3的第一輸入端連接CPU內(nèi)部的地址管理模塊,從中獲取DPTR的值,第二輸入端連接加法器U14的輸出端,輸出端連接DPTR寄存器U13的輸入端,DPTR寄存器U13的輸出端連接程序存儲器的寫地址線,同時連接加法器U14的輸入端;二選一電路U3具有選通端,在選通端置I時,二選一電路U3輸出第二輸入端的數(shù)據(jù),在選通端置O時,輸出第一輸入端的數(shù)據(jù); 三個譯碼電路均在輸入使能有效時,識別指令輸入端上的數(shù)據(jù)是否為A5,如果是則輸出使能信號;譯碼電路U5的使能信號輸出端連接到A累加器的使能端;譯碼電路U6的使能信號輸出端連接到DPRT寄存器的使能端;譯碼電路U7的使能信號輸出端連接到計(jì)數(shù)器U4的啟動端; 計(jì)數(shù)器U4被啟動后,從O開始加I計(jì)數(shù)到3停止,其計(jì)數(shù)值輸出端連接比較電路U8、U9、U10和Ull的第一比較值輸入端,比較電路U8、U9、U10、U11的第二比較值輸入端分別接入固定值0、1、2、3,比較電路用于當(dāng)兩個比較值輸入端的數(shù)據(jù)相同時,輸出使能信號; 比較電路U8的輸出端連接譯碼電路U5的使能端,比較電路U9的輸出端連接譯碼電路U6的使能端,比較電路UlO的輸出端連接加法器U14的使能端和二選一電路U3的選通端,比較電路Ull的輸出端連接寫地址使能電路U15的輸入端; 加法器U14為加I加法器,當(dāng)輸入使能有效時,將輸入端上的地址加I ; 寫地址使能電路U15的輸出端連接程序存儲器的寫使能端,在輸入使能有效時,向程序存儲器的寫使能端輸出使能信號。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)8051擴(kuò)展指令的電路,將待操作字節(jié)和地址分別讀入A累加器和DPTR寄存器;三個譯碼電路U5~U7譯碼檢測到A5代碼后,U5準(zhǔn)備好使能A累加器,U6準(zhǔn)備好使能DPTR,U7發(fā)出使能信號使得計(jì)數(shù)器開始計(jì)數(shù)X。當(dāng)X=0時A累加器的數(shù)據(jù)載入程序存儲器的數(shù)據(jù)線,X=1時DPTR寄存器的地址載入程序存儲器的地址線,并輸入加法器等待更新;X=2時加法器對地址更新同時存儲到DPTR寄存器中;X=3時向程序存儲器輸出寫使能信號。使用本發(fā)明能夠?qū)崿F(xiàn)對可擦寫程序存儲區(qū)的更新,使得基于標(biāo)準(zhǔn)8051CPU的SOC系統(tǒng)開發(fā)更加靈活。
文檔編號G06F9/30GK103092569SQ201210593008
公開日2013年5月8日 申請日期2012年12月31日 優(yōu)先權(quán)日2012年12月31日
發(fā)明者吳歌 申請人:中國電子科技集團(tuán)公司第十五研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1