<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 8051單片機(jī)操作K9KF5608 FLASH存儲(chǔ)器程序

          8051單片機(jī)操作K9KF5608 FLASH存儲(chǔ)器程序

          作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏
          //-----------------------函數(shù)聲明,變量定義--------------------------------------------------------
          #include
          #include
          #include
          #include
          sbit FLASH_CLE=P1^0;
          sbit FLASH_ALE=P1^1;
          sbit FLASH_WE=P1^2;
          sbit FLASH_WP=P1^3;
          sbit FLASH_CE=P1^4;
          sbit FLASH_RD=P1^5;
          sbit FLASH_RB=P1^6;
          void WriteCommand(unsigned char command);
          void WriteAddress(
          unsigned char H_ADR, //A16~A23 列地址
          unsigned char M_ADR, //A8~A15
          unsigned char L_ADR //A0~A7 行地址
          );
          void WRITEBYTE(unsigned char Wdata); //寫(xiě)一個(gè)數(shù)據(jù)到FLASH
          unsigned char READBYTE(); //從FLSAH讀一個(gè)數(shù)據(jù)
          void REC_data_process(unsigned char Rdata); //接收adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=fbb35db267215cd4&k=%CA%FD%BE%DD%B4%A6%C0%ED&k0=%CA%FD%BE%DD%B4%A6%C0%ED&kdi0=0&luki=4&n=10&p=baidu&q=98059059_cpr&rb=0&rs=1&seller_id=1&sid=d45c2167b25db3fb&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1831118&u=http%3A%2F%2Fwww%2E51hei%2Ecom%2Fmcu%2F2168%2Ehtml&urlid=0" id="2_nwl" mpid="2" target="_blank">數(shù)據(jù)處理,讀一頁(yè)時(shí),每讀一次處理一次
          void READ_onepage1(); //連續(xù)讀一頁(yè)數(shù)據(jù)(528字節(jié))
          //--------------------------------------------------------------------------------------------------
          // 函數(shù)名稱: WriteCommand
          // 入口參數(shù): command命令字
          // 函數(shù)功能: 寫(xiě)命令字,開(kāi)始各種操作
          //--------------------------------------------------------------------------------------------------
          void WriteCommand(unsigned char command)
          {
          FLASH_ALE=0;
          FLASH_CE=0;
          FLASH_CLE=1;
          FLASH_WE=0;
          P0=command;
          FLASH_WE=1;
          FLASH_CLE=0;
          FLASH_ALE=1;
          }
          //--------------------------------------------------------------------------------------------------
          // 函數(shù)名稱: WriteAddress
          // 入口參數(shù): H_ADR,M_ADR,L_ADR 行列地址
          // 函數(shù)功能: 寫(xiě)地址
          //--------------------------------------------------------------------------------------------------
          void WriteAddress(
          unsigned char H_ADR, //A16~A23 列地址
          unsigned char M_ADR, //A8~A15
          unsigned char L_ADR //A0~A7 行地址
          )
          {
          FLASH_WE=1;
          FLASH_CE=0;
          FLASH_CLE=0;
          FLASH_ALE=1;
          FLASH_WE=0;
          P0=L_ADR;
          FLASH_WE=1;
          _nop_();
          FLASH_WE=0;
          P0=M_ADR;
          FLASH_WE=1;
          _nop_();
          FLASH_WE=0;
          P0=H_ADR;
          FLASH_WE=1;
          _nop_();
          FLASH_ALE=0;
          }
          //--------------------------------------------------------------------------------------------------
          // 函數(shù)名稱: WRITEBYTE
          // 入口參數(shù): Wdata要寫(xiě)入 FLASH的數(shù)據(jù)
          // 函數(shù)功能: 寫(xiě)一個(gè)數(shù)據(jù)到FLASH
          //--------------------------------------------------------------------------------------------------
          void WRITEBYTE(unsigned char Wdata) //寫(xiě)一個(gè)數(shù)據(jù)到FLASH
          {
          FLASH_WE=1;
          FLASH_CLE=0;
          FLASH_CE=0;
          FLASH_ALE=0;
          FLASH_WE=0;
          _nop_();
          P0=Wdata;
          _nop_();
          FLASH_WE=1;
          }
          //--------------------------------------------------------------------------------------------------
          // 函數(shù)名稱: READBYTE
          // 出口參數(shù): Rdata從FLASH讀出的數(shù)據(jù)
          // 函數(shù)功能: 從FLSAH讀一個(gè)數(shù)據(jù)
          //--------------------------------------------------------------------------------------------------
          unsigned char READBYTE() //從FLSAH讀一個(gè)數(shù)據(jù)
          {
          unsigned char Rdata;
          FLASH_WE=1;
          FLASH_CLE=0;
          FLASH_ALE=0;
          FLASH_CE=0;
          FLASH_RD=0; //準(zhǔn)備好讀入
          _nop_();
          _nop_();
          while(!FLASH_RB)//當(dāng)讀信號(hào)無(wú)效時(shí),等待
          {
          }
          Rdata=P0; //把P0口讀出的值存入ACC寄存器
          //插入2個(gè)機(jī)器周期
          _nop_();
          _nop_();
          FLASH_RD=1; //不再讀入
          return(Rdata);
          }
          unsigned char READ_Status()
          {
          unsigned char Status;
          WriteCommand(0x70);
          Status=READBYTE();
          return(Status);
          }
          //--------------------------------------------------------------------------------------------------
          // 函數(shù)名稱: READ_onepage1
          // 調(diào)用函數(shù): WriteCommand
          // WriteAddress
          // REC_data_process();每接收一個(gè)數(shù)據(jù),處理
          // 函數(shù)功能: 連續(xù)讀一頁(yè)數(shù)據(jù)(528字節(jié))
          //--------------------------------------------------------------------------------------------------
          void READ_onepage1() //連續(xù)讀一頁(yè)數(shù)據(jù)(528字節(jié))
          {
          unsigned char d=528;
          unsigned char Rec_data;
          WriteCommand(0x00); //寫(xiě)讀的命令0x00或0x01
          WriteAddress(0x00,0x00,0x00); //寫(xiě)讀的地址
          while(d>0)
          {
          Rec_data=READBYTE();
          REC_data_process(Rec_data);
          d--;
          }
          FLASH_CE=1;
          }
          //--------------------------------------------------------------------------------------------------
          // 函數(shù)名稱: REC_data_process
          // 入口參數(shù): Rdata按頁(yè)讀時(shí),每次讀回的數(shù)據(jù)
          // 函數(shù)功能:接收數(shù)據(jù)處理,讀一頁(yè)時(shí),每讀一次處理一次
          //--------------------------------------------------------------------------------------------------
          void REC_data_process(unsigned char Rdata) //接收數(shù)據(jù)處理,讀一頁(yè)時(shí),每讀一次處理一次
          {
          }


          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();