国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元ram的實(shí)現(xiàn)方法

      文檔序號(hào):6547668閱讀:800來(lái)源:國(guó)知局
      一種8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元ram的實(shí)現(xiàn)方法
      【專利摘要】本發(fā)明公開(kāi)了一種8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法包括以下步驟:1)將16位RAM每個(gè)存儲(chǔ)單元通過(guò)vUB分成高8位和低8位兩部分;2)用CPLD/FPGA連接單片機(jī)和RAM;3)單片機(jī)將初始目標(biāo)地址分三次寫(xiě)入CPLD/FPGA地址緩存器;4)將CPLD/FPGA地址緩存器中地址寫(xiě)入RAM地址寄存器MCUwrAddr、MCUrdAddr;5)單片機(jī)將8位數(shù)據(jù)寫(xiě)入選通的RAM單元,寫(xiě)入完成后寫(xiě)地址寄存器MCUwrAddr加1;6)單片機(jī)從選通單元讀取8位數(shù)據(jù),讀取完成后讀地址寄存器MCUrdAddr加1,重復(fù)5)可連續(xù)寫(xiě)入數(shù)據(jù),重復(fù)6)可連續(xù)讀取數(shù)據(jù)。本發(fā)明可以實(shí)現(xiàn)8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM。
      【專利說(shuō)明】—種8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于電子設(shè)計(jì)自動(dòng)化領(lǐng)域,具體涉及一種8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法。
      【背景技術(shù)】
      [0002]隨著電子技術(shù)的進(jìn)步和電子器件制造工藝的提高,市面上的16位和32位單片機(jī)越來(lái)越多,但是8位單片機(jī)因其制造設(shè)計(jì)工藝成熟、價(jià)格低廉等特點(diǎn),市場(chǎng)占有率仍然很高,尤其在成本敏感和可靠性要求較高的場(chǎng)合,更占有絕對(duì)優(yōu)勢(shì),由于大多8位單片機(jī)內(nèi)部資源有限,經(jīng)常需要外擴(kuò)存儲(chǔ)器,8位單片機(jī)可以很方便與8位存儲(chǔ)單元RAM連接,但是,對(duì)16位存儲(chǔ)單元的RAM操作不方便,一定程度限制了 8位單片機(jī)的使用范圍。

      【發(fā)明內(nèi)容】

      [0003]本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法,該方法可以實(shí)現(xiàn)8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM。
      [0004]為達(dá)到上述目的,本發(fā)明所述的8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法,包括以下步驟:
      [0005]I)將16位存儲(chǔ)單元RAM中每個(gè)存儲(chǔ)單元的初始目標(biāo)地址通過(guò)vUB分成高8位和低8位,得高低位判斷標(biāo)志;
      [0006]2)通過(guò)CPLD/FPGA地址緩存器將單片機(jī)與16位存儲(chǔ)單元RAM相連接;
      [0007]3) 8位單片機(jī)將初始目標(biāo)地址及高地位判斷標(biāo)志分三次寫(xiě)入到CPLD/FPGA地址緩存器中,其中,第一次,8位單片機(jī)通過(guò)0x8010操作端口將初始目標(biāo)地址的低8位寫(xiě)入到CPLD/FPGA地址緩存器的ADDR_BUF[7..0]中;第二次,8位單片機(jī)通過(guò)0x8011操作端口將初始目標(biāo)地址的高8位寫(xiě)入到CPLD/FPGA地址緩存器的ADDR_BUF[15..8]中;第三次,8位單片機(jī)將高低位判斷標(biāo)志通過(guò)0x8014操作端口寫(xiě)入CPLD/FPGA地址緩存器的vUB_BUF中;
      [0008]4)將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址通過(guò)0x8012操作端口寫(xiě)入到RAM地址寄存器的MCUwrAddr及MCUrdAddr中,同時(shí)將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志通過(guò)0x8015操作端口寫(xiě)入到vUB中;
      [0009]5) 8位單片機(jī)通過(guò)0x8009操作端口將8位單片機(jī)內(nèi)的8位數(shù)據(jù)寫(xiě)入到選通的RAM單元中,寫(xiě)入完成后,寫(xiě)地址寄存器MCUwrAddr加I ;
      [0010]6)重復(fù)步驟5),連續(xù)寫(xiě)入所有數(shù)據(jù);
      [0011]7)8位單片機(jī)通過(guò)0x8008操作端口從選通的RAM單元中讀取8位單片機(jī)內(nèi)的8位數(shù)據(jù),讀取完成后,讀地址寄存器MCUrdAddr加I ;
      [0012]8)重復(fù)步驟7),連續(xù)讀取所有數(shù)據(jù)。
      [0013]所述高低位判斷標(biāo)志為當(dāng)vUB = O時(shí),選中高8位,當(dāng)vUB = I時(shí),選中低8位。
      [0014]步驟4)所述將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址通過(guò)0x8012操作端口寫(xiě)入到RAM地址寄存器的MCUwrAddr及MCUrdAddr中的具體操作過(guò)程為:當(dāng)0x8012端口寫(xiě)入數(shù)據(jù)的第O位為1,即bitO = I時(shí),將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址寫(xiě)入到RAM地址寄存器的MCUrdAddr中,當(dāng)0x8012端口寫(xiě)入數(shù)據(jù)的第I位為1,即bitl = I時(shí),CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址寫(xiě)入到RAM地址寄存器的MCUwrAddr中。
      [0015]步驟4)所述將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志通過(guò)0x8015操作端口寫(xiě)入到vUB中的具體操作為:當(dāng)0x8015端口寫(xiě)入數(shù)據(jù)的第O位為1,即bitO = I時(shí),將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志寫(xiě)入vUB的MCUrd_vUB中,當(dāng)0x8015端口寫(xiě)入數(shù)據(jù)的第I位為1,即bitl = I時(shí),將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志寫(xiě)入到vUB的MCUwr_vUB中。
      [0016]本發(fā)明具有以下有益效果:
      [0017]本發(fā)明所述的8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法在實(shí)現(xiàn)的過(guò)程中,先將16為存儲(chǔ)單元RAM中每個(gè)存儲(chǔ)單元的初始目標(biāo)地址分為高8位及低8位,得高低位判斷標(biāo)志,再通過(guò)CPLD/FPGA地址緩存器將單片機(jī)與16位存儲(chǔ)單元RAM相連接,然后將初始目標(biāo)地址及高低位判斷標(biāo)志分三次寫(xiě)入到CPLD/FPGA地址緩存器中,再將CPLD/FPGA地址緩存器中的內(nèi)容存儲(chǔ)到RAM地址寄存器及vUB中,然后即可通過(guò)8位單片機(jī)從選通的RAM單元中讀出數(shù)據(jù)以及往RAM單元中寫(xiě)入數(shù)據(jù),通過(guò)數(shù)據(jù)的讀出及寫(xiě)入各自獨(dú)立,在分頻時(shí)鐘下,讀出操作及寫(xiě)入操作互不干擾,并且單次讀操作完成后,讀地址自動(dòng)加1,單次寫(xiě)操作完成后,寫(xiě)操作自動(dòng)加1,連續(xù)讀寫(xiě)操作方便,極大的提高了連續(xù)讀寫(xiě)效率。
      【專利附圖】

      【附圖說(shuō)明】
      [0018]圖1為本發(fā)明中實(shí)施例一的設(shè)計(jì)原理圖;
      [0019]圖2為本發(fā)明中實(shí)施例一的仿真實(shí)驗(yàn)結(jié)果圖。
      【具體實(shí)施方式】
      [0020]下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)描述:
      [0021]本發(fā)明所述的8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法包括以下步驟:
      [0022]I)將16位存儲(chǔ)單元RAM中每個(gè)存儲(chǔ)單元的初始目標(biāo)地址通過(guò)vUB分成高8位和低8位,得高低位判斷標(biāo)志;
      [0023]2)通過(guò)CPLD/FPGA地址緩存器將單片機(jī)與16位存儲(chǔ)單元RAM相連接;
      [0024]3) 8位單片機(jī)將初始目標(biāo)地址及高地位判斷標(biāo)志分三次寫(xiě)入到CPLD/FPGA地址緩存器中,其中,第一次,8位單片機(jī)通過(guò)0x8010操作端口將初始目標(biāo)地址的低8位寫(xiě)入到CPLD/FPGA地址緩存器的ADDR_BUF[7..0]中;第二次,8位單片機(jī)通過(guò)0x8011操作端口將初始目標(biāo)地址的高8位寫(xiě)入到CPLD/FPGA地址緩存器的ADDR_BUF[15..8]中;第三次,8位單片機(jī)將高低位判斷標(biāo)志通過(guò)0x8014操作端口寫(xiě)入CPLD/FPGA地址緩存器的vUB_BUF中;
      [0025]4)將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址通過(guò)0x8012操作端口寫(xiě)入到RAM地址寄存器的MCUwrAddr及MCUrdAddr中,同時(shí)將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志通過(guò)0x8015操作端口寫(xiě)入到vUB中;
      [0026]5) 8位單片機(jī)通過(guò)0x8009操作端口將8位單片機(jī)內(nèi)的8位數(shù)據(jù)寫(xiě)入到選通的RAM單元中,寫(xiě)入完成后,寫(xiě)地址寄存器MCUwrAddr加I ;[0027]6)重復(fù)步驟5),連續(xù)寫(xiě)入所有數(shù)據(jù);
      [0028]7) 8位單片機(jī)通過(guò)0x8008操作端口從選通的RAM單元中讀取8位單片機(jī)內(nèi)的8位數(shù)據(jù),讀取完成后,讀地址寄存器MCUrdAddr加I ;
      [0029]8)重復(fù)步驟7),連續(xù)讀取所有數(shù)據(jù)。
      [0030]所述高低位判斷標(biāo)志為當(dāng)vUB = O時(shí),選中高8位,當(dāng)vUB = I時(shí),選中低8位。[0031 ] 步驟4)所述將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址通過(guò)0x8012操作端口寫(xiě)入到RAM地址寄存器的MCUwrAddr及MCUrdAddr中的具體操作過(guò)程為:當(dāng)0x8012端口寫(xiě)入數(shù)據(jù)的第O位為1,即bitO = I時(shí),將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址寫(xiě)入到RAM地址寄存器的MCUrdAddr中,當(dāng)0x8012端口寫(xiě)入數(shù)據(jù)的第I位為1,即bitl = I時(shí),CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址寫(xiě)入到RAM地址寄存器的MCUwrAddr中。
      [0032]步驟4)所述將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志通過(guò)0x8015操作端口寫(xiě)入到vUB中的具體操作為:當(dāng)0x8015端口寫(xiě)入數(shù)據(jù)的第O位為1,即bitO = I時(shí),將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志寫(xiě)入vUB的MCUrd_vUB中,當(dāng)0x8015端口寫(xiě)入數(shù)據(jù)的第I位為1,即bitl = I時(shí),將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志寫(xiě)入到vUB的MCUwr_vUB中。
      [0033]實(shí)施例一
      [0034]參考圖1及圖2,8位單片機(jī)向16位存儲(chǔ)單元RAM寫(xiě)入的數(shù)據(jù)為0x56,RAM地址為0x3344,該存儲(chǔ)單元高8位選通(vUB = O)。
      [0035]具體包括以下步驟:
      [0036]I) 8位單片機(jī)將初始目標(biāo)地址分三次寫(xiě)入CPLD/FPGA地址緩存器;
      [0037]a) 8位單片機(jī)將初始目標(biāo)地址的低8位通過(guò)0x8010操作端口寫(xiě)入ADDR_BUF[7..0],其中,操作數(shù)為0x44,即通過(guò)CPLD/FPGA轉(zhuǎn)化,8位單片機(jī)本次寫(xiě)操作結(jié)束后,ADDR_BUF[7..0]的值為 0x44 ;
      [0038]b) 8位單片機(jī)將初始目標(biāo)地址的高8位通過(guò)0x8011操作端口寫(xiě)入ADDR_BUF[15..8]中,操作數(shù)為0x33,即通過(guò)CPLD/FPGA轉(zhuǎn)化,8位單片機(jī)本次寫(xiě)操作結(jié)束后,ADDR_BUF[15..8]的值為 0x33 ;
      [0039]c) 8位單片機(jī)將高低位判斷標(biāo)志通過(guò)0x8014操作端口寫(xiě)入vUB_BUF中,操作數(shù)為0x01,即通過(guò)CPLD/FPGA轉(zhuǎn)化,單片機(jī)本次寫(xiě)操作結(jié)束后,vUB_BUF的值為0x01 ;
      [0040]2)將CPLD/FPGA地址緩存器ADDR_BUF內(nèi)的初始目標(biāo)地址通過(guò)0x8012操作端口寫(xiě)入RAM地址寄存器的MCUwrAddr及MCUrdAddr,操作數(shù)為0x03,即ADDR_BUF內(nèi)容同時(shí)寫(xiě)入MCUwrAddr 及 MCUrdAddr, MCUwrAddr 和 MCUrdAddr 的值都變?yōu)?0x3344 ;
      [0041 ] 3)將vUB_BUF內(nèi)的高低位判斷標(biāo)志通過(guò)0x8015操作端口寫(xiě)入vUB中,將vUB_BUF內(nèi)的高低位判斷標(biāo)志同時(shí)寫(xiě)入MCUrd_vUB和MCUwr_vUB,MCUrd_vUB和MCUwr_vUB的值在分頻時(shí)鐘下分時(shí)取反賦給vUB ;
      [0042]4) 8位單片機(jī)將8位數(shù)據(jù)通過(guò)0x8009操作端口寫(xiě)入選通的RAM單元,寫(xiě)入數(shù)據(jù)為0x56,此過(guò)程CPLD/FPGA模擬產(chǎn)生一個(gè)寫(xiě)信號(hào)vWR,vwR低電平的時(shí)間段,vD的數(shù)據(jù)為0x5600,即RAM0x334地址單元的高8位將被寫(xiě)入0x56,低8位數(shù)據(jù)總線由于vUB為O而未選通,不會(huì)有數(shù)據(jù)寫(xiě)入,寫(xiě)入完成后寫(xiě)地址寄存器MCUwrAddr加1,MCUwrAddr由0x3344變?yōu)?x3345,重復(fù)上述操作,即可連續(xù)寫(xiě)入數(shù)據(jù);
      [0043]5) 8位單片機(jī)通過(guò)0x8008操作端口從選通的RAM單元中讀取8位數(shù)據(jù),讀取完成后讀地址寄存器MCUrdAddr加LMCUrdAddr由0x3344變?yōu)?x3345,重復(fù)上述步驟,即可連續(xù)讀取數(shù)據(jù)。
      【權(quán)利要求】
      1.一種8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法,其特征在于,包括以下步驟: 1)將16位存儲(chǔ)單元RAM中每個(gè)存儲(chǔ)單元的地址通過(guò)vUB分成高8位和低8位,得高低位判斷標(biāo)志; 2)通過(guò)CPLD/FPGA地址緩存器將單片機(jī)與16位存儲(chǔ)單元RAM相連接; 3)8位單片機(jī)將初始目標(biāo)地址及高地位判斷標(biāo)志分三次寫(xiě)入到CPLD/FPGA地址緩存器中,其中,第一次,8位單片機(jī)通過(guò)0x8010操作端口將初始目標(biāo)地址的低8位寫(xiě)入到CPLD/FPGA地址緩存器的ADDR_BUF[7..0]中;第二次,8位單片機(jī)通過(guò)0x8011操作端口將初始目標(biāo)地址的高8位寫(xiě)入到CPLD/FPGA地址緩存器的ADDR_BUF[15..8]中;第三次,8位單片機(jī)將高低位判斷標(biāo)志通過(guò)0x8014操作端口寫(xiě)入CPLD/FPGA地址緩存器的vUB_BUF中; 4)將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址通過(guò)0x8012操作端口寫(xiě)入到RAM地址寄存器的MCUwrAddr及MCUrdAddr中,同時(shí)將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志通過(guò)0x8015操作端口寫(xiě)入到vUB中; 5)8位單片機(jī)通過(guò)0x8009操作端口將8位單片機(jī)內(nèi)的8位數(shù)據(jù)寫(xiě)入到選通的RAM單元中,寫(xiě)入完成后,寫(xiě)地址寄存器MCUwrAddr加I ; 6)重復(fù)步驟5),連續(xù)寫(xiě)入所有數(shù)據(jù); 7)8位單片機(jī)通過(guò)0x8008操作端口從選通的RAM單元中讀取8位單片機(jī)內(nèi)的8位數(shù)據(jù),讀取完成后,讀地址寄存器MCUrdAddr加I ; 8)重復(fù)步驟7),連續(xù)讀取所有數(shù)據(jù)。
      2.根據(jù)權(quán)利要求1所述的8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法,其特征在于,所述高低位判斷標(biāo)志為當(dāng)vUB = O時(shí),選中高8位,當(dāng)vUB = I時(shí),選中低8位。
      3.根據(jù)權(quán)利要求1所述的8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法,其特征在于,步驟4)所述將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址通過(guò)0x8012操作端口寫(xiě)入到RAM地址寄存器的MCUwrAddr及MCUrdAddr中的具體操作過(guò)程為:當(dāng)0x8012端口寫(xiě)入數(shù)據(jù)的第O位為1,即bitO = I時(shí),將CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址寫(xiě)入到RAM地址寄存器的MCUrdAddr中,當(dāng)0x8012端口寫(xiě)入數(shù)據(jù)的第I位為1,即bitl = I時(shí),CPLD/FPGA地址緩存器中ADDR_BUF內(nèi)的初始目標(biāo)地址寫(xiě)入到RAM地址寄存器的 MCUwrAddr 中。
      4.根據(jù)權(quán)利要求3所述的8位單片機(jī)讀寫(xiě)16位存儲(chǔ)單元RAM的實(shí)現(xiàn)方法,其特征在于,步驟4)所述將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志通過(guò)0x8015操作端口寫(xiě)入到vUB中的具體操作為:當(dāng)0x8015端口寫(xiě)入數(shù)據(jù)的第O位為1,即bitO = I時(shí),將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志寫(xiě)入vUB的MCUrd_vUB中,當(dāng)0x8015端口寫(xiě)入數(shù)據(jù)的第I位為1,即bitl = I時(shí),將CPLD/FPGA地址緩存器中vUB_BUF內(nèi)的高低位判斷標(biāo)志寫(xiě)入到vUB的MCUwr_vUB中。
      【文檔編號(hào)】G06F12/02GK104021086SQ201410225644
      【公開(kāi)日】2014年9月3日 申請(qǐng)日期:2014年5月26日 優(yōu)先權(quán)日:2014年5月26日
      【發(fā)明者】陶濤, 劉毅, 梅雪松, 張東升, 孫挪剛, 姜歌東 申請(qǐng)人:西安交通大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1